網(wǎng)上有很多關(guān)于pos機(jī)一萬多跳超市,一種可實(shí)現(xiàn)字符輸入的矩陣鍵盤式金融POS機(jī)裝置設(shè)計(jì)研究的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)一萬多跳超市的問題,今天pos機(jī)之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)一萬多跳超市
劉強(qiáng),徐鋒,賓小升
(廣東嶺南通股份有限公司,廣東 廣州,510110)
:目前大多數(shù)金融POS機(jī)僅支持?jǐn)?shù)字輸入,而單一的數(shù)字輸入并不能完全滿足人們對(duì)金融POS機(jī)功能需求的提升,因此有必要改進(jìn)傳統(tǒng)金融POS機(jī)的輸入機(jī)制,實(shí)現(xiàn)POS機(jī)的數(shù)字、字母和符號(hào)等字符的混合輸入。研究并提出一種通過控制開關(guān)和枚舉的形式,基于查表式的輕量級(jí)字符輸入的方法,實(shí)現(xiàn)簡單、快速、高效的混合輸入字符功能。
:金融POS機(jī);矩陣鍵盤;字符輸入;驅(qū)動(dòng)設(shè)計(jì);控制開關(guān)
隨著信息技術(shù)的發(fā)展以及金融產(chǎn)品的更迭,金融POS設(shè)備已成為線下支付的重要手段。各個(gè)銀行紛紛推出各自的金融POS設(shè)備,這些設(shè)備通常外觀新穎小巧,攜帶方便且使用靈活,具備交易速度快、交易安全可靠等特點(diǎn)[1],因此深受商家和持卡用戶的喜愛。但在使用的過程中,此類產(chǎn)品也暴露出了一些不足,例如由于使用了矩陣鍵盤,造成多鍵共用,不支持多種混合輸入的突出問題[2]。
雖然傳統(tǒng)手機(jī)采用的鍵盤布局與金融POS機(jī)類似,多種字符方法理論上可適用于金融POS設(shè)備,但金融POS設(shè)備大多采用簡單的過程化系統(tǒng)結(jié)構(gòu)設(shè)計(jì)模式,將傳統(tǒng)手機(jī)的輸入方法移植到金融POS裝置中十分困難,并且代價(jià)高昂。因此本文根據(jù)金融POS常使用的矩陣鍵盤的設(shè)計(jì)方法,研究一種通過控制開關(guān)切換,根據(jù)用戶輸入字符的情況,在屏幕特定的區(qū)域顯示待輸入的字符列表,由用戶根據(jù)需要進(jìn)行選擇,從而實(shí)現(xiàn)混合輸入的方式。該方式使用簡單、操作方便,具有較好的推廣移植性,同時(shí)有效解決多種混合輸入模式的切換問題[3\ue0114]。
1.1設(shè)計(jì)流程
對(duì)金融POS矩陣鍵盤設(shè)計(jì)功能定義處理流程,關(guān)鍵步驟是在傳統(tǒng)的數(shù)字輸入基礎(chǔ)上增加一個(gè)判斷功能,嵌入數(shù)據(jù)和字符的顯示和輸入功能,實(shí)現(xiàn)混合輸入效果。設(shè)計(jì)流程如圖1所示。
1.2硬件設(shè)計(jì)
1.2.1設(shè)計(jì)思路
本設(shè)計(jì)是基于矩陣鍵盤的金融POS機(jī)來實(shí)現(xiàn)多個(gè)字符共用同一步鍵,常用矩陣鍵盤式金融POS機(jī)面板如圖2所示。
圖2傳統(tǒng)POS機(jī)鍵盤基于矩陣鍵盤式金融POS機(jī)實(shí)現(xiàn)字符的輸入,關(guān)鍵電路設(shè)計(jì)如下。
本設(shè)計(jì)采用一個(gè)5×5的矩陣來表示21個(gè)鍵值,通過對(duì)10個(gè)主CPU芯片的管腳GPIO口掃描得到用戶當(dāng)前的按下的鍵值。在初始化階段,ROW1~ROW5設(shè)置為推勉輸出,且為低電平狀態(tài),LINE1~LINE5設(shè)置為上拉輸入,并將LINE設(shè)置為外部中斷模式。如果矩陣鍵盤中的1個(gè)按鍵按下,則10個(gè)交叉處所對(duì)應(yīng)的LINE引腳發(fā)生中斷,在中斷處理程序中關(guān)閉中斷,并將ROW1~ROW5依次修改為輸入狀態(tài),再將LINE1~LINE5設(shè)置推勉輸出,且為高電平狀態(tài),這時(shí)再遍歷查詢ROW1~ROW5的電平狀態(tài),查詢所得高電平狀態(tài)即可得到ROW線,通過LINE線和ROW即可確定十字位置,即鍵值。相關(guān)原理圖如圖3所示。
1.2.2防抖動(dòng)設(shè)計(jì)
鍵盤驅(qū)動(dòng)必須解決的一個(gè)問題是按鍵的抖動(dòng)。在按鍵按下和抬起的過程中,電壓信號(hào)會(huì)出現(xiàn)很多毛刺,這主要是由于機(jī)械按鍵的彈性作用引起的。盡管觸點(diǎn)看起來非常穩(wěn)定,而且快速地閉合,但相對(duì)于嵌入式處理器的運(yùn)行速度來說,這種動(dòng)作還是相對(duì)很慢的。這種脈沖在某些按鍵功能設(shè)計(jì)時(shí),如果處理不當(dāng)可能會(huì)帶來災(zāi)難性的后果,所以必須對(duì)按鍵信號(hào)進(jìn)行防抖檢測。按鍵防抖檢測的核心思想是在嵌入式處理器的幾個(gè)時(shí)鐘周期內(nèi),通過對(duì)按鍵信號(hào)進(jìn)行多次訪問,查看電平狀態(tài)是否保存一致。如果保持一致,則說明按鍵狀態(tài)已經(jīng)穩(wěn)定;否則,說明之前檢測到的按鍵信號(hào)是抖動(dòng)信號(hào)或外界信號(hào)干擾[5],系統(tǒng)將不會(huì)對(duì)其進(jìn)行任何處理。
1.3軟件設(shè)計(jì)
1.3.1設(shè)計(jì)思路
矩陣鍵盤驅(qū)動(dòng)的設(shè)計(jì)主要分為:GPIO初始化及配置、外部中斷的配置、中斷驅(qū)動(dòng)程序的設(shè)計(jì)、鍵值的查詢和鍵值的確認(rèn)。
(1)GPIO初始化及配置
根據(jù)CPU的芯片手冊(cè)的配置方法,查詢當(dāng)前矩陣鍵盤所接的CPU管腳,將所有連接的管腳進(jìn)行初始化,并對(duì)控制該管腳的時(shí)鐘進(jìn)行初始配置。
(2)外部中斷配置
為了接收到按鍵的中斷信號(hào),需要對(duì)列上的管腳進(jìn)行中斷配置,以便CPU中斷程序響應(yīng)按鍵對(duì)應(yīng)的中斷請(qǐng)求。
(3)中斷驅(qū)動(dòng)程序的設(shè)計(jì)
通過打開中斷,對(duì)應(yīng)按鍵按下后,CPU將會(huì)進(jìn)入相應(yīng)的中斷處理程序,此時(shí)需要清除相應(yīng)中斷信息,防止處理完成后再次快速中斷響應(yīng)。
(4)鍵值的查詢和鍵值的確認(rèn)
通過中斷響應(yīng)程序,可以定位到具體的LINE線的數(shù)值,此時(shí)再將ROW線設(shè)置為輸入狀態(tài),修改LINE1~LINE5為推勉輸出,由于通過上位電阻連接到3.3 V,因此為高電平狀態(tài),此時(shí)再次對(duì)ROW1~ROW5進(jìn)行識(shí)別,當(dāng)為高電平的ROW線時(shí)即為按鍵按下的鍵值,通過對(duì)LINE和ROW進(jìn)行十字定位,即可確定按下的具體按健。
1.3.2驅(qū)動(dòng)程序設(shè)計(jì)
當(dāng)確定按鍵位置后,需要根據(jù)實(shí)際情況來選擇顯示的不同字符,如數(shù)字“7”與“PQRS”共用。根據(jù)金融POS的使用習(xí)慣,用戶大多情況下以數(shù)字鍵為主。根據(jù)這一習(xí)慣,本設(shè)計(jì)裝置在驅(qū)動(dòng)中通過設(shè)置開關(guān)S實(shí)現(xiàn)輸入模式的切換,當(dāng)S=0時(shí)為數(shù)字模式,如圖4所示,直接顯示數(shù)字;當(dāng)S=1時(shí)為字符模式,如圖5所示,在一公用位置顯示出待選擇的所有字符,用戶可根據(jù)序號(hào)選擇期望的字符。
通過這種模式,當(dāng)用戶需要輸入多種混合字母的時(shí)候,通過切換開關(guān)即可完成多種字符的復(fù)雜輸入。用戶確定按健數(shù)字的鍵值后,通過輸入模
圖4數(shù)字模式圖5字符模式式開關(guān)(將21個(gè)鍵值中某一個(gè)特定鍵如F2作為輸入模式開關(guān)鍵,通過此開關(guān)來控制數(shù)字和非數(shù)字的輸入),向顯示界面發(fā)送當(dāng)前預(yù)定義的顯示內(nèi)容,根據(jù)提示即可完成字符或數(shù)字的輸入。
在驅(qū)動(dòng)程序設(shè)計(jì)中,定義了一個(gè)結(jié)構(gòu)用于存儲(chǔ)相關(guān)的參數(shù)來實(shí)現(xiàn)開關(guān)S,具體如下:
typedef struct _KEYCONFIG
// 矩陣鍵盤結(jié)構(gòu)
{
BYTE bSwtich;//輸入模式
BYTEbKeyValue;//當(dāng)前鍵值
BYTEbLastKey;//上次鍵值
LONG lTimeout;//超時(shí)時(shí)間
BYTE bNum;//按鍵次數(shù)
} KEYCONFIG, *PKEYCONFIG;
該結(jié)構(gòu)主要用來存儲(chǔ)用戶每次按鍵的動(dòng)作,bSwtich的值由界面上特定功能鍵F1控制,設(shè)備啟動(dòng)時(shí)默認(rèn)為數(shù)字開啟狀態(tài)。當(dāng)輸入模式為bSwtich=0時(shí),當(dāng)前得到的數(shù)字即為鍵值bKeyValue;當(dāng)輸入模式為bSwtich=1時(shí),且bNum=0時(shí),將當(dāng)前得到的鍵值賦值給bLastKey,并根據(jù)該鍵值顯示對(duì)應(yīng)用的非數(shù)字大寫字符,大小寫的控制功能由特殊字符健F2控制,使用方式與F1類似。
2終端測試
本文以一款普通的金融POS機(jī)為測試樣機(jī),通過上述方法進(jìn)行設(shè)計(jì),在意法半導(dǎo)體的F103系列的CPU上完成了相關(guān)設(shè)計(jì)和代碼編寫整合。
在測試過程中,本文采用了功能性測試與性能性測試相結(jié)合的方法,對(duì)各個(gè)部分分別進(jìn)行了白盒測試和黑盒測試。測試結(jié)果顯示本文所采用的方法具備驗(yàn)證可靠、簡單、效率高且占用系統(tǒng)開銷較小等優(yōu)點(diǎn),適用于普通金融POS輸入方法的一般設(shè)計(jì)需求,具有較好的應(yīng)用前景。
3結(jié)論
本文介紹了一種通過矩陣鍵盤,以開關(guān)控制的查表方法來實(shí)現(xiàn)多字符和數(shù)字混合輸入的金融POS機(jī)字符輸入工作原理和開發(fā)方案。通過真實(shí)案例測試證明該金融POS裝置輸入穩(wěn)定、切換方便,能夠較好地實(shí)現(xiàn)字符和數(shù)字的混合輸入。目前,該方法已應(yīng)用于嶺南通P\ue01120(嶺南通是指廣東省公交一卡通互聯(lián)互通系統(tǒng))設(shè)備開發(fā)中,在嶺南通電子票證項(xiàng)目的系統(tǒng)配置中,可以使用混合輸入方法配置運(yùn)行時(shí)的多項(xiàng)參數(shù),取得了良好的應(yīng)用效果。
參考文獻(xiàn)
[1] 楊斌斌,張雪英,王玉宏.基于嵌入式Linux的矩陣鍵盤驅(qū)動(dòng)程序研究與開發(fā)[J]. 現(xiàn)代電子技術(shù),2009,32(2):39\ue01141.
[2] 習(xí)勇.POS終端支付發(fā)展趨勢[A]. 第四屆國家信息化發(fā)展論壇(中國.天津),2007.
[3] 蔣子剛,蔣弘山.數(shù)碼鍵盤中文輸入方法及其鍵位例[P].中國:02106335.4,2002\ue01102\ue01123.
[4] 尹淇燮.移動(dòng)通信終端的字母輸入裝置及其輸入方法[P].中國:201080032267.9.4, 2010\ue01107\ue01116.
[5] 葉童,林琪瑜,熊繼平.軟件無線電仿真及安全性研究[J]. 微型機(jī)與應(yīng)用, 2015, 34(22):5\ue0118.
以上就是關(guān)于pos機(jī)一萬多跳超市,一種可實(shí)現(xiàn)字符輸入的矩陣鍵盤式金融POS機(jī)裝置設(shè)計(jì)研究的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)一萬多跳超市的知識(shí),希望能夠幫助到大家!