鍵盤(pán)與顯示課件_第1頁(yè)
鍵盤(pán)與顯示課件_第2頁(yè)
鍵盤(pán)與顯示課件_第3頁(yè)
鍵盤(pán)與顯示課件_第4頁(yè)
鍵盤(pán)與顯示課件_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

鍵盤(pán)控制的小例子

指令發(fā)射機(jī)指令接受機(jī)人機(jī)接口發(fā)射機(jī)的電路原理圖接收機(jī)電路原理圖發(fā)送機(jī)程序設(shè)計(jì)可以分為三個(gè)模塊鍵盤(pán)掃描程序液晶驅(qū)動(dòng)程序紅外編碼程序一鍵盤(pán)鍵盤(pán)是一組按鍵的組合,它是最常用的單片機(jī)輸入設(shè)備,操作人員可以通過(guò)它實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信.鍵盤(pán)可以分為:編碼鍵盤(pán)和非編碼鍵盤(pán).編碼鍵盤(pán):鍵盤(pán)上閉合鍵的識(shí)別由專用的硬件譯碼器實(shí)現(xiàn),產(chǎn)生鍵編號(hào)或鍵值的鍵盤(pán)稱為編碼鍵盤(pán),如BCD鍵盤(pán),ASII碼鍵盤(pán)等.非編碼鍵盤(pán):

靠軟件識(shí)別的鍵盤(pán).在單片機(jī)組成的測(cè)控系統(tǒng)和機(jī)電一體化產(chǎn)品中,用的最多的是非編碼鍵盤(pán).15.1單片機(jī)的人機(jī)接口撥碼盤(pán)與單片機(jī)的接口BCD撥碼盤(pán)的結(jié)構(gòu)及工作原理1248A由4根數(shù)據(jù)線和一根輸入控制線,如把接通定義為1,不通的定義為0,則撥碼盤(pán)的數(shù)據(jù)線的狀態(tài)與BCD碼表示的十進(jìn)制數(shù)一致。單個(gè)撥碼盤(pán)與單片機(jī)的連接G1G2+5V244+RDP2.7單片機(jī)P0口多個(gè)撥碼盤(pán)與單片機(jī)的連接與非門(mén)+5VP1.0P1.4~P1.7+5V+5V+5V個(gè)十百千1284P1.1P1.2P1.3電路說(shuō)明:四個(gè)撥碼盤(pán)的控制線連接在P1.4~P1.7用來(lái)選擇4片撥碼盤(pán)中的任意一個(gè),與非門(mén)的輸出取決于控制線為低電平的撥碼盤(pán)的數(shù)據(jù)線的狀態(tài)(控制線為0即選中);當(dāng)某個(gè)撥碼盤(pán)的控制線為高,則不論其處于什么位置,4根數(shù)據(jù)線總是為高電平;當(dāng)控制線為低電平時(shí),與控制線接通的數(shù)據(jù)線為低電平,而與控制線不接通的數(shù)據(jù)線為高電平。若將數(shù)據(jù)線的狀態(tài)取反,則得到撥碼盤(pán)位置的BCD碼。P1.0~P1.3用來(lái)接收某個(gè)撥碼盤(pán)的輸入數(shù)據(jù)。程序說(shuō)明撥碼盤(pán)的數(shù)據(jù)存放在8031片內(nèi)RAM的30H~33H單元中,某個(gè)單元的高4位為0,低4位為BCD碼。R0為存放數(shù)據(jù)的地址指針;R2為P1輸出的控制字;R3為BCD撥碼盤(pán)的個(gè)數(shù)MOVR0,#30H;MOVR2,#7FH;MOVR3,#04H;MOVA,R2;MOVP1,A;MOVA,P1;ANLA,#0FH;屏蔽高4位MOV@R0,A;INCR0;MOVA,R2;RRA;累加器循環(huán)右移動(dòng)1位MOVR2,A;DJNZR3,LOOP;RET撥碼盤(pán)的用戶程序READ:LOOP:按鈕與單片機(jī)的接口鍵盤(pán)是由若干按鍵組成的開(kāi)關(guān)矩陣,它是微型計(jì)算機(jī)最常用的輸入設(shè)備,用戶可以通過(guò)鍵盤(pán)向計(jì)算機(jī)輸入指令、地址和數(shù)據(jù)。一般單片機(jī)系統(tǒng)中采用非編碼鍵盤(pán),非編碼鍵盤(pán)是由軟件來(lái)識(shí)別鍵盤(pán)上的閉合鍵,它具有結(jié)構(gòu)簡(jiǎn)單,使用靈活等特點(diǎn),因此被廣泛應(yīng)用于單片機(jī)系統(tǒng)。15.2按鍵開(kāi)關(guān)的抖動(dòng)問(wèn)題

