第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)ppt課件_第1頁(yè)
第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)ppt課件_第2頁(yè)
第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)ppt課件_第3頁(yè)
第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)ppt課件_第4頁(yè)
第10章AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩101頁(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)介

1、第第1010章章 AT89C51 AT89C51與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì)與輸入外設(shè)和輸出外設(shè)的接口設(shè)計(jì) 輸入外設(shè):鍵盤(pán)、輸入外設(shè):鍵盤(pán)、BCDBCD碼撥盤(pán)等;碼撥盤(pán)等;輸出外設(shè):輸出外設(shè):LEDLED顯示器、顯示器、LCDLCD顯示器、打印機(jī)等。顯示器、打印機(jī)等。10.1 LED10.1 LED顯示器的顯示原理顯示器的顯示原理 LED(Light Emitting Diode): LED(Light Emitting Diode):發(fā)光二極管的縮寫(xiě)。顯示器發(fā)光二極管的縮寫(xiě)。顯示器前面冠以前面冠以“LED”“LED”。10.1.1 LED10.1.1 LED顯示器的結(jié)構(gòu)顯示器的結(jié)構(gòu) 常用的

2、常用的LEDLED顯示器為顯示器為8 8段或段或7 7段,段,8 8段比段比7 7段多了一個(gè)小數(shù)點(diǎn)段多了一個(gè)小數(shù)點(diǎn)“dp“dp段)。段)。有共陽(yáng)極和共陰極兩種。如圖有共陽(yáng)極和共陰極兩種。如圖10-110-1所示。所示。圖圖10-110-1為使為使LEDLED顯示不同的符號(hào)或數(shù)字,要為顯示不同的符號(hào)或數(shù)字,要為L(zhǎng)EDLED提供段碼或稱(chēng)字提供段碼或稱(chēng)字型碼)。型碼)。提供給提供給LEDLED顯示器的段碼字型碼正好是一個(gè)字節(jié)顯示器的段碼字型碼正好是一個(gè)字節(jié)8 8段)。段)。各段與字節(jié)中各位對(duì)應(yīng)關(guān)系如表各段與字節(jié)中各位對(duì)應(yīng)關(guān)系如表10-110-1。表表10-110-1按上述格式,按上述格式,8 8段段

3、LEDLED的段碼如表的段碼如表10-210-2所示。所示。顯示字符顯示字符共陰極共陰極段碼段碼共陽(yáng)極共陽(yáng)極段碼段碼顯示字符顯示字符共陰極共陰極段碼段碼共陽(yáng)極共陽(yáng)極段碼段碼0 03 3FHFHC0HC0Hc c3939H HC6HC6H1 10606H HF9HF9Hd d5 5EHEHA1HA1H2 25 5BHBHA4HA4HE E7979H H8686H H3 34 4FHFHB0HB0HF F7171H H8 8EHEH4 46666H H9999H HP P7373H H8 8CHCH5 56 6DHDH9292H HU U3 3EHEHC1HC1H6 67 7DHDH8282H H

4、T T3131H HCEHCEH7 70707H HF8HF8Hy y6 6EHEH9191H H8 87 7FHFH8080H HH H7676H H8989H H9 96 6FHFH9090H HL L3838H HC7HC7HA A7777FHFH8888H H“滅滅”0000H HFFHFFHb b7 7CHCH8383H H表表10-2 LED10-2 LED段碼段碼8 8段)段)表表10-210-2只列出了部分段碼,可根據(jù)實(shí)際情況選用,也可重只列出了部分段碼,可根據(jù)實(shí)際情況選用,也可重 新定義。新定義。 N N個(gè)個(gè)LEDLED顯示塊有顯示塊有N N位位選線和位位選線和8 8N N根

5、段碼線。根段碼線。 10.1.2 LED10.1.2 LED顯示器工作原理顯示器工作原理圖圖10-210-2是是4 4位位 LED LED顯示器的結(jié)構(gòu)原理圖。顯示器的結(jié)構(gòu)原理圖。圖圖10-210-2段碼線控制顯示的字型,段碼線控制顯示的字型,位選線控制該顯示位的亮或暗。位選線控制該顯示位的亮或暗。靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式。靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式。1. LED1. LED靜態(tài)顯示方式靜態(tài)顯示方式各位的公共端連接在一起接地或各位的公共端連接在一起接地或+5V+5V)。)。 每位的段碼線每位的段碼線a adpdp分別與一個(gè)分別與一個(gè)8 8位的鎖存器輸出相連。位的鎖存器輸出相連。 顯示字

6、符一確定,相應(yīng)鎖存器的段碼輸出將維持不變,直顯示字符一確定,相應(yīng)鎖存器的段碼輸出將維持不變,直到送入另一個(gè)段碼為止。顯示的亮度高。到送入另一個(gè)段碼為止。顯示的亮度高。 圖圖10-3: 410-3: 4位靜態(tài)位靜態(tài)LEDLED顯示器電路。該電路各位可獨(dú)立顯顯示器電路。該電路各位可獨(dú)立顯示。示。2. LED2. LED動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示方式 所有位的段碼線相應(yīng)段并在一起,由一個(gè)所有位的段碼線相應(yīng)段并在一起,由一個(gè)8 8位位I/OI/O口控制,口控制,形成段碼線的多路復(fù)用,各位的公共端分別由相應(yīng)的形成段碼線的多路復(fù)用,各位的公共端分別由相應(yīng)的I/OI/O線控制,線控制,形成各位的分時(shí)選通。形成各位

7、的分時(shí)選通。圖圖10-310-3圖圖10-410-4:4 4位位8 8段段LEDLED動(dòng)態(tài)顯示電路。其中段碼線占用一個(gè)動(dòng)態(tài)顯示電路。其中段碼線占用一個(gè)8 8位位I/OI/O口,而位選線占用一個(gè)口,而位選線占用一個(gè)4 4位位I/OI/O口???。圖圖10-410-4圖圖10-510-5為為8 8位位LEDLED動(dòng)態(tài)顯示動(dòng)態(tài)顯示2008.10.102008.10.10的過(guò)程。的過(guò)程。圖圖a)a)是顯示過(guò)程,某一時(shí)刻,只有一位是顯示過(guò)程,某一時(shí)刻,只有一位LEDLED被選通顯示,其被選通顯示,其 余位則是熄滅的;余位則是熄滅的;圖圖b)b)是實(shí)際顯示結(jié)果,人眼看到的是是實(shí)際顯示結(jié)果,人眼看到的是8 8

8、位穩(wěn)定的同時(shí)顯示位穩(wěn)定的同時(shí)顯示 的字符。的字符。圖圖10-510-510.2 10.2 鍵盤(pán)接口原理鍵盤(pán)接口原理10.2.1 10.2.1 鍵盤(pán)輸入應(yīng)解決的問(wèn)題鍵盤(pán)輸入應(yīng)解決的問(wèn)題鍵盤(pán)輸入的特點(diǎn)鍵盤(pán)輸入的特點(diǎn)鍵盤(pán):一組按鍵開(kāi)關(guān)的集合。行線電壓信號(hào)通過(guò)鍵盤(pán)開(kāi)關(guān)機(jī)鍵盤(pán):一組按鍵開(kāi)關(guān)的集合。行線電壓信號(hào)通過(guò)鍵盤(pán)開(kāi)關(guān)機(jī)械觸點(diǎn)的斷開(kāi)、閉合,其輸出波形如圖械觸點(diǎn)的斷開(kāi)、閉合,其輸出波形如圖10-610-6。圖圖10-610-62. 2. 按鍵的確認(rèn)按鍵的確認(rèn) 檢測(cè)行線電平檢測(cè)行線電平 高電平:斷開(kāi);低電平:閉合,高電平:斷開(kāi);低電平:閉合,常用軟件來(lái)消除按鍵抖動(dòng)。常用軟件來(lái)消除按鍵抖動(dòng)。 基本思想:檢測(cè)

