第7章80C51并行IO擴(kuò)展p_第1頁(yè)
第7章80C51并行IO擴(kuò)展p_第2頁(yè)
第7章80C51并行IO擴(kuò)展p_第3頁(yè)
第7章80C51并行IO擴(kuò)展p_第4頁(yè)
第7章80C51并行IO擴(kuò)展p_第5頁(yè)
已閱讀5頁(yè),還剩88頁(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)介

第7章單片機(jī)并行I/O擴(kuò)展本講重點(diǎn):

接口概念;接口擴(kuò)展與編址技術(shù);

可編程擴(kuò)展芯片8255(初始化,電路及應(yīng)用);

鍵盤接口;

顯示器接口打印機(jī)接口。計(jì)算機(jī)通常要外接的輸入/輸出設(shè)備輸入設(shè)備:定義:往主機(jī)傳送信息的設(shè)備

常用的輸入設(shè)備:鍵盤、鼠標(biāo)、掃描儀、讀卡機(jī)等輸出設(shè)備定義:接收主機(jī)信息并送出信息呈現(xiàn)給人們的設(shè)備

常用的輸出設(shè)備:顯示器、打印機(jī)、繪圖儀等7.1單片機(jī)I/O擴(kuò)展基礎(chǔ)知識(shí)使用單片機(jī)本身的I/O口只能實(shí)現(xiàn)一些簡(jiǎn)單的數(shù)據(jù)輸入/輸出。例如發(fā)光二極管的驅(qū)動(dòng)。復(fù)雜的I/O操作,必須經(jīng)由接口電路協(xié)調(diào)與控制才能完成任務(wù)。CPU接口接口外設(shè)1外設(shè)2地址總線AB數(shù)據(jù)總線DB控制總線CB簡(jiǎn)單I/O擴(kuò)展:(緩沖/驅(qū)動(dòng)器擴(kuò)展)單片機(jī)鎖存器74LS273P0.0-P0.7P2.0P2.1RDWRD0D7D0D7D0D7D0D7緩沖器74LS244≥1≥1CLKCE1

CE2輸出輸入或門或門輸入指令:MOVDPTR,#0100HMOVXA,@DPTR輸出指令:MOVDPTR,#0200HMOVX@DPTR,A7.1.1I/O接口電路的功能輸入/輸出傳送的信息包括:數(shù)據(jù)信息

數(shù)字量

模擬量

開關(guān)量狀態(tài)信息表征外設(shè)狀態(tài)

控制信息控制外設(shè)啟停

在輸入時(shí),輸入裝置的信息是否準(zhǔn)備好(Ready);在輸出時(shí),輸出裝置是否有空(Empty),若輸出裝置正在輸出信息,則以Busy指示。

二進(jìn)制形式表示的數(shù)或以ASCⅡ碼表示的數(shù)或字符。

模擬量必須先經(jīng)過(guò)A/D轉(zhuǎn)換才能輸入計(jì)算機(jī),計(jì)算機(jī)的控制輸出也必須先經(jīng)過(guò)D/A轉(zhuǎn)換才能控制執(zhí)行機(jī)構(gòu)。

只要用一位二進(jìn)制數(shù)即可表示的量,如電機(jī)的運(yùn)轉(zhuǎn)與停止,開關(guān)的合與斷,閥門的打開和關(guān)閉等——小于0.6V表示‘0’,大于3.4V表示‘1’。數(shù)據(jù)協(xié)議/格式不同速度不一致所需功率/電平不匹配所需測(cè)控點(diǎn)數(shù)量不匹配計(jì)算機(jī)/單片機(jī)與外設(shè)之間起橋梁作用的

