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

標題: 單片機矩陣鍵盤掃描程序(仿真+程序)注釋很詳細 [打印本頁]

作者: cangyuan    時間: 2021-7-16 15:32
標題: 單片機矩陣鍵盤掃描程序(仿真+程序)注釋很詳細
摁鍵掃描是很基礎的知識點,摁鍵掃描通俗的來說就是在串口輸出高低電平,然后當有摁鍵摁下時便會引起電平的變化,我們只需將變化的電平進行記錄和組合便可以知曉具體是那一格摁鍵摁下。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg52.H>
  2. #define u8 unsigned char
  3. #define KEY  P3 //定義變量,方便以后鍵盤接到其他的端口后,修改這里就行了,下面的程序不用再修改  
  4. u8 num1,i,num2;
  5. u8 code keycode[16]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};
  6. void delay(long i){while(i--);}
  7.   
  8. void main(void)
  9. {
  10.   KEY=0x0f;//初始狀態,高位列,低電平;低位行,高電平
  11.   while(1)
  12.     {
  13.            if(KEY!=0x0f)//如果有按鍵按下,則KEY肯定不是原來的0x0f
  14.            {
  15.                    delay(2000);//延時20毫秒,以防按鍵的彈簧上下振蕩,造成按下的假象
  16.                    if(KEY!=0x0f)num1=KEY;//的確是按下了,獲取此時狀態,高位均為0,低位有1位不是1
  17.                          KEY=0xf0;//KEY輸出0xf0
  18.                    delay(2000);//延時20毫秒,以防按鍵的彈簧上下振蕩,造成按下的假象
  19.                    if(KEY!=0xf0)num2=KEY;
  20. //for循環keycode數組檢測 break
  21.                          for(i=0;;i++)
  22.                          {
  23.                                  if((num1|num2)==keycode[i]) break;
  24.                          }
  25.                    KEY=0x0f;//KEY輸出0x0f,恢復初始狀態
  26.              while(KEY!=0x0f);//如果還在按下,等待放手
  27.                          P2=i;//P2口輸出給BCD數碼管
  28.            }
  29.     }
  30. }
復制代碼

仿真代碼資料51hei提供下載(用winrar解壓):
矩陣鍵盤程序.rar (66.73 KB, 下載次數: 60)


作者: YwJ    時間: 2024-4-3 14:36
謝謝分享,學習學習
作者: zhengguo_wang    時間: 2024-4-28 10:03
好資料,51黑有你更精彩!!!
作者: leoeric    時間: 2024-5-10 22:34
謝謝分享,學習學習
好資料,51黑有你更精彩!!!
作者: 打雜的    時間: 2024-5-15 10:11
下載試試效果咋樣





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产午夜视频在线观看 | 亚洲第一伊人 | 成人免费黄色大片 | 毛片在线免费 | 精品日韩av | 亚洲一区二区 | 手机av在线免费观看 | 日韩免费一区 | 草草在线观看 | 999久久久精品 | 久插视频 | 免费福利在线观看 | 久久av片| 国产成人免费在线视频 | 偷偷操网站 | 天堂资源av | 亚洲三区在线 | 国产伊人网| 国产欧美视频在线观看 | 欧美一级片在线观看 | 亚洲欧美精品一区二区 | 国产精品福利在线 | 91高清国产 | 国产成人在线播放 | 久久在线视频 | 天天做夜夜爽 | 一区二区不卡视频 | 国产日韩欧美在线 | 亚洲精品久久久久 | 99热99re6国产在线播放 | cao视频| 又色又爽又黄18网站 | 色偷偷噜噜噜亚洲男人 | 久久不射网 | 免费一级片 | 日韩精品大片 | 国产黄av | 黄色大片免费观看 | 久久888| 亚洲视频网 | 性视频网|