<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AT89S51單片機(jī)開發(fā)板的設(shè)計(jì)

          AT89S51單片機(jī)開發(fā)板的設(shè)計(jì)

          作者: 時(shí)間:2009-10-20 來源:網(wǎng)絡(luò) 收藏

          圖3為采用MAX232器件的PC機(jī)和串行通信接口電路,采用9針標(biāo)準(zhǔn)插座與PC機(jī)相連。MAX232實(shí)現(xiàn)電平轉(zhuǎn)換功能,該器件可將TXD端輸出的TTL電平轉(zhuǎn)換成標(biāo)準(zhǔn)的RS-232C標(biāo)準(zhǔn)電平,由MAX232的14引腳通過9針接口送入PC機(jī);同樣,PC機(jī)輸出的RS-232C標(biāo)準(zhǔn)電平,從 MAX232的13引腳輸入并轉(zhuǎn)換成所需的TTL電平,經(jīng)單片機(jī)的RXD端接收。

          本文引用地址:http://www.ex-cimer.com/article/173585.htm

          2.3 矩陣鍵盤鍵號(hào)的識(shí)別與顯示電路
          單片機(jī)的I/O口4×4行列式鍵盤,采用程序掃描法識(shí)別按下的鍵,當(dāng)有按鍵按下時(shí),其鍵號(hào)顯示在共陰極LED數(shù)碼管上。其電路如圖4所示。

          一個(gè)4×4的行、列結(jié)構(gòu)可構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤。按鍵的位置由行號(hào)和列號(hào)唯一確定。將圖4中的4×4鍵盤鍵號(hào)編碼為:01H、02H、03H、…、0EH、0FH、10H16個(gè)鍵號(hào)。
          (1)用全掃描法判斷有無鍵按下行線在無鍵按下時(shí)處在高電平,按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通。如果讓所有列線處于低電平。當(dāng)無鍵按下時(shí),則讀人的行信息全為1;有鍵按下時(shí),讀入的行信息不全為1,按下鍵所在的行電平會(huì)由高電平變?yōu)榈碗娖健PU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。
          (2)用逐列置0掃描法確定具體鍵按為進(jìn)一步確定具體鍵,在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),實(shí)現(xiàn)鍵盤掃描。
          鍵盤工作在編程掃描方式,單片機(jī)在完成其他工作后的空閑時(shí)間調(diào)用鍵盤掃描子程序響應(yīng)鍵盤輸入的要求,在執(zhí)行鍵功能程序時(shí)CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤。

          3 系統(tǒng)軟件
          系統(tǒng)軟件采用匯編語言編寫,鍵盤編程掃描子程序采用全掃描法判斷有無鍵按下,采用逐列置0掃描法確定具體哪個(gè)鍵按下,計(jì)算閉合鍵的鍵號(hào),等鍵釋放后將鍵號(hào)存入內(nèi)RAM30H單元。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();