資源描述:
《AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計輸入外設(shè):鍵盤、BCD碼撥盤等;輸出外設(shè):LED顯示器、LCD顯示器、打印機(jī)等。10.1LED顯示器的顯示原理LED(LightEmittingDiode):發(fā)光二極管的縮寫。顯示器前面冠以“LED”。10.1.1LED顯示器的結(jié)構(gòu)常用的LED顯示器為8段(或7段,8段比7段多了一個小數(shù)點(diǎn)“dp”段)。有共陽極和共陰極兩種。如圖10-1所示。圖10-1為使LED顯示不同的符號或數(shù)字,要為LED提供段碼(或稱字型碼)。提供給LED顯示器的段碼(字型碼)正好是
2、一個字節(jié)(8段)。各段與字節(jié)中各位對應(yīng)關(guān)系如表10-1。表10-1按上述格式,8段LED的段碼如表10-2所示。顯示字符共陰極段碼共陽極段碼顯示字符共陰極段碼共陽極段碼03FHC0Hc39HC6H106HF9Hd5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8Hy6EH91H87FH80HH76H89H96FH90HL38HC7HA77FH88H“滅”00HFFHb7CH83H………表10-2
3、LED段碼(8段)表10-2只列出了部分段碼,可根據(jù)實(shí)際情況選用,也可重新定義。N個LED顯示塊有N位位選線和8×N根段碼線。10.1.2LED顯示器工作原理圖10-2是4位LED顯示器的結(jié)構(gòu)原理圖。圖10-2段碼線控制顯示的字型,位選線控制該顯示位的亮或暗。靜態(tài)顯示和動態(tài)顯示兩種顯示方式。1.LED靜態(tài)顯示方式各位的公共端連接在一起(接地或+5V)。每位的段碼線(a~dp)分別與一個8位的鎖存器輸出相連。顯示字符一確定,相應(yīng)鎖存器的段碼輸出將維持不變,直到送入另一個段碼為止。顯示的亮度高。圖10-3:4位
4、靜態(tài)LED顯示器電路。該電路各位可獨(dú)立顯示。2.LED動態(tài)顯示方式所有位的段碼線相應(yīng)段并在一起,由一個8位I/O口控制,形成段碼線的多路復(fù)用,各位的公共端分別由相應(yīng)的I/O線控制,形成各位的分時選通。圖10-3圖10-4:4位8段LED動態(tài)顯示電路。其中段碼線占用一個8位I/O口,而位選線占用一個4位I/O口。圖10-4圖10-5為8位LED動態(tài)顯示2008.10.10的過程。圖(a)是顯示過程,某一時刻,只有一位LED被選通顯示,其余位則是熄滅的;圖(b)是實(shí)際顯示結(jié)果,人眼看到的是8位穩(wěn)定的同時顯示的字
5、符。圖10-510.2鍵盤接口原理10.2.1鍵盤輸入應(yīng)解決的問題鍵盤輸入的特點(diǎn)鍵盤:一組按鍵開關(guān)的集合。行線電壓信號通過鍵盤開關(guān)機(jī)械觸點(diǎn)的斷開、閉合,其輸出波形如圖10-6。圖10-62.按鍵的確認(rèn)檢測行線電平高電平:斷開;低電平:閉合,常用軟件來消除按鍵抖動?;舅枷耄簷z測到有鍵按下,鍵對應(yīng)的行線為低,軟件延時10ms后,行線如仍為低,則確認(rèn)該行有鍵按下。3.如何消除按鍵的抖動當(dāng)鍵松開時,行線變高,軟件延時10ms后,行線仍為高,說明按鍵已松開。采取以上措施,躲開了兩個抖動期t1和t3的影響。10.2.
6、2鍵盤接口的工作原理獨(dú)立式按鍵接口和行列式鍵盤接口。1.獨(dú)立式鍵盤接口各鍵相互獨(dú)立,每個按鍵各接一根輸入線,通過檢測輸入線的電平狀態(tài)可很容易判斷那個鍵被按下。此種接口適于鍵數(shù)較少或操作速度較高的場合。圖10-7(a)為中斷方式的獨(dú)立式鍵盤工作電路圖10-7(b)為查詢方式的獨(dú)立式鍵盤工作電路。圖10-7圖10-8為82C55擴(kuò)展I/O口的獨(dú)立式按鍵接口電路。圖10-82.行列式(矩陣式)鍵盤接口用于按鍵數(shù)目較多的場合,由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。如圖10-9所示。按鍵數(shù)目較多的場合,行列式鍵
7、盤與獨(dú)立式鍵盤相比,要節(jié)省很多的I/O口線。圖10-9(1)行列式鍵盤工作原理無鍵按下,該行線為高電平,當(dāng)有鍵按下時,行線電平由列線的電平來決定。由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,必須將行、列線信號配合起來并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。(2)按鍵的識別方法a.掃描法圖10-9中3號鍵被按下為例,來說明此鍵時如何被識別出來的。識別鍵盤有無鍵被按下的方法,分兩步進(jìn)行:第1步:識別鍵盤有無鍵按下;第2步:如有鍵被按下,識別出具體的按鍵。把所有列線置0,檢查各行線電平是否有變化,如有變化,說
8、明有鍵按下,如無變化,則無鍵按下。上述方法稱為掃描法,即先把某一列置低電平,其余各列為高電平,檢查各行線電平的變化,如果某行線電平為低,可確定此行列交叉點(diǎn)處的按鍵被按下。b.線反轉(zhuǎn)法只需兩步便能獲得此按鍵所在的行列值,線反轉(zhuǎn)法的原理如圖10-10。圖10-10第1步:列線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。第2步:行線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。結(jié)合上述兩步,可確