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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2846|回復(fù): 1
收起左側(cè)

單片機16位鍵盤響應(yīng) 在4位數(shù)碼管上相應(yīng)顯示123456789ABCDEF16位符號

[復(fù)制鏈接]
ID:421049 發(fā)表于 2019-3-9 13:01 | 顯示全部樓層 |閱讀模式
16位鍵盤,按下那個鍵,在4位數(shù)碼管上相應(yīng)顯示123456789ABCDEF16位符號。

單片機源程序如下:
  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)
回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2019-3-11 00:17 | 顯示全部樓層
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产激情一区二区三区 | 欧美日韩国产三级 | 精品国产91乱码一区二区三区 | 国产精品日日夜夜 | 一级做a爰片久久毛片 | 国产小网站| 欧美电影免费观看高清 | 精品视频一区二区三区 | 欧美精品一区免费 | 国产麻豆一区二区三区 | 91精品国产91久久久久久密臀 | 91网站在线观看视频 | 国产日韩欧美在线播放 | 欧美精品一区二区三区四区 在线 | 亚洲一区二区三区在线视频 | 精品视频在线免费观看 | 黄色片视频 | 国产99久久精品一区二区300 | 成人国产精品入口免费视频 | 日韩中文一区二区三区 | 欧美一区二区三区大片 | 高清视频一区二区三区 | 亚洲人久久| 欧美日韩视频 | 欧美激情视频一区二区三区在线播放 | 日本欧美大片 | 久久久国产一区二区三区 | 欧美一级免费 | 久久综合一区 | 亚洲成人av| 在线看91 | 亚洲最大成人综合 | 男人阁久久 | 国产精品一区二区不卡 | 91av免费看 | 色综合色综合色综合 | 成人毛片视频免费 | 国产亚洲一区二区三区在线观看 | 精品国产不卡一区二区三区 | 国产精品综合 | 国产精品成人一区二区 |