組成鍵盤(pán)的按鍵有觸點(diǎn)式和非觸點(diǎn)式兩種,單片機(jī)中應(yīng)用的一般是由機(jī)械觸點(diǎn)構(gòu)成的。在下圖中,當(dāng)開(kāi)關(guān)S未被按下時(shí),P1.0輸入為高電平,S閉合后,P1.0輸入為低電平。

P1.0SVCC由于按鍵是機(jī)械觸點(diǎn),當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),會(huì)有抖動(dòng),P1.0輸入端的波形如下圖所示。這種抖動(dòng)對(duì)于人來(lái)說(shuō)是感覺(jué)不到的,但對(duì)計(jì)算機(jī)來(lái)說(shuō),則是完全可以感應(yīng)到的,因?yàn)橛?jì)算機(jī)處理的速度是在微秒級(jí),而機(jī)械抖動(dòng)的時(shí)間至少是毫秒級(jí),對(duì)計(jì)算機(jī)而言,這已是一個(gè)“漫長(zhǎng)”的時(shí)間了。為使CPU能正確地讀出P1口的狀態(tài),對(duì)每一次按鍵只作一次響應(yīng),就必須考慮如何去除抖動(dòng),常用的去抖動(dòng)的方法有兩種:硬件方法和軟件方法。單片機(jī)中常用軟件法。對(duì)于硬件方法有雙穩(wěn)態(tài)方法等,同學(xué)請(qǐng)參考教材。軟件法其實(shí)很簡(jiǎn)單,就是在單片機(jī)獲得P1.0口為低的信息后,不是立即認(rèn)定S1已被按下,而是延時(shí)10毫秒或更長(zhǎng)一些時(shí)間后再次檢測(cè)P1.0口,如果仍為低,說(shuō)明S1的確按下了,這實(shí)際上是避開(kāi)了按鍵按下時(shí)的抖動(dòng)時(shí)間。而在檢測(cè)到按鍵釋放后(P1.0為高)再延時(shí)5-10個(gè)毫秒,消除后沿的抖動(dòng),然后再對(duì)鍵值處理。15.3鍵盤(pán)(獨(dú)立按鍵)與單片機(jī)的連接方式

通過(guò)8255擴(kuò)展的獨(dú)立式鍵盤(pán)通過(guò)三態(tài)緩沖器搭接的獨(dú)立式鍵盤(pán)Keyin:MOVDPTR,#7FFFH;鍵盤(pán)地址

MOVXA,@DPTR;讀鍵盤(pán)狀態(tài)

ANLA,#1FH;屏蔽高三位

MOVR3,A;保存

LCALLD_10MS;去抖

MOVXA,@DPTR;讀鍵盤(pán)狀態(tài)

ANLA,#1FH;CJNEA,R3,PASS;兩次結(jié)果不同,說(shuō)明由抖動(dòng)引起,轉(zhuǎn)PASSCJNEA,#1EH,TO_2;KEY1鍵未按下,轉(zhuǎn)TO_2LJMPKEY1;是KEY1鍵按下,轉(zhuǎn)鍵1處理程序

15.4鍵盤(pán)(矩陣式)與單片機(jī)的連接方式