9、到有鍵按下,鍵對(duì)應(yīng)的行線為低,軟件延時(shí)基本思想:檢測(cè)到有鍵按下,鍵對(duì)應(yīng)的行線為低,軟件延時(shí)10ms10ms后,行線如仍為低,則確認(rèn)該行有鍵按下。后,行線如仍為低,則確認(rèn)該行有鍵按下。3.3.如何消除按鍵的抖動(dòng)如何消除按鍵的抖動(dòng) 當(dāng)鍵松開(kāi)時(shí),行線變高,軟件延時(shí)當(dāng)鍵松開(kāi)時(shí),行線變高,軟件延時(shí)10ms10ms后,行線仍為高,說(shuō)后,行線仍為高,說(shuō)明按鍵已松開(kāi)。明按鍵已松開(kāi)。采取以上措施,躲開(kāi)了兩個(gè)抖動(dòng)期采取以上措施,躲開(kāi)了兩個(gè)抖動(dòng)期t1t1和和t3t3的影響。的影響。10.2.2 10.2.2 鍵盤(pán)接口的工作原理鍵盤(pán)接口的工作原理獨(dú)立式按鍵接口和行列式鍵盤(pán)接口。獨(dú)立式按鍵接口和行列式鍵盤(pán)接口。1.1.

10、獨(dú)立式鍵盤(pán)接口獨(dú)立式鍵盤(pán)接口各鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,通過(guò)檢測(cè)輸入線的各鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,通過(guò)檢測(cè)輸入線的電平狀態(tài)可很容易判斷那個(gè)鍵被按下。電平狀態(tài)可很容易判斷那個(gè)鍵被按下。此種接口適于鍵數(shù)較少或操作速度較高的場(chǎng)合。此種接口適于鍵數(shù)較少或操作速度較高的場(chǎng)合。圖圖10-710-7a a為中斷方式的獨(dú)立式鍵盤(pán)工作電路為中斷方式的獨(dú)立式鍵盤(pán)工作電路圖圖10-710-7b b為查詢(xún)方式的獨(dú)立式鍵盤(pán)工作電路。為查詢(xún)方式的獨(dú)立式鍵盤(pán)工作電路。圖圖10-710-7圖圖10-810-8為為82C5582C55擴(kuò)展擴(kuò)展I/OI/O口的獨(dú)立式按鍵接口電路??诘莫?dú)立式按鍵接口電路。圖圖