電路或部件——接口(interface)。協(xié)調(diào)兩者間的差異。速度協(xié)調(diào)、數(shù)據(jù)鎖存數(shù)據(jù)轉(zhuǎn)換總線隔離、驅(qū)動(dòng)擴(kuò)展輸入/輸出接口的作用及其類型接口電路的作用鎖存作用防止由于CPU速度快,外設(shè)慢而產(chǎn)生的丟數(shù)現(xiàn)象隔離作用防止DB上的信息重疊變換作用在CPU與外設(shè)之間進(jìn)行信息類型、電平、傳送接收方式變換聯(lián)絡(luò)作用在CPU與外設(shè)之間進(jìn)行聯(lián)絡(luò),Ready,Busy輸出接口電路——鎖存作用輸出接口中必須含鎖存器接口電路(鎖存器).......鎖存信號(hào)寫選通輸出數(shù)據(jù)DB來(lái)自CPU速度匹配輸入接口電路——隔離作用輸入接口中必須含三態(tài)門接口電路(三態(tài)門).......讀選通信號(hào)輸入允許輸入數(shù)據(jù)接口電路(三態(tài)門).......輸入數(shù)據(jù)DB防止信息重疊1、

I/O接口的種類很多,有兩種基本類型串行I/O接口并行I/O接口2、不可編程接口例:74LS273、74LS373、74LS138、74LS2443、可編程接口例:8155、8255、8250、8253I/O接口的類型7.1.2關(guān)于接口電路的更多說(shuō)明1.接口與接口電路計(jì)算機(jī)/單片機(jī)與外設(shè)之間起橋梁作用的

電路或部件——接口(interface)。

本課程中講到的接口可以是→器件→功能模塊→電路板卡→設(shè)備/裝置→……2.口或端口端口→接口電路中那些可編址并能進(jìn)行讀寫操作

的寄存器,簡(jiǎn)稱“口”。地址由選用的地址線條數(shù)與地址線名決定接口與端口的區(qū)別接口:由一個(gè)或多個(gè)端口組成。端口:可被獨(dú)立選通的I/O接口電路,簡(jiǎn)稱口。端口地址:端口在系統(tǒng)中被分配的惟一地址,簡(jiǎn)稱口地址。端口可分為:輸入端口——CPU從中讀取外設(shè)的狀態(tài)或數(shù)據(jù)信息輸出端口——CPU通過(guò)它輸出控制信號(hào)或數(shù)據(jù)信息狀態(tài)端口——CPU從中讀取外設(shè)的狀態(tài)信息控制端口——由CPU控制輸出控制信號(hào)數(shù)據(jù)端口——可以是輸入數(shù)據(jù)端口或輸出數(shù)據(jù)端口

I/O信息都是通過(guò)數(shù)據(jù)總線傳遞的。

3.I/O接口的特點(diǎn)異步性;實(shí)時(shí)性;與設(shè)備無(wú)關(guān)性。4.并行接口與串行接口7.1.3I/O編址技術(shù)統(tǒng)一編址I/O端口與內(nèi)存儲(chǔ)器采用一套地址,完全象存儲(chǔ)器單元一樣處理,使用訪問(wèn)存儲(chǔ)器的指令。如:movx類指令獨(dú)立編址采用一套與存儲(chǔ)器不同的地址,利用/MREQ(存儲(chǔ)器請(qǐng)求)和/IORQ(輸入輸出請(qǐng)求),CPU有專門的I/O指令如:IN,OUTMCS51系列采用統(tǒng)一編址

片內(nèi)RAM與P0~P3均用MOV指令

片外RAM與外擴(kuò)口I/O口均用MOVX指令

采用統(tǒng)一編址,使得I/O也用16位編址,可以使用數(shù)據(jù)存儲(chǔ)器讀/寫指令進(jìn)行I/O操作,無(wú)需專門的指令。擴(kuò)展RAM和I/O口線選法外圍器件地址選擇線(A15~A0)片內(nèi)地址單元數(shù)地址編碼6264000

×××××××××××××8K0000~1FFFH825500111111111111××43FFC~3FFFH8155RAM01011110

××××××××2565E00~5EFFHI/O0101111111111×××65FF8~5FFDH0832011111111111111117FFFH825310011111111111××49FFC~9FFFH數(shù)據(jù)存儲(chǔ)與I/O口同時(shí)擴(kuò)展譯碼法0000H~1FFFH2000H~3FFFH8000H~9FFFH6000H~7FFFH4000H~5FFFH7.1.4

單片機(jī)I/O控制(三種)1.無(wú)條件傳送方式(又稱同步傳送)

應(yīng)用于定時(shí)為已知的且固定不變的低速I/O

