<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于單片機的電腦彈簧機按鍵板的設計與實(shí)現

基于單片機的電腦彈簧機按鍵板的設計與實(shí)現

作者: 時(shí)間:2012-02-06 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

本文引用地址:http://dyxdggzs.com/article/172190.htm

機是用來(lái)生產(chǎn)的專(zhuān)用設備。板,作為一個(gè)人機交互的操作界面,起著(zhù)輸入操作命令,編輯加工程序及修改數據的功能,對彈簧機的操作控制起著(zhù)重要作用。在實(shí)際應用中,為方便操作,需要將板的漢字化和直接化,這使得使用標準的PC鍵盤(pán)不太可能,所以開(kāi)發(fā)一塊便宜且通用的按鍵板就很有現實(shí)意義。在PC機中,鍵盤(pán)和主機的通信采用的是PS/2協(xié)議。由于彈簧機的控制器是一個(gè)標準的工控PC機控制器,具有標準的鍵盤(pán)接口,為了使簡(jiǎn)單和通用,在這里使用這個(gè)標準的鍵盤(pán)接口,并采用PS/2協(xié)議來(lái)進(jìn)行按鍵板和彈簧機的通信,時(shí)選用AT89S51作為按鍵板的處理芯片進(jìn)行按鍵的識別和數據的接收和發(fā)送。本文介紹的是這個(gè)按鍵板的詳細方法。

一. 按鍵設計

按鍵板采用薄膜面板開(kāi)關(guān)形式,薄膜面板開(kāi)關(guān)設計簡(jiǎn)單,操作方便,安放容易,直接貼在一表面就可使用,加上其防水防塵的性能,很適合工業(yè)控制的應用場(chǎng)合。對一個(gè)彈簧機的按鍵板來(lái)說(shuō),其按鍵包括三類(lèi):數字鍵,功能鍵和編輯鍵。數字鍵的是數字的輸入;功能鍵對應的是彈簧機的操作命令;編輯鍵用于對彈簧加工程序的編輯,如清除、保存等。一個(gè)設計合理的按鍵布局,與操作的方便性與可靠性直接關(guān)聯(lián),對于具體各個(gè)鍵的布置,應綜合考慮操作的方便和布局的美觀(guān),該設計完成后的7行×8列的按鍵布局圖見(jiàn)下:

12.gif
圖1 按鍵布局圖

薄膜面板下面的行列陣電路采用單面柔性電路板(FPC)制作,電路起凸的形式保證了按鍵時(shí)的手感。它輸出的是鍵盤(pán)行列陣的行線(xiàn)和列線(xiàn)。

二.按鍵板的軟硬件設計

無(wú)論是按鍵板的硬件設計還是軟件設計,都必定會(huì )涉及到按鍵板和主機的通信協(xié)議。所以在進(jìn)入到軟硬件設計之前,先對PS/2協(xié)議做一簡(jiǎn)單介紹。

1. PS/2協(xié)議

PS/2協(xié)議是外設與主機之間通信的一種同步雙串行協(xié)議。在協(xié)議中主機端擁有較高的優(yōu)先級,在一定條件下它可中止外設正在進(jìn)行的發(fā)送過(guò)程。該協(xié)議采用的短幀格式傳送數據的數據幀格式為:1位起始位(0),8位數據位,一位奇校驗位,一位停止位(1)。數據發(fā)送時(shí)低位在前,高位在后。外設每收到主機發(fā)來(lái)的一幀數據,都要緊隨該幀的停止位發(fā)送一個(gè)握手位ACK(0)應答主機,然后外設還要發(fā)1幀應答數據(0xF0),表明已完整地接收到了主機的命令;而主機在接收外設數據后不用發(fā)握手信號ACK,也不需要另外發(fā)送應答幀。無(wú)論是主機發(fā)還是外設發(fā)數據,同步時(shí)鐘都是由外設產(chǎn)生的。

按照接收方和發(fā)送方的不同,該協(xié)議可分為兩部分,其一為外設發(fā)送主機接收的通信,這一過(guò)程發(fā)生在工作人員操作外設或外設應答主機端發(fā)來(lái)的命令時(shí),數據線(xiàn)和時(shí)鐘線(xiàn)處于空閑狀態(tài)下維持高電平狀態(tài);其二為主機發(fā)送外設接收的通信,該過(guò)程發(fā)生在主機上電自檢時(shí),主機發(fā)送測試信號檢測外設是否存在并判斷是何種類(lèi)型的外設時(shí)。這個(gè)上電檢測對外設來(lái)說(shuō)很重要,其中一個(gè)檢測項目為基本保證測試(Basic Assure Test),當主機發(fā)送該命令到外設時(shí),外設必須回送相應的應答幀,否則主機就認為該外設的開(kāi)機自檢沒(méi)能通過(guò),在DOS以上的系統中,外設將無(wú)法使用。主機上電自檢時(shí),發(fā)送給外設的數據是一個(gè)命令集,針對每個(gè)命令,外設都要作出相應的響應,這些響應字也都是協(xié)議所規定好的,具體可參見(jiàn)文獻[1]。

