版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 鍵盤接口技術(shù)按鍵按鍵 簡單鍵盤接口簡單鍵盤接口 矩陣式鍵盤接口矩陣式鍵盤接口 可編程鍵盤接口可編程鍵盤接口 按鍵的分類按鍵的分類 按鍵輸入原理按鍵輸入原理 按鍵開關(guān)的抖動問題按鍵開關(guān)的抖動問題 鍵盤由一組規(guī)則排列的按鍵組成,一個按鍵實際上是一個開關(guān)元件,也就是說鍵盤是一組規(guī)則排列的開關(guān)。單片機(jī)使用的按鍵是一種常開型的開關(guān),平時按鍵的兩個觸點(diǎn)處于斷開狀態(tài),按下鍵時它們才閉合。按按 鍵鍵按鍵的分類按鍵的分類 按鍵按照結(jié)構(gòu)原理可分為兩類按鍵按照結(jié)構(gòu)原理可分為兩類:1.觸點(diǎn)式開關(guān)按鍵,如機(jī)械式開關(guān)、導(dǎo)電橡膠式開關(guān)等;2.無觸點(diǎn)開關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。.按鍵按照接口原理可分為按鍵按
2、照接口原理可分為:1.編碼鍵盤2.非編碼鍵盤兩類, 編碼鍵盤主要是用硬件來實現(xiàn)對鍵的識別,非編碼鍵盤主要是由軟件來實現(xiàn)鍵盤的定義與識別。 前者造價低,后者壽命長。目前,單片機(jī)系統(tǒng)中最常見的是觸點(diǎn)式開關(guān)按鍵。 按鍵輸入原理按鍵輸入原理 在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵有專門的復(fù)位電路及專一的復(fù)位功能外,其他按鍵都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時,單片機(jī)系統(tǒng)應(yīng)完成該按鍵所設(shè)定的功能,按鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過程。 對于一個鍵盤或一組按鍵,單片機(jī)系統(tǒng)中總有一個接口電路與CPU相連。CPU可以采用查詢或中斷方式了解有無按鍵輸入并檢查是哪一個鍵按下,將該鍵號
3、送入累加器ACC,然后通過跳轉(zhuǎn)指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完后再返回主程序。按鍵開關(guān)的抖動問題按鍵開關(guān)的抖動問題 單片機(jī)系統(tǒng)中應(yīng)用的一般是由機(jī)械觸點(diǎn)構(gòu)成的按鍵。當(dāng)機(jī)械觸點(diǎn)斷開、閉合時,會有抖動,如下圖所示。在觸點(diǎn)抖動期間檢測按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯。即按鍵一次按下或釋放被錯誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的。 常用的去抖動的方法有兩種:常用的去抖動的方法有兩種: 1.硬件方法 2.軟件方法 硬件方法硬件方法 在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動電路,如圖所示 。電路工作過程電路工作過程 電路工作過程電路工作過程 按鍵未按下時,a
4、= 0,b = 1,輸出Q = 1,按鍵按下時,因按鍵的機(jī)械彈性作用的影響,使按鍵產(chǎn)生抖動,當(dāng)開關(guān)沒有穩(wěn)定到達(dá)b端時,因與非門2輸出為0反饋到與非門1的輸入端,封鎖了與非門1,雙穩(wěn)態(tài)電路的狀態(tài)不會改變,輸出保持為1,輸出Q不會產(chǎn)生抖動的波形。當(dāng)開關(guān)穩(wěn)定到達(dá)b端時,因a = 1,b = 0,使Q = 0,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn)。當(dāng)釋放按鍵時,在開關(guān)未穩(wěn)定到達(dá)a端時,因Q = 0,封鎖了與非門2,雙穩(wěn)態(tài)電路的狀態(tài)不變,輸出Q保持不變,消除了后沿的抖動波形。當(dāng)開關(guān)穩(wěn)定到達(dá)a端時,因a = 0,b = 1,使Q = 1,雙穩(wěn)態(tài)電路狀態(tài)發(fā)生翻轉(zhuǎn),輸出Q重新返回原狀態(tài)。由此可見,鍵盤輸出經(jīng)雙穩(wěn)態(tài)電路之后,
5、輸出已變?yōu)橐?guī)范的矩形方波。軟件方法軟件方法 軟件方法其實很簡單,就是在單片機(jī)獲得P1.0口為低電平的信息后,不是立即認(rèn)定S已被按下,而是延時10ms或更長一些時間后再次檢測P1.0口,如果仍為低電平,說明S的確按下了,這實際上是避開了按鍵按下時的抖動時間。而在檢測到按鍵釋放后(P1.0為高電平)再延時510ms,消除后沿的抖動,然后再對鍵值處理。不過一般情況下,通常不對按鍵釋放的后沿進(jìn)行處理,實踐證明,也能滿足一定的要求。當(dāng)然,在實際應(yīng)用中,對按鍵的要求也是千差萬別的,要根據(jù)不同的需要來編制處理程序,但以上是消除按鍵抖動的原則。簡單鍵盤接口簡單鍵盤接口 簡單鍵盤的工作原理 簡單鍵盤的接口電路與
6、編程 實踐與思考簡單鍵盤的工作原理簡單鍵盤的工作原理 如果系統(tǒng)只需幾個按鍵,可直接采用I/O線構(gòu)成單個按鍵電路,各個按鍵之間相互獨(dú)立,一根線上的按鍵狀態(tài)不會影響其他輸入線上的工作狀態(tài),又稱獨(dú)立式鍵盤接口電路。這種電路每個按鍵需要這種電路每個按鍵需要占用一根占用一根I/O線,在按線,在按鍵數(shù)量較多時,輸入口鍵數(shù)量較多時,輸入口浪費(fèi)大且電路結(jié)構(gòu)很煩浪費(fèi)大且電路結(jié)構(gòu)很煩瑣,因此這種鍵盤接口瑣,因此這種鍵盤接口電路只適用于按鍵較少電路只適用于按鍵較少或要求較高操作速度的或要求較高操作速度的場合。場合。簡單鍵盤的接口電路與編程簡單鍵盤的接口電路與編程 (1)程序?qū)崿F(xiàn)的功能 (2)程序采用的方法(3)程序
7、中用到的變量和常量的定義 (4)程序中調(diào)用的子程序(5)程序清單(6)程序分析與思考 下面以圖下面以圖 (a)為例進(jìn)行編程。為例進(jìn)行編程。 程序?qū)崿F(xiàn)的功能程序?qū)崿F(xiàn)的功能 檢測是否有鍵閉合,如有鍵閉合,則去除鍵抖動,判斷鍵號并轉(zhuǎn)入相應(yīng)的按鍵處理。程序采用的方法程序采用的方法 l P3.2:開始,按此鍵則燈開始流動(由上而下)l P3.3:停止,按此鍵則停止流動,所有燈為暗l P3.4:上,按此鍵則燈由上向下流動l P3.5:下,按此鍵則燈由下向上流動 程序采用查詢的方法,P1口接8個發(fā)光二極管,4個按鍵分別接到P3.2 、P3.3、P3.4和P3.5,且定義如下。程序中用到的變量和常量的定義程序
8、中用到的變量和常量的定義 UpDown ;上下行標(biāo)志StartEnd ;啟動及停止標(biāo)志LAMPCODE ;存放流動的數(shù)據(jù)代碼程序中調(diào)用的子程序程序中調(diào)用的子程序 KEY ;鍵盤程序KEYPROC ;鍵盤處理程序LAMP ;燈顯示程序DELAY ;延時程序,鍵盤處理中調(diào)用 程序分析與思考程序分析與思考 這里介紹的鍵盤處理程序比較簡單,實際上,鍵盤的處理是很復(fù)雜的,但這種復(fù)雜并不來自于單片機(jī)的本身,而是來自于操作者的習(xí)慣等問題,因此,在編寫鍵盤處理程序之前,最好先把它從邏輯上理清,然后用適當(dāng)?shù)乃惴ū硎境鰜?,最后再去寫代碼,這樣,才能快速有效地寫好代碼。 實踐與思考實踐與思考1. 設(shè)計一個簡單設(shè)計一
9、個簡單3個按鍵的鍵盤來控制一組發(fā)光二極管,使個按鍵的鍵盤來控制一組發(fā)光二極管,使這組發(fā)光二極管可以以這組發(fā)光二極管可以以6種不同的花色循環(huán)點(diǎn)亮。種不同的花色循環(huán)點(diǎn)亮。2. 改用單鍵實現(xiàn)題改用單鍵實現(xiàn)題1所示功能。所示功能。矩陣式鍵盤接口矩陣式鍵盤接口 矩陣式鍵盤的結(jié)構(gòu)與工作原理 矩陣式鍵盤按鍵的識別 鍵盤的編碼 鍵盤的工作方式 矩陣鍵盤的接口實例 實踐與思考矩陣式鍵盤的結(jié)構(gòu)與工作原理矩陣式鍵盤的結(jié)構(gòu)與工作原理 矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,行線通過上拉電阻接到+5V上。當(dāng)無鍵按下時,行線處于高電平狀態(tài);當(dāng)有鍵按下時,行、列線將導(dǎo)通,此時,行線電平將由與此行線相連的列線電平?jīng)Q定
10、。這一點(diǎn)是識別矩陣按鍵是否被按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號配合起來作適當(dāng)處理,才能確定閉合鍵的位置。矩陣式鍵盤按鍵的識別矩陣式鍵盤按鍵的識別 1. 掃描法2. 線反轉(zhuǎn)法掃描法掃描法 按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無鍵按下時處在高電平,顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的顯然,如果讓所有的列線也處在高電平,那么,按鍵按下與否不會引起行線電平的變化,因此,必須使所有
11、列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的變化,因此,必須使所有列線處在低電平,只有這樣,當(dāng)有鍵按下時,該鍵所在的行電平才會由高電平變?yōu)榈碗娖健P须娖讲艜筛唠娖阶優(yōu)榈碗娖?。CPU根據(jù)行平電的變化,便能判定相應(yīng)的行有根據(jù)行平電的變化,便能判定相應(yīng)的行有鍵按下。鍵按下。8號鍵按下時,第號鍵按下時,第2行一定為低電平,然而,第行一定為低電平,然而,第2行為低電平時,能否肯定行為低電平時,能否肯定是是8號鍵按下呢?回答是否定的,因為號鍵按下呢?回答是否定的,因為9、10、11號鍵按下同樣使第號鍵按下同樣使第2行為低電平。行為低電平。為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可
12、在某一時刻只為進(jìn)一步確定具體鍵,不能使所有列線在同一時刻都處在低電平,可在某一時刻只讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,讓一條列線處于低電平,其余列線均處于高電平,另一時刻,讓下一列處在低電平,依次循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。依次循環(huán),這種依次輪流每次選通一列的工作方式稱為鍵盤掃描。 線反轉(zhuǎn)法線反轉(zhuǎn)法 第1步:將列線P1.4P1.7 作為輸入線,行線P1.3P1.0 作為輸出線,并將輸出線輸出全為低電平,讀列線狀態(tài),則列線中電平為低的是按鍵所在的列。 第2步:將行線作為輸入線,列線作為輸出線,并將輸出線輸出為低電平,讀行線狀態(tài),則
13、行線中電平為低的是按鍵所在的行。 綜合第1、2兩步結(jié)果,可確定按鍵所在的行和列,從而識別出所按下的鍵。鍵盤的編碼鍵盤的編碼 1.獨(dú)立式鍵盤 按鍵數(shù)量少,可根據(jù)實際需要靈活編碼。2.矩陣式鍵盤 按鍵的位置由行號和列號唯一確定,因此可分別對行號和列 號進(jìn)行二進(jìn)制編碼,然后將兩值合成一個字節(jié),高4位是行號,低4位是列號。 問題:問題: 不同行的鍵離散性較大,不利于散不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對按鍵進(jìn)行處理。轉(zhuǎn)指令對按鍵進(jìn)行處理。 采用依次排列鍵號的方式對安排進(jìn)行編碼。采用依次排列鍵號的方式對安排進(jìn)行編碼。 無論以何種方式編碼,均應(yīng)以處理問題方便為原則,而最基本的就是無論以何種方式編碼,均應(yīng)
14、以處理問題方便為原則,而最基本的就是鍵所處的物理位置即行號和列號,它是各種編碼之間相互轉(zhuǎn)換的基礎(chǔ),編鍵所處的物理位置即行號和列號,它是各種編碼之間相互轉(zhuǎn)換的基礎(chǔ),編碼相互轉(zhuǎn)換可通過計算或查表的方法實現(xiàn)。碼相互轉(zhuǎn)換可通過計算或查表的方法實現(xiàn)。 總結(jié):總結(jié):鍵盤的工作方式鍵盤的工作方式 編程掃描方式 定時掃描方式 中斷掃描方式 編程掃描方式編程掃描方式 編程掃描方式是利用CPU完成其他工作的空余調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。 鍵盤掃描程序一般應(yīng)包括以下內(nèi)容:鍵盤掃描程序一般應(yīng)包括以下內(nèi)容: (1)判別有無鍵按下。
15、(2)鍵盤掃描取得閉合鍵的行、列值。 (3)用計算法或查表法得到鍵值。 (4)判斷閉合鍵是否釋放,如沒釋放則繼續(xù)等待。 (5)將閉合鍵鍵號保存,同時轉(zhuǎn)去執(zhí)行該閉合鍵的功能。 定時掃描方式定時掃描方式 定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機(jī)內(nèi)部的定時器產(chǎn)生一定時間(例如10ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷,CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。定時掃描方式定時掃描方式 程序流程圖中斷掃描方式中斷掃描方式 當(dāng)無鍵按下時,CPU處理自己的工作,當(dāng)有鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。中斷掃描方式可
16、以提高CPU工作效率 。 圖中的4輸入與門用于產(chǎn)生按鍵中斷,其輸入端與各列線相連,再通過上拉電阻接至+5V電源,輸出端接至8051的外部中斷輸入端。具體工作如下:當(dāng)鍵盤無鍵按下時,與門各輸入端均為高電平,保持輸出端為高電平;當(dāng)有鍵按下時,端為低電平,向CPU申請中斷,若CPU開放外部中斷,則會響應(yīng)中斷請求,轉(zhuǎn)去執(zhí)行鍵盤掃描子程序。 矩陣鍵盤的接口實例矩陣鍵盤的接口實例 8051單片機(jī)的單片機(jī)的P1口作為鍵盤口作為鍵盤I/O口,鍵盤的列線接到口,鍵盤的列線接到P1口的低口的低4位,位,鍵盤的行線接到鍵盤的行線接到P1口的高口的高4位。列線位。列線P1.0P1.3分別接有分別接有4個上拉電阻到個上
17、拉電阻到正電源正電源+5V,并把列線,并把列線P1.0P1.3設(shè)設(shè)置為輸入線,行線置為輸入線,行線P1.4P.17設(shè)置為設(shè)置為輸出線。輸出線。4根行線和根行線和4根列線形成根列線形成16個相交點(diǎn)。個相交點(diǎn)。(1)程序功能。若有鍵被按下,應(yīng)識別出是哪一個鍵閉合。方法是對鍵盤的行線進(jìn)行掃描。(2)檢測當(dāng)前是否有鍵被按下。檢測的方法是P1.4P1.7輸出全“0”,讀取P1.0P1.3的狀態(tài),若P1.0P1.3為全“1”,則無鍵閉合,否則有鍵閉合。(3)去除鍵抖動。當(dāng)檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷。 (4)P1.4P1.7按下述4種組合依次輸出:P1.7 1 1 1 0P1.6 1
18、 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1矩陣鍵盤的接口實例矩陣鍵盤的接口實例 在每組行輸出時讀取在每組行輸出時讀取P1.0P1.3,若全為,若全為“1”,則,則表示為表示為“0”這一行沒有鍵閉合,否則有鍵閉合。由此得這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表法將到閉合鍵的行值和列值,然后可采用計算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。矩陣鍵盤的接口實例矩陣鍵盤的接口實例 (5)為了保證鍵每閉合一次CPU僅做一次處理,必須去除鍵釋放時的抖動。(6)掃描程序的流程圖(7)鍵盤掃描程序?qū)嵺`與
19、思考實踐與思考設(shè)計一個簡易計算器,有鍵盤鎖定功能。具體要求如下:設(shè)計一個簡易計算器,有鍵盤鎖定功能。具體要求如下:(1)鍵盤鎖定密碼為8888,用戶輸入“鎖定”“8888”后再按“鎖定”鍵解鎖。用戶連續(xù)按兩次“鎖定”鍵,可以鎖定鍵盤。(2)簡易計算器共有16個按鍵,09十個數(shù)字鍵,加、減、等于、乘、除共5個功能鍵,還有一鎖定鍵。(3)設(shè)定一個指示鎖定狀態(tài)的指示位,該位為“0”表示解鎖狀態(tài),為“1”表示鎖定狀態(tài)。(4)編程實現(xiàn)鍵盤功能部分。可編程鍵盤接口可編程鍵盤接口 Intel8279是一種可編程鍵盤是一種可編程鍵盤/顯示器接口芯片,它顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸
20、入時,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時,它提供自動掃描,能與按鍵或傳感器組成的矩陣相連,接提供自動掃描,能與按鍵或傳感器組成的矩陣相連,接收輸入信息,它能自動消除鍵盤抖動并能對多鍵同時按收輸入信息,它能自動消除鍵盤抖動并能對多鍵同時按下提供保護(hù)。顯示輸出時,它有一個下提供保護(hù)。顯示輸出時,它有一個168位顯示位顯示RAM,其內(nèi)容通過自動掃描,可由其內(nèi)容通過自動掃描,可由8或或16 位位LED數(shù)碼管顯示。數(shù)碼管顯示。 8279的基本功能 8279的控制 8279與單片機(jī)、鍵盤/顯示器的接口 實踐與思考可編程鍵盤接口可編程鍵盤接口 8279的基本功能的基本功能 8279的內(nèi)部結(jié)構(gòu)和工
21、作原理 8279的引腳和功能 8279的工作方式 8279的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8279的內(nèi)部結(jié)構(gòu)框圖 8279的工作原理的工作原理(1)I/O控制及數(shù)據(jù)緩沖器(2)控制與定時寄存器及定時控制(3)掃描計數(shù)器(4)回復(fù)緩沖器、鍵盤去抖及控制(5)FIFO/傳感器及其狀態(tài)寄存器(6)顯示RAM和顯示寄存器。 I/O控制及數(shù)據(jù)緩沖器控制及數(shù)據(jù)緩沖器 數(shù)據(jù)緩沖器是雙向緩沖器,連接內(nèi)外總線,用于傳送CPU和8279之間的命令或數(shù)據(jù),對應(yīng)的引腳為數(shù)據(jù)總線D0D7。 I/O控制線是CPU對8279進(jìn)行控制的引線,對應(yīng)的引腳為數(shù)據(jù)選擇線A0;片選線;讀、寫信號線和??刂婆c定時寄存器及定時控制控制與定時寄存器及
22、定時控制 控制與定時寄存器用來寄存鍵盤及顯示工作方式控制字,同時還用來寄存其他操作方式控制字。這些寄存器接收并鎖存各種命令,再通過譯碼電路產(chǎn)生相應(yīng)的信號,從而完成相應(yīng)的控制功能。與其對應(yīng)的引腳為時鐘輸入端CLK,復(fù)位端RESET。 定時控制電路由N個基本計數(shù)器組成,其中,第一個計數(shù)器是一個可編程的N級計數(shù)器,N= 231之間的數(shù),由軟件編程,將外部時鐘輸入端CLK分頻得到內(nèi)部所需的100kHz時鐘,為鍵盤提供適當(dāng)?shù)膾呙桀l率和顯示掃描時間。與其相關(guān)的引腳是顯示熄滅控制端。掃描計數(shù)器掃描計數(shù)器 鍵盤和顯示器共用,提供鍵盤和顯示器的掃描信號。掃描計數(shù)器有兩種工作方式:編碼方式和譯碼方式。按編碼方式工
23、作時,計數(shù)器作二進(jìn)制計數(shù),4位計數(shù)狀態(tài)從掃描線SL0SL3輸出,經(jīng)外部譯碼器譯碼后,為鍵盤和顯示器提供掃描信號。按譯碼方式工作時,掃描計數(shù)器的最低二位被譯碼后,從SL0SL3輸出,提供了4中選1的掃描譯碼。與其相關(guān)的引腳是掃描線SL0SL3。 回復(fù)緩沖器、鍵盤去抖及控制回復(fù)緩沖器、鍵盤去抖及控制 回復(fù)線作為行列式鍵盤的列輸入線,相應(yīng)的列輸入信號稱為回復(fù)信號,由回復(fù)緩沖器緩回復(fù)線作為行列式鍵盤的列輸入線,相應(yīng)的列輸入信號稱為回復(fù)信號,由回復(fù)緩沖器緩沖并鎖存。在逐行列掃描時,回復(fù)線用來搜尋每一行列中閉合的鍵,當(dāng)某一鍵閉合時,去沖并鎖存。在逐行列掃描時,回復(fù)線用來搜尋每一行列中閉合的鍵,當(dāng)某一鍵閉合
24、時,去抖電路被置位,延時等待抖電路被置位,延時等待10ms后,再檢查該鍵是否仍處在閉合狀態(tài),如不是閉合,則當(dāng)做后,再檢查該鍵是否仍處在閉合狀態(tài),如不是閉合,則當(dāng)做干擾信號不予理睬;如是閉合,則將該鍵的地址和附加的移位、控制狀態(tài)一起形成鍵盤數(shù)干擾信號不予理睬;如是閉合,則將該鍵的地址和附加的移位、控制狀態(tài)一起形成鍵盤數(shù)據(jù)被送入據(jù)被送入8279內(nèi)部的內(nèi)部的FIFO(先進(jìn)先出)存儲器。鍵盤數(shù)據(jù)格式如下:(先進(jìn)先出)存儲器。鍵盤數(shù)據(jù)格式如下:控控 制制移移 位位掃掃 描描回回 復(fù)復(fù) 控制、移位、掃描、回復(fù)控制和移位(控制、移位、掃描、回復(fù)控制和移位(D7、D6)的狀態(tài)由兩個獨(dú)立的附加開關(guān))的狀態(tài)由兩個
25、獨(dú)立的附加開關(guān)決定,而掃描(決定,而掃描(D5、D4、D3)和回復(fù)()和回復(fù)(D2、D1、D0)則是被按鍵置位的數(shù)據(jù)。)則是被按鍵置位的數(shù)據(jù)。D5、D4、D3來自掃描計數(shù)器,它們是根據(jù)回復(fù)信號而確定的行來自掃描計數(shù)器,它們是根據(jù)回復(fù)信號而確定的行/列編碼。列編碼。1.鍵盤工作方式鍵盤工作方式D7 D6 D5D4D3 D2D1D0 2.傳感器開關(guān)狀態(tài)矩陣方式傳感器開關(guān)狀態(tài)矩陣方式 回復(fù)緩沖器、鍵盤去抖及控制回復(fù)緩沖器、鍵盤去抖及控制 回復(fù)線的內(nèi)容直接被送往相應(yīng)的傳感器回復(fù)線的內(nèi)容直接被送往相應(yīng)的傳感器RAM(即(即FIFO)存儲器。在選通輸入方式工作時,回復(fù)線的內(nèi)容在存儲器。在選通輸入方式工作時
26、,回復(fù)線的內(nèi)容在CNTL/STB線的脈沖上升沿被送入線的脈沖上升沿被送入FIFO存儲器。存儲器。 與其相關(guān)的引腳是回復(fù)線與其相關(guān)的引腳是回復(fù)線RL0RL7,控制,控制/選通線選通線CNTL/STB。FIFO/傳感器及其狀態(tài)寄存器傳感器及其狀態(tài)寄存器 FIFO/傳感器傳感器RAM是一個雙重功能的是一個雙重功能的88RAM。在鍵盤選通工。在鍵盤選通工作方式時,它是作方式時,它是FIFO存儲器,其輸入存儲器,其輸入/輸出遵循先入先出的原則,輸出遵循先入先出的原則,此時,此時,F(xiàn)IFO狀態(tài)寄存器用來存放狀態(tài)寄存器用來存放FIFO的工作狀態(tài)。例如:的工作狀態(tài)。例如:RAM是是滿還是空,其中存有多少數(shù)據(jù),
27、操作是否出錯等。當(dāng)滿還是空,其中存有多少數(shù)據(jù),操作是否出錯等。當(dāng)FIFO存儲器中存儲器中有數(shù)據(jù)時,狀態(tài)邏輯將產(chǎn)生有數(shù)據(jù)時,狀態(tài)邏輯將產(chǎn)生IRQ=1信號,向信號,向CPU申請中斷。申請中斷。 在傳感器矩陣方式工作時,這個存儲器用做傳感器存儲器,它在傳感器矩陣方式工作時,這個存儲器用做傳感器存儲器,它存放著傳感器矩陣中的每一個傳感器狀態(tài)。在此方式時,若檢索出存放著傳感器矩陣中的每一個傳感器狀態(tài)。在此方式時,若檢索出傳感器的變化,傳感器的變化,IRQ信號變?yōu)楦唠娖?,向信號變?yōu)楦唠娖?,向CPU申請中斷。申請中斷。與其相關(guān)的引腳是中斷請求線與其相關(guān)的引腳是中斷請求線IRQ。 顯示顯示RAM和顯示寄存器和
28、顯示寄存器 顯示顯示RAM用來存儲顯示數(shù)據(jù),容量為用來存儲顯示數(shù)據(jù),容量為168位。在顯示過程中,存儲位。在顯示過程中,存儲的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分位的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分位A、B兩組,兩組,OUTA0OUTA3和和OUTB0OUTB3,它們既可單獨(dú)送數(shù),也可組成一個,它們既可單獨(dú)送數(shù),也可組成一個8位(位(A組為高組為高4位,位,B組為低組為低4位)的字。顯示寄存器的輸出與顯示掃描配位)的字。顯示寄存器的輸出與顯示掃描配合,不斷從顯示合,不斷從顯示RAM中讀出顯示數(shù)據(jù),同時,輪流驅(qū)動被選中的顯示器件,中讀出顯示數(shù)據(jù),同時,輪流驅(qū)動被選中的顯示器件,以
29、達(dá)到多路復(fù)用的目的,使顯示器件呈穩(wěn)定顯示狀態(tài)。與其相關(guān)的引腳是以達(dá)到多路復(fù)用的目的,使顯示器件呈穩(wěn)定顯示狀態(tài)。與其相關(guān)的引腳是數(shù)據(jù)顯示線數(shù)據(jù)顯示線OUTA0OUTA3和和OUTB0OUTB3。 顯示地址寄存器用來寄存由顯示地址寄存器用來寄存由CPU進(jìn)行讀進(jìn)行讀/寫顯示寫顯示RAM的地址,它可以的地址,它可以由命令設(shè)定,也可以設(shè)置成每次讀出或?qū)懭牒笞詣舆f增。由命令設(shè)定,也可以設(shè)置成每次讀出或?qū)懭牒笞詣舆f增。8279的引腳和功能的引腳和功能 8279的引腳和功能的引腳和功能 D0D7:數(shù)據(jù)總線,雙向三態(tài)總線。數(shù)據(jù)總線,雙向三態(tài)總線。CLK:系統(tǒng)時鐘輸入端。系統(tǒng)時鐘輸入端。RESET:系統(tǒng)復(fù)位輸入端
30、,高電平有效,復(fù)位狀態(tài)為:系統(tǒng)復(fù)位輸入端,高電平有效,復(fù)位狀態(tài)為:16個字符顯示;編碼掃描個字符顯示;編碼掃描鍵盤鍵盤雙鍵鎖定;程序時鐘編程為雙鍵鎖定;程序時鐘編程為31。 :片選輸入端,低電平有效。片選輸入端,低電平有效。A0:數(shù)據(jù)選擇輸入端,數(shù)據(jù)選擇輸入端,A0=1時,時,CPU寫入數(shù)據(jù)為命令字,讀出狀態(tài)字為狀態(tài)字;寫入數(shù)據(jù)為命令字,讀出狀態(tài)字為狀態(tài)字;A0=0時,時,CPU讀、寫均為數(shù)據(jù)。讀、寫均為數(shù)據(jù)。 、 :讀、寫信號輸入端,低電平有效。:讀、寫信號輸入端,低電平有效。IRQ:中斷請求輸出端,高電平有效。中斷請求輸出端,高電平有效。SL0SL3:掃描輸出端,用于掃描鍵盤和顯示器。可編
31、程設(shè)定為編碼(掃描輸出端,用于掃描鍵盤和顯示器??删幊淘O(shè)定為編碼(4中選中選1)或譯碼輸出(或譯碼輸出(16選選1)。)。SCRDWD 8279的引腳和功能的引腳和功能 RL0RL7:回復(fù)線,它們是鍵盤或傳感器的列信號輸入端。:回復(fù)線,它們是鍵盤或傳感器的列信號輸入端。SHIFT:移位信號輸入端,高電平有效。它是移位信號輸入端,高電平有效。它是8279鍵盤數(shù)據(jù)的次高位(鍵盤數(shù)據(jù)的次高位(D6),),通常用做鍵盤上、下?lián)豕δ苕I。在傳感器和選通方式中,通常用做鍵盤上、下?lián)豕δ苕I。在傳感器和選通方式中,SHIFT無效。無效。CNTL/STB:控制控制/選通輸入端,高電平有效。在鍵盤工作方式時,它是鍵
32、盤數(shù)選通輸入端,高電平有效。在鍵盤工作方式時,它是鍵盤數(shù)據(jù)的最高位,通常用做控制鍵。在選通輸入方式時,它的上升沿可把來自據(jù)的最高位,通常用做控制鍵。在選通輸入方式時,它的上升沿可把來自RL0RL7的數(shù)據(jù)存入的數(shù)據(jù)存入FIFO/傳感器傳感器RAM中。在傳感器方式時,無效。中。在傳感器方式時,無效。OUTA0OUTA3:A組顯示信號輸出端。組顯示信號輸出端。OUTB0OUTB3:B組顯示信號輸出端。組顯示信號輸出端。 :顯示熄滅輸出端,低電平有效。它在數(shù)字切換顯示或使用熄滅命令時關(guān)顯示熄滅輸出端,低電平有效。它在數(shù)字切換顯示或使用熄滅命令時關(guān)顯示。顯示。BD8279的工作方式的工作方式 (1)鍵盤
33、的工作方式鍵盤的工作方式(2)顯示器工作方式)顯示器工作方式 通過對鍵盤通過對鍵盤/顯示方式命令字和寫顯示顯示方式命令字和寫顯示RAM命命令字的設(shè)置,顯示數(shù)據(jù)寫入顯示緩沖器時可置為左端送入和右端送入兩種令字的設(shè)置,顯示數(shù)據(jù)寫入顯示緩沖器時可置為左端送入和右端送入兩種方式。左端送入為依次填入方式,右端送入為移位方式。方式。左端送入為依次填入方式,右端送入為移位方式。(3)傳感器矩陣方式)傳感器矩陣方式 通過對讀通過對讀FIFO/傳感器傳感器RAM命令字的設(shè)置可將命令字的設(shè)置可將8279設(shè)置成傳感器矩陣工作方式,此時,傳感器的開關(guān)狀態(tài)直接送到傳感設(shè)置成傳感器矩陣工作方式,此時,傳感器的開關(guān)狀態(tài)直接
34、送到傳感器器RAM。CPU對傳感器陣列掃描時,如果檢測到某個傳感器狀態(tài)發(fā)生變化對傳感器陣列掃描時,如果檢測到某個傳感器狀態(tài)發(fā)生變化時,則中斷申請信號時,則中斷申請信號IRQ變?yōu)楦唠娖健W優(yōu)楦唠娖健?鍵盤的工作方式鍵盤的工作方式 通過對鍵盤通過對鍵盤/顯示方式命令字的設(shè)置,可置為雙鍵互鎖顯示方式命令字的設(shè)置,可置為雙鍵互鎖方式和方式和N鍵巡回方式。鍵巡回方式。u 雙鍵互鎖:雙鍵互鎖:雙鍵鎖定是為兩鍵同時按下提供的保護(hù)方法。若有兩雙鍵鎖定是為兩鍵同時按下提供的保護(hù)方法。若有兩鍵或多個鍵同時按下,則無論這些鍵是以什么次序按下的,它只識別鍵或多個鍵同時按下,則無論這些鍵是以什么次序按下的,它只識別最后
35、一個釋放的鍵,并把該鍵值送入最后一個釋放的鍵,并把該鍵值送入FIFO/傳感器傳感器RAM中。中。u N鍵巡回:鍵巡回:N鍵巡回是為鍵巡回是為N個鍵同時按下時提供的保護(hù)方法。若有個鍵同時按下時提供的保護(hù)方法。若有多個鍵同時按下時,鍵盤掃描能以按鍵先后順序依次將鍵值送入多個鍵同時按下時,鍵盤掃描能以按鍵先后順序依次將鍵值送入FIFO/傳感器傳感器RAM中。中。8279的控制的控制 8279的命令格式和命令字的命令格式和命令字 8279狀態(tài)格式與狀態(tài)字狀態(tài)格式與狀態(tài)字 8279的數(shù)據(jù)輸入的數(shù)據(jù)輸入/輸出輸出 8279的內(nèi)部譯碼與外部譯碼的內(nèi)部譯碼與外部譯碼 8279與單片機(jī)、鍵盤與單片機(jī)、鍵盤/顯示器的接口顯示器的接口 80
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆紅河市重點(diǎn)中學(xué)高三第二次模擬考試英語試卷含解析
- 四川省資陽市樂至中學(xué)2025屆高三第二次模擬考試語文試卷含解析
- 《屈原列傳》課件 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修中冊
- 2025屆云南省江城縣第一中學(xué)高三第三次模擬考試英語試卷含解析
- 2025屆甘肅省慶陽六中高考全國統(tǒng)考預(yù)測密卷語文試卷含解析
- 四川大學(xué)附屬中學(xué)2025屆高三適應(yīng)性調(diào)研考試英語試題含解析
- 上海市浦東區(qū)2025屆高三下學(xué)期一??荚囌Z文試題含解析
- 韶關(guān)市重點(diǎn)中學(xué)2025屆高三第二次聯(lián)考語文試卷含解析
- 安徽省泗縣樊集中學(xué)2025屆高三下第一次測試語文試題含解析
- 2025屆成都市樹德中學(xué)高考全國統(tǒng)考預(yù)測密卷語文試卷含解析
- GB/T 13098-2006工業(yè)用環(huán)氧乙烷
- GB/T 12970.2-2009電工軟銅絞線第2部分:軟銅絞線
- 《扁鵲治病》教學(xué)課件
- 圍手術(shù)期多模式鎮(zhèn)痛管理及無痛病房
- 2022年山東科技大學(xué)計算機(jī)科學(xué)與技術(shù)專業(yè)《操作系統(tǒng)》科目期末試卷A(有答案)
- 第六課 掌握演繹推理方法課件 【備課精講精研】 高中政治統(tǒng)編版選擇性必修三邏輯與思維
- 實習(xí)企業(yè)鑒定考核表
- 精編新東方考研英語詞匯詞根+聯(lián)想記憶法亂序版-綠皮書俞敏洪編著帶中文翻譯真正完全版資料
- 綜合管廊工程施工技術(shù)概述課件
- 家教最新收費(fèi)退費(fèi)處理辦法
- 《我的心兒怦怦跳》優(yōu)秀課件
評論
0/150
提交評論