
輸入有很多種方式,如下所述:
鍵盤輸入:傳統(tǒng)方式
鼠標(biāo)輸入:圖形用戶界面的重要輸入方式
手寫輸入:手寫漢字識別,”平扳電腦”
語音輸入
觸摸屏輸入
數(shù)字化儀輸入:適用于CAD/CAM系統(tǒng)
掃描輸入:條形碼、掃描儀、光電閱讀器
三維輸入:數(shù)據(jù)手套、三維鼠標(biāo)、力矩球等
視覺輸入:攝像設(shè)備.機器人的視覺
做產(chǎn)品是為了實用,在這些輸入方式中,鍵盤輸入雖然是最早使用的一種輸入方式,但是鍵盤是實現(xiàn)人機交互最簡便和最常用的接口,鍵盤分為編碼式鍵盤和非編碼式鍵盤。非編碼式鍵盤如一組開關(guān),全部工作包括按鍵識別、按鍵代碼的產(chǎn)生、防串建和去抖動等問題都是靠軟件查詢和軟件延時實現(xiàn)的。需要的硬件小,且價格便宜。本設(shè)計由于是針對農(nóng)村的烘烤設(shè)備,基于成本和功能的考慮,采用非編碼式鍵盤輸入實現(xiàn)干燥箱溫濕度設(shè)置及水箱水位設(shè)置。

微控制器(Mcu)LPC9401的PO9可以用作鍵盤輸入,當(dāng)有鍵按下時,可以配置為產(chǎn)生一個鍵盤中斷(KBI)。此時需要將P0口(POE]可以位尋址)相應(yīng)位的i/o模式設(shè)置為準(zhǔn)雙向口,i/o模式的控制通過對寄存器PxMl.y和PxM2.y的操作來實現(xiàn)。如設(shè)置Po.7為“準(zhǔn)雙向口”,PO的其他I/O設(shè)為“僅為輸入”,可對P0的I/O配置寄存器POMl,POM2作如下操作:
MOV POMl,#01111111B,Mov PoM2,#00000000B準(zhǔn)雙向口的I/O結(jié)構(gòu)如圖4-17,PO.X表示Po口的各位,X可以為o_7。如PO.X作為輸出口,D為l時,Q1截止,電位拉至1;D為0時,Q1導(dǎo)通,電位拉至0。

此時該位既可把外部電路拉低,也可由內(nèi)部上拉電阻拉成高電平,所以稱為準(zhǔn)雙向口。當(dāng)P0.X作為鍵盤中斷源輸入口時,U1置為l,Ql截止。P0.x與按鍵的連接電路如圖4-18所示:KEY鍵斷開時,該位由內(nèi)部上拉電阻拉成高電阻;KEY鍵按下時,內(nèi)部電源經(jīng)P0.X,R2,KEY流向地,該位被拉低至低電平。本設(shè)計中,使用P0.0,P0.1,P0.2,P0.3,P0.6口作為中斷源輸入口。有三個特殊功能寄存器(SFR)與鍵盤中斷有關(guān),它們是鍵盤模式寄存器KBPATN,鍵盤中斷控制寄存器KBCON和鍵盤屏蔽寄存器KBMASK。
鍵盤模式寄存器KBPATN寄存器存放的是POEI的參考狀態(tài);本設(shè)計中K13PATN寄存器的值未設(shè)置,即采用復(fù)位值(默認值)FFH。鍵盤中斷控制寄存器KBCON的PATN_SEL位決定P01 1與KBPATN匹配方式:設(shè)PATN_SEL位為l,JJPoD的狀態(tài)必須等于KBPATN的內(nèi)容才能產(chǎn)生中斷,清零PATN SEL,貝lJP0口的狀態(tài)不等于KBPATN的內(nèi)容才能產(chǎn)生中斷。KBCON的第0位為鍵盤中斷標(biāo)志KBIF,有中斷產(chǎn)生時,CPU將該位設(shè)為1,此時不響應(yīng)其他中斷,所以在中斷返回前,需要通過軟件清零該位。其它位為保留位,不用不要將其置l。本設(shè)計中KBCON寄存器的初始值設(shè)為00H。鍵盤中斷屏蔽寄存器KBMASK的每個位與P01 1相應(yīng)位對應(yīng),位置為1.受lJ使能P01 1對應(yīng)位作為鍵盤中斷源(如:08H送到KBMAsK寄存器,KBMASK.3位為1,則使能P0.3作為鍵盤中斷源)。本設(shè)計中由于P0.0,P0.1,P0.2,P0.3,P0.6作為鍵盤中斷源,KBMASK的相應(yīng)位要設(shè)為l,所以KBMASK的初始值要設(shè)為4FH。
鍵盤中斷的產(chǎn)生過程:MCU會監(jiān)視PO口的狀態(tài),當(dāng)檢測到滿足中斷產(chǎn)生條件(當(dāng)PATN SEL---I時,檢測:至口狀態(tài)與KBPATN內(nèi)參考狀態(tài)相等,或當(dāng)PATN SEL=0時,鋇,NPo口某位狀態(tài)與KBPATN相應(yīng)位的參考狀態(tài)不相等)后,再來檢查引起這個條件的I/O在KBMASK中是否被使能作為中斷源,如果是,則產(chǎn)生中斷,否則不產(chǎn)生中斷。本測控系統(tǒng)中,KBCON的初值為00H,位PATN-SEL的值為0,KBPATN的值為默認值(復(fù)位值)FFH則MCU檢查到P0.0,P0.1,P0.2,P0.3,PO.6中某一個的狀態(tài)為0時產(chǎn)生中斷。5個按鍵與P0.X的連接如圖4-19所示,當(dāng)有按鍵按下時,對應(yīng)PO.x的狀態(tài)變?yōu)?/font>0,產(chǎn)生中斷。如keyl鍵斷開時,內(nèi)部上拉電阻把PO.0拉到邏輯高,keyl鍵按下時,內(nèi)部電源通過PO.0與地相連,該位被下拉,即PO.0狀態(tài)為0,引發(fā)中斷。http://www.cjzyw.com
聯(lián)系人:賈小姐
廣東省東莞市寮步鎮(zhèn)嶺安街2號