11、10-810-82. 2. 行列式行列式( (矩陣式矩陣式) )鍵盤(pán)接口鍵盤(pán)接口 用于按鍵數(shù)目較多的場(chǎng)合,由行線和列線組成,按鍵位于用于按鍵數(shù)目較多的場(chǎng)合,由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。如圖行、列的交叉點(diǎn)上。如圖10-910-9所示。所示。 按鍵數(shù)目較多的場(chǎng)合,行列式鍵盤(pán)與獨(dú)立式鍵盤(pán)相比,按鍵數(shù)目較多的場(chǎng)合,行列式鍵盤(pán)與獨(dú)立式鍵盤(pán)相比,要節(jié)省很多的要節(jié)省很多的I/OI/O口線。口線。圖圖10-910-9(1 1行列式鍵盤(pán)工作原理行列式鍵盤(pán)工作原理 無(wú)鍵按下,該行線為高電平,當(dāng)有鍵按下時(shí),行線電平無(wú)鍵按下,該行線為高電平,當(dāng)有鍵按下時(shí),行線電平由列線的電平來(lái)決定。由列線的電平來(lái)決定

12、。 由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,必須將行、列線信號(hào)配合起來(lái)并作適當(dāng)?shù)奶幚?,才能確定閉合必須將行、列線信號(hào)配合起來(lái)并作適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置。鍵的位置。(2 2按鍵的識(shí)別方法按鍵的識(shí)別方法a. a. 掃描法掃描法 圖圖10-9 10-9 中中3 3號(hào)鍵被按下為例,來(lái)說(shuō)明此鍵時(shí)如何被識(shí)別號(hào)鍵被按下為例,來(lái)說(shuō)明此鍵時(shí)如何被識(shí)別出來(lái)的。出來(lái)的。識(shí)別鍵盤(pán)有無(wú)鍵被按下的方法,分兩步進(jìn)行:識(shí)別鍵盤(pán)有無(wú)鍵被按下的方法,分兩步進(jìn)行:第第1 1步:識(shí)別鍵盤(pán)有無(wú)鍵按下;步:識(shí)別鍵盤(pán)有無(wú)鍵按下;第第2 2步:如有鍵被按下,識(shí)別出具體的按

13、鍵。步:如有鍵被按下,識(shí)別出具體的按鍵。 把所有列線置把所有列線置0 0,檢查各行線電平是否有變化,如有變化,檢查各行線電平是否有變化,如有變化,說(shuō)明有鍵按下,如無(wú)變化,則無(wú)鍵按下。說(shuō)明有鍵按下,如無(wú)變化,則無(wú)鍵按下。 上述方法稱(chēng)為掃描法,即先把某一列置低電平,其余各列上述方法稱(chēng)為掃描法,即先把某一列置低電平,其余各列為高電平,檢查各行線電平的變化,如果某行線電平為低,可為高電平,檢查各行線電平的變化,如果某行線電平為低,可確定此行列交叉點(diǎn)處的按鍵被按下。確定此行列交叉點(diǎn)處的按鍵被按下。 b. b. 線反轉(zhuǎn)法線反轉(zhuǎn)法 只需兩步便能獲得此按鍵所在的行列值,線反轉(zhuǎn)法的原只需兩步便能獲得此按鍵所在的

14、行列值,線反轉(zhuǎn)法的原理如圖理如圖10-1010-10。圖圖10-1010-10第第1 1步:列線輸出為全低電平,則行線中電平由高變低的所在步:列線輸出為全低電平,則行線中電平由高變低的所在 行為按鍵所在行。行為按鍵所在行。第第2 2步:行線輸出為全低電平,則列線中電平由高變低所在列為步:行線輸出為全低電平,則列線中電平由高變低所在列為 按鍵所在列。按鍵所在列。 結(jié)合上述兩步,可確定按鍵所在行和列。結(jié)合上述兩步,可確定按鍵所在行和列。10.2.3 10.2.3 鍵盤(pán)的工作方式鍵盤(pán)的工作方式 單片機(jī)在忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤(pán)的輸入,取單片機(jī)在忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤(pán)的輸入,取決于鍵

15、盤(pán)的工作方式。決于鍵盤(pán)的工作方式。原則:即要保證能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用原則:即要保證能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPUCPU的的 工作時(shí)間。工作時(shí)間。 通常,鍵盤(pán)工作方式有通常,鍵盤(pán)工作方式有3 3種,即編程掃描、定時(shí)掃描和中斷種,即編程掃描、定時(shí)掃描和中斷掃描。掃描。1. 1. 編程掃描方式編程掃描方式 只有當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤(pán)掃描子程序,掃描鍵盤(pán)。只有當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤(pán)掃描子程序,掃描鍵盤(pán)。工作過(guò)程:工作過(guò)程:(1 1在鍵盤(pán)掃描子程序中,先判斷有無(wú)鍵按下。在鍵盤(pán)掃描子程序中,先判斷有無(wú)鍵按下。方法:方法:PAPA口口8 8位輸出全位輸出全0 0,讀,讀PCP

16、C口低口低4 4位狀態(tài),若位狀態(tài),若PC0PC0PC3PC3為全為全 1 1,則說(shuō)明鍵盤(pán)無(wú)鍵按下;若不全為,則說(shuō)明鍵盤(pán)無(wú)鍵按下;若不全為1 1,則說(shuō)明鍵盤(pán)可能,則說(shuō)明鍵盤(pán)可能 有鍵按下。有鍵按下。(2 2用軟件來(lái)消除按鍵抖動(dòng)的影響。如有鍵按下,則進(jìn)行下用軟件來(lái)消除按鍵抖動(dòng)的影響。如有鍵按下,則進(jìn)行下 一步。一步。(3 3求按下鍵的鍵號(hào)。求按下鍵的鍵號(hào)。(4 4等待按鍵釋放后,再進(jìn)行按鍵功能的處理操作。等待按鍵釋放后,再進(jìn)行按鍵功能的處理操作。2. 2. 定時(shí)掃描方式定時(shí)掃描方式 利用單片機(jī)內(nèi)的定時(shí)器,產(chǎn)生利用單片機(jī)內(nèi)的定時(shí)器,產(chǎn)生10ms10ms的定時(shí)中斷,對(duì)鍵盤(pán)進(jìn)行的定時(shí)中斷,對(duì)鍵盤(pán)進(jìn)行掃描

17、。掃描。3.3.中斷掃描方式中斷掃描方式 只有在鍵盤(pán)有鍵按下時(shí),才執(zhí)行鍵盤(pán)掃描程序,如無(wú)鍵按只有在鍵盤(pán)有鍵按下時(shí),才執(zhí)行鍵盤(pán)掃描程序,如無(wú)鍵按下,單片機(jī)將不理睬鍵盤(pán)。下,單片機(jī)將不理睬鍵盤(pán)。 鍵盤(pán)所做的工作分為三個(gè)層次。鍵盤(pán)所做的工作分為三個(gè)層次。第第1 1層:?jiǎn)纹瑱C(jī)如何來(lái)監(jiān)視鍵盤(pán)的輸入。三種工作方式:編層:?jiǎn)纹瑱C(jī)如何來(lái)監(jiān)視鍵盤(pán)的輸入。三種工作方式:編 程掃描定時(shí)掃描中斷掃描。程掃描定時(shí)掃描中斷掃描。第第2 2層:確定具體按鍵的鍵號(hào)。體現(xiàn)在按鍵的識(shí)別方法上就層:確定具體按鍵的鍵號(hào)。體現(xiàn)在按鍵的識(shí)別方法上就 是:掃描法;線反轉(zhuǎn)法。是:掃描法;線反轉(zhuǎn)法。第第3 3層:執(zhí)行鍵處理程序。層:執(zhí)行鍵處理

18、程序。10.3 10.3 鍵盤(pán)鍵盤(pán)/ /顯示器接口設(shè)計(jì)實(shí)例顯示器接口設(shè)計(jì)實(shí)例 一般把鍵盤(pán)和顯示器放在一起考慮。一般把鍵盤(pán)和顯示器放在一起考慮。10.3.1 10.3.1 利用利用AT89C51AT89C51單片機(jī)串行口實(shí)現(xiàn)的鍵盤(pán)單片機(jī)串行口實(shí)現(xiàn)的鍵盤(pán)/ /顯示器接口顯示器接口 當(dāng)單片機(jī)的串口未作它用時(shí),可使用串口來(lái)外擴(kuò)鍵盤(pán)當(dāng)單片機(jī)的串口未作它用時(shí),可使用串口來(lái)外擴(kuò)鍵盤(pán)/ /顯示顯示 器。應(yīng)用串口方式器。應(yīng)用串口方式0 0的輸出方式,外擴(kuò)移位寄存器的輸出方式,外擴(kuò)移位寄存器 74LS164 74LS164,構(gòu)成鍵盤(pán),構(gòu)成鍵盤(pán)/ /顯示器接口,硬件接口電路如圖顯示器接口,硬件接口電路如圖10-11

19、10-11圖圖10-1110-11圖圖10-1110-11所示的所示的8 8個(gè)個(gè)74LS16474LS164:74LS164(0)74LS164(0)74LS164(7)74LS164(7)作為作為8 8位位 LED LED的段碼輸出口,的段碼輸出口,AT89C51AT89C51的的P3.4P3.4、P3.5P3.5作為兩行鍵的行狀作為兩行鍵的行狀 態(tài)輸入線。態(tài)輸入線。P3.3P3.3作為作為T(mén)XDTXD引腳同步移位脈沖輸出控制線,引腳同步移位脈沖輸出控制線,P3.3P3.3 = = 0 0時(shí),與門(mén)時(shí),與門(mén) 輸入為輸入為0 0,禁止同步移位脈沖輸出。,禁止同步移位脈沖輸出。這種靜態(tài)顯示方式的優(yōu)

20、點(diǎn)是亮度大,很容易做到顯示不閃爍,這種靜態(tài)顯示方式的優(yōu)點(diǎn)是亮度大,很容易做到顯示不閃爍, 且且CPUCPU不必頻繁地為顯示服務(wù),因而主程序可不必掃描顯示不必頻繁地為顯示服務(wù),因而主程序可不必掃描顯示 器,軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多的時(shí)間處理其器,軟件設(shè)計(jì)比較簡(jiǎn)單,從而使單片機(jī)有更多的時(shí)間處理其 他事務(wù)。下面是顯示子程序和鍵盤(pán)掃描子程序的清單。他事務(wù)。下面是顯示子程序和鍵盤(pán)掃描子程序的清單。顯示子程序:顯示子程序:DIRDIR: SETBSETBP3.3P3.3; P3.3=1, ; P3.3=1, 允許允許TXDTXD引腳同步引腳同步移位脈沖輸出移位脈沖輸出 MOVMOVR7,R7,

21、08H08H; ; 送出的段碼個(gè)數(shù)送出的段碼個(gè)數(shù), R7, R7為段碼個(gè)數(shù)為段碼個(gè)數(shù)計(jì)數(shù)器計(jì)數(shù)器 MOVMOVR0,R0,7FH7FH; 7FH; 7FH78H78H為顯示數(shù)據(jù)緩沖為顯示數(shù)據(jù)緩沖區(qū)區(qū)DL0DL0: MOV MOV A,R0A,R0; ; 取出要顯示的數(shù)送取出要顯示的數(shù)送A AADD ADD A,A,0DH0DH; ; 加上偏移量加上偏移量 MOVC MOVC A,AA,APCPC; ; 查段碼表查段碼表SEGTAG, SEGTAG, 取出段碼取出段碼 MOV MOV SBUF ,ASBUF ,A; ; 將段碼送將段碼送SBUFSBUFDL1DL1: JNB TI,DL1JNB

22、TI,DL1; ; 輸出段碼輸出段碼, , 查詢(xún)查詢(xún)TITI狀態(tài)狀態(tài), 1, 1個(gè)字節(jié)的段碼個(gè)字節(jié)的段碼;輸出完否?;輸出完否? CLR CLR TITI; 1; 1個(gè)字節(jié)的段碼輸出完個(gè)字節(jié)的段碼輸出完, , 清清TITI標(biāo)志標(biāo)志 DEC DEC R0R0; ; 指向下一個(gè)顯示數(shù)據(jù)單元指向下一個(gè)顯示數(shù)據(jù)單元 DJNZ DJNZ R7,DL0R7,DL0; ; 段碼個(gè)數(shù)計(jì)數(shù)器段碼個(gè)數(shù)計(jì)數(shù)器R7R7是否為是否為0, 0, 如不為如不為0, 0, 繼繼;續(xù)送段碼;續(xù)送段碼 CLR CLR P3.3P3.3; 8; 8個(gè)段碼輸出完畢個(gè)段碼輸出完畢, , 關(guān)閉顯示器輸出關(guān)閉顯示器輸出 RET RET ;

23、 ; 返回返回SEGTABSEGTAB:DB DB 0C0H,0F9H,0A4H,0B0H,99H ; 0C0H,0F9H,0A4H,0B0H,99H ; 共陽(yáng)極段碼表共陽(yáng)極段碼表, 0,1,2,3,4, 0,1,2,3,4 DB DB 92H,82H,0F8H,90H92H,82H,0F8H,90H ; 5,6,7,8,9 ; 5,6,7,8,9 DB DB 88H,83H,0C6H,0A1H,86H ; A,B,C,D,E88H,83H,0C6H,0A1H,86H ; A,B,C,D,E DB DB 8FH,0BFH,8CH,0FFH,0FFH ; F,8FH,0BFH,8CH,0FFH,

24、0FFH ; F,P,P,暗暗鍵盤(pán)掃描子程序:鍵盤(pán)掃描子程序:KEYIKEYI: MOV MOV A,A,00H00H; ; 判斷有無(wú)鍵按下,所有列線為判斷有無(wú)鍵按下,所有列線為0 0的編碼送的編碼送A A MOV MOV SBUF,ASBUF,A; ; 掃描鍵盤(pán)的掃描鍵盤(pán)的8 8號(hào)號(hào)74LS16474LS164輸出為輸出為00H, 00H, ;使所有列線為;使所有列線為0 0KL0KL0: JNB JNB TI,KL0TI,KL0; ; 串行輸出完否?串行輸出完否? CLR CLR TITI; ; 串行輸出完畢串行輸出完畢, , 清清TITIKL1KL1:JNBJNBP3.4,PK1 ; P

25、3.4,PK1 ; 第一行有閉合鍵嗎?如有第一行有閉合鍵嗎?如有, , 跳跳PK1PK1進(jìn)行處理進(jìn)行處理 JB JB P3.5,KL1 ; P3.5,KL1 ; 在第二行鍵中有閉合鍵嗎?無(wú)閉合鍵跳在第二行鍵中有閉合鍵嗎?無(wú)閉合鍵跳KL1KL1PK1PK1: ACALL ACALL DL10DL10; ; 調(diào)用延時(shí)調(diào)用延時(shí)10ms10ms子程序子程序DL10, DL10, 軟件消除抖動(dòng)軟件消除抖動(dòng) JNB JNB P3.4,PK2P3.4,PK2; ; 判斷是否由抖動(dòng)引起?判斷是否由抖動(dòng)引起? JB JB P3.5,KL1P3.5,KL1PK2PK2: MOV MOV R7,R7,08H08H;

26、 ; 不是抖動(dòng)引起的不是抖動(dòng)引起的 MOV MOV R6,R6,0FEH ; 0FEH ; 判別是哪一個(gè)鍵按下判別是哪一個(gè)鍵按下, FEH, FEH為最左一列為低為最左一列為低 MOV MOV R3,R3,00H00H; R3; R3為列號(hào)寄存器為列號(hào)寄存器MOV MOV A,R6A,R6KL5KL5: MOV MOV SBUF,ASBUF,A; ; 列掃描碼從串行口輸出列掃描碼從串行口輸出KL2KL2: JNB JNB TI,KL2TI,KL2; ; 等待串行口發(fā)送完等待串行口發(fā)送完 CLR CLR TITI; ; 串行口發(fā)送完畢串行口發(fā)送完畢, , 清清TITI標(biāo)志標(biāo)志 JNB JNB P

27、3.4,PKONEP3.4,PKONE; ; 讀第一行線狀態(tài)讀第一行線狀態(tài), , 第一行有鍵閉合第一行有鍵閉合, , 跳跳;PKONE;PKONE JB JB P3.5,NEXTP3.5,NEXT; ; 讀第二行線狀態(tài)讀第二行線狀態(tài), , 是第二行某鍵否?是第二行某鍵否? MOV MOV R4,R4,08H08H; ; 第二行鍵中有鍵被按下第二行鍵中有鍵被按下, , 行首鍵號(hào)行首鍵號(hào)08H08H; ; 送送R4R4 AJMP AJMP PK3PK3PKONEPKONE:MOV MOV R4,R4,00H00H; ; 第一行鍵中有鍵按下第一行鍵中有鍵按下, , 行首鍵號(hào)行首鍵號(hào)00H00H送送;

28、 R4; R4PK3PK3: MOV MOV SBUF,SBUF,00H00H; ; 等待鍵釋放等待鍵釋放, , 發(fā)送發(fā)送00H00H使所有列線為低使所有列線為低KL3KL3: JNB JNB TI,KL3TI,KL3 CLR CLR TITI; ; 發(fā)送完畢發(fā)送完畢, , 清標(biāo)志清標(biāo)志KL4KL4: JNB JNB P3.4,KL4P3.4,KL4; ; 判行線狀態(tài)判行線狀態(tài) JNB JNB P3.5P3.5MOV MOV A,R4A,R4; ; 兩行線均為高兩行線均為高, , 說(shuō)明鍵已釋放說(shuō)明鍵已釋放 ADD ADD A,R3A,R3; ; 計(jì)算得鍵碼計(jì)算得鍵碼AA RETRETNEXTN

29、EXT: MOV MOV A,R6A,R6 ; ; 列掃描碼左移一位列掃描碼左移一位, , 判下一列鍵是否按下判下一列鍵是否按下 RL RL A A MOV MOV R6,AR6,A; ; 記住列掃描碼于記住列掃描碼于R6R6中中 INC INC R3R3; ; 列號(hào)增列號(hào)增1 1 DJNZ DJNZ R7,KL5R7,KL5; ; 列計(jì)數(shù)器列計(jì)數(shù)器R7R7減減1, 81, 8列鍵都檢查完否?列鍵都檢查完否? AJMP AJMP KEYIKEYI ; 8 ; 8列鍵掃描完畢列鍵掃描完畢, , 開(kāi)始下一個(gè)鍵盤(pán)掃描周期開(kāi)始下一個(gè)鍵盤(pán)掃描周期DL10DL10: MOV MOV R7,R7,0AH0A

30、H; ; 延時(shí)延時(shí)10ms10ms子程序子程序DLDL: MOV MOV R6,R6,0FFH0FFHDL6DL6: DJNZ DJNZ R6,DL6R6,DL6 DJNZ DJNZ R7,DLR7,DL RETRET10.3.2 10.3.2 專(zhuān)用芯片專(zhuān)用芯片HD7279AHD7279A實(shí)現(xiàn)的鍵盤(pán)實(shí)現(xiàn)的鍵盤(pán)/ /顯示器接口顯示器接口 目前已有各種專(zhuān)用的可編程的鍵盤(pán)目前已有各種專(zhuān)用的可編程的鍵盤(pán)/ /顯示器接口芯片可供用戶顯示器接口芯片可供用戶選擇??墒∪ゾ帉?xiě)鍵盤(pán)選擇??墒∪ゾ帉?xiě)鍵盤(pán)/ /顯示器動(dòng)態(tài)掃描程序的煩瑣工作,顯示器動(dòng)態(tài)掃描程序的煩瑣工作,只需對(duì)鍵盤(pán)只需對(duì)鍵盤(pán)/ /顯示器接口芯片中的各

31、個(gè)控制寄存器進(jìn)行正確顯示器接口芯片中的各個(gè)控制寄存器進(jìn)行正確的設(shè)置以及單片機(jī)與鍵盤(pán)的設(shè)置以及單片機(jī)與鍵盤(pán)/ /顯示器接口芯片進(jìn)行正確的連接顯示器接口芯片進(jìn)行正確的連接即可。即可。1 1各種鍵盤(pán)各種鍵盤(pán)/ /顯示器專(zhuān)用芯片簡(jiǎn)介顯示器專(zhuān)用芯片簡(jiǎn)介目前專(zhuān)用的鍵盤(pán)目前專(zhuān)用的鍵盤(pán)/ /顯示器接口芯片種類(lèi)繁多,它們各有特點(diǎn)及顯示器接口芯片種類(lèi)繁多,它們各有特點(diǎn)及優(yōu)缺點(diǎn),總體趨勢(shì)是并行接口芯片逐漸退出歷史舞臺(tái),串行優(yōu)缺點(diǎn),總體趨勢(shì)是并行接口芯片逐漸退出歷史舞臺(tái),串行接口芯片越來(lái)越多的得到應(yīng)用。其中,串行鍵盤(pán)接口芯片越來(lái)越多的得到應(yīng)用。其中,串行鍵盤(pán)/ /顯示器接顯示器接口芯片口芯片HD7279HD7279是

32、目前廣泛使用的專(zhuān)用的鍵盤(pán)是目前廣泛使用的專(zhuān)用的鍵盤(pán)/ /顯示器接口芯顯示器接口芯片片以前設(shè)計(jì)的經(jīng)典方案,是采用以前設(shè)計(jì)的經(jīng)典方案,是采用IntelIntel公司于公司于2020世紀(jì)世紀(jì)8080年代推出年代推出的的82798279芯片來(lái)控制鍵盤(pán)與顯示器。芯片來(lái)控制鍵盤(pán)與顯示器。但是但是82798279的驅(qū)動(dòng)電流較小,需要加上驅(qū)動(dòng)電路,如的驅(qū)動(dòng)電流較小,需要加上驅(qū)動(dòng)電路,如8 8個(gè)三級(jí)管個(gè)三級(jí)管及相應(yīng)的基極限流電阻,元器件較多,電路復(fù)雜,占用較大及相應(yīng)的基極限流電阻,元器件較多,電路復(fù)雜,占用較大的的PCBPCB面積,綜合成本高。而且面積,綜合成本高。而且82798279采用并行方式與單片機(jī)采用并

33、行方式與單片機(jī)通信,占用多達(dá)通信,占用多達(dá)1313條的口線,對(duì)單片機(jī)系統(tǒng)造成了極大的浪條的口線,對(duì)單片機(jī)系統(tǒng)造成了極大的浪費(fèi),故費(fèi),故82798279在今天已經(jīng)漸漸淡出市場(chǎng)。在今天已經(jīng)漸漸淡出市場(chǎng)。目前流行的鍵盤(pán)目前流行的鍵盤(pán)/ /顯示器接口芯片均采用串行通信方式,占用顯示器接口芯片均采用串行通信方式,占用口線少。常見(jiàn)的鍵盤(pán)口線少。常見(jiàn)的鍵盤(pán)/ /顯示器接口芯片有:周立功公司生產(chǎn)顯示器接口芯片有:周立功公司生產(chǎn)的的ZLG7289AZLG7289A、ZLG7290BZLG7290B、MAX7219MAX7219、南京沁恒公司生產(chǎn)的、南京沁恒公司生產(chǎn)的CH451CH451、BC7281BC7281

34、和和HD7279HD7279等,下面給予簡(jiǎn)要介紹。等,下面給予簡(jiǎn)要介紹。(1 1ZLG7290BZLG7290B。ZXLG7290BZXLG7290B芯片采用芯片采用I2CI2C總線結(jié)構(gòu),實(shí)現(xiàn)總線結(jié)構(gòu),實(shí)現(xiàn)8 8位位LEDLED顯示和顯示和6464鍵的鍵盤(pán)管理,應(yīng)用時(shí)需要外接晶振,使用按鍵功鍵的鍵盤(pán)管理,應(yīng)用時(shí)需要外接晶振,使用按鍵功能時(shí)要接能時(shí)要接8 8個(gè)二極管,電路稍顯復(fù)雜,且每次個(gè)二極管,電路稍顯復(fù)雜,且每次I2CI2C通信間隔過(guò)通信間隔過(guò)長(zhǎng)長(zhǎng)10ms10ms)。)。ZLG7290BZLG7290B的功能包括:閃爍、段點(diǎn)亮、段熄滅、功能鍵、連擊的功能包括:閃爍、段點(diǎn)亮、段熄滅、功能鍵、連

