找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2254|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

單片機新手,剛做完按鍵計數(shù)給同樣是新手的分享一下

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:763578 發(fā)表于 2020-6-8 15:38 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
通過按鍵控制數(shù)碼管顯示加一,減一,附件有需要的下載

單片機源程序如下:
  1. #include<reg51.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. uchar shi,ge,shi1,ge1;
  5. unsigned char duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  6. uint m=0;
  7. uint n=99;
  8. sbit KB1=P3^2;
  9. sbit KB2=P3^4;
  10. void delay_S(uint z)
  11. {
  12.         uint x,y;
  13.         for(x=z;x>0;x--)
  14.         for(y=110;y>0;y--);
  15. }
  16. void Display(uint shi,uint ge)
  17. {
  18.         P0=duanma[shi];
  19.         P2=0xfd;
  20.         delay_S(5);
  21.         P0=0;
  22.         P2=0xff;
  23.        
  24.         P0=duanma[ge];
  25.         P2=0xfe;
  26.         delay_S(5);
  27.         P0=0;
  28.         P2=0xff;
  29. }
  30. void Display1(uint shi1,uint ge1)
  31. {
  32.         P1=duanma[shi1];
  33.         P3=0xfd;
  34.         delay_S(5);
  35.         P1=0;
  36.         P3=0xff;
  37.        
  38.         P1=duanma[ge1];
  39.         P3=0xfe;
  40.         delay_S(5);
  41.         P1=0;
  42.         P3=0xff;
  43. }
  44. void main(void)
  45. {
  46.         while(1)
  47.         {
  48.                 if(KB1==0)
  49.                 {
  50.                         delay_S(5);
  51.                         if(KB1==0)
  52.                         {
  53.                                 m++;
  54.                                 if(m>99)  m=0;
  55.                         }
  56.                         while(!KB1);
  57.                 }
  58.                 shi=m/10;
  59.                 ge=m%10;
  60.                 Display(shi,ge);
  61.                
  62.                
  63.                 if(KB2==0)
  64.                 {
  65.                         delay_S(5);
  66.                         if(KB2==0)
  67.                         {
  68.                                 n--;
  69.                                 if(n<0)  n=99;
  70.                         }
  71.                         while(!KB2);
  72.                 }
  73.                 shi1=n/10;
  74.                 ge1=n%10;
  75.                 Display1(shi1,ge1);
  76.                 }
  77. }
復(fù)制代碼

所有資料51hei提供下載:
按鍵計數(shù).zip (48.41 KB, 下載次數(shù): 11)





評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:771727 發(fā)表于 2020-6-9 03:05 來自手機 | 只看該作者
源程序加上注釋就好了。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表