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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機矩陣鍵盤代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:798049 發表于 2021-6-30 20:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit key1=P3^4;
  5. sb

  6. sbit dula=P2^6;
  7. sbit wela=P2^7;
  8. uchar code table[]={0x3f,0x06,0x5b,0x4f,
  9.                           0x66,0x6d,0x7d,0x07,
  10.                           0x7f,0x6f,0x77,0x7c,
  11.                           0x39,0x5e,0x79,0x71};
  12. void delayms(uint);
  13. uchar numt0,num;
  14. void display(uchar numdis)
  15. {
  16. uchar  bai,shi,ge;
  17. bai=numdis/100;
  18. shi=numdis%100/10;
  19. ge=numdis%10;  
  20. dula=1;
  21. P0=table[bai];
  22. dula=0;
  23. P0=0xff;
  24. wela=1;
  25. P0=0xfe;
  26. wela=0;
  27. delayms(5);

  28. dula=1;        
  29. P0=table[shi];
  30. dula=0;
  31. P0=0xff;
  32. wela=1;
  33. P0=0xfd;
  34. wela=0;
  35. delayms(5);

  36. dula=1;        
  37. P0=table[ge];
  38. dula=0;
  39. P0=0xff;
  40. wela=1;
  41. P0=0xfb;
  42. wela=0;
  43. delayms(5);

  44. }
  45.         
  46. void delayms(uint xms)
  47. {
  48.         uint i,j;
  49.         for(i=xms;i>0;i--)
  50.          for(j=110;j>0;j--);
  51. }
  52. void init()
  53. {
  54.   TMOD=0x01;
  55.    TH0=(65536-45872)/256;
  56.    TL0=(65536-45872)%256;        
  57.         EA=1;
  58.         ET0=1;
  59. }
  60. void keyscan()
  61. {
  62.                 if(key1==0)
  63.         {
  64.                 delayms(10);
  65.                 if(key1==0)
  66.                 {
  67.                         num=0;
  68.                         while(!key1);
  69.                 }
  70.         }
  71.         if(key2==0)
  72.         {
  73.                 delayms(10);
  74.                 if(key2==0)
  75.                 {
  76.                         num++;
  77.                         if(num == 60)
  78.                                 num=0;
  79.                         while(!key2);
  80.                 }
  81.         }
  82.         if(key3==0)
  83.         {
  84.                 delayms(10);
  85.                 if(key3==0)
  86.                 {
  87.                         if(num == 0)
  88.                                 num=60;
  89.                         num--;
  90.                         while(!key3);
  91.                 }
  92.         }

  93.         if(key4==0)
  94.         {
  95.                 delayms(10);
  96.                 if(key4==0)
  97.                 {
  98.                         while(!key4);
  99.                         TR0=~TR0;
  100.                 }
  101.         }
  102. }
  103. void main()
  104. {
  105.         init();
  106.         
  107.         while(1);
  108.         {   keyscan();
  109.                         display(num);
  110.         }
  111. }
  112. void T0_time() interrupt 1
  113. {
  114.           TH0=(65536-45872)/256;
  115.    TL0=(65536-45872)%256;
  116.          
  117.          numt0++;
  118.          if(numt0 == 20)
  119.          {
  120.                  numt0=0;
  121.                  num++;
  122.                  if(num==999)
  123.                          num=0;
  124.          }
  125. }
復制代碼


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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