矩陣式鍵盤(pán)的結(jié)構(gòu):每一水平線(行線)與每一垂直線(列線)的交叉處不相通,而當(dāng)某一鍵按下,則該鍵對(duì)應(yīng)的行線和列線被短路,即行線電平狀態(tài)由與此行線相連的列線電平確定。利用N個(gè)行線和M個(gè)列線即可組成N×M個(gè)鍵的鍵盤(pán)。單片機(jī)對(duì)非編碼鍵盤(pán)掃描的控制方式掃描方式有三種:1.程序控制掃描方式,即查詢方式2.定時(shí)掃描方式,

利用單片機(jī)內(nèi)部定時(shí)器產(chǎn)生中斷,CPU響應(yīng)中斷對(duì)鍵盤(pán)進(jìn)行一次掃描,定時(shí)掃描方式的硬件電路與查詢掃描方式相同.3.中斷掃描方式,引起外部中斷后,CPU響應(yīng)中斷對(duì)鍵盤(pán)進(jìn)行掃描.采用哪種方式是根據(jù)應(yīng)用系統(tǒng)的CPU的“忙”,“閑”以及鍵數(shù)目的多少來(lái)確定.矩陣式鍵盤(pán)的工作原理1)識(shí)別是否有鍵按下:掃描2)去抖:延時(shí)3)閉合鍵的鍵值確定:根據(jù)行線和列線的狀態(tài)求得。4)鍵的閉合與否:可通過(guò)高低電平狀態(tài)的檢測(cè)來(lái)確認(rèn)5)掃描方法:把全部列線置為低電平,然后將行線的電平狀態(tài)讀入A中,如有鍵按下,則至少有一根行線為低電平,從而使行輸入不全為1。鍵盤(pán)中哪一個(gè)鍵被按下是逐列置低電平后,檢查行輸入狀態(tài)來(lái)判斷的,所按下的鍵必在與0電平行線相交的那個(gè)鍵。鍵值:鍵盤(pán)上的每個(gè)鍵都有一個(gè)鍵值,以代表鍵按下的特征信號(hào)。鍵值賦值的最直接辦法是將行線數(shù)據(jù)和列線數(shù)據(jù)按二進(jìn)制順序排列組合成鍵值。

8155/8156組成的4*8矩陣式鍵盤(pán)(與單片機(jī)的連接方法)15.5鍵輸入程序設(shè)計(jì)方法8031外接一片81558155的RAM地址7E00~7EFFH(P2.7=0、P2.0=0);I/O口的地址:7F00H~7F05H(P2.7=0、P2.0=1);PA口為輸出口(即鍵盤(pán)掃描口)、PC口為輸入口(即PC0~PC3為鍵輸入口)。鍵輸入程序應(yīng)具有以下三個(gè)功能:判斷是否有鍵按下:

MOVDPTR,#7F01H;指向PA口

MOVA,#00H; 全掃描字送入PA口

MOVX@DPTR,A; INCDPTR; INCDPTR; 指向PC口

MOVXA,@DPTR; 讀入PC口的狀態(tài)

CPLA; 變正邏輯,以高電平表示有鍵按下

ANLA,#0FH; 屏蔽高4位

RET消除鍵的抖動(dòng)(軟件消抖)抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5~10ms,故可利用延時(shí)12ms子程序消抖。Fosc=12MHzTcy=1us

TM12S: MOVR7,#18H;一個(gè)機(jī)器周期

TM: MOVR6,#0FFH TM1: DJNZR6,TM1;2×256us DJNZR7,TM;2×256×24=12.288ms判別閉合鍵并計(jì)算其鍵值對(duì)鍵盤(pán)的列線進(jìn)行掃描,掃描口PA0~PA7依次輸出(見(jiàn)表1),同時(shí)按順序讀入PC口的可能狀態(tài),對(duì)每一個(gè)掃描字,PC0~PC3有四種可能狀態(tài)(見(jiàn)表2),32個(gè)鍵共有64種組合(見(jiàn)表3):表1表2