無(wú)需等待的高速I/OmovxA,@DPTRmovx@DPTR,ADB三態(tài)門鎖存器地址譯碼器地址譯碼器來(lái)自外設(shè)至外設(shè)ABRDWR無(wú)條件I/O舉例——顯示程序設(shè)計(jì)無(wú)條件方式例:2.查詢方式又稱有條件傳送方式。即I/O操作前要查詢?cè)O(shè)備的狀態(tài)。單片機(jī)系統(tǒng)通過(guò)軟件查詢I/O電路中的某些特殊寄存器或位——是一種軟硬結(jié)合的控制方式。條件傳送方式程序舉例Test:movDPTR,#PORTSmovxA,@DPTRanlA,#80HjzTest;(jnzTest)movDPTR,#PORTDmovxA,@DPTR

;輸入

(movx@DPTR,A;輸出)0/1狀態(tài)信號(hào)D7輸入接口狀態(tài)準(zhǔn)備好?傳送信息YESNOReady=1Busy=0(A)3.中斷方式7.2可編程并行接口芯片82557.2.18255硬件邏輯結(jié)構(gòu)8255的基本特性與引腳:◆PA,PB,PC三個(gè)8位I/O口;◆PC口分高4位和低4位。高4位可與PA口合為一組(A組),低4

位可與PB口合為一組(B組)。◆3種工作方式。內(nèi)部有4個(gè)寄存器,由A1,A0與讀,寫信號(hào)選擇。

片選低有效,復(fù)位高有效。◆PC可按位置位/復(fù)位?!?0條引腳,DIP封裝。須注意

VCC與GND引腳的位置。

一個(gè)8位的數(shù)據(jù)口D0~D7。PA3PA4PA2PA5PA1PA6PA0PA7RDWRGNDD0A1D1A0D2PC7D3PC6D4PC5D5PC4D6PC0D78255PC2PB7PC3PB6PB0PB5PB1PB4PB2PB3CSRESETPC1VCC40PIN7.2.28255工作方式8255A有3種工作方式,即方式0、方式1和方式2。◆三種方式中只有方式0用得最多且最容易使用。基本輸入/輸出方式就是簡(jiǎn)單輸入/輸出方式。◆方式1和方式2使用復(fù)雜。因單片機(jī)能自動(dòng)提供各種應(yīng)答信號(hào),這兩種方式已很難見(jiàn)到再有人用于單片機(jī)系統(tǒng)。工作方式A口B口C口0基本輸入/輸出輸出鎖存,輸入三態(tài)基本輸入/輸出輸出鎖存,輸入三態(tài)基本輸入/輸出輸出鎖存,輸入三態(tài)1應(yīng)答式輸入/輸出輸入/輸出均鎖存應(yīng)答式輸入/輸出輸入/輸出均鎖存提供A口和B口的應(yīng)答信號(hào)2應(yīng)答式雙向輸入/輸出輸入/輸出均鎖存B口無(wú)此方式提供A口的應(yīng)答信號(hào)PA,PB,PC口的三種工作方式示意圖:RDWRD7——D0A1A0地址總線控制總線數(shù)據(jù)總線ABCPA0-7PB0-7PC4-7PC0-3A組B組8255的方式0ABPA0-7PB0-7控制線控制線A組B組ABPA0-7PB0-7控制線I/OA組B組76543210PC口8255的方式18255的方式276543210PC口1.方式0(基本輸入/輸出方式)這種工作方式不需要任何選通信號(hào),A口、B口及C口的高4位和低4位都可以設(shè)定為輸入或輸出。作為輸出口時(shí),輸出的數(shù)據(jù)均被鎖存;作為輸入口時(shí),A口的數(shù)據(jù)能鎖存,B口與C口的數(shù)據(jù)不能鎖存。2.方式1(選通輸入/輸出方式)在這種工作方式下,A口可由編程設(shè)定為輸入口或輸出口,C口的3位用來(lái)作為輸入/輸出操作的控制和同步信號(hào);B口同樣可由編程設(shè)定為輸入口或輸出口,C口的另3位用來(lái)作為輸入/輸出操作的控制和同步信號(hào)。在方式1下A口和B口的輸入數(shù)據(jù)或輸出數(shù)據(jù)都能被鎖存。1)方式1下A口、B口均為輸入

