電腦彈簧機按鍵設計操作方法
電腦彈簧機按鍵設計操作方法包括三類:
一. 按鍵設計
按鍵板采用薄膜面板開關形式,薄膜面板開關設計簡單,操作方便,安放容易,直接貼在一表面就可使用,加上其防水防塵的性能,很適合工業控制的應用場合。對一個彈簧機的按鍵板來說,其按鍵包括三類:數字鍵,功能鍵和編輯鍵。數字鍵實現的是數字的輸入;功能鍵對應的是彈簧機的操作命令;編輯鍵用于對彈簧加工程序的編輯,如清除、保存等。一個設計合理的按鍵布局,與操作的方便性與可靠性直接關聯,對于具體各個鍵的布置,應綜合考慮操作的方便和布局的美觀,該設計完成后的7行×8列的按鍵布局圖見下
薄膜面板下面的行列陣電路采用單面柔性電路板(FPC)制作,電路起凸的形式保證了按鍵時的手感。它輸出的是鍵盤行列陣的行線和列線。
二. 按鍵板的軟硬件設計
無論是按鍵板的硬件設計還是軟件設計,都必定會涉及到按鍵板和主機的通信協議。所以在進入到軟硬件設計之前,先對PS/2協議做一簡單介紹。
1. PS/2協議
PS/2協議是外設與主機之間通信的一種同步雙串行協議。在協議中主機端擁有較高的優先級,在一定條件下它可中止外設正在進行的發送過程。該協議采用的短幀格式傳送數據的數據幀格式為:1位起始位(0),8位數據位,一位奇校驗位,一位停止位(1)。數據發送時低位在前,高位在后。外設每收到主機發來的一幀數據,都要緊隨該幀的停止位發送一個握手位ACK(0)應答主機,然后外設還要發1幀應答數據(0xF0),表明已完整地接收到了主機的命令;而主機在接收外設數據后不用發握手信號ACK,也不需要另外發送應答幀。無論是主機發還是外設發數據,同步時鐘都是由外設產生的。
按照接收方和發送方的不同,該協議可分為兩部分,其一為外設發送主機接收的通信,這一過程發生在工作人員操作外設或外設應答主機端發來的命令時,數據線和時鐘線處于空閑狀態下維持高電平狀態;其二為主機發送外設接收的通信,該過程發生在主機上電自檢時,主機發送測試信號檢測外設是否存在并判斷是何種類型的外設時。這個上電檢測對外設來說很重要,其中一個檢測項目為基本保證測試(Basic Assure Test),當主機發送該命令到外設時,外設必須回送相應的應答幀,否則主機就認為該外設的開機自檢沒能通過,在DOS以上的系統中,外設將無法使用。主機上電自檢時,發送給外設的數據是一個命令集,針對每個命令,外設都要作出相應的響應,這些響應字也都是協議所規定好的,具體可參見文獻[1]。
2. 硬件設計
在這里采用AT89S51作為按鍵板的主處理芯片。AT89S51是一個低功耗、高性能的8位CMOS單片機,有32個I/O口可供使用,能滿足行列掃描口較多時的要求,并具有軟件看門狗。
與前面的按鍵布局相對應,采用7×8的矩陣行列結構。行線用89S51的P2口,列線用P0口,由于P0口無內部上拉電阻,因而列線須外接上拉電阻。AT89S51的電源都由主機的PS/2接口提供,采用頻率為12MHz外部晶振。用P3.6和P3.7作為數據線和時鐘線和主機進行通信,完成后的硬件原理示意圖如圖二所示。
按鍵板的行列陣示意圖如圖三所示,按鍵板的行列陣只需將其行線和列線分別引出接到圖二所示的行列線接口中即可。按鍵板和主機通過PS/2接口連接器相連,現在比較常用的PS/2接口連接器如圖四所示。
3. 軟件設計
軟件的設計是按鍵板實現的關鍵,采用單片機C語言編程。它通過主程序和一系列的子程序來實現。主程序用于系統的初始化,子程序的調用。子程序包括接收主機命令子程序,發送數據子程序,接收數據子程序,行列掃描子程序以及發送鍵碼子程序。
接收主機命令子程序用于面板接收主機的命令,并作出相應的響應,這在DOS以上的系統中很重要,否則主機不承認按鍵板的存在。發送數據子程序用于發送數據幀到主機,每一位數據的發送都是按PS/2協議的時序要求所編寫的。接收數據子程序用于接收主機發來的數據幀,每一位數據的接收也是由時序規定的。行列掃描子程序作用是對按鍵板上鍵的識別,并將該鍵對應的碼發送到按鍵緩沖區暫存起來。PS/2協議中,當一個鍵被按下或按住時就發送該鍵的通碼(MAKE),被釋放時就發送斷碼(BREAK),每個按鍵都被分配了唯一的通碼和斷碼(協議中統稱為掃描碼),這樣主機通過掃描碼就可識別按鍵的類別。在彈簧機的按鍵板中,因為面板中的鍵不全是標準的,對于那些自定義的鍵,可將該鍵與一標準鍵的掃描碼對應起來,例如可將面板中的“啟動”與標準鍵“A”對應,這樣當“啟動”被按下時,發送給主機的就是字母“A”的掃描碼,通過重定義主機系統中的相關控制部分,就可實現啟動彈簧機的功能。發送鍵碼子程序用于發送按鍵緩沖區中的數據。而對于面板中的“鎖鍵”,實現的是面板的鎖死,在工控系統中,這個對于操作系統的可靠性是很有必要的,當該鍵按下時,則不發送緩沖區中的數據,同時清空緩沖區,多按一下則可解鎖。為了防止死機現象的發生,在主程序的循環中加入軟件看門狗。
一. 按鍵設計
按鍵板采用薄膜面板開關形式,薄膜面板開關設計簡單,操作方便,安放容易,直接貼在一表面就可使用,加上其防水防塵的性能,很適合工業控制的應用場合。對一個彈簧機的按鍵板來說,其按鍵包括三類:數字鍵,功能鍵和編輯鍵。數字鍵實現的是數字的輸入;功能鍵對應的是彈簧機的操作命令;編輯鍵用于對彈簧加工程序的編輯,如清除、保存等。一個設計合理的按鍵布局,與操作的方便性與可靠性直接關聯,對于具體各個鍵的布置,應綜合考慮操作的方便和布局的美觀,該設計完成后的7行×8列的按鍵布局圖見下
薄膜面板下面的行列陣電路采用單面柔性電路板(FPC)制作,電路起凸的形式保證了按鍵時的手感。它輸出的是鍵盤行列陣的行線和列線。
二. 按鍵板的軟硬件設計
無論是按鍵板的硬件設計還是軟件設計,都必定會涉及到按鍵板和主機的通信協議。所以在進入到軟硬件設計之前,先對PS/2協議做一簡單介紹。
1. PS/2協議
PS/2協議是外設與主機之間通信的一種同步雙串行協議。在協議中主機端擁有較高的優先級,在一定條件下它可中止外設正在進行的發送過程。該協議采用的短幀格式傳送數據的數據幀格式為:1位起始位(0),8位數據位,一位奇校驗位,一位停止位(1)。數據發送時低位在前,高位在后。外設每收到主機發來的一幀數據,都要緊隨該幀的停止位發送一個握手位ACK(0)應答主機,然后外設還要發1幀應答數據(0xF0),表明已完整地接收到了主機的命令;而主機在接收外設數據后不用發握手信號ACK,也不需要另外發送應答幀。無論是主機發還是外設發數據,同步時鐘都是由外設產生的。
按照接收方和發送方的不同,該協議可分為兩部分,其一為外設發送主機接收的通信,這一過程發生在工作人員操作外設或外設應答主機端發來的命令時,數據線和時鐘線處于空閑狀態下維持高電平狀態;其二為主機發送外設接收的通信,該過程發生在主機上電自檢時,主機發送測試信號檢測外設是否存在并判斷是何種類型的外設時。這個上電檢測對外設來說很重要,其中一個檢測項目為基本保證測試(Basic Assure Test),當主機發送該命令到外設時,外設必須回送相應的應答幀,否則主機就認為該外設的開機自檢沒能通過,在DOS以上的系統中,外設將無法使用。主機上電自檢時,發送給外設的數據是一個命令集,針對每個命令,外設都要作出相應的響應,這些響應字也都是協議所規定好的,具體可參見文獻[1]。
2. 硬件設計
在這里采用AT89S51作為按鍵板的主處理芯片。AT89S51是一個低功耗、高性能的8位CMOS單片機,有32個I/O口可供使用,能滿足行列掃描口較多時的要求,并具有軟件看門狗。
與前面的按鍵布局相對應,采用7×8的矩陣行列結構。行線用89S51的P2口,列線用P0口,由于P0口無內部上拉電阻,因而列線須外接上拉電阻。AT89S51的電源都由主機的PS/2接口提供,采用頻率為12MHz外部晶振。用P3.6和P3.7作為數據線和時鐘線和主機進行通信,完成后的硬件原理示意圖如圖二所示。
按鍵板的行列陣示意圖如圖三所示,按鍵板的行列陣只需將其行線和列線分別引出接到圖二所示的行列線接口中即可。按鍵板和主機通過PS/2接口連接器相連,現在比較常用的PS/2接口連接器如圖四所示。
3. 軟件設計
軟件的設計是按鍵板實現的關鍵,采用單片機C語言編程。它通過主程序和一系列的子程序來實現。主程序用于系統的初始化,子程序的調用。子程序包括接收主機命令子程序,發送數據子程序,接收數據子程序,行列掃描子程序以及發送鍵碼子程序。
接收主機命令子程序用于面板接收主機的命令,并作出相應的響應,這在DOS以上的系統中很重要,否則主機不承認按鍵板的存在。發送數據子程序用于發送數據幀到主機,每一位數據的發送都是按PS/2協議的時序要求所編寫的。接收數據子程序用于接收主機發來的數據幀,每一位數據的接收也是由時序規定的。行列掃描子程序作用是對按鍵板上鍵的識別,并將該鍵對應的碼發送到按鍵緩沖區暫存起來。PS/2協議中,當一個鍵被按下或按住時就發送該鍵的通碼(MAKE),被釋放時就發送斷碼(BREAK),每個按鍵都被分配了唯一的通碼和斷碼(協議中統稱為掃描碼),這樣主機通過掃描碼就可識別按鍵的類別。在彈簧機的按鍵板中,因為面板中的鍵不全是標準的,對于那些自定義的鍵,可將該鍵與一標準鍵的掃描碼對應起來,例如可將面板中的“啟動”與標準鍵“A”對應,這樣當“啟動”被按下時,發送給主機的就是字母“A”的掃描碼,通過重定義主機系統中的相關控制部分,就可實現啟動彈簧機的功能。發送鍵碼子程序用于發送按鍵緩沖區中的數據。而對于面板中的“鎖鍵”,實現的是面板的鎖死,在工控系統中,這個對于操作系統的可靠性是很有必要的,當該鍵按下時,則不發送緩沖區中的數據,同時清空緩沖區,多按一下則可解鎖。為了防止死機現象的發生,在主程序的循環中加入軟件看門狗。
相關標簽:電腦彈簧機