久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3496|回復: 1
打印 上一主題 下一主題
收起左側

基于stm32的開關控制led和數碼管的顯示和proteus仿真

[復制鏈接]
跳轉到指定樓層
樓主
KEIL5做的,當數碼管數值高于1時,led燈會亮,回到0時燈滅。proteus仿真。


單片機源程序如下:
  1. #include "main.h"

  2. uint16_t table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

  3. void key_init()
  4. {
  5.         GPIO_InitTypeDef gpio_init;
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  7.         //將PA設置為推挽輸出
  8.         gpio_init.GPIO_Mode=GPIO_Mode_IPU;
  9.         gpio_init.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
  10.         GPIO_Init(GPIOB,&gpio_init);
  11. }

  12. void seg7_init()
  13. {
  14.         GPIO_InitTypeDef gpio_init;
  15.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
  16.         //將PA設置為推挽輸出
  17.         gpio_init.GPIO_Mode=GPIO_Mode_Out_PP;
  18.         gpio_init.GPIO_Pin=GPIO_Pin_All;
  19.         gpio_init.GPIO_Speed=GPIO_Speed_50MHz;
  20.         GPIO_Init(GPIOA,&gpio_init);
  21. }

  22. void LED_Init()
  23. {
  24.         GPIO_InitTypeDef gpio_init;//定義一個變量
  25.        
  26.         //第一步: 使能LED端口-GPIOA時鐘
  27.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  28.        
  29.         //第二步:配置端口的工作模式并初始化
  30.                 gpio_init.GPIO_Mode=GPIO_Mode_Out_PP;
  31.         gpio_init.GPIO_Pin=GPIO_Pin_All;
  32.         gpio_init.GPIO_Speed=GPIO_Speed_50MHz;     //速度:50M
  33.         GPIO_Init(GPIOC,&gpio_init);               //初始化GPIO
  34.         //第三步:配置端口默認電平
  35. }

  36. uint8_t  button0()
  37. {
  38.         return(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0));
  39. }
  40. uint8_t  button1()
  41. {
  42.         return(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1));
  43. }
  44. //uint8_t  button3()
  45. //{
  46. //        return(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3));
  47. //}
  48. //uint8_t  button5()
  49. //{
  50. //        return(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5));
  51. //}

  52. /*****************************************
  53.         main函數

  54. *****************************************/
  55. int main(void){
  56.         uint8_t i,j,k=1;
  57.         uint16_t temp;
  58.         LED_Init();
  59.         key_init();
  60.         seg7_init();
  61.         GPIO_Write(GPIOA,table[j-1]);
  62.         while(1){
  63.                
  64.                 if(button0())
  65.                 {
  66.                         delay_ms(10);
  67.                         if(button0())
  68.                         {
  69.                                 while(button0());
  70.                                  j++;
  71.                                 if(j>16)
  72.                                         j=1;
  73.                                 GPIO_Write(GPIOA,table[j-1]);
  74.                         }                       
  75.                 }
  76.                                 if(j>1&k==0)
  77.                         {
  78.                                 delay_ms(10);
  79.                                                                 delay_ms(10);
  80.                                         GPIO_ResetBits(GPIOC,GPIO_Pin_6);
  81.                                                 delay_ms(10);
  82.                                                                         GPIO_ResetBits(GPIOC,GPIO_Pin_7);
  83.                                 delay_ms(10);
  84.                                 k++;
  85.                         }
  86.                         if(j==1&k==1)
  87.                         {
  88.                                 delay_ms(10);
  89.                                 GPIO_SetBits(GPIOC,GPIO_Pin_6);
  90.                                                                 delay_ms(10);
  91.                                                                         GPIO_SetBits(GPIOC,GPIO_Pin_7);
  92.                                 k=0;
  93.                                
  94.                         }
  95.                        
  96.                 if(button1())
  97.                 {
  98.                         delay_ms(10);
  99.                         if(button1())
  100.                         {
  101.                                 while(button1());
  102.                                  j--;
  103.                                 if(j==0)
  104.                                         j=16;
  105.                                 GPIO_Write(GPIOA,table[j-1]);
  106.                         }
  107.                 }
  108.                
  109.         }
  110.         //return 0;
  111. }
復制代碼

所有資料51hei提供下載:
新建文件夾 (5).7z (1.01 MB, 下載次數: 49)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:915610 發表于 2021-5-12 19:06 | 只看該作者
為什么proteus仿真只能第一個數碼管可以棟呀
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区日本 | 欧美国产精品一区二区三区 | 久久亚洲一区二区三区四区 | 色欧美综合| 欧美成人一区二区三区 | 欧美在线a | 嫩草视频在线看 | 亚洲 欧美 日韩在线 | 伊人久操| 日本在线视频中文字幕 | 成人av免费 | 一级片免费视频 | 日韩成人精品视频 | 在线资源视频 | 九色porny自拍视频 | 久久激情网 | 黄色成人免费在线观看 | 成人在线免费视频观看 | 香蕉视频一区二区 | 久久精品国产清自在天天线 | 久久综合久久综合久久综合 | 一级毛片成人免费看a | 91视频精选| 最新av中文字幕 | 91久久久久久久久 | jizz视频| 91麻豆精品国产91久久久久久久久 | 日日干天天操 | 91精品国产91久久综合桃花 | 亚洲码欧美码一区二区三区 | 国产精品久久精品 | 亚洲欧美日韩电影 | 欧洲一区在线观看 | 日本一区二区三区视频在线 | 香蕉婷婷| 香蕉婷婷 | 成年网站在线观看 | 精品欧美 | 成人国产精品久久久 | 伊人艹 | 日本三级电影免费 |