輸入有很多種方式,如下所述:
鍵盤輸入:傳統方式
鼠標輸入:圖形用戶界面的重要輸入方式
手寫輸入:手寫漢字識別,”平扳電腦”
語音輸入
觸摸屏輸入
數字化儀輸入:適用于CAD/CAM系統
掃描輸入:條形碼、掃描儀、光電閱讀器
三維輸入:數據手套、三維鼠標、力矩球等
視覺輸入:攝像設備.機器人的視覺
做產品是為了實用,在這些輸入方式中,鍵盤輸入雖然是最早使用的一種輸入方式,但是鍵盤是實現人機交互最簡便和最常用的接口,鍵盤分為編碼式鍵盤和非編碼式鍵盤。非編碼式鍵盤如一組開關,全部工作包括按鍵識別、按鍵代碼的產生、防串建和去抖動等問題都是靠軟件查詢和軟件延時實現的。需要的硬件小,且價格便宜。本設計由于是針對農村的烘烤設備,基于成本和功能的考慮,采用非編碼式鍵盤輸入實現干燥箱溫濕度設置及水箱水位設置。
微控制器(Mcu)LPC9401的PO9可以用作鍵盤輸入,當有鍵按下時,可以配置為產生一個鍵盤中斷(KBI)。此時需要將P0口(POE]可以位尋址)相應位的i/o模式設置為準雙向口,i/o模式的控制通過對寄存器PxMl.y和PxM2.y的操作來實現。如設置Po.7為“準雙向口”,PO的其他I/O設為“僅為輸入”,可對P0的I/O配置寄存器POMl,POM2作如下操作:
MOV POMl,#01111111B,Mov PoM2,#00000000B準雙向口的I/O結構如圖4-17,PO.X表示Po口的各位,X可以為o_7。如PO.X作為輸出口,D為l時,Q1截止,電位拉至1;D為0時,Q1導通,電位拉至0。
此時該位既可把外部電路拉低,也可由內部上拉電阻拉成高電平,所以稱為準雙向口。當P0.X作為鍵盤中斷源輸入口時,U1置為l,Ql截止。P0.x與按鍵的連接電路如圖4-18所示:KEY鍵斷開時,該位由內部上拉電阻拉成高電阻;KEY鍵按下時,內部電源經P0.X,R2,KEY流向地,該位被拉低至低電平。本設計中,使用P0.0,P0.1,P0.2,P0.3,P0.6口作為中斷源輸入口。有三個特殊功能寄存器(SFR)與鍵盤中斷有關,它們是鍵盤模式寄存器KBPATN,鍵盤中斷控制寄存器KBCON和鍵盤屏蔽寄存器KBMASK。
鍵盤模式寄存器KBPATN寄存器存放的是POEI的參考狀態;本設計中K13PATN寄存器的值未設置,即采用復位值(默認值)FFH。鍵盤中斷控制寄存器KBCON的PATN_SEL位決定P01 1與KBPATN匹配方式:設PATN_SEL位為l,JJPoD的狀態必須等于KBPATN的內容才能產生中斷,清零PATN SEL,貝lJP0口的狀態不等于KBPATN的內容才能產生中斷。KBCON的第0位為鍵盤中斷標志KBIF,有中斷產生時,CPU將該位設為1,此時不響應其他中斷,所以在中斷返回前,需要通過軟件清零該位。其它位為保留位,不用不要將其置l。本設計中KBCON寄存器的初始值設為00H。鍵盤中斷屏蔽寄存器KBMASK的每個位與P01 1相應位對應,位置為1.受lJ使能P01 1對應位作為鍵盤中斷源(如:08H送到KBMAsK寄存器,KBMASK.3位為1,則使能P0.3作為鍵盤中斷源)。本設計中由于P0.0,P0.1,P0.2,P0.3,P0.6作為鍵盤中斷源,KBMASK的相應位要設為l,所以KBMASK的初始值要設為4FH。
鍵盤中斷的產生過程:MCU會監視PO口的狀態,當檢測到滿足中斷產生條件(當PATN SEL---I時,檢測:至口狀態與KBPATN內參考狀態相等,或當PATN SEL=0時,鋇,NPo口某位狀態與KBPATN相應位的參考狀態不相等)后,再來檢查引起這個條件的I/O在KBMASK中是否被使能作為中斷源,如果是,則產生中斷,否則不產生中斷。本測控系統中,KBCON的初值為00H,位PATN-SEL的值為0,KBPATN的值為默認值(復位值)FFH則MCU檢查到P0.0,P0.1,P0.2,P0.3,PO.6中某一個的狀態為0時產生中斷。5個按鍵與P0.X的連接如圖4-19所示,當有按鍵按下時,對應PO.x的狀態變為0,產生中斷。如keyl鍵斷開時,內部上拉電阻把PO.0拉到邏輯高,keyl鍵按下時,內部電源通過PO.0與地相連,該位被下拉,即PO.0狀態為0,引發中斷。http://m.9919977.com