版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo) v掌握掌握MCS-51單片機(jī)基本單片機(jī)基本I/O口的應(yīng)用口的應(yīng)用 與擴(kuò)展串行通信控制寄存器與擴(kuò)展串行通信控制寄存器v掌握鍵盤(pán)與顯示器的擴(kuò)展原理及方法掌握鍵盤(pán)與顯示器的擴(kuò)展原理及方法v掌握常用外圍電路接口芯片掌握常用外圍電路接口芯片8255、8155、 8279的性能特點(diǎn)及使用方法。的性能特點(diǎn)及使用方法。v掌握存儲(chǔ)器的擴(kuò)展原理與方法掌握存儲(chǔ)器的擴(kuò)展原理與方法7.1 I/O擴(kuò)展概述擴(kuò)展概述I/O接口電路也叫做輸入/輸出接口電路 7.1.1 I/O7.1.1 I/O接口電路的功能接口電路的功能并行通信并行通信 1速度協(xié)調(diào)速度協(xié)調(diào) 2數(shù)據(jù)鎖存數(shù)據(jù)鎖存 3三態(tài)緩沖三態(tài)緩沖 4信
2、息轉(zhuǎn)換信息轉(zhuǎn)換7.1.2 I/O端口的編址 1I/O端口和存儲(chǔ)器統(tǒng)一編址方式端口和存儲(chǔ)器統(tǒng)一編址方式 I/O端口和存儲(chǔ)器公用一個(gè)地址空間,端端口和存儲(chǔ)器公用一個(gè)地址空間,端口與存儲(chǔ)器統(tǒng)一編址,即把每個(gè)口與存儲(chǔ)器統(tǒng)一編址,即把每個(gè)I/O端口端口當(dāng)做一個(gè)存儲(chǔ)單元,給它分配存儲(chǔ)空間當(dāng)做一個(gè)存儲(chǔ)單元,給它分配存儲(chǔ)空間的一個(gè)地址。的一個(gè)地址。2 2I/OI/O端口獨(dú)立編址方式端口獨(dú)立編址方式 這種方式是端口地址與存儲(chǔ)器地址分開(kāi)這種方式是端口地址與存儲(chǔ)器地址分開(kāi)編址。對(duì)編址。對(duì)I/O端口獨(dú)立編址,需要專門(mén)的端口獨(dú)立編址,需要專門(mén)的I/O指令和接口信號(hào)訪問(wèn)指令和接口信號(hào)訪問(wèn)I/O端口。端口。7.2 基本基本
3、I/O口的應(yīng)用與擴(kuò)展口的應(yīng)用與擴(kuò)展 7.2.1 I/O口的直接應(yīng)用 從從P1.0P1.0P1.3P1.3輸入開(kāi)關(guān)狀態(tài),輸入開(kāi)關(guān)狀態(tài),再經(jīng)再經(jīng)P1.4P1.4P1.7P1.7輸出去驅(qū)輸出去驅(qū)動(dòng)發(fā)光二極管,動(dòng)發(fā)光二極管,使發(fā)光二極管使發(fā)光二極管顯示開(kāi)關(guān)的狀顯示開(kāi)關(guān)的狀態(tài)。態(tài)。 P1.789C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6K0K1K2K3LED0LED1LED2LED3+5V+5V41004k1 . 5程序如下: ORG0000H AJMP MAIN ORG 0030H MAIN: MOV A,#0FHMOV P1,A;熄滅發(fā)光二極管MOV A,P1;讀入開(kāi)關(guān)狀態(tài)SWA
4、PA;A高低半字節(jié)交換MOV P1,A;開(kāi)關(guān)狀態(tài)輸出AJMP MAINEND擴(kuò)展擴(kuò)展I/O接口所用的芯片主要有通用可編程接口所用的芯片主要有通用可編程I/O芯片和芯片和TTL、CMOS鎖存器、三態(tài)門(mén)電鎖存器、三態(tài)門(mén)電路芯片兩大類。路芯片兩大類。7.2.2 簡(jiǎn)單并行簡(jiǎn)單并行I/O接口的擴(kuò)展接口的擴(kuò)展 采用采用74LS24474LS244做擴(kuò)展輸入、做擴(kuò)展輸入、74LS27374LS273做擴(kuò)展輸做擴(kuò)展輸出的簡(jiǎn)單出的簡(jiǎn)單I/OI/O擴(kuò)展電路。擴(kuò)展電路。P0.789C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6RDLEDX8+5V11P2.0WRD0D6D5D4D3D2D1D7Q0Q
5、6Q5Q4Q3Q2Q1CLRQ7Q0Q6Q4Q2Q5Q3Q1Q7D0D6D4D2D5D3D1D7G74LS27374LS2448R+5VK0K1K2K3K4K5K6K7程序如下: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV DPTR,#0FEFFH;數(shù)據(jù)指針指向I/O口地址 MOVX A,DPTR;從244讀入數(shù)據(jù),檢測(cè)按鍵MOVX DPTR,A ;向273輸出數(shù)據(jù),驅(qū)動(dòng)LEDAJMP MAINEND7.3 鍵盤(pán)與顯示器的擴(kuò)展 7.3.1 基本LED顯示原理 1LED顯示器的結(jié)構(gòu)與原理 d1234abcdpfec dpdegfbaGNDGNDabcdefgd
6、pabcdefgdp+5v8R8Rg共陰極共陰極共陽(yáng)極共陽(yáng)極十六進(jìn)制數(shù)字形代碼表 字型字型共陽(yáng)極代碼共陽(yáng)極代碼共陰極代碼共陰極代碼字型字型共陽(yáng)極代碼共陽(yáng)極代碼共陰極代碼共陰極代碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H滅滅FFH00H880H7FH 2LED顯示器接口方法顯示器接口方法 (1)以硬件為主的接口方法 dgabcdpfeA7A0+5v8R地址譯碼器鎖存器I/O接口譯碼驅(qū)動(dòng)器D0D1D2D3 (2)以軟件為主的接口方
7、法 dgabcdpfe8R驅(qū)動(dòng)器PB0PB2PB7PB6PB5PB4PB3PB181557.3.2 矩陣式鍵盤(pán)的擴(kuò)展 鍵盤(pán)上的鍵按行列構(gòu)成矩陣,在行列的交點(diǎn)上都對(duì)應(yīng)有一個(gè)鍵。 所謂鍵實(shí)際上就是一個(gè)機(jī)械開(kāi)關(guān),被按下則其交點(diǎn)的行線和列線接通。非編碼鍵鍵盤(pán)接口技術(shù)的主要內(nèi)容就是如何確定被按鍵的行列位置,并根據(jù)此產(chǎn)生鍵碼。1鍵輸入過(guò)程與軟件結(jié)構(gòu)鍵輸入過(guò)程與軟件結(jié)構(gòu)鍵掃描有無(wú)鍵按下查鍵號(hào)JMP A+DPTR00#按鍵應(yīng)用程序01#按鍵應(yīng)用程序NN#按鍵應(yīng)用程序A=00HA=01HA=NNH.NY2鍵盤(pán)輸入接口與軟件應(yīng)解決的任務(wù) (1)鍵開(kāi)關(guān)的可靠輸入 抖動(dòng)的處理有硬件處理和軟件處理兩種。 (2)按鍵編碼
8、與鍵號(hào)定義 (3)鍵盤(pán)檢測(cè)與編制鍵盤(pán)程序 3矩陣式鍵盤(pán)電路的結(jié)構(gòu)及工作原理矩陣式鍵盤(pán)電路的結(jié)構(gòu)及工作原理0123106759841114 151312+5VX3X2X1X0Y3Y0Y2Y1 一個(gè)44的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤(pán)。 掃描方法:先令列線Y0為低電平(0),其余3根列線Y1、Y2、Y3都為高電平,讀行線狀態(tài)。如果X0、X1、X2、X3都為高電平,則Y0這一列上沒(méi)有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài);如果Y0這一列上沒(méi)有鍵閉合,接著使列線Y1為低電平,其余列線為高電平。用同樣的方法檢查Y1這一列上有無(wú)鍵閉合,依次類推,最后
9、使列線Y3為低電平,其余列線為高電平,檢查Y3這一列有無(wú)鍵閉合。 4鍵盤(pán)接口舉例 82行列式鍵盤(pán)掃描接口電路 8R P0.0P0.2P0.7P0.6P0.5P0.4P0.3P0.18051B0B1B7B6B5B4B3B2A0A7A6A5A4A3A2A1P1.0P1.1P2.7RD174HC24501A98765432BFECDVCCDIRE鍵盤(pán)掃描的程序(采用查詢方法)鍵盤(pán)掃描的程序(采用查詢方法) KS:MOVDPTR,#7FFFH ;鍵掃描程序CLRP1.0;先掃描第1列(即07號(hào)鍵)MOVX A,DPTR;讀入按鍵狀態(tài)MOV37H,A;暫存按鍵狀態(tài)CPLA;JZKSK1;07號(hào)鍵沒(méi)有鍵操
10、作,則跳LCALL DL20;07號(hào)鍵有操作,則延時(shí)去抖MOVX A,DPTR;再讀鍵狀態(tài)XRLA,37H;和延時(shí)前的狀態(tài)一樣嗎?JZKS1;一樣,則轉(zhuǎn)去查詢鍵號(hào)KSK1:SETBP1.0;開(kāi)始掃描第2列,8F號(hào)鍵CLRP1.1MOVX A,DPTR;讀入按鍵狀態(tài)MOV37H,A;暫存按鍵狀態(tài)CPLAJZKSK2;8F號(hào)鍵沒(méi)有鍵操作,則跳LCALL DL20;8F號(hào)鍵有操作,則延時(shí)去抖MOVX A,DPTR;再讀鍵狀態(tài)XRLA,37H;和延時(shí)前的狀態(tài)一樣嗎?JZKS1;一樣,則轉(zhuǎn)去查詢鍵號(hào)KSK2:AJMPKS9;8F號(hào)鍵也不存在操作,則跳KS1:MOVX A,DPTR;再讀按鍵狀態(tài)CPLAJ
11、NZKS1;按鍵沒(méi)有松開(kāi),則等待松開(kāi)MOVA,37H;查詢有鍵操作的鍵號(hào)JBACC.0,KS2;不是第1個(gè)鍵,則跳MOV37H,#00H;賦鍵初值A(chǔ)JMPKS10KS2:JBACC.1,KS3;不是第2個(gè)鍵,則跳MOV37H,#01H;賦鍵初值A(chǔ)JMPKS10 7.3.4 8255A的應(yīng)用的應(yīng)用 8255A是可編程的并行輸入/輸出接口芯片,通用性強(qiáng)且使用靈活,常用來(lái)實(shí)現(xiàn)與MCS-51系列單片機(jī)的并行I/O擴(kuò)展。 18255A的邏輯結(jié)構(gòu)和信號(hào)引腳的邏輯結(jié)構(gòu)和信號(hào)引腳1234567891011121314158255ARESETGNDWRPA3PA7161718192021222324252627
12、28293031323334353637383940PA5PA4PC7A0A1RDPA0PA1PA2CSPC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PB3PB4PB5PB6PB7VCCD7D6D5D4D3D2D1D0PA6數(shù)據(jù)總線緩沖讀/寫(xiě)控制邏輯組A控制組B控制組AA口組AC口高組BC口低組BB口A1A0RESTCS7D0DRDWR07PAPA47PCPC03PCPC07PBPB 2總線接口電路總線接口電路 (1)數(shù)據(jù)總線緩沖器 (2)讀/寫(xiě)控制器 38255A的工作方式的工作方式 8255A共有三種工作方式,即方式共有三種工作方式,即方式0、方式、方式1和方式和方式2。 (
13、1)方式)方式0 基本輸入基本輸入/輸出方式輸出方式 方式0適合于無(wú)條件數(shù)據(jù)傳送,可供使用的是兩個(gè)8位口(A口和B口)及兩個(gè)4位口(C口高位部分和低位部分)。 (2)方式1 選通輸入/輸出方式 方式1下,A口和B口分別用于數(shù)據(jù)的輸入/輸出。而C口則作為數(shù)據(jù)傳送的聯(lián)絡(luò)信號(hào)。具體定義見(jiàn)表。 方式 1方式 2C口位線輸入輸出輸入輸出PC7OBFAOBFAPC6ACKAACKAPC5IBFAIBFAPC4STBASTBAPC3INTRAINTRAINTRAINTRAPC2STBBACKBPC1IBFBOBFBPC0INTRBINTRB(3)方式2 雙向數(shù)據(jù)傳送方式 只有A口才能選擇這種工作方式,這時(shí)A
14、口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。在這種方式下需使用C口的五位口線作控制線。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。如果把A口置于方式2下,則B口只能工作于方式0。58255A控制字及初始化編程 (1)工作方式控制字 7D6D0D1D2D3D4D5D工作方式控制字C口 低半1=輸入0=輸出B口1=輸入0=輸出方式選擇0=方式01=方式1B組C口 高半0=輸出1=輸入A口1=輸入0=輸出方式選擇00=方式001=方式11 =方式2特征位1=有效A組(2)C口位置位/復(fù)位位控制字 7D6D0D1D2D3D4D5D位 置位/復(fù)位控制字位 置1/置01=置1 0=置0位選擇0=有效000000 0 000
15、00 01 11 1 1 11 111111 2 3 4 5 6 71B0B2B位 置1/置0 標(biāo)志68255A的應(yīng)用的應(yīng)用 8RP0.0P0.2P0.7P0.6P0.5P0.4P0.3P0.18051D0D1D7D6D5D4D3D2Q0Q7Q6Q5Q4Q3Q2Q1P2.7RD74LS373LEOEALE/PWRD0D1D2D3D4D5D6D7RESETRESETWRRDCSA1A0+5V+5V8RLEDK0K1K2K3K4K5K6K7PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4PC5PC6PC78255A ORG0000H AJMPMAIN ORG0030H
16、MAIN:MOVA,#90H;方式;方式0,A口輸入口輸入C口輸出口輸出MOV DPTR,#7FFFH;控制寄存器地址;控制寄存器地址DPTRMOVXDPTR,A ;寫(xiě)入控制寄存器;寫(xiě)入控制寄存器MOV DPTR,#7FFCH;A口地址口地址DPTRMOVXA,DPTR ;接收;接收A口數(shù)據(jù)口數(shù)據(jù)MOV DPTR,#7FFEH;C口地址口地址DPTRMOVXDPTR,A ;將;將A口讀入數(shù)據(jù)送口讀入數(shù)據(jù)送C口輸出口輸出 END 8255A芯片的PA端口的地址為7FFCH,PB端口的地址為7FFDH,PC端口的地址為7FFEH,控制寄存器的地址為7FFFH。可用“MOVX”指令來(lái)訪問(wèn)這些端口。7
17、.3.5 8155的應(yīng)用 1234567891011121314158155PB6IO/MPB7PC3PC016171819202122232425262728293031323334353637383940PC2VCCWRRDCEPC5RESETPC4TIMER OUTALEAD0AD1AD2AD3AD4AD5AD6AD7VSSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PC1TIMER IN256字節(jié)靜態(tài)RAMA口B口C口14位定時(shí)計(jì)數(shù)器ALERESETIO/M7AD0ADRDWR07PAPA07PBPB05PCPCTIMER INTIMEROUTV
18、CCGND1.主要接口信號(hào)引腳 AD7AD0:地址數(shù)據(jù)復(fù)合線。 ALE:地址信號(hào)鎖存信號(hào),除進(jìn)行AD7AD0的地址鎖存控制外,還用于把片選信號(hào)和等信號(hào)進(jìn)行鎖存。 :讀選通信號(hào)。 :寫(xiě)選通信號(hào)。 :片選信號(hào)。 :I/O與片內(nèi)RAM選擇信號(hào)。8155內(nèi)部的I/O口與RAM是分開(kāi)編址的,要使用控制信號(hào)進(jìn)行區(qū)分。 RESET:復(fù)位信號(hào)。8155以600ns的正脈沖進(jìn)行復(fù)位后,復(fù)位后A、B、C口均為輸入方式。RDWRCEM/IO PA和和PB都是都是8位通用輸入位通用輸入/輸出口,只有輸入輸出口,只有輸入/輸出輸出兩種工作方式。而兩種工作方式。而PC口則為口則為6位口,它既可以作為數(shù)位口,它既可以作為數(shù)
19、據(jù)口用于數(shù)據(jù)的據(jù)口用于數(shù)據(jù)的I/O傳送,也可以用于傳送控制信號(hào)傳送,也可以用于傳送控制信號(hào)和狀態(tài)信號(hào),對(duì)和狀態(tài)信號(hào),對(duì)PA和和PB的的I/O操作進(jìn)行控制。操作進(jìn)行控制。PC口具口具有有4種工作方式,即輸入方式、輸出方式、種工作方式,即輸入方式、輸出方式、PA口控制口控制端口方式以及端口方式以及PA和和PB口控制端口方式。口控制端口方式。 方式口位作 PA 控制端口作 PA 和 PB 控制端口PC0AINTRAINTRPC1IBFIBFPC2ASTBASTBPC3輸出BINTRPC4輸出BBFPC5輸出BSTBRAM單元及I/O編址 8155共有256個(gè)RAM單元,加上6個(gè)可編址的端口。為此81
20、55引入了8位地址AD7AD0,無(wú)論是RAM還是可編址端口都使用這8位地址進(jìn)行編址??删幹返?個(gè)端口地址是:命令/狀態(tài)寄存器、PA口、PB口、PC口、定時(shí)器/計(jì)數(shù)器低8位以及定時(shí)器/計(jì)數(shù)器高8位。 28155的命令/狀態(tài)字 8155有一個(gè)命令/狀態(tài)寄存器,實(shí)際上這是兩個(gè)不同的寄存器,分別存放命令字和狀態(tài)字。 (1)命令字 命令字共8位,用于定義端口及定時(shí)器/計(jì)數(shù)器的工作方式。對(duì)命令寄存器只寫(xiě)不能讀。 ALT1:A口、B口基本輸入輸出,C口輸入。 ALT2:A口、B口基本輸入輸出,C口輸出。 ALT3:A口選通輸入輸出,B口基本輸入輸出,PC0: AINTR,PC1:ABF,PC2: ,PC5P
21、C3:輸出。 ALT4:A口、B口選通輸入輸出,PC0:AINTRPC1:ABF, PC2:,PC3:BINTR,PC4:BBF,PC5: 。ASTBBSTB 8155命令字格式 7D6D0D1D2D3D4D5D命令字0=輸入1=輸出B口方式00=ALT110=ALT30=中斷禁止1=中斷允許C口方式A口方式定時(shí)器方式00=無(wú)操作01=停止計(jì)數(shù)10=計(jì)滿后停止01=ALT211=ALT4A口中斷B口中斷11=開(kāi)始計(jì)數(shù) 8155狀態(tài)字格式 7D6D0D1D2D3D4D5D狀態(tài)字A口中斷請(qǐng)求標(biāo)志定時(shí)器中斷標(biāo)志,定時(shí)器計(jì)數(shù)到指定長(zhǎng)度時(shí)置“1”,讀取后狀態(tài)清“0”B口中斷請(qǐng)求標(biāo)志A口緩沖器清標(biāo)志A口中
22、斷允許標(biāo)志B口緩沖器清標(biāo)志B口中斷允許標(biāo)志INTR AABFINTE AINTR BBBFINTE BTEMER38155的定時(shí)器/計(jì)數(shù)器 8155的定時(shí)器/計(jì)數(shù)器是一個(gè)14位的減法計(jì)數(shù)器,由兩個(gè)8位寄存器構(gòu)成,其中的低14位組成計(jì)數(shù)器,剩下的兩個(gè)高位(M2、M1)用于定義計(jì)數(shù)器輸出的信號(hào)形式。T13T0為計(jì)數(shù)器的計(jì)數(shù)初值,M2、M1表示計(jì)數(shù)器的輸出方式。7D6D0D1D2D3D4D5D2M1M7D6D0D1D2D3D4D5DT13 T12T11T10T9T8T7T6T5T4T3T2T1T0輸出方式計(jì)數(shù)器高6位計(jì)數(shù)器低8位48051單片機(jī)與8155的接口及應(yīng)用 8RP0.0P0.2P0.7P0
23、.6P0.5P0.4P0.3P0.18051P2.7RDALEWRAD0AD1AD2AD3AD4AD5AD6AD7RESETRESETWRRDCE+5V+5V8RPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB78155ALEP2.0IO/MK0K1K2K3K4K5K6K7程序: ORG0000H AJMPMAINORG0030H MAIN:MOV DPTR,#7F00H;指向命令字端口MOV A,#02H;A口為輸入,B口、C口為輸出MOVXDPTR,A;送命令字MOV DPTR,#7F01H;指向A口地址MOVXA,DPTR;讀入A口的數(shù)據(jù)IN
24、CDPTR;指向B口MOVXDPTR,A;數(shù)據(jù)送入B口AJMP MAINEND7.3.6 8279的應(yīng)用 18279的內(nèi)部結(jié)構(gòu)原理 顯示地址寄存器16 8顯示RAM控制與定時(shí)寄存器8 8FIFO/傳感器RAM鍵盤(pán)反彈與控制顯示寄存器定時(shí)與控制掃描計(jì)數(shù)器回復(fù)數(shù)據(jù)緩沖器I/O控制FIFO/傳感器RAM的狀態(tài)寄存器IRQA0CSWRRDCLK RESET7D0D83OUTA0OUTA3OUTB0OUTB3SL0SL47RL0RLSHIFT CNTL/STBBD828279的管腳及引線功能 (1)D0D7:雙向、三態(tài)數(shù)據(jù)總線。用與CPU和8279之間數(shù)據(jù)、命令和狀態(tài)的傳送。 (2)CLK:時(shí)鐘輸入線,
25、用于產(chǎn)生內(nèi)部時(shí)鐘。 (3)RESET:復(fù)位輸入線,該引腳輸入一個(gè)高電平以復(fù)位8279。其復(fù)位狀態(tài)為:16個(gè)字符顯示左邊輸入;編碼掃描鍵盤(pán)雙鍵鎖定;時(shí)鐘系數(shù)為31。 (4) :讀有效輸入線,低電平有效。讀有效時(shí)將數(shù)據(jù)讀出,送外部數(shù)據(jù)總線。 (5) :寫(xiě)有效輸入線,低電平有效。寫(xiě)有效時(shí)接收外部數(shù)據(jù)總線上的數(shù)據(jù)。1234567891011121314158279RL6WRRL2CNTL/STB16171819202122232425262728293031323334353637383940RL1VCCRL5RL4RL7RDIRQCLKRL3CSSHIFTD0D1D2D3D4D5D6D7GNDA0O
26、UTB0SL0SL1SL2RL0OUTB1OUTB2OUTB3OUTA0OUTA3OUTA2OUTA1BDSL4RDWR引線功能 6)A0:緩沖器地址輸入線。當(dāng)A0=1時(shí)CPU寫(xiě)入8279的數(shù)據(jù)為命令字,CPU從8279讀出的數(shù)據(jù)為狀態(tài)字;當(dāng)A0=0時(shí),CPU讀、寫(xiě)的信息均為數(shù)據(jù)。 (7) :片選信號(hào)。當(dāng)為低電平時(shí),CPU才選中8279進(jìn)行讀寫(xiě)。 (8)IRQ:中斷請(qǐng)求輸出線,高電平有效。在鍵盤(pán)工作方式中,當(dāng)FIFO RAM緩沖器中存有鍵盤(pán)上閉合鍵的編碼時(shí),IRQ線升高,向CPU請(qǐng)求中斷 (9)SHIFT:換擋輸入線,高電平有效。 (10)CNTL/STB:控制/選通輸入線,高電平有效。在鍵盤(pán)
27、工作方式時(shí),該輸入信號(hào)是鍵盤(pán)數(shù)據(jù)的最高位。在選通輸入方式時(shí),該信號(hào)的上升沿可把來(lái)自RL0RL7的數(shù)據(jù)存入FIFO RAM中。在傳感器方式下,該信號(hào)無(wú)效。CS引線功能 (11)RL0RL7:輸入線,它們是鍵盤(pán)矩陣或傳感器矩陣的列(或行)信號(hào)輸入線。作為鍵輸入線,由內(nèi)部上拉電阻拉成高電平,也可由鍵盤(pán)上按鍵拉成低電平。 (12)SL0SL3:掃描輸出線,用于對(duì)鍵盤(pán)顯示器掃描。 (13)OUTA0OUTA3:顯示段數(shù)據(jù)輸出線。 (14)OUTB0OUTB3:顯示段數(shù)據(jù)輸出線。OUTB0OUTB3和OUTA0OUTA3可分別作為兩個(gè)半個(gè)字節(jié)輸出,也可作為8位段數(shù)據(jù)輸出口,此時(shí)OUTB0為最低位,OUTA
28、3為最高位。 (15)BD:顯示消隱輸出線,低電平有效。38279的命令格式與命令字 8279控制命令字 D7D6D5功能方式目的000方式設(shè)置選擇顯示位數(shù)、左或右送入和鍵盤(pán)掃描方式001時(shí)鐘編程編程內(nèi)部時(shí)鐘,設(shè)置掃描時(shí)間010讀FIFO選擇讀FIFO的方式和讀的地址011讀顯示RAM選擇顯示RAM讀的方式和讀的地址100寫(xiě)顯示選擇寫(xiě)的方式和顯示RAM寫(xiě)的地址101顯示寫(xiě)禁止允許屏蔽半字節(jié)110清除命令清除顯示或FIFO111中斷結(jié)束清除給CPU的IRQ信號(hào)4狀態(tài)格式與狀態(tài)字 其中:NNN(D2、D1、D0)為表示FIFO RAM中字符的個(gè)數(shù)(閉合鍵次數(shù));FIFO中無(wú)字符(無(wú)鍵閉合)時(shí),該3
29、位為000;F(D3)為FIFO滿標(biāo)志。當(dāng)F=1時(shí),表示FIFO RAM已滿(存入8個(gè)鍵入數(shù)據(jù));U(D4)為讀空標(biāo)志。當(dāng)FIFO RAM中沒(méi)有輸入字符時(shí),CPU對(duì)FIFO RAM讀,該位置“1”;O(D5)為FIFO RAM溢出標(biāo)志。當(dāng)FIFO已滿,又輸入一個(gè)字符時(shí)發(fā)生溢出,該位置“1”;S/E(D6)為S/E用于傳感器矩陣輸入方式,幾個(gè)傳感器同時(shí)閉合時(shí)置“1”;DU(D7)為顯示無(wú)效特征位。 D7 D6 D5 D4 D3D2 D1 D0DUS/EOUFNNN5輸入數(shù)據(jù)格式 (1)在鍵掃描方式中,鍵輸入數(shù)據(jù)格式如下: D7 D6 D5 D4 D3D2 D1 D0CNTLSHIFT掃描碼回送碼
30、 (2)傳感器方式或選通方式中,輸入數(shù)據(jù)格式為: D7 D6 D5 D4 D3D2 D1 D0RL7RL6RL5RL4RL3RL2R1LRL068279與鍵盤(pán)/顯示器的接口 P0.789C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6RD+5VP2.7WRCLKA0D0D6D5D4D3D2D1D7CSRDWRINT1IRQALEY7Y074LS138ABCSL0SL1SL2RL7RL6RL5RL4RL3RL2RL1RL0BIC8708RESETCNTLSHIFT+5VBIC8708+5Vabcdefgdp74LS373B0B1B2B3A0A1A2A3012345678910111
31、213141520u2k8279初始化程序: Z8279EQU7FFFH;8279狀態(tài)口地址 D8279EQU7FFEH;8279數(shù)據(jù)口地址 INIT8279:MOV DPTR,#Z8279;指向命令/狀態(tài)口MOV A,#0D1H;送清除命令MOVXDPTR,A WAIT:MOVXA,DPTR;讀入8279狀態(tài)字JBACC.7,WAIT;等待清除命令完成MOV A,#00H;送方式字MOVXDPTR,AMOV A,#2AH;設(shè)置分頻命令字MOVXDPTR,ASETB EA讀取鍵盤(pán)子程序: PINT1:PUSH PSWPUSH DPHPUSH DPL PUSHAMOV DPTR,#Z8279MO
32、VXA,DPTR;讀8279狀態(tài)ANLA,#07HJNZGETVAL;判斷是否有鍵輸入MOV A,#00H;置無(wú)鍵輸入標(biāo)志SJMP NKBHIT GETVAL:MOV A,#40H;輸出讀FIFO命令MOVXDPTR,AMOV DPTR,#D8279;讀鍵輸入值 MOVXA,DPTR ANL A,#3FH;屏蔽SHIFT和CTRL鍵 MOVDPTR,#KEYCODE;鍵碼表起始地址 MOVCA,A+DPTR;查表 MOVB,A;置返回鍵值 MOVA,#0FFH;置有鍵輸入標(biāo)志 PRI1:POPA POPDPL POPDPH POPPSW RET顯示字符子程序: DISLED: PUSH DPH
33、PUSH DPLPUSH AMOV DPTR,#Z8279H;輸出寫(xiě)顯示RAM命令MOV A,#90HMOVXDPTR,AMOV R0,#70H;顯示數(shù)據(jù)的起始地址MOV R7,#08HMOV DPTR,#D8279H DL0:MOV A,R0ADDA,#05HMOVCA,A+PC;顯示數(shù)據(jù)轉(zhuǎn)換為段碼MOVXDPTR,A;寫(xiě)入顯示RAMINCR0 DJNZ R7,DL0RET LEDSEG:DB3FH,06H,5BH,4FH,66H,6DH;DB7DH,07H,7EH,6FH,77H,7CHDB39H,5EH,79H,71H7.4 存儲(chǔ)器擴(kuò)展存儲(chǔ)器擴(kuò)展 9.4.1 利用P0口與P2口擴(kuò)展數(shù)據(jù)存
34、儲(chǔ)器 1典型數(shù)據(jù)存儲(chǔ)器的擴(kuò)展方法 訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器時(shí),僅用4條寄存器間接尋址指令: MOVXA,Ri MOVXA,DPTR MOVXRi,A MOVXDPTR,A2典型數(shù)據(jù)存儲(chǔ)器的擴(kuò)展電路 (1)6116靜態(tài)RAM的擴(kuò)展 A10A0:地址線 D7D0:數(shù)據(jù)線 :片選信號(hào) :數(shù)據(jù)輸出允許信號(hào) :寫(xiě)選通信號(hào) VCC:電源(+5V) GND:地123456789101112136116D0A1D2A7A2A3A0D1A4A5A6D7CEVCCA8A9WEOEA10GND1415161718192021222324D3D4D5D66116工作方式選擇 狀態(tài)CEOEWED7D0未選中1高阻禁止011高
35、阻讀出001數(shù)據(jù)讀出寫(xiě)入010數(shù)據(jù)寫(xiě)入擴(kuò)展6116靜態(tài)RAM 74LS3738051P0ALEGRDWRWEOE6116 EA+5V07D07A810A0 . 22 . 2PCE7.4.2 串行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 傳統(tǒng)擴(kuò)展數(shù)據(jù)存儲(chǔ)器的并行方法占用了CPU的P0口和P2口以及部分P3口的寶貴端口I/O線資源,而狀態(tài)顯示、鍵盤(pán)操作、A/D轉(zhuǎn)換等所需要的I/O口往往還要進(jìn)行擴(kuò)充,其結(jié)果是電路結(jié)構(gòu)復(fù)雜,總線外置,抗干擾性能差。解決這個(gè)問(wèn)題可采用串行擴(kuò)展數(shù)據(jù)存儲(chǔ)器的方法。 1. X24128引腳說(shuō)明 X24128有三種封裝形式:14-SOIC、16-SOIC和8-PDIP VCC、VSS:為電源的正、負(fù)極輸入端。 SCL:串行時(shí)鐘輸入端。 SDA:串行數(shù)據(jù)輸入與輸出的共用管腳。漏極輸出。 WP:硬件寫(xiě)保護(hù)輸入管腳 。 S0、S1、S2:器件選擇輸入端。 12345678X24128S0VSSS2S1VCCWPSCLSDA2地址選擇 X24128內(nèi)部EEPROM由16K8位組成 ,地址為0000H3FFFH。 在器
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修與物業(yè)合作協(xié)議
- 2025年個(gè)人房產(chǎn)投資買(mǎi)賣(mài)合同范本下載2篇
- 2025年度個(gè)人教育培訓(xùn)擔(dān)保合同模板
- 2025年度個(gè)人房產(chǎn)買(mǎi)賣(mài)合同售后服務(wù)保障條款4篇
- 2025年度個(gè)人股權(quán)轉(zhuǎn)讓合同(上市公司并購(gòu)案)4篇
- 2025年度租賃車輛事故責(zé)任認(rèn)定合同3篇
- 2025-2030全球純化型氮?dú)獍l(fā)生器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)硫化物固態(tài)電解質(zhì)材料行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球行李儲(chǔ)存系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球水冷單螺桿式冷水機(jī)組行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年人教五四新版八年級(jí)物理上冊(cè)階段測(cè)試試卷含答案
- 不同茶葉的沖泡方法
- 2025年春季1530安全教育記錄主題
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 建筑勞務(wù)專業(yè)分包合同范本(2025年)
- 企業(yè)融資報(bào)告特斯拉成功案例分享
- 五年(2020-2024)高考地理真題分類匯編(全國(guó)版)專題12區(qū)域發(fā)展解析版
- 《阻燃材料與技術(shù)》課件 第8講 阻燃木質(zhì)材料
- 低空經(jīng)濟(jì)的社會(huì)接受度與倫理問(wèn)題分析
- GB/T 4732.1-2024壓力容器分析設(shè)計(jì)第1部分:通用要求
- 河北省保定市競(jìng)秀區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末生物學(xué)試題(解析版)
評(píng)論
0/150
提交評(píng)論