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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

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

          在信息處理系統(tǒng)中,顯示分系統(tǒng)是整個(gè)系統(tǒng)的人機(jī)界面。顯示器畫面呈現(xiàn)出的態(tài)勢(shì)圖形和數(shù)據(jù),是人們決策的重要依據(jù)。人工干預(yù)手段則是將人們的決策變?yōu)橄到y(tǒng)所能接收信息的必不可少的工具。因此人工干預(yù)手段的多寡及有效度直接影響著整個(gè)系統(tǒng)的有效度。特別是在處理信息量大,人機(jī)交互頻繁的系統(tǒng)中,對(duì)人工干預(yù)手段的要求更高。

          筆者結(jié)合工作實(shí)際,圍繞單片機(jī)89C51設(shè)計(jì)了通用接口鍵盤作為顯示分系統(tǒng)的擴(kuò)展鍵盤。目的在于為顯示分系統(tǒng)增加一種干預(yù)手段。實(shí)踐表明:此鍵盤改善了系統(tǒng)的人機(jī)界面,提高了系統(tǒng)的處理效率。

          1 設(shè)計(jì)要求與工作原理

          1.1 設(shè)計(jì)要求

          (1)擴(kuò)展鍵盤鍵位編碼符合顯示分系統(tǒng)的約定?! ?BR> (2)擴(kuò)展鍵盤與顯示處理機(jī)通訊通過其接口來完成,波特率為9600 b/s。
          (3)擴(kuò)展鍵盤與顯示處理機(jī)通訊的接口電平為RS232C標(biāo)準(zhǔn)。
          (4)波特率相對(duì)誤差應(yīng)小于2.5%。
          (5)擴(kuò)展鍵盤的電源要求:直流+5 V。
          (6)擴(kuò)展鍵盤的環(huán)境溫度要求:-100~+500°C。

          1.2 工作原理

          擴(kuò)展鍵盤工作原理如圖1所示。擴(kuò)展鍵盤通過異步串 行接口與顯示處理機(jī)相連,與標(biāo)準(zhǔn)鍵盤一起,顯示處理機(jī)便擁有2個(gè)鍵盤。2個(gè)鍵盤可同時(shí)向顯示處理機(jī)發(fā)出干預(yù)命令。因此,顯示分系統(tǒng)增加了一條輸入干預(yù)命令的新途徑,縮短了干預(yù)命令的輸入時(shí)間,提高了人工干預(yù)的效率。

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          2 電路設(shè)計(jì)

          擴(kuò)展鍵盤由以下幾部分組成:

          ①單片機(jī)89C51及時(shí)鐘、復(fù)位電路。
          ②TTL電平到RS232C電平轉(zhuǎn)換芯片ICL232CPE,此芯片只需直流+5 V電源。
          ③工作指示電路。
          ④鍵位陣列部分(8×13)。

          擴(kuò)展鍵盤電原理圖如圖2所示。

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          3 89C51的結(jié)構(gòu)與性能特點(diǎn)

          89C51是MCS-51系列單片機(jī)的典型產(chǎn)品之一。其內(nèi)部具有的硬件資源如圖3所示。

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          ①4 kB可編程的E2PROM。
          ②面向控制的8 b CPU。
          ③128 B內(nèi)部RAM數(shù)據(jù)存貯器。
          ④32 b雙向輸入/輸出線。
          ⑤1個(gè)全雙工的串行口。
          ⑥2個(gè)16 b定時(shí)器/計(jì)數(shù)器。
          ⑦5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí)。
          ⑧時(shí)鐘發(fā)生器。
          ⑨可以尋址64 kB的程序存貯器和64 kB的外部數(shù)據(jù)存貯器。

          該鍵盤利用了89C51的片內(nèi)E2PROM 作為程序存貯器,避免外擴(kuò)存貯器占用單片機(jī)的輸入/輸出口資源;利用P3口的第二功能完成通訊功能;用一片ICL232CPE作為接口電平轉(zhuǎn)換芯片,便實(shí)現(xiàn)了鍵盤的全部硬件邏輯。硬件少,可靠性高。整個(gè)鍵盤采用+5 V直流電源;電路與鍵位陣列分離設(shè)計(jì)。本鍵盤還克服了以往鍵盤設(shè)計(jì)中鍵位少、不通用等缺點(diǎn)。

          4 軟件功能流程圖

          軟件實(shí)現(xiàn)鍵位掃描、消除抖動(dòng)、鍵碼轉(zhuǎn)換、鍵碼發(fā)送等功能。另外軟件也實(shí)現(xiàn)了換檔、按鍵連發(fā)功能。軟件功能流程圖如圖4所示。

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          5 應(yīng)用中應(yīng)注意的問題

          在異型機(jī)種的串行通訊中,當(dāng)規(guī)定了傳輸速率后,MCS-系統(tǒng)中選取適當(dāng)?shù)木w振蕩頻率至關(guān)重要。他與串行接口的工作方式、電源控制寄存器PCON的SMOD位、定時(shí)器T1一起決定著通訊的成敗。MCS- 51單 片機(jī)串行接口工作在方式0時(shí),其波特率固定不變,其大小為:晶振頻率/12。此方式為同步方式;工作在方式2時(shí)為異步方式,其波率為基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)晶振頻率:①SMOD=0時(shí),波特率為:晶振頻率/64;②當(dāng)SMOD=1時(shí),波特率為:晶振頻率/32;串行接口工作方式為1,3時(shí)為異步方式且其波特率是可變的,除了與SMOD位的取值有關(guān)外,主要取決于定時(shí)器1的溢出率。波特率可由下式確定:

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          而定時(shí)器1的溢出率又由計(jì)數(shù)速率和定時(shí)時(shí)間預(yù)置數(shù)X決定,即:

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          此時(shí)T1工作方式2,即8位自動(dòng)裝載方式。這種方式可以避免通過中斷服務(wù)程序來重新裝入初值,所得波特率也比較精確。式中X即為在TH1和TL1中裝入的初始計(jì)數(shù)值。定時(shí)器1的計(jì)數(shù)速率與定時(shí)器工作方式的選擇有關(guān)。當(dāng)選定T1為定時(shí)工作方式時(shí),其計(jì)數(shù)輸入脈沖為內(nèi)部時(shí)鐘信號(hào),即每個(gè)機(jī)器周期使寄存器值加1。而每個(gè)機(jī)器周期為12個(gè)振蕩周期,故計(jì)數(shù)速率為晶振頻率的1/12。因此

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          由于本擴(kuò)展鍵盤與顯示處理機(jī)的串行通訊為異步方式,所以設(shè)置他的串行接口的工作方式為方式1,定時(shí)器1的工作方式為方式2。再根據(jù)波特率要求(9 600 b/s)求他的預(yù)置值。若系統(tǒng)晶體的振蕩頻率12 MHz時(shí),當(dāng)SMOD選為1時(shí),TH1,TL1的初值計(jì)算如下:

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          解上式可得:X1=250(FAH)或X2=249(F9H)

          將X置入TH1,TL1時(shí),波特率發(fā)生器產(chǎn)生的實(shí)際的傳輸速率為:

          基于51單片機(jī)的異步串行接口鍵盤設(shè)計(jì)

          或 波特率2=8 928.57 b/s,波特率誤差2=7%

          無論置入哪個(gè)數(shù),PC機(jī)與單片機(jī)之間均無法完成正常的通訊。若采用11.059 2 MHz晶振,按照上面公式計(jì)算出X=250 FAH,實(shí)際的傳輸速率為9 599.83 b/s,其誤差為0.001 77%,PC機(jī)與單片機(jī)的通訊可正常進(jìn)行。另外,SMOD位的選擇有時(shí)也能影響波特率的誤差。因此在波特率設(shè)置時(shí),對(duì)SMOD位的選取也需慎重考慮。

          設(shè)計(jì)按鍵陣列時(shí),應(yīng)采用標(biāo)準(zhǔn)鍵盤的導(dǎo)電橡膠薄膜按鍵陣列,避免使用壽命短、常出現(xiàn)接觸不良現(xiàn)象的老式鍵。

          6 結(jié)語

          此鍵盤功能設(shè)計(jì)還可進(jìn)一步細(xì)化,如實(shí)現(xiàn)大寫鎖定、小鍵盤鎖定等。由于鍵盤與主機(jī)通訊數(shù)據(jù)量不大,故未采用USB口與主機(jī)通訊。稍加修改,完全可以用USB口與主機(jī)通訊。若此鍵盤用于一些不采用串行通訊的系統(tǒng)中時(shí),可直接用TTL電平相連,省掉ICL232CPE芯片,電路更簡單,且P3口可采用并行輸出。



          關(guān)鍵詞: 51單片機(jī) 異步串行

          評(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); })();