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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

動態(tài)數(shù)碼管和矩陣鍵盤的51單片機程序含源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:907827 發(fā)表于 2021-4-20 19:49 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機使用數(shù)碼管和矩陣鍵盤一起用,每按矩陣鍵盤輸出在動態(tài)數(shù)碼管。

單片機源程序如下:
  1. #include<reg52.h>
  2. typedef unsigned char uint8;
  3. typedef unsigned int uint16;
  4. sbit a=P2^2;
  5. sbit b=P2^3;
  6. sbit c=P2^4;
  7. uint8 smg[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07,
  8.              0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71};
  9. uint8 sum[8];
  10. uint8 m,button;
  11. void delay(uint16 i)        //10ms
  12. {
  13.         uint8 j,k;
  14.         for(;i>0;i--)               
  15.                 for(j=38;j>0;j--)        
  16.                         for(k=130;k>0;k--);
  17. }
  18. void delay1(uint8 i)        //1.3ms
  19. {
  20.         uint8 j,k;
  21.         for(;i>0;i--)               
  22.                 for(j=10;j>0;j--)        
  23.                         for(k=130;k>0;k--);
  24. }
  25. void keyscan()
  26. {
  27.         uint8 value,h,l;
  28.         P1=0x0f;
  29.         l=P1&0x0f;
  30.         if(l!=0x0f)
  31.         {
  32.                 delay(1);
  33.                 if(l!=0x0f)
  34.                 {
  35.                         l=P1&0x0f;
  36.                         l=l|0xf0;
  37.                         P1=l;
  38.                         h=P1&0xf0;
  39.                         l=l&0x0f;
  40.                         value=h+l;
  41.                         button=1;        //?????
  42.                         delay(50);        //??????????,????????????????
  43.                         switch(value)               
  44.                         {
  45.                                 case 0xe7: m=0;break;
  46.                                 case 0xeb: m=1;break;
  47.                                 case 0xed: m=2;break;
  48.                                 case 0xee: m=3;break;
  49.                                 case 0xd7: m=4;break;
  50.                                 case 0xdb: m=5;break;
  51.                                 case 0xdd: m=6;break;
  52.                                 case 0xde: m=7;break;
  53.                                 case 0xb7: m=8;break;
  54.                                 case 0xbb: m=9;break;
  55.                                 case 0xbd: m=10;break;
  56.                                 case 0xbe: m=11;break;
  57.                                 case 0x77: m=12;break;
  58.                                 case 0x7b: m=13;break;
  59.                                 case 0x7d: m=14;break;
  60.                                 case 0x7e: m=15;break;
  61.                                 default : break;
  62.                         }
  63.                 }
  64.         }
  65. }
  66. void display()                                          //?????????
  67. {
  68.         uint8 i;
  69.         for(i=0;i<8;i++)
  70.         {
  71.                 switch(i)
  72.                 {
  73.                         case 0: a=1,b=1,c=1;break;
  74.                         case 1: a=0,b=1,c=1;break;
  75.                         case 2: a=1,b=0,c=1;break;
  76.                         case 3: a=0,b=0,c=1;break;
  77.                         case 4: a=1,b=1,c=0;break;
  78.                         case 5: a=0,b=1,c=0;break;
  79.                         case 6: a=1,b=0,c=0;break;
  80.                         case 7: a=0,b=0,c=0;break;  
  81.                 }
  82.                 P0=sum[i];;
  83.                 delay1(1);
  84.                 P0=0x00;
  85.         }               
  86. }
  87. /*
  88.         void display()                                          //?????????
  89.         {
  90.                 uint8 i;
  91.                 for(i=0;i<8;i++)
  92.                 {
  93.                         switch(i)
  94.                         {
  95.                                 case 0: a=0,b=0,c=0;break;
  96.                                 case 1: a=1,b=0,c=0;break;
  97.                                 case 2: a=0,b=1,c=0;break;
  98.                                 case 3: a=1,b=1,c=0;break;
  99.                                 case 4: a=0,b=0,c=1;break;
  100.                                 case 5: a=1,b=0,c=1;break;
  101.                                 case 6: a=0,b=1,c=1;break;
  102.                                 case 7: a=1,b=1,c=1;break;  
  103.                         }
  104.                         P0=sum[i];;
  105.                         delay1(1);
  106.                         P0=0x00;
  107.                 }               
  108.         }
  109. */
  110. void main()
  111. {        
  112.         button=0;
  113.         while(1)
  114.         {
  115.                 keyscan();
  116.                 if(button==1)
  117.                 {                                
  118.                         sum[7]=sum[6];
  119.                         sum[6]=sum[5];
  120.                         sum[5]=sum[4];
  121.                         sum[4]=sum[3];
  122.                         sum[3]=sum[2];
  123.                         sum[2]=sum[1];                                                         
  124.                         sum[1]=sum[0];
  125.                         sum[0]=smg[m];                                                
  126.                         button=0;
  127.                 }
  128.                 display();
  129.         }
  130. }
復(fù)制代碼


IMG_1093.JPG (3.03 MB, 下載次數(shù): 56)

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩视频一区二区三区 | 色射综合| 久久9热 | 一级片在线观看视频 | 国产精品久久久久无码av | 精品免费视频 | 国产成人精品一区二区三区四区 | 亚洲精品免费在线 | 日韩免费看视频 | 91在线色视频 | 日本亚洲欧美 | 久久久一二三区 | 99久久久无码国产精品 | 免费激情网站 | 欧美日韩一区二区在线 | 女人av| 国产伦精品一区二区三区视频金莲 | 99一区二区| 久久成人精品一区二区三区 | av色在线| 午夜精品一区二区三区在线视频 | 欧美精品一区三区 | 欧美日韩国产高清 | 久久久噜噜噜久久中文字幕色伊伊 | 日本一区二区影视 | 黄在线| 国产免费自拍 | 九九九视频精品 | 午夜a区| 免费一级毛片 | 久久成人人人人精品欧 | 午夜成人在线视频 | 亚洲国产欧美日韩 | 特黄小视频| 2021狠狠干 | 亚洲国产精品一区二区久久 | 日本久久综合 | 国产观看 | 亚洲人成人一区二区在线观看 | 国产91亚洲精品一区二区三区 | 懂色av一区二区三区在线播放 |