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

標(biāo)題: 單片機(jī)16位鍵盤響應(yīng) 在4位數(shù)碼管上相應(yīng)顯示123456789ABCDEF16位符號(hào) [打印本頁]

作者: 卓zz    時(shí)間: 2019-3-9 13:01
標(biāo)題: 單片機(jī)16位鍵盤響應(yīng) 在4位數(shù)碼管上相應(yīng)顯示123456789ABCDEF16位符號(hào)
16位鍵盤,按下那個(gè)鍵,在4位數(shù)碼管上相應(yīng)顯示123456789ABCDEF16位符號(hào)。

單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]={0x44,0x5F,0x34,0x15,0x0F,0x85,0x84,0x57,0x04,0x05,0x06,0x8C,0xE4,0x1C,0xA4,0xA6};
  5. void delayms(uint xms)
  6. {
  7.   uint i,j;
  8.         for(i=xms;i>0;i--)
  9.           for(j=110;j>0;j--);
  10. }
  11. void display(uchar num)
  12. {
  13.         P3=0X00;
  14.   P1=table[num];
  15. }
  16. void matrixkeyscan()
  17. {
  18.   uchar temp,key;
  19.         P2=0Xfe;
  20.         temp=P2;
  21.         temp=temp&0xf0;
  22.         if(temp != 0xf0)
  23.         {
  24.           delayms(10);
  25.                 temp=P2;
  26.                 temp=temp & 0xf0;
  27.                 if(temp != 0xf0)
  28.                 {
  29.                   temp=P2;
  30.                         switch(temp)
  31.                         {
  32.                           case 0x7e:    key=0;
  33.                                               break;
  34.                                 case 0xbe:    key=1;
  35.                                               break;
  36.                                 case 0xde:    key=2;
  37.                                               break;
  38.                                 case 0xee:    key=3;
  39.                                               break;
  40.                         }
  41.                         while(temp != 0Xf0)
  42.                         {
  43.                           temp=P2;
  44.                                 temp=temp&0xf0;
  45.                         }
  46.                         display(key);
  47.                 }
  48.         }
  49.         P2=0Xfd;
  50.         temp=P2;
  51.         temp=temp&0xf0;
  52.         if(temp != 0xf0)
  53.         {
  54.           delayms(10);
  55.                 temp=P2;
  56.                 temp=temp & 0xf0;
  57.                 if(temp != 0xf0)
  58.                 {
  59.                   temp=P2;
  60.                         switch(temp)
  61.                         {
  62.                           case 0x7d:    key=4;
  63.                                               break;
  64.                                 case 0xbd:    key=5;
  65.                                               break;
  66.                                 case 0xdd:    key=6;
  67.                                               break;
  68.                                 case 0xed:    key=7;
  69.                                               break;
  70.                         }
  71.                         while(temp != 0Xf0)
  72.                         {
  73.                           temp=P2;
  74.                                 temp=temp&0xf0;
  75.                         }
  76.                         display(key);
  77.                 }
  78.         }
  79.                 P2=0Xfb;
  80.         temp=P2;
  81.         temp=temp&0xf0;
  82.         if(temp != 0xf0)
  83.         {
  84.           delayms(10);
  85.                 temp=P2;
  86.                 temp=temp & 0xf0;
  87.                 if(temp != 0xf0)
  88.                 {
  89.                   temp=P2;
  90.                         switch(temp)
  91.                         {
  92.                           case 0x7b:    key=8;
  93.                                               break;
  94.                                 case 0xbb:    key=9;
  95.                                               break;
  96.                                 case 0xdb:    key=10;
  97.                                               break;
  98.                                 case 0xeb:    key=11;
  99.                                               break;
  100.                         }
  101.                         while(temp != 0Xf0)
  102.                         {
  103.                           temp=P2;
  104.                                 temp=temp&0xf0;
  105.                         }
  106.                         display(key);
  107.                 }
  108.         }
  109.         P2=0Xf7;
  110.         temp=P2;
  111.         temp=temp&0xf0;
  112.         if(temp != 0xf0)
  113.         {
  114.           delayms(10);
  115.                 temp=P2;
  116.                 temp=temp & 0xf0;
  117.                 if(temp != 0xf0)
  118.                 {
  119.                   temp=P2;
  120.                         switch(temp)
  121.                         {
  122.                           case 0x77:    key=12;
  123.                                               break;
  124.                                 case 0xb7:    key=13;
  125.                                               break;
  126.                                 case 0xd7:    key=14;
  127.                                               break;
  128.                                 case 0xe7:    key=15;
  129.                                               break;
  130.                         }
  131.                         while(temp != 0Xf0)
  132.                         {
  133.                           temp=P2;
  134.                                 temp=temp&0xf0;
  135.                         }
  136.                         display(key);
  137.                 }
  138.         }       
  139. }
  140. void main()
  141. {
  142.   P3=0x00;
  143.         while(1)
  144.         {
  145.           matrixkeyscan();
  146.         }       
  147. }
復(fù)制代碼

所有資料51hei提供下載:
keyscan.zip (21.25 KB, 下載次數(shù): 13)




作者: admin    時(shí)間: 2019-3-11 00:17
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲欧美在线免费观看 | 91精品国产91久久久久游泳池 | 国产一级在线观看 | 亚洲免费视频一区 | 日本免费一区二区三区 | 久久久久久久电影 | 亚洲视频在线观看一区二区三区 | 91久久爽久久爽爽久久片 | 亚洲逼院 | 亚洲人在线观看视频 | 欧美激情第一区 | 日本电影一区二区 | 国产在线观看一区二区三区 | 国产精品视频www | 久久久精选 | 欧美日韩精品一区二区三区四区 | 国产99久久精品一区二区永久免费 | 国产精品美女久久久久久免费 | 欧美视频在线观看 | 欧美一级片在线观看 | 欧美精品三区 | 欧美性生活免费 | 国产视频久久久久 | 亚洲天堂精品一区 | 久国久产久精永久网页 | 精品久久久久久亚洲精品 | 日本特黄a级高清免费大片 国产精品久久性 | 欧美一区二区三区的 | 欧美日韩一二区 | 国产精品一区二区三区在线 | 视频在线一区二区 | 福利精品| 黑人性hd | 性做久久久久久免费观看欧美 | 羞羞视频在线观看网站 | 国产一区二区三区四区三区四 | 久久国内 | 最新中文字幕 | 亚洲精品自在在线观看 | 精品一区二区久久久久久久网站 | 精品无码久久久久久国产 |