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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

節(jié)約單片機(jī)端口資源的鍵盤電路

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:90084 發(fā)表于 2015-9-15 02:51 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1 新型鍵盤電路
              鍵盤電路是單片機(jī)應(yīng)用系統(tǒng)最常用的人機(jī)接口,往往要占用較多的I/O端口,利用本文介紹的電路,可以最大限度地減少鍵盤電路對(duì)I/O端口的點(diǎn)用。本電路特別適合一些引腳少、結(jié)構(gòu)緊湊的單片機(jī),可為其節(jié)省寶貴的I/O資源。
             這里以3根I/O線為例,普通接法只能接3個(gè)鍵,即使是采用改進(jìn)后的組合接法[1],最多也只能接7個(gè)鏈,本文介紹的電路是在組合接法的基礎(chǔ)上增加了3個(gè)二極管,并采用了新的接法。其軟件處理使用了端口訪問和掃描檢測(cè)兩種方法,從而使按鍵數(shù)可達(dá)到16個(gè),同時(shí)由于采用了組合邏輯來直接對(duì)端口進(jìn)行讀取,因此極大地簡(jiǎn)經(jīng)了程序的處理過程,同時(shí)也節(jié)省了寶貴的存儲(chǔ)器和CPU運(yùn)算資源。圖1是該電路的電路原理圖。
      
                               
      2 軟件過程和程序
      該電路在程序處理時(shí),由處理器首先向I/O1~I(xiàn)/O3寫高電平,然后讀入。如果非全“1”,說明,K0~K6中有鍵按下,此時(shí)可根據(jù)讀入的端口狀態(tài)判斷鍵的狀態(tài),如果讀入的結(jié)果為全“1”,則I/O1~I(xiàn)/O3輪流輸出低電平,再讀入,這樣就可根據(jù)另外兩根I/O線的狀態(tài)來判別是K7~K15中的哪一個(gè)鍵被按下。重復(fù)調(diào)用鍵盤處理子程序可將讀取的鍵值與上次的值進(jìn)行比較,甚至兩次讀數(shù)相同為止,這樣即可消除按鍵抖動(dòng)所造成的誤讀。該電路選用的單片機(jī)為 AT89C2051,用C51語言編寫的按鍵電路處理程序如下:
      #include
      #define uchar unsigned char
      uchar getkey(void);
      uchar keyvol;
      void main(void)
      {
      keyvol=getkey(); /*調(diào)用鍵處理函數(shù),返回的數(shù)據(jù)等于16表示同有鍵按下,0至15對(duì)應(yīng)k0至K15*/
      }
      以下為鍵盤處理子程序:
      uchar getkey(void)
      {
      uchar x
      P1=P1|0x07; /*I/O1至I/O3寫“1”*/
      xP1&0x07; /*讀入I/O1至I/O3并屏蔽其它位*/
      if(x= =10)
      {
      P1=P1|0x07;
      P1=P1&0xfd; /*I/O2寫“0”*/
      x=P1&0x07;
      x=(x+1)/2+10; /*屏蔽I/O2并轉(zhuǎn)換K10至K12的鍵值*/
      if(x = =13)
      {
      P1=P1|0x07;
      P1=P1&0xfb; /*I/O3寫“0”*/
      x=P1&0x07;
      x=x+13; /*屏蔽I/O3并轉(zhuǎn)換K13至K15的鍵值*/
      }
      }
      }
      return x;
      }
      利用該鍵盤電路并根據(jù)邏輯組合原理可推斷開n條I/O線可組合的按鍵數(shù)N為:
      N=(2n-1)+(2 n-1 -1)n
      表1給出了2至4條I/O線可組合的按鍵數(shù)。
      表1 2~4條I/O線可組合的按鍵數(shù)
      I/O線 可組合按鍵
2            5
3           16
4           43

      3 結(jié)束語
      這種新型鍵盤電路在使用時(shí)非常穩(wěn)定可靠,節(jié)省大量的I/O端口,而且程序處理也很簡(jiǎn)潔,速率比4×4的掃描式電路還要快,因此,該電路特別適合一些引腳較少的單片機(jī),如PIC12C508、Z86E03以及AT89C2051等。

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区在线视频 | 欧美精品网站 | 国产aⅴ爽av久久久久久久 | 国产精品污www在线观看 | 国产福利视频在线观看 | 人干人人 | 波多野结衣一区二区三区在线观看 | 欧美三级视频在线观看 | 97精品超碰一区二区三区 | 亚洲精品综合 | 国产综合视频 | 欧美一区二区综合 | av国产精品毛片一区二区小说 | 国产欧美日韩一区二区三区在线观看 | 国产精品一区视频 | 久久精品99国产精品 | av片网站| 美女逼网站 | 久久国产日韩欧美 | 精品视频在线观看 | 在线免费视频一区 | 日本欧美国产在线 | 九九爱这里只有精品 | 精品免费看 | 国产做爰 | 一级a性色生活片久久毛片 午夜精品在线观看 | 国产视频在线观看一区二区三区 | 国产一区二区三区www | 日本粉嫩一区二区三区视频 | 夜夜精品视频 | 亚洲精品视 | 久久最新| 欧美一级免费看 | 国产一级电影网 | 精品一区电影 | 艹逼网| 久久一区二区三区四区 | ww 255hh 在线观看| 久草久 | 夜夜骑av| 成人一区二区在线 |