在方式1下,A口和B口均工作在輸入狀態(tài)時(shí),需利用C口的6條線作為控制和狀態(tài)信號(hào)線,其定義如圖所示:方式1下的信號(hào)定義(a)A口、B口均為輸入時(shí);(b)A口、B口均為輸出時(shí)C口所提供的用于輸入的聯(lián)絡(luò)信號(hào)有:STB(Strobe):選通脈沖信號(hào)(輸入),低電平有效。當(dāng)外設(shè)送來(lái)該信號(hào)時(shí),輸入的數(shù)據(jù)被裝入8255A的輸入鎖存器中。IBF(InputBufferFull):輸入緩沖器滿信號(hào)(輸出),高電平有效。此信號(hào)有效時(shí),表示已有一個(gè)有效的外設(shè)數(shù)據(jù)鎖存于8255A的口鎖存器中,尚未被CPU取走,暫不能向接口輸入數(shù)據(jù),它是一個(gè)狀態(tài)信號(hào)。INTR(InterruptRequest):中斷請(qǐng)求信號(hào)(輸出),高電平有效。當(dāng)IBF為高、STB信號(hào)由低變高(后沿)時(shí),該信號(hào)有效,向CPU發(fā)出中斷請(qǐng)求。方式1:數(shù)據(jù)輸入過(guò)程如下:當(dāng)外設(shè)的數(shù)據(jù)準(zhǔn)備好后,發(fā)出STB信號(hào),輸入的數(shù)據(jù)被裝入鎖存器中,然后IBF信號(hào)有效(變?yōu)楦唠娖?。數(shù)據(jù)輸入操作的時(shí)序關(guān)系如下圖所示:2)方式1下A口、B口均為輸出與輸入時(shí)一樣,要利用C口的6根信號(hào)線,其定義如前圖(b)所示。用于輸出的聯(lián)絡(luò)信號(hào)有:ACK(Acknowledge):外設(shè)響應(yīng)信號(hào)(輸入),低電平有效。OBF(OutputBuffeFull):輸出緩沖器滿信號(hào)(輸出),低電平有效。INTR:中斷請(qǐng)求信號(hào)(輸出),高電平有效。方式1下數(shù)據(jù)輸出過(guò)程如下:當(dāng)外設(shè)接收并處理完1組數(shù)據(jù)后,發(fā)回ACK響應(yīng)信號(hào)。3.方式2(雙向數(shù)據(jù)傳送方式)8255A只有A口具有這種雙向輸入輸出工作方式,實(shí)際上是在方式1下A口輸入輸出的結(jié)合。在這種方式下,A口為8位雙向傳輸口,C口的PC7~PC3用來(lái)作為輸入/輸出的同步控制信號(hào)。在這種情況下,B口和PC2~PC0只能編程為方式0或方式1工作,而C口剩下的3條線可作為輸入或輸出線使用或用作B口方式1之下的控制線。7.2.38255的編程內(nèi)容8255A為可編程接口芯片,以控制字形式對(duì)其工作方式和C口各位的狀態(tài)進(jìn)行設(shè)置。它有兩種控制字:工作方式控制字和C口置位/復(fù)位控制字。D7D6D5D4D3D2D1D0特征位=1A組方式選擇00:方式001:方式11X:方式2A口B口CL

口CH

口B組方式選擇=0,方式0=1,方式1=0,輸出=1,輸入=0,輸出=1,輸入=0,輸出=1,輸入=0,輸出=1,輸入8255控制寄存器接受控制命令,告訴8255以何種方式工作。其地址是:A1,A0=11。它可以接受兩條命令,第一條命令叫“方式控制字”,方式控制字格式如下:A組B組注意:對(duì)同一控制寄存器可寫兩種命令,故必須在命令本身用“特征位”加以區(qū)別。第二條命令的特征位=01.工作方式命令字D7D6D5D4D3D2D1D0特征位=0Don’tcarebits選中的位將要輸出的狀態(tài)=0,清0=1,置18255控制寄存器可以接受的第2條命令是:可以對(duì)PC口按位進(jìn)行“置1”和“清0”操作。具體命令格式如下:(地址同樣是:A1,A0=11)例如:設(shè)8255的控制寄存器在系統(tǒng)中的地址是:0003H,要將PC5引腳置

