單片機(jī)第10章課件_第1頁(yè)
單片機(jī)第10章課件_第2頁(yè)
單片機(jī)第10章課件_第3頁(yè)
單片機(jī)第10章課件_第4頁(yè)
單片機(jī)第10章課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

大多數(shù)的單片機(jī)應(yīng)用系統(tǒng),都要配置輸入外設(shè)和輸出外設(shè)。常用的輸入外設(shè)有鍵盤(pán)、BCD碼撥盤(pán)等;輸出外設(shè)有LED數(shù)碼管、LCD顯示器、打印機(jī)等。§10.1LED數(shù)碼管的顯示原理

LED(LightEmittingDiode,發(fā)光二極管),LED數(shù)碼管是由發(fā)光二極管組成的。

一、按公共端接的電平不同分為共陰極數(shù)碼管、共陽(yáng)極數(shù)碼管。二、段選碼/段碼/字型碼顯示不同數(shù)字,其實(shí)就是點(diǎn)亮對(duì)應(yīng)段的LED,通常把8段LED的亮/滅控制線稱(chēng)為段選線。

段選線內(nèi)容構(gòu)成1個(gè)字節(jié)(dp最高位,a最低位),稱(chēng)為段選碼/段碼/字型碼?!?0.1.2LED數(shù)碼管工作原理如圖,要顯示4位數(shù)碼管,需控制:4個(gè)公共端COM(位選線)和4*8條段選線。

段選線選擇顯示字型,位選線控制著該數(shù)碼管的亮或暗。根據(jù)控制方式不同,分為靜態(tài)顯示和動(dòng)態(tài)顯示。一、LED靜態(tài)顯示方式

LED公共端接固定電平,各LED的段選線由各自的8位I/O口提供。優(yōu)點(diǎn):編程簡(jiǎn)單,亮度高,顯示穩(wěn)定。缺點(diǎn):占用I/O多,耗電大。二、LED動(dòng)態(tài)顯示方式

LED公共端受控(位選線),所有LED段選線共用1個(gè)8位I/O口,各LED輪流點(diǎn)亮,利用視覺(jué)暫留現(xiàn)象。優(yōu)點(diǎn):占用I/O少,耗電小。缺點(diǎn):編程復(fù)雜,亮度有時(shí)不夠,延時(shí)時(shí)間不恰當(dāng)會(huì)造成閃爍或顯示模糊。二、鍵盤(pán)輸入的特點(diǎn)常見(jiàn)鍵盤(pán):觸摸式鍵盤(pán)、薄膜鍵盤(pán)和按鍵式鍵盤(pán),最常用的是按鍵式鍵盤(pán)。按鍵實(shí)質(zhì)上就是一個(gè)開(kāi)關(guān),兩端分別連接在行線和列線上,按鍵開(kāi)關(guān)機(jī)械觸點(diǎn)的斷開(kāi)、閉合時(shí),其行線電壓輸出波形如下。圖中t1和t3分別為鍵的閉合和斷開(kāi)過(guò)程中的抖動(dòng)期(呈現(xiàn)一串負(fù)脈沖,一般為5~10ms)。三、按鍵的識(shí)別鍵的閉合與否,行線輸出電壓上就是呈現(xiàn)高電平或低電平。高電平,表示鍵斷開(kāi),低電平則表示鍵閉合,通過(guò)對(duì)行線電平的高低狀態(tài)的檢測(cè),可確認(rèn)按鍵按下以及按鍵釋放與否。為了確保對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵有效,必須消除抖動(dòng)期t1和t3的影響。四、如何消除按鍵的抖動(dòng)按鍵去抖動(dòng)的方法有軟件延時(shí)和硬件消抖2種。1、軟件延時(shí)本思想是:在檢測(cè)到有鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10ms的子程序后,確認(rèn)該行線電平是否仍為低電平,如果仍為低電平,則確認(rèn)該行確實(shí)有鍵按下。當(dāng)按鍵松開(kāi)時(shí),行線的低電平變?yōu)楦唠娖?,?zhí)行一段延時(shí)10ms的子程序后,檢測(cè)該行線為高電平,說(shuō)明按鍵確實(shí)已經(jīng)松開(kāi)。2、硬件消抖另一種是采用專(zhuān)用的鍵盤(pán)/顯示器接口芯片,這類(lèi)芯片中都有自動(dòng)去抖動(dòng)的硬件電路。識(shí)別某一鍵是否按下的子程序:KEYIN: MOV P1,#0FFH ;設(shè)置P1口為輸入狀態(tài) MOV A,P1 ;讀入8個(gè)按鍵的狀態(tài) CJNE A,#0FFH,QUDOU;有鍵按下,跳去抖動(dòng) LJMP RETURN ;無(wú)鍵按下,返回

QUDOU: MOVR3,A ;8個(gè)按鍵的狀態(tài)送R3保存 LCALLDELAY10 ;調(diào)用延時(shí),軟件去抖動(dòng) MOV A,P1 ;再一次讀入8個(gè)按鍵的狀態(tài) CJNE A,R3,RETURN ;兩次鍵值比較,不同,

;是抖動(dòng)引起,轉(zhuǎn)RETURNKEY0:

MOV C,P1.0 ;有鍵按下,讀P1.0的按鍵狀態(tài)