35、擊鍵計(jì)數(shù)等。其中,功能鍵實(shí)現(xiàn)了組合按鍵,這在各類(lèi)芯片中鍵計(jì)數(shù)等。其中,功能鍵實(shí)現(xiàn)了組合按鍵,這在各類(lèi)芯片中極具特點(diǎn);連擊鍵計(jì)數(shù)實(shí)現(xiàn)了識(shí)別長(zhǎng)按鍵的功能,這也是極具特點(diǎn);連擊鍵計(jì)數(shù)實(shí)現(xiàn)了識(shí)別長(zhǎng)按鍵的功能,這也是ZLG7290BZLG7290B所獨(dú)有的。所獨(dú)有的。(2 2MAX7219MAX7219。MAX7219MAX7219芯片采用串行芯片采用串行SPISPI接口,僅是單純驅(qū)動(dòng)接口,僅是單純驅(qū)動(dòng)顯示器,沒(méi)有鍵盤(pán)管理功能,功能較為單一且價(jià)格較高,但顯示器,沒(méi)有鍵盤(pán)管理功能,功能較為單一且價(jià)格較高,但抗干擾能力較強(qiáng)??垢蓴_能力較強(qiáng)。 (3 3BC7281BC7281。最高可驅(qū)動(dòng)。最高可驅(qū)動(dòng)1616位

36、位LEDLED顯示和實(shí)現(xiàn)顯示和實(shí)現(xiàn)6464鍵的鍵盤(pán)管理,鍵的鍵盤(pán)管理,可實(shí)現(xiàn)閃爍、段點(diǎn)亮、段熄滅等功能。其最大特點(diǎn)是通過(guò)外可實(shí)現(xiàn)閃爍、段點(diǎn)亮、段熄滅等功能。其最大特點(diǎn)是通過(guò)外接移位寄存器驅(qū)動(dòng)接移位寄存器驅(qū)動(dòng)1616位位LEDLED顯示。但其所需外圍電路較多,占顯示。但其所需外圍電路較多,占用用PCBPCB空間較大,且在驅(qū)動(dòng)空間較大,且在驅(qū)動(dòng)1616位位LEDLED顯示時(shí)由于采用動(dòng)態(tài)掃描顯示時(shí)由于采用動(dòng)態(tài)掃描方式工作,電流噪聲過(guò)大。方式工作,電流噪聲過(guò)大。(4 4CH451CH451。CH451CH451芯片可實(shí)現(xiàn)芯片可實(shí)現(xiàn)8 8位位LEDLED顯示和顯示和6464鍵的鍵盤(pán)管理,鍵的鍵盤(pán)管理,但

37、其抗干擾能力較差。但其抗干擾能力較差。(5 5HD7279HD7279。HD7279HD7279芯片功能強(qiáng),具有一定的抗干擾能力,與芯片功能強(qiáng),具有一定的抗干擾能力,與單片機(jī)間采用串行通信,外圍電路簡(jiǎn)單,價(jià)格低廉。由于單片機(jī)間采用串行通信,外圍電路簡(jiǎn)單,價(jià)格低廉。由于HD7279HD7279具有上述優(yōu)點(diǎn),因此在鍵盤(pán)具有上述優(yōu)點(diǎn),因此在鍵盤(pán)/ /顯示器接口的設(shè)計(jì)中得顯示器接口的設(shè)計(jì)中得到了較為廣泛的應(yīng)用。到了較為廣泛的應(yīng)用。2 2專(zhuān)用鍵盤(pán)專(zhuān)用鍵盤(pán)/ /顯示器芯片顯示器芯片HD7279AHD7279A簡(jiǎn)介簡(jiǎn)介 HD7279A HD7279A能同時(shí)驅(qū)動(dòng)能同時(shí)驅(qū)動(dòng)8 8個(gè)共陰極個(gè)共陰極LEDLED顯示

38、器或顯示器或6464個(gè)獨(dú)立的個(gè)獨(dú)立的LEDLED發(fā)光二極管和發(fā)光二極管和64648 8 8 8鍵的鍵盤(pán)矩陣。鍵的鍵盤(pán)矩陣。HD7279AHD7279A采用的是采用的是動(dòng)態(tài)循環(huán)顯示方式,芯片具有如下特點(diǎn):動(dòng)態(tài)循環(huán)顯示方式,芯片具有如下特點(diǎn):與與AT89C51AT89C51單片機(jī)間采用串行接口方式,僅占用單片機(jī)間采用串行接口方式,僅占用4 4條口線,接條口線,接口簡(jiǎn)單;口簡(jiǎn)單;內(nèi)部含有譯碼器,可直接接收內(nèi)部含有譯碼器,可直接接收BCDBCD碼或十六進(jìn)制碼,同時(shí)具碼或十六進(jìn)制碼,同時(shí)具有兩種譯碼方式,實(shí)現(xiàn)有兩種譯碼方式,實(shí)現(xiàn)LEDLED顯示器位尋址和段尋址,可以方顯示器位尋址和段尋址,可以方便地控制

39、每位便地控制每位LEDLED顯示器中任意一段是否發(fā)光;顯示器中任意一段是否發(fā)光;內(nèi)部含有驅(qū)動(dòng)器,可以直接驅(qū)動(dòng)內(nèi)部含有驅(qū)動(dòng)器,可以直接驅(qū)動(dòng)25.4mm25.4mm及以下及以下LEDLED顯示器;顯示器;多種控制命令,如消隱、閃爍、左移、右移和段尋址、位尋多種控制命令,如消隱、閃爍、左移、右移和段尋址、位尋址等;址等;含有片選信號(hào)輸入端,容易實(shí)現(xiàn)多于含有片選信號(hào)輸入端,容易實(shí)現(xiàn)多于8 8位顯示器或多于位顯示器或多于6464鍵鍵的鍵盤(pán)控制;的鍵盤(pán)控制;具有自動(dòng)消除鍵抖動(dòng)并識(shí)別按鍵鍵值的功能。具有自動(dòng)消除鍵抖動(dòng)并識(shí)別按鍵鍵值的功能。HD7279AHD7279A芯片占用口線少,外圍電路簡(jiǎn)單,還具有較高的

40、性能芯片占用口線少,外圍電路簡(jiǎn)單,還具有較高的性能價(jià)格比,已得到廣泛應(yīng)用。價(jià)格比,已得到廣泛應(yīng)用。(1 1引腳說(shuō)明與電氣特性引腳說(shuō)明與電氣特性HD7279AHD7279A芯片為芯片為2828引腳標(biāo)準(zhǔn)雙列直插式封裝,單一的引腳標(biāo)準(zhǔn)雙列直插式封裝,單一的+5V+5V供電。供電。引腳如圖引腳如圖10-1210-12所示,引腳功能如表所示,引腳功能如表10-310-3所列。所列。位驅(qū)動(dòng)輸出端位驅(qū)動(dòng)輸出端DIG0DIG0DIG7DIG7可分別連接可分別連接8 8只只LEDLED數(shù)碼管的共陰極;數(shù)碼管的共陰極;段驅(qū)動(dòng)輸出端段驅(qū)動(dòng)輸出端SASASGSG分別連接至分別連接至LEDLED數(shù)碼管的數(shù)碼管的a ag

41、 g段的陽(yáng)極,段的陽(yáng)極,而而DPDP連至小數(shù)點(diǎn)連至小數(shù)點(diǎn)dpdp的陽(yáng)極。的陽(yáng)極。DIG0DIG0DIG7DIG7和和DPDP及及SASASGSG還分別是還分別是6464鍵的鍵盤(pán)的列線和行線的鍵的鍵盤(pán)的列線和行線的端口,完成對(duì)鍵盤(pán)的譯碼和鍵值識(shí)別。端口,完成對(duì)鍵盤(pán)的譯碼和鍵值識(shí)別。8 88 8陣列中的每個(gè)鍵陣列中的每個(gè)鍵值可用讀鍵盤(pán)命令讀出,鍵值范圍是值可用讀鍵盤(pán)命令讀出,鍵值范圍是00H00H3FH3FH。圖圖10-1210-12HD7279AHD7279A芯片與單片機(jī)連接僅需芯片與單片機(jī)連接僅需4 4條口線:條口線:CSCS* *,DATADATA,CLKCLK和和KEYKEY。CSCS*

42、*:當(dāng)單片機(jī)訪問(wèn):當(dāng)單片機(jī)訪問(wèn)HD7279AHD7279A芯片寫(xiě)入命令、顯示數(shù)據(jù)、位芯片寫(xiě)入命令、顯示數(shù)據(jù)、位地址、段地址或讀出鍵值時(shí),應(yīng)將地址、段地址或讀出鍵值時(shí),應(yīng)將CSCS* *置為低電平。置為低電平。DATADATA:串行數(shù)據(jù)端,當(dāng)單片機(jī)向:串行數(shù)據(jù)端,當(dāng)單片機(jī)向HD7279AHD7279A芯片發(fā)送數(shù)據(jù)時(shí),芯片發(fā)送數(shù)據(jù)時(shí),DATADATA為輸入端;當(dāng)單片機(jī)從為輸入端;當(dāng)單片機(jī)從HD7279AHD7279A芯片讀入鍵值時(shí),芯片讀入鍵值時(shí),DATADATA為輸出端。為輸出端。CLKCLK:數(shù)據(jù)串行傳送的同步時(shí)鐘輸入端,時(shí)鐘的上升沿將數(shù):數(shù)據(jù)串行傳送的同步時(shí)鐘輸入端,時(shí)鐘的上升沿將數(shù)據(jù)寫(xiě)入據(jù)

43、寫(xiě)入HD7279AHD7279A中或從中或從HD7279AHD7279A中讀出數(shù)據(jù)。中讀出數(shù)據(jù)。KEYKEY:按鍵信號(hào)輸出端,在無(wú)鍵按下時(shí)為高電平,在有鍵按:按鍵信號(hào)輸出端,在無(wú)鍵按下時(shí)為高電平,在有鍵按下時(shí)變?yōu)榈碗娖?,并且一直保持到該按下鍵至釋放為止。下時(shí)變?yōu)榈碗娖?,并且一直保持到該按下鍵至釋放為止。RESETRESET* *: :復(fù)位端,由低電平變?yōu)楦唠娖?,并?jīng)過(guò)復(fù)位端,由低電平變?yōu)楦唠娖?,并?jīng)過(guò)181825ms25ms復(fù)位復(fù)位結(jié)束。通常,該端接結(jié)束。通常,該端接+5V+5V即可。若對(duì)可靠性要求較高,則可即可。若對(duì)可靠性要求較高,則可外接復(fù)位電路,或直接由單片機(jī)控制。外接復(fù)位電路,或直接由