1,可用如下指令完成:

MOVDPTR,#0003HMOVA,#0BH

MOVX

@DPTR,AD3D2D1選中PCx引腳000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC72.C口置位/復(fù)位命令字8255與單片機(jī)的連接:AT89C51825574LS373P0.0-P0.7ALE8DQ0Q1Q7CSRESETA0A1D0-D7GEAOERESETRDWRWRRD+5VPAQ7接片選/CS端,8255的(一組)寄存器地址可以是:PA口:0000HPB口:0001HPC口:0002H命令口:0003H也可以是:007CH,007DH,007EH,007FH……PC7PC0微型打印機(jī)3.初始化編程初始化編程就是向控制字寄存器寫入命令字。例如,若對(duì)8255各口作如下設(shè)置:A口方式0輸入,B口方式1輸出,C口高位部分輸出低位輸入。設(shè)控制寄存器地址為0003H。解:按要求知工作方式命令字為95H,則初始化程序段為,MOVR0,#03HMOVA,#95H

MOVX@R0,A8255A與8031單片機(jī)接口例:

設(shè)8255A的A、B、C口和控制寄存器地址依次為00H、01H、02H和03H。如果用戶需要將C口的PC3

置1,PC5

置0,可編程如下:MOVR0,#03H;8255A控制口地址

MOVA,#07H ;將PC3置1控制字

MOVX@R0,A ;置PC3=1MOVA,#0AH ;將PC5置0控制字

MOVX@R0,A;置PC5=07.3鍵盤接口技術(shù)單片機(jī)系統(tǒng)中使用的鍵盤不同于PC機(jī)中所用的,這里所指的鍵盤是價(jià)格便宜的非編碼矩陣式鍵盤。目前,鍵盤可分為兩種類型,一種是編碼鍵盤,由硬件電路給出按鍵的鍵碼;另一種是非編碼鍵盤,需要由軟件判別。鍵盤實(shí)際上是由排列成矩陣形式的一系列按鍵開關(guān)組成的,它是單片機(jī)系統(tǒng)中最常用的人機(jī)聯(lián)系的一種輸入設(shè)備。用戶通過(guò)鍵盤可以向CPU輸入數(shù)據(jù)、地址和命令。單片機(jī)系統(tǒng)中普遍使用非編碼式鍵盤。這類鍵盤應(yīng)主要解決以下幾個(gè)問(wèn)題:(1)鍵的識(shí)別;(2)如何消除鍵的抖動(dòng);(3)鍵的保護(hù)。在以上幾個(gè)問(wèn)題中,最主要的是鍵的識(shí)別。7.3.1鍵掃描和鍵碼生成1.鍵盤舉例獨(dú)立式按鍵1)獨(dú)立式按鍵接口結(jié)構(gòu)獨(dú)立式按鍵的接口電路示意圖(a)中斷方式;(b)查詢方式獨(dú)立式按鍵及其接口芯片內(nèi)有上拉電阻芯片內(nèi)無(wú)上拉電阻獨(dú)立連接式鍵盤例1:特點(diǎn):此子程序需不斷(或定時(shí))調(diào)用,否則可能漏判。4個(gè)鍵的優(yōu)先級(jí)由指令順序決定。P1.0P1.1P1.2P1.3KEY:JNBP1.0,FUNC1;逐鍵判別

JNBP1.1,FUNC2;位狀態(tài)0轉(zhuǎn)移

JNBP1.2,FUNC3JNBP1.3,FUNC4RET;無(wú)任何鍵按下由此返回FUNC1:……;做P1.0要求的“功能1”RETFUNC2:……;做P1.1要求的“功能2”RETFUNC3:……;做P1.2要求的“功能3”RETFUNC4:……;做P1.3要求的“功能4”RETAT89C51獨(dú)立連接式鍵盤例2