JC KEY1 ;P1.0為高,該鍵未按下,跳KEY1

;判下一個(gè)鍵

LJMP PKEY0 ;P1.0的鍵按下,跳PKEY0處理KEY1:

MOV C,P1.1 ;讀P1.1的按鍵狀態(tài)

JC KEY2 ;P1.1為高,該鍵未按下,跳KEY2

;判下一個(gè)鍵

LJMP PKEY1 ;P1.1的鍵按下,跳PKEY1處理2、矩陣式鍵盤(pán)矩陣式(也稱(chēng)行列式)鍵盤(pán)用于按鍵數(shù)目較多的場(chǎng)合,由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。使用在按鍵數(shù)目較多的場(chǎng)合,可節(jié)省較多的I/O口線。矩陣中無(wú)按鍵按下時(shí),行線全部為高電平;當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平也為高,這是識(shí)別按鍵是否按下的關(guān)鍵所在。矩陣式鍵盤(pán)按鍵的識(shí)別方法:逐行掃描法和線反轉(zhuǎn)法。一、逐行掃描法

1、全掃描:所有掃描線為0,讀輸入線,有0則說(shuō)明有鍵按下;

2、逐行掃描:掃描線逐根送0,檢測(cè)輸入線是否為0,為0則找到按下鍵。按下鍵的列值由掃描線確定,行值由輸入線確定,兩者相加即是按下鍵的鍵號(hào)。二、線反轉(zhuǎn)法1、讓行線為輸入線,列線為輸出線,并使輸出線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。2、再把行線為輸出線,列線為輸入線,并使輸出線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。2、定時(shí)掃描方式每隔一定的時(shí)間對(duì)鍵盤(pán)掃描一次。在這種方式中,通常利用單片機(jī)內(nèi)的定時(shí)器產(chǎn)生的定時(shí)中斷,進(jìn)入中斷子程序來(lái)對(duì)鍵盤(pán)進(jìn)行掃描,在有鍵按下時(shí)識(shí)別出該鍵,并執(zhí)行相應(yīng)鍵的處理程序。為了不漏判有效的按鍵,定時(shí)中斷的周期一般應(yīng)小于100ms。3、中斷掃描方式為提高單片機(jī)掃描鍵盤(pán)的工作效率,可采用中斷掃描方式,鍵盤(pán)有按鍵按下時(shí),發(fā)出中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)中斷,執(zhí)行鍵盤(pán)掃描程序中斷服務(wù)子程序。此種方式的優(yōu)點(diǎn)是,只有按鍵按下時(shí),才進(jìn)行處理,所以其實(shí)時(shí)性強(qiáng),工作效率高?!?0.3鍵盤(pán)/顯示器接口設(shè)計(jì)實(shí)例在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,一般都是把鍵盤(pán)和顯示器放在一起考慮。也有的系統(tǒng)僅單獨(dú)需要鍵盤(pán)或顯示器。介紹幾種實(shí)用的鍵盤(pán)/顯示器接口的設(shè)計(jì)方案?!?0.3.1利用AT89S51串行口實(shí)現(xiàn)的鍵盤(pán)/顯示器接口

1、74LS164(0)~74LS164(7):作為8位LED數(shù)碼管的段碼輸出口;

2、74LS164(8):作為鍵盤(pán)陣列的掃描輸出線;

3、P3.4、P3.5作為鍵盤(pán)陣列的行狀態(tài)輸入線;

4、P3.3為T(mén)XD引腳同步移位脈沖輸出控制線,P3.3=0時(shí),與門(mén)封死,禁止同步移位脈沖輸出。鍵盤(pán)掃描子程序:KEYI: MOV A,#0 ;判斷有無(wú)鍵按下,使所有列線為0 LCALLSOUT ;00H送74LS164(8),使所有列線為0LP1: JNB P3.4,RK1 ;第1行有鍵閉合,跳RK1進(jìn)行處理

JB P3.5,LP1 ;第2行無(wú)閉合鍵,從第1行再查詢(xún)RK1: LCALLDELAY ;調(diào)用延時(shí)子程序,軟件消抖動(dòng)

MOV R3,#0 ;準(zhǔn)備逐列掃描,列號(hào)寄存器R3 MOV R7,#08 ;掃描次數(shù)計(jì)數(shù)器,最多8列

MOV R6,#0FEH ;列掃描碼,F(xiàn)EH為最左1列為低RK2: MOV A,R6 ;輸出列掃描碼

LCALLSOUT ;列掃描碼送74LS164(8) RL A ;先準(zhǔn)備好下一列掃描碼

MOV R6,A ;下一列掃描碼存在A中

MOV R4,#0 ;行首鍵號(hào)00H送R4 JNB P3.4,KEYD ;第1行鍵中有鍵按下,找到鍵處理

MOV R4,#08 ;行首鍵號(hào)08H送R4 JNB P3.5,KEYD ;第2行鍵中有鍵按下,找到鍵處理

INC R3 ;此列無(wú)鍵按下,準(zhǔn)備掃下一列

;列號(hào)寄存器R3先加1 DJNZ R7,RK2 ;列計(jì)數(shù)器R7減1,8列都掃描完?

LJMP KEYI ;8列掃完,開(kāi)始下一個(gè)掃描周期KEYD:MOV

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論