44、單片機(jī)控制。RC:RC:用于外接振蕩元件,其典型值:用于外接振蕩元件,其典型值:R=1.5kR=1.5k,C=15pFC=15pF。NC:NC:必須懸空,即不得有任何外部連接。必須懸空,即不得有任何外部連接。 表表10-410-4所列為所列為HD7279AHD7279A的電氣特性。的電氣特性。(2 2控制命令介紹控制命令介紹HD7279AHD7279A芯片的控制命令由芯片的控制命令由6 6條純命令、條純命令、7 7條帶數(shù)據(jù)命令和條帶數(shù)據(jù)命令和1 1條條讀鍵盤(pán)命令組成。讀鍵盤(pán)命令組成。 純命令純命令6 6條)。所有純命令都是條)。所有純命令都是1 1字節(jié)命令,如表字節(jié)命令,如表10-510-5所

45、所列。列。 帶數(shù)據(jù)命令帶數(shù)據(jù)命令7 7條)。均由雙字節(jié)組成,第條)。均由雙字節(jié)組成,第1 1字節(jié)為命令標(biāo)字節(jié)為命令標(biāo)志碼有的還有位地址),第志碼有的還有位地址),第2 2字節(jié)為顯示內(nèi)容。字節(jié)為顯示內(nèi)容。按方式按方式0 0譯碼顯示命令譯碼顯示命令 此命令又稱(chēng)按方式此命令又稱(chēng)按方式0 0譯碼下載命令。譯碼下載命令。命令中的命令中的a2a2、a1a1、a0a0表示表示LEDLED數(shù)碼管的位地址,即顯示數(shù)據(jù)是數(shù)碼管的位地址,即顯示數(shù)據(jù)是送給哪一位送給哪一位LEDLED的,的,L1L1表示表示LEDLED最低位,最低位,L8L8表示表示LEDLED最高位,最高位,具體位地址譯碼表如表具體位地址譯碼表如表