2. 硬件設計

在這里采用AT89S51作為按鍵板的主處理芯片。AT89S51是一個(gè)低功耗、高性能的8位CMOS,有32個(gè)I/O口可供使用,能滿(mǎn)足行列掃描口較多時(shí)的要求,并具有軟件看門(mén)狗。

與前面的按鍵布局相對應,采用7×8的矩陣行列結構。行線(xiàn)用89S51的P2口,列線(xiàn)用P0口,由于P0口無(wú)內部上拉電阻,因而列線(xiàn)須外接上拉電阻。AT89S51的電源都由主機的PS/2接口提供,采用頻率為12MHz外部晶振。用P3.6和P3.7作為數據線(xiàn)和時(shí)鐘線(xiàn)和主機進(jìn)行通信,完成后的硬件原理示意圖如圖二所示。

13.gif
圖2 硬件原理示意圖

按鍵板的行列陣示意圖如圖三所示,按鍵板的行列陣只需將其行線(xiàn)和列線(xiàn)分別引出接到圖二所示的行列線(xiàn)接口中即可。按鍵板和主機通過(guò)PS/2接口連接器相連,現在比較常用的PS/2接口連接器如圖四所示。

12.jpg

3. 軟件設計

軟件的設計是按鍵板的關(guān)鍵,采用C語(yǔ)言編程。它通過(guò)主程序和一系列的子程序來(lái)實(shí)現。主程序用于系統的初始化,子程序的調用。子程序包括接收主機命令子程序,發(fā)送數據子程序,接收數據子程序,行列掃描子程序以及發(fā)送鍵碼子程序。

接收主機命令子程序用于面板接收主機的命令,并作出相應的響應,這在DOS以上的系統中很重要,否則主機不承認按鍵板的存在。發(fā)送數據子程序用于發(fā)送數據幀到主機,每一位數據的發(fā)送都是按PS/2協(xié)議的時(shí)序要求所編寫(xiě)的。接收數據子程序用于接收主機發(fā)來(lái)的數據幀,每一位數據的接收也是由時(shí)序規定的。行列掃描子程序作用是對按鍵板上鍵的識別,并將該鍵對應的碼發(fā)送到按鍵緩沖區暫存起來(lái)。PS/2協(xié)議中,當一個(gè)鍵被按下或按住時(shí)就發(fā)送該鍵的通碼 (MAKE),被釋放時(shí)就發(fā)送斷碼(BREAK),每個(gè)按鍵都被分配了唯一的通碼和斷碼(協(xié)議中統稱(chēng)為掃描碼),這樣主機通過(guò)掃描碼就可識別按鍵的類(lèi)別。在彈簧機的按鍵板中,因為面板中的鍵不全是標準的,對于那些自定義的鍵,可將該鍵與一標準鍵的掃描碼對應起來(lái),例如可將面板中的“啟動(dòng)”與標準鍵“A”對應,這樣當“啟動(dòng)”被按下時(shí),發(fā)送給主機的就是字母“A”的掃描碼,通過(guò)重定義主機系統中的相關(guān)控制部分,就可實(shí)現啟動(dòng)彈簧機的功能。發(fā)送鍵碼子程序用于發(fā)送按鍵緩沖區中的數據。而對于面板中的“鎖鍵”,實(shí)現的是面板的鎖死,在工控系統中,這個(gè)對于操作系統的可靠性是很有必要的,當該鍵按下時(shí),則不發(fā)送緩沖區中的數據,同時(shí)清空緩沖區,多按一下則可解鎖。為了防止死機現象的發(fā)生,在主程序的循環(huán)中加入軟件看門(mén)狗。軟件實(shí)現的流程圖見(jiàn)下圖:

14.gif
圖5 軟件流程圖

三.結論

本文介紹的電腦彈簧機按鍵板具有結構簡(jiǎn)單,設計靈活,安全可靠的特點(diǎn),可在DOS及WINDOWS的系統中使用。作為一彈簧機的按鍵板,其已在實(shí)際中得到成功的應用。本設計也可廣泛運用于以PC機為主機的控制系統中,可以根據實(shí)際需要,改變按鍵的陣列以及按鍵的功能,因而應用本設計可以實(shí)現豐富多彩的控制設備中所需的非標準的PC機鍵盤(pán)。

參考文獻:
[1] Adam Chapweske. PS/2技術(shù)參考. Roy Show 譯. 2002
[2] 何立民. MCS-51系列單片機應用系統設計系統配置與接口技術(shù)[M]. 北京: 北京航空航天大學(xué)出版社. 1999.6
[3] 何立民. 單片機高級教程-應用與設計[M]. 北京:北京航空航天大學(xué)出版社. 2000.8
[4] 趙亮,候國銳. 單片機C語(yǔ)言編程與實(shí)例[M]. 北京:人民郵電出版社. 2003.9

上拉電阻相關(guān)文章:上拉電阻原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>