一. 按鍵設(shè)計(jì)
按鍵板采用薄膜面板開關(guān)方式,薄膜面板開關(guān)設(shè)計(jì)簡(jiǎn)單,操作便當(dāng),安放容易,直接貼在一外表就可運(yùn)用,加上其防水防塵的性能,很合適工業(yè)控制的應(yīng)用場(chǎng)所。對(duì)一個(gè)彈簧機(jī)的按鍵板來說,其按鍵包括三類:數(shù)字鍵,功用鍵和編輯鍵。數(shù)字鍵完成的是數(shù)字的輸入;功用鍵對(duì)應(yīng)的是彈簧機(jī)的操作命令;編輯鍵用于對(duì)彈簧加工程序的編輯,如肅清、保管等。一個(gè)設(shè)計(jì)合理的按鍵規(guī)劃,與操作的便當(dāng)性與牢靠性直接關(guān)聯(lián),關(guān)于詳細(xì)各個(gè)鍵的布置,應(yīng)綜合思索操作的便當(dāng)和規(guī)劃的美觀,該設(shè)計(jì)完成后的7行×8列的按鍵規(guī)劃。薄膜面板下面的行列陣電路采用單面柔性電路板(FPC)制造,電路起凸的方式保證了按鍵時(shí)的手感。它輸出的是鍵盤行列陣的行線和列線。東莞市利群精密機(jī)械有限公司以先進(jìn)的生產(chǎn)設(shè)備、專業(yè)的生產(chǎn)技能及經(jīng)驗(yàn)豐富的管理和技術(shù)人員,在“追隨市場(chǎng)發(fā)展,滿足市場(chǎng)需求”的理念下,始終堅(jiān)持以質(zhì)量第一,客戶至上,服務(wù)一流為宗旨不斷研發(fā)產(chǎn)品,改善產(chǎn)品的性能。并致力于品質(zhì)管理,力求提供“高速,高精度,高品質(zhì)”的產(chǎn)品,作為對(duì)市場(chǎng)和客戶的回報(bào)及貢獻(xiàn)。聯(lián)系電話:聯(lián)系人:劉先生13600271495 廣東彈簧機(jī),彈簧機(jī)
二. 按鍵板的軟硬件設(shè)計(jì)
無論是按鍵板的硬件設(shè)計(jì)還是軟件設(shè)計(jì),都必定會(huì)觸及到按鍵板和主機(jī)的通訊協(xié)議。所以在進(jìn)入到軟硬件設(shè)計(jì)之前,先對(duì)PS/2協(xié)議做一簡(jiǎn)單引見。
1. PS/2協(xié)議
PS/2協(xié)議是外設(shè)與主機(jī)之間通訊的一種同步雙串行協(xié)議。在協(xié)議中主機(jī)端具有較高的優(yōu)先級(jí),在一定條件下它可中止外設(shè)正在停止的發(fā)送過程。該協(xié)議采用的短幀格式傳送數(shù)據(jù)的數(shù)據(jù)幀格式為:1位起始位(0),8位數(shù)據(jù)位,一位奇校驗(yàn)位,一位中止位(1)。數(shù)據(jù)發(fā)送時(shí)低位在前,高位在后。外設(shè)每收到主機(jī)發(fā)來的一幀數(shù)據(jù),都要緊隨該幀的中止位發(fā)送一個(gè)握手位ACK(0)應(yīng)對(duì)主機(jī),然后外設(shè)還要發(fā)1幀應(yīng)對(duì)數(shù)據(jù)(0xF0),標(biāo)明已完好地接納到了主機(jī)的命令;而主機(jī)在接納外設(shè)數(shù)據(jù)后不用發(fā)握手信號(hào)ACK,也不需求另外發(fā)送應(yīng)對(duì)幀。無論是主機(jī)發(fā)還是外設(shè)發(fā)數(shù)據(jù),同步時(shí)鐘都是由外設(shè)產(chǎn)生的。
依照接納方和發(fā)送方的不同,該協(xié)議可分為兩局部,其一為外設(shè)發(fā)送主機(jī)接納的通訊,這一過程發(fā)作在工作人員操作外設(shè)或外設(shè)應(yīng)對(duì)主機(jī)端發(fā)來的命令時(shí),數(shù)據(jù)線和時(shí)鐘線處于閑暇狀態(tài)下維持高電平狀態(tài);其二為主機(jī)發(fā)送外設(shè)接納的通訊,該過程發(fā)作在主機(jī)上電自檢時(shí),主機(jī)發(fā)送測(cè)試信號(hào)檢測(cè)外設(shè)能否存在并判別是何品種型的外設(shè)時(shí)。這個(gè)上電檢測(cè)對(duì)外設(shè)來說很重要,其中一個(gè)檢測(cè)項(xiàng)目為根本保證測(cè)試(Basic Assure Test),當(dāng)主機(jī)發(fā)送該命令到外設(shè)時(shí),外設(shè)必需回送相應(yīng)的應(yīng)對(duì)幀,否則主機(jī)就以為該外設(shè)的開機(jī)自檢沒能經(jīng)過,在DOS以上的系統(tǒng)中,外設(shè)將無法運(yùn)用。主機(jī)上電自檢時(shí),發(fā)送給外設(shè)的數(shù)據(jù)是一個(gè)命令集,針對(duì)每個(gè)命令,外設(shè)都要作出相應(yīng)的響應(yīng),這些響應(yīng)字也都是協(xié)議所規(guī)則好的。
2. 硬件設(shè)計(jì)
在這里采用AT89S51作為按鍵板的主處置芯片。AT89S51是一個(gè)低功耗、高性能的8位CMOS單片機(jī),有32個(gè)I/O口可供運(yùn)用,能滿足行列掃描口較多時(shí)的請(qǐng)求,并具有軟件看門狗。
與前面的按鍵規(guī)劃相對(duì)應(yīng),采用7×8的矩陣行列構(gòu)造。行線用89S51的P2口,列線用P0口,由于P0口無內(nèi)部上拉電阻,因此列線須外接上拉電阻。AT89S51的電源都由主機(jī)的PS/2接口提供,采用頻率為12MHz外部晶振。用P3.6和P3.7作為數(shù)據(jù)線和時(shí)鐘線和主機(jī)停止通訊,完成后的硬件原理。
按鍵板的行列陣表示圖如圖三所示,按鍵板的行列陣只需將其行線和列線分別引出接到圖二所示的行列線接口中即可。按鍵板和主機(jī)經(jīng)過PS/2接口銜接器相連,如今比擬常用的PS/2接口銜接器。
3. 軟件設(shè)計(jì)
軟件的設(shè)計(jì)是按鍵板完成的關(guān)鍵,采用單片機(jī)C言語編程。它經(jīng)過主程序和一系列的子程序來完成。主程序用于系統(tǒng)的初始化,子程序的調(diào)用。子程序包括接納主機(jī)命令子程序,發(fā)送數(shù)據(jù)子程序,接納數(shù)據(jù)子程序,行列掃描子程序以及發(fā)送鍵碼子程序。
接納主機(jī)命令子程序用于面板接納主機(jī)的命令,并作出相應(yīng)的響應(yīng),這在DOS以上的系統(tǒng)中很重要,否則主機(jī)不供認(rèn)按鍵板的存在。發(fā)送數(shù)據(jù)子程序用于發(fā)送數(shù)據(jù)幀到主機(jī),每一位數(shù)據(jù)的發(fā)送都是按PS/2協(xié)議的時(shí)序請(qǐng)求所編寫的。接納數(shù)據(jù)子程序用于接納主機(jī)發(fā)來的數(shù)據(jù)幀,每一位數(shù)據(jù)的接納也是由時(shí)序規(guī)則的。行列掃描子程序作用是對(duì)按鍵板上鍵的辨認(rèn),并將該鍵對(duì)應(yīng)的碼發(fā)送到按鍵緩沖區(qū)暫存起來。PS/2協(xié)議中,當(dāng)一個(gè)鍵被按下或按住時(shí)就發(fā)送該鍵的通碼(MAKE),被釋放時(shí)就發(fā)送斷碼(BREAK),每個(gè)按鍵都被分配了獨(dú)一的通碼和斷碼(協(xié)議中統(tǒng)稱為掃描碼),這樣主機(jī)經(jīng)過掃描碼就可辨認(rèn)按鍵的類別。在彈簧機(jī)的按鍵板中,由于面板中的鍵不全是規(guī)范的,關(guān)于那些自定義的鍵,可將該鍵與一規(guī)范鍵的掃描碼對(duì)應(yīng)起來,例如可將面板中的“啟動(dòng)”與規(guī)范鍵“A”對(duì)應(yīng),這樣當(dāng)“啟動(dòng)”被按下時(shí),發(fā)送給主機(jī)的就是字母“A”的掃描碼,經(jīng)過重定義主機(jī)系統(tǒng)中的相關(guān)控制局部,就可完成啟動(dòng)彈簧機(jī)的功用。發(fā)送鍵碼子程序用于發(fā)送按鍵緩沖區(qū)中的數(shù)據(jù)。而關(guān)于面板中的“鎖鍵”,完成的是面板的鎖死,在工控系統(tǒng)中,這個(gè)關(guān)于操作系統(tǒng)的牢靠性是很有必要的,當(dāng)該鍵按下時(shí),則不發(fā)送緩沖區(qū)中的數(shù)據(jù),同時(shí)清空緩沖區(qū),多按一下則可解鎖。為了避免死機(jī)現(xiàn)象的發(fā)作,在主程序的循環(huán)中參加軟件看門狗。