FEHPA0FDHPA1FBHPA2F7HPA3EFHPA4DFHPA5BFHPA67FHPA7PC7PC6PC5PC4PC3PC2PC1PC0狀態(tài)××××1110×E××××1101×D××××1011×B××××0111×7FE×EFD×EFB×EF7×EEF×EDF×EBF×E7F×EFE×DFD×DFB×DF7×DEF×DDF×DBF×D7F×DFE×BFD×BFB×BF7×BEF×BDF×BBF×B7F×BFE×7FD×7FB×7F7×7EF×7DF×7BF×77F×7閉合鍵值=行首鍵號(hào)+列號(hào)。如PA=11111101時(shí),PC0~PC3=1101,則1行1列相交的鍵處于閉合狀態(tài)。第一行的首鍵號(hào)為8,列號(hào)為1,閉合鍵值=8+1=9。CPU對(duì)鍵的一次閉合僅作一次處理,采用的方法是等待鍵釋放后,再將鍵值送入累加器A中。表3與單片機(jī)連接的幾種典型電路8255A擴(kuò)展I/O口組成的4*8矩陣式鍵盤(pán)繼續(xù)74LS373組成的2*8矩陣鍵盤(pán)74LS138組成的2*8矩陣鍵盤(pán)雙功能鍵盤(pán)原理圖1硬件:上下檔位開(kāi)關(guān)對(duì)應(yīng)鍵盤(pán)的兩種狀態(tài)2軟件:根據(jù)某個(gè)按鍵的次數(shù),轉(zhuǎn)到相應(yīng)的子程序判別鍵是否按下的一種簡(jiǎn)單方法:線反轉(zhuǎn)法具體的步驟:1將行線作為輸入線,列線作為輸出線,并使輸出線全為0,則由高電平變?yōu)榈碗娖降男屑礊榘存I所在的行;2將列線作為輸入線,行線作為輸出線,并使輸出線全為0,則由高電平變?yōu)榈碗娖降牧屑礊榘存I所在的列;綜合1、2即可得到按鍵二顯示器與單片機(jī)的接口鍵盤(pán)是單片機(jī)應(yīng)用系統(tǒng)中常用的輸入器件,顯示器則是普遍使用的輸出器件.顯示器有發(fā)光二極管LED和數(shù)碼管,前者多用于信號(hào)指示,后者用于數(shù)據(jù)輸出.它們有足夠亮度,耗電和發(fā)熱都很少,可在單一+5v電源下工作.LCD…15.6LED的結(jié)構(gòu)原理abfgcedgfedcbaDP陽(yáng)極陰極接法:1共陰極法;2共陽(yáng)極法D7D6D5D4D3D2D1D0DPgfedcba例子:當(dāng)數(shù)字量為00111111時(shí),g和DP不發(fā)光,顯示的字符為0,這種數(shù)字量稱為段選碼15.7LED顯示器的顯示方式一般情況下,都同時(shí)用幾個(gè)8段的LED顯示器,幾位LED連接有兩種顯示方式:靜態(tài)顯示動(dòng)態(tài)顯示靜態(tài)顯示:

每一位都有各自的8位輸出口控制,在顯示某個(gè)字符時(shí),相應(yīng)的段恒定的發(fā)光或不發(fā)光.動(dòng)態(tài)顯示方式:

將多個(gè)8段LED顯示器的段選端并連在一起,由一個(gè)8位輸出口控制,段選碼同時(shí)加到各個(gè)顯示器上,而共陰(或共陽(yáng))端分別由相應(yīng)的I/O線控制,實(shí)現(xiàn)各位的分時(shí)選通,即每一瞬時(shí)只使某一位顯示字符.下圖為8155擴(kuò)展I/O控制的6位共陰極LED動(dòng)態(tài)顯示接口電路.圖中,PB口輸出段選碼,PA口輸出位選碼.75452(或7406)是反向驅(qū)動(dòng)器(30V高電壓,OC門(mén)),這是因?yàn)?155PA口正邏輯輸出的位控制與陰極LED要求的低電平正好相反.15.8舉例7407是同相OC門(mén),作段選碼驅(qū)動(dòng)器.逐位輪流點(diǎn)亮各個(gè)LED,每位停留1ms,在10~20ms之內(nèi)再一次點(diǎn)亮,重復(fù)不止.LED動(dòng)態(tài)顯示接口動(dòng)態(tài)掃描顯示接口——補(bǔ)充動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個(gè)筆劃段a-h同名端連在一起

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論