46、10-610-6所示。所示。命令中的命令中的d3d3、d2d2、d1d1、d0d0為顯示數(shù)據(jù),收到這些數(shù)據(jù)后,為顯示數(shù)據(jù),收到這些數(shù)據(jù)后,HD7279AHD7279A按表按表10-710-7所示的規(guī)則譯碼和顯示。所示的規(guī)則譯碼和顯示。dpdp為小數(shù)點(diǎn)顯為小數(shù)點(diǎn)顯示控制位,示控制位,dpdp = = 1 1時(shí),小數(shù)點(diǎn)顯示,時(shí),小數(shù)點(diǎn)顯示,dpdp = = 0 0時(shí),小數(shù)點(diǎn)不顯時(shí),小數(shù)點(diǎn)不顯示。命令中的為無(wú)影響位。示。命令中的為無(wú)影響位。 b. b. 按方式按方式1 1譯碼顯示命令譯碼顯示命令 此命令又稱(chēng)方式此命令又稱(chēng)方式1 1譯碼下載命令。該命令和按方式譯碼下載命令。該命令和按方式0 0譯碼顯示

47、譯碼顯示的含義基本相同,不同的是譯碼方式為的含義基本相同,不同的是譯碼方式為1 1,LEDLED顯示的內(nèi)容與十顯示的內(nèi)容與十六進(jìn)制相對(duì)應(yīng),如表六進(jìn)制相對(duì)應(yīng),如表10-810-8所示。所示。a2a2、a1a1、a0a0位地址譯碼表如表位地址譯碼表如表10-910-9所示。所示。例如,命令第一字節(jié)為例如,命令第一字節(jié)為C8HC8H,第二字節(jié)為,第二字節(jié)為09H09H,則,則L1L1位位LEDLED顯示內(nèi)顯示內(nèi) 容為容為9 9,小數(shù)點(diǎn),小數(shù)點(diǎn)dpdp熄滅;命令第一字節(jié)為熄滅;命令第一字節(jié)為C9HC9H,第二字節(jié)為,第二字節(jié)為 8FH 8FH,則,則L2L2位位LEDLED顯示內(nèi)容為顯示內(nèi)容為F F,

