欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的獨立按鍵控制數碼管練習

[復制鏈接]
跳轉到指定樓層
樓主
ID:360078 發表于 2018-6-27 11:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
功能:四個獨立按鍵控制數碼管上的數字每秒自增1并在暫停后增減1
包含keil的項目文件和C語言代碼等文件

單片機源程序如下:
  1. #include <reg51.h>
  2. sbit LSA = P2^2;
  3. sbit LSB = P2^3;
  4. sbit LSC = P2^4;
  5. sbit k1=P3^1;
  6. sbit k2=P3^0;
  7. sbit k3=P3^2;
  8. sbit k4=P3^3;

  9. unsigned int num=2017;

  10. #define GPIO_Digitaltube P0

  11. unsigned char DIG_CODE[17]=
  12. {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  13. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  14. void delay1ms(void)
  15. {
  16.     unsigned char a,b;
  17.     for(b=199;b>0;b--)
  18.         for(a=1;a>0;a--);
  19. }

  20. void Digital_Tube_Display(num)
  21. {
  22.         LSA = 1;
  23.         LSB = 1;
  24.         LSC = 1;                               
  25.         GPIO_Digitaltube = DIG_CODE[num/1000];
  26.         delay1ms();
  27.         GPIO_Digitaltube = 0X00;
  28.         LSA = 0;
  29.         LSB = 1;
  30.         LSC = 1;
  31.         GPIO_Digitaltube = DIG_CODE[num/100%10];
  32.         delay1ms();
  33.         GPIO_Digitaltube = 0X00;
  34.         LSA = 1;
  35.         LSB = 0;
  36.         LSC = 1;
  37.         GPIO_Digitaltube = DIG_CODE[num/10%10];
  38.         delay1ms();
  39.         GPIO_Digitaltube = 0X00;
  40.         LSA = 0;
  41.         LSB = 0;
  42.         LSC = 1;                               
  43.         GPIO_Digitaltube = DIG_CODE[num%10];
  44.         delay1ms();
  45.         GPIO_Digitaltube = 0X00;
  46. }

  47. void keypros()
  48. {
  49.         if(k1==0)                 
  50.         {       
  51.                 delay1ms();
  52.                 if(k1==0)         
  53.                 {
  54.                         EA=0;
  55.                 }
  56.                 while(!k1);       
  57.         }
  58.         if(k2==0)                 
  59.         {       
  60.                 delay1ms();
  61.                 if(k2==0)         
  62.                 {
  63.                         EA=1;
  64.                 }
  65.                 while(!k2);       
  66.         }
  67.         if(k3==0)                 
  68.         {       
  69.                 if(EA==0)
  70.                 {
  71.                     delay1ms();
  72.                     if(k3==0)         
  73.                     {
  74.                             num=++num;
  75.                     }
  76.                     while(!k3);
  77.                 }       
  78.         }
  79.         if(k4==0)                 
  80.         {       
  81.                 if(EA==0)
  82.                 {
  83.                     delay1ms();
  84.                     if(k4==0)         
  85.                     {
  86.                             num=--num;
  87.                     }
  88.                     while(!k4);       
  89.                 }
  90.         }                               
  91. }

  92. int main()
  93. {
  94.         TMOD=0X10;
  95.         TH1=(65536-50000)/256;
  96.         TL1=(65536-50000)%256;
  97.         ET1=1;
  98.         EA=1;
  99.         TR1=1;
  100.     while(1)
  101.         {
  102.             keypros();
  103.                 Digital_Tube_Display(num);
  104.         }
  105. }

  106. void timer1(void) interrupt 3
  107. {
  108.     static unsigned char i = 0;
  109.         i++;
  110.         TH1=(65536-50000)/256;
  111.         TL1=(65536-50000)%256;
  112.         if(i==20)
  113.         {
  114.                 i=0;
  115.                 num=++num;
  116.         }
  117. }
復制代碼

所有資料51hei提供下載:
四個獨立按鍵控制數碼管上的數字每秒自增1并在暫停后增減一.zip (25.26 KB, 下載次數: 29)


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

使用道具 舉報

沙發
ID:503018 發表于 2019-4-2 16:01 | 只看該作者
非常感謝,,幫助很大
回復

使用道具 舉報

板凳
ID:469510 發表于 2019-4-19 12:54 | 只看該作者
非常感謝,,幫助很大
回復

使用道具 舉報

地板
ID:568662 發表于 2019-8-1 16:34 | 只看該作者
感謝   幫助非常大
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表