特點(diǎn):@此子程序采用中斷查詢不會(huì)漏判,省時(shí)。@鍵的優(yōu)先級(jí)由指令順序決定。@為防止一次按鍵多次中斷,在功能子程序里應(yīng)安排“關(guān)/開中斷指令”并“延時(shí)”。P1.0P1.1P1.2P1.3ORG0003HLJMPKEY

…………KEY:JNBP1.0,FUNC1;逐鍵判別

JNBP1.1,FUNC2JNBP1.2,FUNC3

JNBP1.3,FUNC4RETI;無(wú)任何鍵按下由此返回FUNC1:……

;做P1.0要求的“功能1”RETIFUNC2:……

;做P1.1要求的“功能2”RETIFUNC3:……

;做P1.2要求的“功能3”RETIFUNC4:……

;做P1.3要求的“功能4”RETIINT0&(上拉)AT89C51矩陣式鍵盤AT89C518155P0ALECERESETAD0-7EARESETRDWRWRRDPA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC3P2.7ALE+5v+5v行線列線0行7行0列3列048121620242815913172125292610141822263037111519232631P2.0IO/M8155控制寄存器:0100H8155A口地址:0101H8155C口地址:0103HA口為輸出C口為輸入口0行1行2行3行4行5行6行7行行線(PA0-PA7)列線PC0-30列3列0481216202428159131721252926101418222630371115192326311列2列0行1行2行3行4行5行6行7行0列1列2列3列012345678910111213141516171819202122232425262728293031列線PC0-3行線PA0|PA7左右兩圖是一樣的習(xí)慣說(shuō)“橫行豎列”定時(shí)掃描工作方式鍵盤上有鍵閉合否開始KM=1KP=1返回1→KM0→

KM0→

KP圖5.8定時(shí)掃描方式程序框圖查詢鍵碼1→KPNNNYYY(2)中斷工作方式計(jì)算機(jī)應(yīng)用系統(tǒng)工作時(shí),并不經(jīng)常需要鍵輸入。但無(wú)論是查詢工作方式還是定時(shí)掃描工作方式,CPU經(jīng)常處于空掃描狀態(tài)。為了提高CPU的效率,可采用中斷工作方式。這種工作方式是當(dāng)鍵盤上有鍵按下時(shí),向CPU發(fā)一個(gè)中斷請(qǐng)求信號(hào),CPU響應(yīng)中斷后,在中斷服務(wù)程序中掃描鍵盤,執(zhí)行鍵功能程序。中斷服務(wù)程序中應(yīng)完成鍵識(shí)別、消除抖動(dòng)、排除多次執(zhí)行鍵功能操作等功能,可參考查詢工作方式鍵盤程序。2.鍵碼鍵盤上的每一個(gè)鍵都擔(dān)負(fù)著一項(xiàng)處理功能,而這些功能都是由相應(yīng)的鍵處理程序段來(lái)完成的。實(shí)際上,這就是個(gè)軟硬件結(jié)合的多分支結(jié)構(gòu)。為了順利地實(shí)現(xiàn)分支到各個(gè)鍵處理程序段,就需要對(duì)鍵進(jìn)行編碼——鍵碼。鍵的編碼沒(méi)有統(tǒng)一的規(guī)定,只要能實(shí)現(xiàn)功能分支即可。最常用的編碼方法是以鍵在鍵盤矩陣中的位置,從0開始按自然順序進(jìn)行編碼。右表最左邊一列為各行的掃描碼;

最后一行為列有閉合鍵時(shí)的狀態(tài)碼;狀態(tài)碼又稱返回碼,表中內(nèi)容為鍵碼。3.鍵盤掃描通常有行掃描法和線反轉(zhuǎn)法。單片機(jī)中常用的是行掃描法。為了識(shí)別鍵盤上的閉合鍵,通常有:這里介紹的鍵盤掃描是由軟件實(shí)現(xiàn)的,所以掃描過(guò)程也就是掃描程序的執(zhí)行過(guò)程。4.鍵盤掃描程序流程5.去抖動(dòng)分為軟件法和硬件法。主要是通過(guò)延時(shí)避開抖動(dòng)。按鍵在閉合和斷開時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象:

硬件去抖動(dòng)6.鍵的保護(hù)

鍵的保護(hù)問(wèn)題指的是當(dāng)有雙鍵或多鍵同時(shí)按下時(shí)會(huì)出現(xiàn)什么問(wèn)題以及如何加以解決。以下圖為例,若在同一行上有兩個(gè)鍵同時(shí)按下,從硬件上來(lái)說(shuō),不會(huì)出現(xiàn)什么問(wèn)題;從軟件上來(lái)說(shuō),由于這時(shí)讀入的列代碼中出現(xiàn)了兩個(gè)0,由此代碼與行值組合成的鍵特征值就超出了原設(shè)定鍵的范圍,因此也就查不出有效的鍵值來(lái)。一旦出現(xiàn)這樣情況,一般作為廢鍵處理。7.3.2用8255實(shí)現(xiàn)鍵盤接口補(bǔ)充:串行口鍵盤及顯示接口電路7.4LED顯示器接口7.4.1LED顯示器概述并排使用的多位數(shù)碼管稱為L(zhǎng)ED顯示器。LED數(shù)碼管的結(jié)構(gòu):共陽(yáng)與共陰極@單片機(jī)系統(tǒng)擴(kuò)展LED數(shù)碼管時(shí)多用共陽(yáng)LED:共陽(yáng)數(shù)碼管每個(gè)段筆畫是用低電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率很??;而共陰數(shù)碼管段筆畫是用高電平(“1”)點(diǎn)亮的,要求驅(qū)動(dòng)功率較大。@通常每個(gè)段筆畫要串一個(gè)數(shù)百歐姆的降壓電阻。公共陽(yáng)極hgfedcbaabcdgefh公共陰極hgfedcbaabcdgefhhgf……ahgf……a高電平點(diǎn)亮低電平點(diǎn)亮接高電平接地LED數(shù)碼管的譯碼:硬件譯碼與軟件譯碼共陰LEDabcdgefhgfedcbaDCBAP1.3P1.2P1.1P1.0CD4511AT89C5174LS48/CD4511是“BCD碼→七段共陰譯碼/驅(qū)動(dòng)”IC;74LS47是“BCD碼→七段共陽(yáng)譯碼/驅(qū)動(dòng)”ICLED數(shù)碼管的譯碼:軟件譯碼(用8155輸出)軟件譯碼特點(diǎn):(用8155輸出)不用專用的譯碼/驅(qū)動(dòng)器件,驅(qū)動(dòng)功率較??;不增加硬件的開銷;軟件編程較復(fù)雜;字型靈活(比如:有八段,只可譯多種字符,字型好看……)。共陽(yáng)LEDabcdgefhP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5VAT89C51硬件譯碼特點(diǎn):采用專用譯碼/驅(qū)動(dòng)器件,驅(qū)動(dòng)功率較大;增加了硬件的開銷,字型固定(比如:只有七段,只可譯數(shù)字,字型不好看……)。

要使數(shù)碼管顯示指定的字符對(duì)共陰極接法的電路:1、要發(fā)光的二極管段加高電平2、共陰極端接低電平稱0CFH為字形碼G端稱為字位dpgfedcbad7d6d5d4d3d2d1d010011110CFH+5v“1”“0”7.4.2LED顯示器顯示原理LED數(shù)碼管的軟件譯碼P.143表7.3八段LED數(shù)碼管段代碼編碼表(連線不同可有多種表):字形0123456789黑共陽(yáng)0C00F90A40B09992820F880900FF共陰3F065B4F666D7D077F6F00公共陽(yáng)極hgfedcbaabcdgefh公共陰極hgfedcbaabcdgefhhgf……ahgf……a高電平點(diǎn)亮低電平點(diǎn)亮接高電平接地七段LED的段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HΓ31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“滅”00HFFHA77H88HB7CH83H

(1)軟件查表方式采用軟件查表方式時(shí),需為每一只數(shù)碼管配備一個(gè)8位代碼鎖存器,存放顯示代碼。鎖存器有多種形式,右圖僅是其中的一種,選用的是74LS273。設(shè)顯示代碼表首地址為m,程序設(shè)計(jì)如下:DISP:

MOVA,#data

;A←要顯示的數(shù)符

MOVDPTR,#m

;DPTR←表首地址

MOVCA,@A+DPTR

;查表

MOVDPTR,#ADDR

;DPTR←數(shù)碼管口地址MOVX@DPTR,Am:DB

3FH,06H,5BH,4FH,…abcdefgh74LS273DI1…DI8CLK≥CSP0口80C51WR顯示代碼鎖存器MCI4495內(nèi)部結(jié)構(gòu)與引腳11地址譯碼器和筆段ROM陣列1a1b1c1d1e1f1g121314151234h+i11710D4位鎖存器15A16B19C11LE290Ω×9VCR168VSSVDD(2)硬件譯碼方式硬件譯碼是用譯碼器把要顯示的字符轉(zhuǎn)換成顯示代碼。已有專用芯片,可把4位二進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的顯示代碼。例如Motorola公司生產(chǎn)的MC14495就是一種CMOS型七段十六進(jìn)制--BCD碼鎖存譯碼驅(qū)動(dòng)器,下圖所示,真值表如書中的表7.4所示。MCI4495×280C51P10P11P12P13P14P16P17

ABCDLEabcdefgabcdefgABCDLEabcdefgabcdefgMCI4495與LED顯示器的聯(lián)接7.4.3LED顯示器接口1.用8255實(shí)現(xiàn)LED顯示器接口76LED顯示器的擴(kuò)展(顯示方式)LED數(shù)碼管的顯示方式:靜態(tài)與動(dòng)態(tài)動(dòng)態(tài)顯示特點(diǎn):

有閃爍,用元器件少,占I/O線少,必須掃描,花費(fèi)CPU時(shí)間,編程復(fù)雜。(有多個(gè)LED時(shí)尤為突出)靜態(tài)顯示特點(diǎn):

無(wú)閃爍,用元器件多,占I/O線多,無(wú)須掃描,節(jié)省CPU時(shí)間,編程簡(jiǎn)單。靜態(tài)顯示:

各數(shù)碼管在顯示過(guò)程中持續(xù)得到送顯信號(hào),與各數(shù)碼管接口的I/O口線是專用的。動(dòng)態(tài)顯示:

(用8155輸出。P.211)各數(shù)碼管在顯示過(guò)程中輪流得到送顯信號(hào),與各數(shù)碼管接口的I/O口線是共用的。LED顯示器有靜態(tài)顯示與動(dòng)態(tài)顯示兩種形式:1、靜態(tài)顯示接口

常采用MC14495芯片作為L(zhǎng)ED的靜態(tài)顯示器接口,它是MOTOROLA公司生產(chǎn)CMOSBCD—七段十六進(jìn)制鎖存、譯碼驅(qū)動(dòng)芯片,可以與LED顯示器直接相連。具體應(yīng)用略。2.動(dòng)態(tài)顯示接口

常用可編程并行接口芯片8155作為L(zhǎng)ED動(dòng)態(tài)顯示器的接口。實(shí)驗(yàn)設(shè)備中8031通過(guò)8155接六只共陰極LED動(dòng)態(tài)顯示器的接口。PA口作為字位碼口,PB口作為字形(字段)碼口。LED顯示器靜態(tài)顯示方式N位LED顯示器靜態(tài)顯示電路ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5VVCCTxDRxD89C51單片機(jī)74LS16474LS16474LS164hgfedcbahgfedcba+5V共陽(yáng)LED數(shù)碼管LED數(shù)碼管靜態(tài)顯示舉例有幾個(gè)LED就要幾個(gè)74LS164,但只要數(shù)據(jù)不變,送一次就保持住了,且不閃爍,編程十分簡(jiǎn)單。在單片機(jī)系統(tǒng)中,如果并行口的IO資源不夠,而串行口又沒(méi)有其他的作用,那么我們可以用74LS164來(lái)擴(kuò)展并行IO口,節(jié)約單片機(jī)資源。74LS164是一個(gè)串行輸入并行輸出的移位寄存器。并帶有清除端。其中Q0—Q7是并行輸出端。A,B串行輸入端

溫馨提示

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