48、小數(shù)點(diǎn),小數(shù)點(diǎn)dpdp點(diǎn)亮。點(diǎn)亮。 c. c. 不譯碼顯示命令不譯碼顯示命令 此命令又稱(chēng)不譯碼下載命令。此命令又稱(chēng)不譯碼下載命令。a2a2、a1a1、a0a0仍為位地址,譯碼表仍為位地址,譯碼表 如表如表10-810-8所示。所示。第第2 2字節(jié)仍為字節(jié)仍為L(zhǎng)EDLED顯示內(nèi)容,其中顯示內(nèi)容,其中dpdp和和A AG G分別代表分別代表LEDLED的小數(shù)點(diǎn)的小數(shù)點(diǎn) 和對(duì)應(yīng)的段,當(dāng)取值為和對(duì)應(yīng)的段,當(dāng)取值為1 1時(shí),該段點(diǎn)亮;取值為時(shí),該段點(diǎn)亮;取值為0 0時(shí),該段熄時(shí),該段熄 滅,如表滅,如表10-910-9所示。所示。 該命令可在指定位上顯示字符。例如,若命令第一字節(jié)為該命令可在指定位上顯示

49、字符。例如,若命令第一字節(jié)為95H95H,第二字節(jié)為,第二字節(jié)為3EH3EH,則在,則在L6L6位位LEDLED上顯示字符上顯示字符U U,小數(shù),小數(shù)點(diǎn)點(diǎn)dp dp 熄滅。熄滅。d d閃爍控制命令如下:閃爍控制命令如下: 例如,命令第一字節(jié)為例如,命令第一字節(jié)為88H88H,第二字節(jié)為,第二字節(jié)為97H97H,則,則L7L7、L6L6、L4L4位位LEDLED閃爍。閃爍。 e e消隱控制命令如下:消隱控制命令如下:該命令規(guī)定了每個(gè)數(shù)碼管的消隱屬性。該命令規(guī)定了每個(gè)數(shù)碼管的消隱屬性。d8d8d1d1分別對(duì)應(yīng)分別對(duì)應(yīng)L8L8L1L1位數(shù)碼管,其值為位數(shù)碼管,其值為1 1時(shí),時(shí),LEDLED顯示;值

50、為顯示;值為0 0時(shí),消隱,如表時(shí),消隱,如表10-1110-11所示。應(yīng)注意至少要有一個(gè)所示。應(yīng)注意至少要有一個(gè)LEDLED數(shù)碼管保持顯示,如果全部消隱,數(shù)碼管保持顯示,如果全部消隱,則該命令無(wú)效。則該命令無(wú)效。例如,命令第一字節(jié)為例如,命令第一字節(jié)為98H98H,第二字節(jié)為,第二字節(jié)為81H81H,則,則L7L7、L6L6、L5L5、L4L4、L3L3、L2L2位位LEDLED消隱。消隱。f f段點(diǎn)亮命令如下:段點(diǎn)亮命令如下: 該命令的作用是點(diǎn)亮某個(gè)該命令的作用是點(diǎn)亮某個(gè)LEDLED數(shù)碼管中的某一段或獨(dú)立的數(shù)碼管中的某一段或獨(dú)立的6464個(gè)個(gè) LED LED發(fā)光二極管中的某一個(gè)。命令中為無(wú)

51、影響位,發(fā)光二極管中的某一個(gè)。命令中為無(wú)影響位,d5d5d0d0 取值為取值為00H00H3FH3FH,所對(duì)應(yīng)點(diǎn)亮段如表,所對(duì)應(yīng)點(diǎn)亮段如表10-1210-12所示。所示。 例如,命令第一字節(jié)為例如,命令第一字節(jié)為E0HE0H,第二字節(jié)為,第二字節(jié)為00H00H,則點(diǎn)亮,則點(diǎn)亮L1L1位位LEDLED的的g g段;第二字節(jié)為段;第二字節(jié)為10H10H,則點(diǎn)亮,則點(diǎn)亮L3L3位位LEDLED的的g g段。段。g g段關(guān)閉命令如下:段關(guān)閉命令如下: 該命令的作用是關(guān)閉某個(gè)數(shù)碼管中的某一段。命令中的為該命令的作用是關(guān)閉某個(gè)數(shù)碼管中的某一段。命令中的為 無(wú)影響位,無(wú)影響位,d5d5d0d0的取值為的取值

52、為00H00H3FH3FH,所對(duì)應(yīng)的關(guān)閉段同表,所對(duì)應(yīng)的關(guān)閉段同表 10-11 10-11,僅將點(diǎn)亮段變?yōu)殛P(guān)閉段。,僅將點(diǎn)亮段變?yōu)殛P(guān)閉段。例如,命令第一字節(jié)為例如,命令第一字節(jié)為C0HC0H,第二字節(jié)為,第二字節(jié)為00H00H,則關(guān)閉,則關(guān)閉L1L1位位LEDLED 的的g g段;第二字節(jié)為段;第二字節(jié)為10H10H,則關(guān)閉,則關(guān)閉L3L3位位LEDLED的的g g段段 讀取鍵盤(pán)命令讀取鍵盤(pán)命令 讀取鍵盤(pán)命令從讀取鍵盤(pán)命令從HD7279AHD7279A讀出當(dāng)前的按鍵值。命令的第一字讀出當(dāng)前的按鍵值。命令的第一字節(jié)為節(jié)為15H15H,表示單片機(jī)寫(xiě)到,表示單片機(jī)寫(xiě)到HD7279AHD7279A的是

53、讀鍵命令,而第二字節(jié)的是讀鍵命令,而第二字節(jié)d7d7d0d0為從為從HD7279AHD7279A中讀出的按鍵值,其范圍為中讀出的按鍵值,其范圍為00H00H3FH3FH。 當(dāng)按鍵按下時(shí),當(dāng)按鍵按下時(shí),KEYKEY引腳從高電平變?yōu)榈碗娖剑⒈3值桨匆_從高電平變?yōu)榈碗娖?,并保持到按鍵釋放為止。在此期間,若鍵釋放為止。在此期間,若HD7279AHD7279A收到來(lái)自單片機(jī)的讀鍵盤(pán)命收到來(lái)自單片機(jī)的讀鍵盤(pán)命令令15H15H,則,則HD7279AHD7279A輸出當(dāng)前的按鍵代碼。輸出當(dāng)前的按鍵代碼。 應(yīng)注意,應(yīng)注意,HD7279AHD7279A只能給出其中一個(gè)按下鍵的代碼,不適合需只能給出其中一個(gè)按下

54、鍵的代碼,不適合需要兩個(gè)或兩個(gè)以上鍵同時(shí)按下的場(chǎng)合。如果確實(shí)需要雙鍵組要兩個(gè)或兩個(gè)以上鍵同時(shí)按下的場(chǎng)合。如果確實(shí)需要雙鍵組合使用,可在單片機(jī)某位合使用,可在單片機(jī)某位I/OI/O引腳接一鍵,引腳接一鍵,HD7279AHD7279A所連鍵盤(pán)所連鍵盤(pán)共同組成雙鍵功能。共同組成雙鍵功能。 時(shí)序。時(shí)序。HD7279AHD7279A采用串行方式與單片機(jī)通信,串行數(shù)據(jù)從采用串行方式與單片機(jī)通信,串行數(shù)據(jù)從DATADATA引腳送入或輸出,并與引腳送入或輸出,并與CLKCLK端同步。當(dāng)片選信號(hào)端同步。當(dāng)片選信號(hào)CSCS* *變?yōu)樽優(yōu)榈碗娖胶?,低電平后,DATADATA引腳上的數(shù)據(jù)在引腳上的數(shù)據(jù)在CLKCLK脈

55、沖上升沿作用下寫(xiě)入脈沖上升沿作用下寫(xiě)入或讀出或讀出HD7279AHD7279A的數(shù)據(jù)緩沖器。的數(shù)據(jù)緩沖器。(3 3命令時(shí)序命令時(shí)序圖圖10-1310-13a. a. 純命令時(shí)序純命令時(shí)序單片機(jī)發(fā)出單片機(jī)發(fā)出8 8個(gè)個(gè)CLKCLK脈沖,向脈沖,向HD7279AHD7279A發(fā)出發(fā)出8 8位命令,位命令,DATADATA引腳引腳最后為高阻態(tài),如圖最后為高阻態(tài),如圖10-1310-13所示。所示。圖圖10-1410-14b. b. 帶數(shù)據(jù)命令時(shí)序帶數(shù)據(jù)命令時(shí)序單片機(jī)發(fā)出單片機(jī)發(fā)出1616個(gè)個(gè)CLKCLK脈沖,前脈沖,前8 8個(gè)向個(gè)向HD7279AHD7279A發(fā)送發(fā)送8 8位命令;后位命令;后8 8

56、個(gè)向個(gè)向HD7279AHD7279A傳送傳送8 8位顯示數(shù)據(jù),位顯示數(shù)據(jù),DATADATA引腳最后為高阻態(tài),如圖引腳最后為高阻態(tài),如圖10-1410-14所示。所示。 c. c. 讀鍵盤(pán)命令時(shí)序讀鍵盤(pán)命令時(shí)序單片機(jī)發(fā)出單片機(jī)發(fā)出1616個(gè)個(gè)CLKCLK脈沖,前脈沖,前8 8個(gè)向個(gè)向HD7279AHD7279A發(fā)送發(fā)送8 8位命令;發(fā)送位命令;發(fā)送完之后完之后DATADATA引腳為高阻態(tài);后引腳為高阻態(tài);后8 8個(gè)個(gè)CLKCLK由由HD7279AHD7279A向單片機(jī)返向單片機(jī)返回回8 8位按鍵值,位按鍵值,DATADATA引腳為輸出狀態(tài)。最后一個(gè)引腳為輸出狀態(tài)。最后一個(gè)CLKCLK脈沖的下脈沖

57、的下降沿將降沿將DATADATA引腳恢復(fù)為高阻態(tài),如圖引腳恢復(fù)為高阻態(tài),如圖10-1510-15所示。所示。 圖圖10-1510-15保證正確的時(shí)序是保證正確的時(shí)序是HD7279AHD7279A正常工作的前提條件。當(dāng)選定正常工作的前提條件。當(dāng)選定HD7279AHD7279A的振蕩元件的振蕩元件RCRC和單片機(jī)的晶振之后,應(yīng)調(diào)節(jié)延時(shí)時(shí)和單片機(jī)的晶振之后,應(yīng)調(diào)節(jié)延時(shí)時(shí)間,使時(shí)序中的間,使時(shí)序中的T1T1T8T8滿足表滿足表10-1310-13所列要求。由表中的數(shù)所列要求。由表中的數(shù)值可知值可知HD7279AHD7279A的速度,應(yīng)仔細(xì)調(diào)整的速度,應(yīng)仔細(xì)調(diào)整HD7279AHD7279A的時(shí)序,使其運(yùn)

58、的時(shí)序,使其運(yùn)行時(shí)間接近最短。行時(shí)間接近最短。3 3AT89C51AT89C51與與HD7279AHD7279A接口設(shè)計(jì)接口設(shè)計(jì)(1 1硬件接口電路硬件接口電路圖圖10-1610-16是與是與AT89C51AT89C51單片機(jī)的接口電路,外接振蕩元件為典型單片機(jī)的接口電路,外接振蕩元件為典型值,值,89C5189C51的晶振頻率為的晶振頻率為12MHz12MHz。上電后,上電后,HD7279AHD7279A大約經(jīng)過(guò)大約經(jīng)過(guò)151518ms18ms的時(shí)間才進(jìn)入工作狀態(tài)。的時(shí)間才進(jìn)入工作狀態(tài)。HD7279AHD7279A應(yīng)連接共陰極顯示器。對(duì)于不使用的按鍵和顯示器,應(yīng)連接共陰極顯示器。對(duì)于不使用的

59、按鍵和顯示器,可以不連接。省去的顯示器或?qū)︼@示器設(shè)置的消隱、閃爍屬可以不連接。省去的顯示器或?qū)︼@示器設(shè)置的消隱、閃爍屬性,均不影響鍵盤(pán)的使用。性,均不影響鍵盤(pán)的使用。除非不使用顯示器,否則串聯(lián)在除非不使用顯示器,否則串聯(lián)在DPDP及及SASASGSG引線上的引線上的200200電電阻不可省去。如果不使用鍵盤(pán),圖阻不可省去。如果不使用鍵盤(pán),圖10-2010-20中與鍵盤(pán)連接的中與鍵盤(pán)連接的10k10k電阻和電阻和100k100k電阻便可省去。電阻便可省去。如果使用鍵盤(pán),電路中的如果使用鍵盤(pán),電路中的100k100k下拉電阻則不可省去。下拉電阻則不可省去。單片機(jī)通過(guò)單片機(jī)通過(guò)KEYKEY引線電平判

60、斷是否有鍵按下。在使用查詢(xún)引線電平判斷是否有鍵按下。在使用查詢(xún)方式時(shí),該引腳接至單片機(jī)的外部中斷輸入端,同時(shí)方式時(shí),該引腳接至單片機(jī)的外部中斷輸入端,同時(shí)應(yīng)將中斷觸發(fā)控制位設(shè)置成下降沿有效觸發(fā)方式;若應(yīng)將中斷觸發(fā)控制位設(shè)置成下降沿有效觸發(fā)方式;若設(shè)置成電平觸發(fā)方式,則在按鍵時(shí)間較長(zhǎng)時(shí)可引發(fā)多設(shè)置成電平觸發(fā)方式,則在按鍵時(shí)間較長(zhǎng)時(shí)可引發(fā)多次中斷申請(qǐng)問(wèn)題。次中斷申請(qǐng)問(wèn)題。HD7279AHD7279A采用動(dòng)態(tài)循環(huán)掃描方式,如果采用的普通采用動(dòng)態(tài)循環(huán)掃描方式,如果采用的普通LEDLED顯顯示器亮度不夠,則可采用高亮度或超高亮度的型號(hào)。示器亮度不夠,則可采用高亮度或超高亮度的型號(hào)。圖圖10-1610-1

溫馨提示

  • 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)論