第六章MCS51存儲器和IO擴展_第1頁
第六章MCS51存儲器和IO擴展_第2頁
第六章MCS51存儲器和IO擴展_第3頁
第六章MCS51存儲器和IO擴展_第4頁
第六章MCS51存儲器和IO擴展_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章MCS-51存儲器和I/O擴展

§6-1存儲器擴展 §6-2并行I/O口擴展§6-1存儲器擴展

一、MCS-51總線擴展結(jié)構(gòu) 1、單片機系統(tǒng)結(jié)構(gòu) 2、單片機總線擴展結(jié)構(gòu) (1)

地址線與存儲器容量的關(guān)系 A7~A0: 8根地址線, 有 28=256個單元 A9~A0: 10根地址線, 有 210=1KB A10~A0: 11根地址線, 有 211=2K A11~A0: 12根地址線, 有 212=4K A12~A0: 13根地址線, 有 213=8K等等 (2)16位地址/8位數(shù)據(jù)的形成

51系列單片機P0口和P2口既是通用I/O口,同時P0口還是分時復(fù)用的雙向數(shù)據(jù)總線和低8位地址總線(一般需要加一級鎖存器),而P2口則是高8位地址總線。

低8位地址和數(shù)據(jù)的區(qū)分:ALE高電平信號與P0口有效地址信號同時出現(xiàn),ALE下降沿時鎖存低8位地址,ALE低電平時P0口為數(shù)據(jù)。 高8位地址的形成:有P2口送出高8位地址,A15~A8,在執(zhí)行MOVX、MOVC指令時P2口數(shù)據(jù)作為地址送出,常用來作為RAM、ROM的片選信號。(3)地址鎖存器---74LS373(8D三態(tài)同相鎖存器) ①引腳功能: D7~D0:8位并行數(shù)據(jù)輸入端 Q7~Q0:8位并行數(shù)據(jù)輸出端G: 為1時D端數(shù)據(jù)=Q端數(shù)據(jù),為0時Q端數(shù)據(jù)保持。:片選端,低電平有效 ②74LS373的引腳和示意圖:

③真值表: G D Q L H H H L H L L L L × 不變 H × × 高阻 3、典型RAM和ROM芯片介紹 1)

半導(dǎo)體存儲器的分為:RAM和ROM。RAM分為靜態(tài)RAM(SRAM)和動態(tài)RAM(DRAM)兩種。目前計算機內(nèi)的主存儲器都是DRAM。圖示為靜態(tài)RAM的原理圖2)6116的引腳結(jié)構(gòu)如下圖所示6116----2KSRAM6116引腳功能A0~A10地址線CE選片OE讀D0~D7數(shù)據(jù)線A7A6A5A4A3A2A1A0D0D1D2GNDVccA8A9WEOEA10CED7D6D5D4D36116寫WE3)ROM的組成結(jié)構(gòu) 典型的EPROM芯片有Intel公司的2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。2732---4KEPROM2732引腳功能A0-A11地址線CE選片OE/Vpp輸出允許/編程電源O0-O7數(shù)據(jù)線A7A6A5A4A3A2A1A0O0O1O2GNDVccA8A9A11OE/VppA10CEO7O6O5O4O32732二、存儲器擴展的基本方法 1、存儲器擴展的基本問題。

1)擴展容量:16根地址線最大可擴展到64K

2)擴展要解決的問題:地址線、擴展芯片在64K范圍內(nèi)所占的地址范圍

3)存儲器擴展的編址:存儲芯片片的選擇、片內(nèi)單元的編址

4)選擇芯片的方法:片選技術(shù) 2、存儲器擴展的片選技術(shù) 一般產(chǎn)生片選有兩種方法:線選法和譯碼法。(1)線選法 線選法用低位地址線對片內(nèi)的存儲單元進行尋址,所需的地址線由片內(nèi)地址線決定,用余下的高位地址線分別接至芯片的片選端,以區(qū)分各芯片的地址范圍。例如要擴展8K容量的外RAM,地址線和片選如下: 地址線:log2(8K)=log2(213)=13條(A12~A0)

片選線:余下的A15~A13分別接至芯片的片選端。A15~A13輪流 出現(xiàn)低電平,可保證一次只選一片。

用線選法擴展存儲器的缺點 ①

各芯片間地址不連續(xù)。而習(xí)慣上使用連續(xù)地址,如24K范圍地址從0000H到5FFFH。

有相當(dāng)數(shù)量的地址不能使用,否則造成片選混亂。 例6-1擴展三片2K存儲芯片,試用線選法給出接線圖和地址。分析:顯然要11根地址線和3根片選線,分配如下低位地址線:P0.7~P0.0--A7~A0,P2.2~P2.0--A10~A8, 合成11根地址線;高位地址線:P2.5、P2.4、P2.3--A13、A12、A11,作3片的片選,余下:P2.7、P2.6不用,取00 擴展接線結(jié)構(gòu)如圖:編址: P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7~P0.0 1號片0 01 1 000000H 0 011 0111FFH2號片 0 01 0 100000H 0 01 0 1111FFH3號片 0 00 1 100000H 0 001 1111FFH 顯然,三片的地址范圍是: 1號片 3000H~37FFH 2號片 2800H~2FFFH 3號片 1800H~1FFFH (2)譯碼法

譯碼法將低位地址總線直接連至各芯片的地址線,將高位地址總線經(jīng)地址譯碼器譯碼后作為各芯片的片選信號。 一般使用2/4譯碼器、3/8譯碼器,對P2口高位地址線進行譯碼,適用于大規(guī)模擴展。

2/4譯碼器、3/8譯碼器的引腳圖:如圖所示

74LS13974LS138

ABCG2AG2BGY7GNDVccY0Y1Y2Y3Y4Y5Y61162153144135126117108974LS138

1G1A1B1Y01Y11Y21Y3GNDVcc2G2A2B2Y02Y12Y22Y31162153144135126117108974LS13974LS138真值表例如:在上例中同樣擴展三片2K存儲芯片,采用譯碼法

低位地址線:同前P0口A7~A0,P2口A10~A8,合成作為11根地址線 ①2/4譯碼器作為片選

高位地址線:P2口A12、A11,作為譯碼器輸入,利用2/4譯 碼輸出端Y0、Y1、Y2作為片選。 三個信號作為3片芯片的片選,實際上可選4片,本例只需3片 擴展接線結(jié)構(gòu)如圖:編址: P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7~P0.0 1號片0 00 0 000000H 0 00 0 0111FFH2號片 0 00 0 100000H 0 00 0 1111FFH3號片 0 00 1 000000H 0 00 1 0111FFH 顯然,三片的地址范圍是: 1號片 0000H~07FFH 2號片 0800H~0FFFH 3號片 1000H~17FFH②3/8譯碼器作為片選 高位地址線:P2口A13、A12、A11,作為譯碼器輸入,利用 3/8譯碼輸出端Y0、Y1、Y2三個信號作為3片 芯片的片選,實際上可選8片,本例只需3片 擴展接線結(jié)構(gòu)如圖:編址: P2.7、P2.6、P2.5、P2.4、P2.3、P2.2、P2.1、P2.0P0.7~P0.0 1號片0 000 000000H 0 00 0 0111FFH2號片 0 00 0100000H 0 000 1111FFH3號片 0 00 1 000000H0 001 0111FFH 顯然,三片的地址范圍是: 1號片 0000H~07FFH 2號片 0800H~0FFFH 3號片 1000H~17FFH三、存儲器擴展實例

1、

擴展外ROM 1)擴展一片4K容量的EPROM,2732 地址線:A11~A0,共12根,接8031的P2.3~.P2.0,P0.7~P0.0 片選線:P2.7~P2.4,不用,取0值,2732片選端直接接地,常選中。

擴展接線結(jié)構(gòu)如圖:

數(shù)據(jù)線:P0.7~P0.0→2732的D7~D0 控制線:PSEN→2732的OE端,ALE→鎖存器74LS373門控端G 2732的地址范圍:0000H~0FFFH

2)線選法擴展二片2K容量的EPROM,2716,共4K 地址線:A10~A0,共11根,接8031的P2.2~P2.0,P0.7~P0.0

片選線:利用P2.3,加一個非門,接存儲芯片的片選端,既 可完成2片的選擇,而P2.7~2.4,取0值 數(shù)據(jù)線:P0.7~P0.0→分別接2片2732的D7~D0 控制線:PSEN→分別接2片2732的OE端 ALE→鎖存器74LS373的門控端G

擴展的接線如下頁圖所示: 2732的地址范圍:

1號片0000H~07FFH 2號片0800H~0FFFH擴展的接線如下頁圖所示:

2、

擴展外RAM 1)擴展一片2K容量的RAM,6116 地址線:A10~A0,共11根,接8031的P2.2~P2.0,P0.7~P0.0 片選線:P2.7~P2.3,不用,取0值,因為只擴展1片,6116片 選端直接接地,常選中 數(shù)據(jù)線:P0.7~P0.0→6116的D7~D0 控制線: WR→6116的WE端 RD→6116的OE端 ALE→鎖存器74LS373的門控端G 6116的地址范圍:0000H~07FFH

2)線選法擴展二片2K容量的RAM,6116,一片4K容量的 ROM,2716 接線圖如下頁所示:擴展一片2K容量的RAM,6116

線選法擴展二片2K容量,6116,一片4K容量,2716

2716:0000H~07FFH 6116(1):0000H~07FFH 6116(2):0800H~0FFFH§6-2并行I/O口擴展 一、用74系列器件擴展并行I/O口 常用并行I/O擴展芯片,如74LS244、74LS245、273、74LS377等 1、74LS273

2、74LS2443、擴展實例 高位地址組合法,如圖所示:輸入:74LS244擴展K0~K7 并由P2.0+RD端,全0時,74LS244選通讀入 K0~K7狀態(tài)。實現(xiàn): MOV DPTR,#FEFFH

MOVX A,@DPTR ;讀入輸出:74LS273擴展LED0~LED7 并由P2.0+WR端,全0時,74LS273將P0口數(shù)據(jù) 送出,控制LED0~LED7實現(xiàn): MOVX @DPTR,A ;輸出二、可編程并行接口8255A

1、8255A的基本性能

可編程外設(shè)接口電路(ProgrammablePeripheralInterface)簡稱PPI,型號為8255(改進型為8255A及8255A-5),具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電路。

8255A具有三個相互獨立的輸入/輸出通道: 通道A、通道B、通道C。

A,B,C三通道可以聯(lián)合使用,構(gòu)成單線、雙線或三線聯(lián)絡(luò)信號的并行接口。 此時C口完全服務(wù)于A、B口。

A口有三種工作方式:方式0、方式1、方式2。 B口有兩種工作方式:方式0、方式1。 2、8255A內(nèi)部結(jié)構(gòu)

8255A內(nèi)部結(jié)構(gòu)由以下四部分組成:數(shù)據(jù)端口A、B、C;A組控制和B組控制;讀/寫控制邏輯電路;數(shù)據(jù)總線緩沖器。結(jié)構(gòu)如圖所示

(1)3個數(shù)據(jù)端口A、B、C,分為A、B兩組。A組:PA7~PA0;PC7~PC4。B組:PC3~PC0;PB7~PB0。(2)A組控制和B組控制。這兩組控制部件都從讀/寫控制邏輯接收命令,從內(nèi)部數(shù)據(jù)總線接收控制字,并向有關(guān)的口發(fā)出適當(dāng)?shù)拿?。?)讀/寫控制邏輯。該部件的功能是管理所有的內(nèi)部和外部的傳送過程,包括數(shù)據(jù)及控制字。接收來自CPU地址總線和控制總線的輸入信號,然后向A和B兩組的控制部件發(fā)送命令。(4)數(shù)據(jù)總線緩沖器三態(tài)雙響8位緩沖器。8255A的引腳分兩部分:(1)與CPU相連。RESET: 復(fù)位,高電平有效。復(fù)位后所有內(nèi)部寄存器清除,I/O口均被置成輸入方式。D7~D0:數(shù)據(jù)線和系統(tǒng)總線相連。CS:片選,低電平有效。接地址譯碼器。A0、A1:口選線,用于選擇3個數(shù)據(jù)口和控制字。RD:讀允許,低電平有效。WD:寫允許,低電平有效。(2)與外設(shè)相連。PA0~PA7:A端口;PB0~PB7:B端口;PC0~PC7:C端口。2、8255A的控制字與狀態(tài)字8255A有三種工作方式可選擇:方式0:基本的輸入/輸出方式;方式1:帶選通的輸入/輸出方式;方式2:雙向傳輸方式。(1)方式選擇控制字設(shè)8255A地址為320~323;要求A口方式0輸出;B口方式0輸入;C口高4位輸入;C口低4位輸出。方式選擇控制為8A。

10001010(2)C口個別位置1/置0控制字設(shè)8255A地址為320~323;要求PC7置1;PC3置0。

00001111(3)讀C口的狀態(tài)字方式1和方式2時,C口發(fā)送或者接收與外部設(shè)備進行聯(lián)絡(luò)的信號。方式1的輸入狀態(tài)字方式1輸出狀態(tài)字方式2狀態(tài)字3、8255A的工作方式與操作時序(1)方式0基本輸入/輸出方式3個口都可提供簡單的輸入和輸出操作。提供兩個8位口(A和B);提供兩個4位口(PC0~3,PC4~7)。(2)方式1選通輸入/輸出方式A、B兩口都可工作在該方式下,可以輸入也可以輸出;C口的某些位用來作為選通信號。輸入輸出時選通信號不同。選通輸入方式C口狀態(tài)字INTEAINTEBSTB:選通輸入信號,低電平有效。有效時把輸入裝置的數(shù)據(jù)送入輸入鎖存器。IBF:輸入緩沖器滿信號,高電平有效。有效時,表示數(shù)據(jù)已輸至輸入鎖存器。由STB信號置位,由RD信號的后沿使其復(fù)位。INTR:中斷請求信號,高電平有效。是8255A向CPU發(fā)出的中斷請求信號。當(dāng)STB、IBF和INTE(中斷允許)均為高時被置位,由RD信號的下沿清除。INTE:中斷允許信號,高電平有效。由PC4和PC2來置位或清0。選通輸出方式C口狀態(tài)字INTEAINTEBOBF:輸出緩沖器滿信號,低電平有效。有效時表明CPU把數(shù)據(jù)輸出給指定的端口,外設(shè)可以輸出數(shù)據(jù)。ACK:外設(shè)響應(yīng)信號,低電平有效。有效時,表示數(shù)據(jù)已被外設(shè)接受。INTR:中斷請求信號,高電平有效。是8255A向CPU發(fā)出的中斷請求信號。當(dāng)INTE(中斷允許)為高且ACK由低變高時被置位,由WR信號的下沿清除。INTE:中斷允許信號,高電平有效。由PC6和PC2來置位或清0。(3)方式2雙向傳輸方式只允許A口使用該方式,8位總線實現(xiàn)雙向通信。INTRA:中斷請求信號,高電平有效。輸入輸出均可采用該信號。OBFA:輸出緩沖器滿信號,低電平有效。表示CPU已把數(shù)據(jù)寫入A口。ACKA:外設(shè)輸入響應(yīng)信號,低電平有效。有效邊沿啟動端口A的三態(tài)輸出緩沖器,送出數(shù)據(jù)。INTE1:與OBFA有關(guān)的中斷允許信號。STBA:外設(shè)送來的輸入選通信號,低電平有效。IBFA:輸入緩沖器滿信號,高電平有效。INTE2:與IBFA有關(guān)的中斷允許信號。8255A的A端口工作在方式2時,B端口可以工作在0或1方式。工作方式:

1)方式0

是一種基本輸入或輸出方式,它適用于無需握手信號的簡單輸入輸出應(yīng)用場合,端口A、B、C都可作為輸入或輸出數(shù)據(jù)使用,輸出有鎖存而輸入無鎖存。 2)方式1

也稱選通的輸入/輸出方式。在這種方式下,無論是輸入還是輸出都通過應(yīng)答關(guān)系實現(xiàn),這時端口A或B用作數(shù)據(jù)口,端口C的一部分引腳用作握手信號線與中斷請求線。 若端口A工作于方式1,則B可工作于方式0;·

若端口B工作于方式1,則A可工作于方式0或余下的13位可工作于方式0;·

若端口A和B同時工作于方式1,端口C余下的兩位還可用于傳送數(shù)據(jù)或控制信號。 3、MCS-51和8255A的接口方法 如圖所示為MCS-51和8255A的一種接口邏輯。 PA口、PB口、PC口、控制口的地址分別為:7FFCH、7FFDH、7FFEH、7FFFH。

假設(shè)圖中8255A的PA口接一組開關(guān),PB接一組指示燈,如果,要將MCS-51的寄存器R2的內(nèi)容送指示燈顯示,將開關(guān)狀態(tài)讀入MCS-51的累加器A,則8255初始化和輸入/輸出程序如下: ORG1000H R8255: MOVDPTR,#7FFFH; MOVA,#98H MOVX@DPTR,A MOVDPTR,#7FFDH MOVA,R2 MOV@DPTR,A MOVDPTR,#7FFCH MOVXA,@DPTR RET*三、可編程并行接口芯片8155

與8255A相比,8155具有更強的功能,可以擴展單片機的I/O口、定時器、外部數(shù)據(jù)存儲器RAM。

1、8155芯片的構(gòu)成 1)邏輯結(jié)構(gòu) 2)引腳圖 3)接口信號8155芯片的內(nèi)部結(jié)構(gòu)256B靜態(tài)RAM

A

定時器B

C

口APA0~PA7口BPB0~PB7PC0~PC5口CIO/MAD0~AD7CEALERDWRRESET定時器輸入定時器輸出接單片機接外設(shè)接外設(shè)接外設(shè)8155引腳功能PC3PC4

PC5

IO/MCERDWRALEAD0AD1AD2AD3AD4AD5AD6AD7VssVccPC2PC1PC0PB7PB6PB5PB4PB3PB2PB1PB0PA7PA6PA5PA4PA3PA2PA1PA08155TIMERINRESETTIMEROUTAD0-AD7三態(tài)地址/數(shù)據(jù)線IO/M端口/存儲器選擇RD讀ALE地址鎖存允許寫WR選片CE定時器輸入TIMERIN定時器輸出TIMEROUTPA0-PA7A口端口線PB0-PB7B口端口線PC0-PC5C口端口線PA0-PA7端口A的I/O線(8位,接外設(shè))PB0-PB7端口B的I/O線(8位,接外設(shè))PC0-PC5端口C的I/O線(6位,接外設(shè))AD0-AD7三態(tài)地址/數(shù)據(jù)復(fù)用線(8位,一般接單片機P0口,CPU與8155之間的地址、數(shù)據(jù)、命令、狀態(tài)等信號都通過它來傳送)端口/存儲器選擇控制“0”選擇片內(nèi)RAM“1”選擇片內(nèi)I/O口TIMERIN8155片內(nèi)定時器/計數(shù)器的計數(shù)脈沖輸入引腳TIMEROUT8155片內(nèi)定時器/計數(shù)器的計滿回零輸出引腳分別是對8155片內(nèi)的RAM或I/O口的的讀、寫控制信號ALE地址鎖存引腳選片RESET復(fù)位引腳IO/MRD、WRCE

2、8155的RAM和I/O口地址

RAM地址----當(dāng)IO/M加低電平: 此時AD0-AD7上得到的地址值是指8155的某一RAM單元的地址,地址范圍是:00000000--11111111 分別指向8155RAM的256個存儲單元。

I/O口地址----當(dāng)IO/M加高電平: 此時AD0-AD7(僅用到低三位AD2、AD1、AD0)上得到的地址值是指8155的某一I/O口的地址,具體端口地址分配是:

8155的RAM和I/O口編址AD7AD6AD5AD4AD3AD2AD1AD0I/O端口╳╳╳╳╳000命令/狀態(tài)寄存器╳╳╳╳╳001PA口╳╳╳╳╳010PB口╳╳╳╳╳011PC口╳╳╳╳╳100計數(shù)器低8位╳╳╳╳╳101計數(shù)器高6位

3、8155的使用 1)8155內(nèi)RAM的使用: 與一般外部數(shù)據(jù)存儲器的使用基本一樣,唯一區(qū)別是事先要使IO/M為低電平。

2)8155各端口的使用: A、B、C各端口可工作于不同的工作方式,使用前要進行初始化(寫命令字到命令口)。

4、擴展電路的連接實例 1)以高位地址直接作為IO/M信號擴展,接口電路非常簡單,基本上是相同信號對接,如圖:80318155RESETRDWRALEP2.4P0.0P0.1P0.2P.03P0.4P0.5P0.6P0.7RESETRDWRALEIO/MCEAD0AD1AD2AD3AD4AD5AD6AD7口APA0~PA7口BPB0~PB7PC0~PC5口C 2)多芯片擴展8031

373G27166116(2)6116(1)8155P0P2.2--P2.0PSENALEWRRDABCG2AG2BG1P1.0A0~A7A8~A10D7~D0D7~D0D7~D0CECECEOEA0~A7A8~A10WEWEOEOEWERDALEAD0~AD7CEY2Y1Y0+5VIO/MPAPBPCP2.3P2.4P2.5P2.6P2.7上圖中的各擴展地址分別為: 8155:0000H、0001H、……、0005H

8031的P2.7-P2.3=00000時,選中8155,在此前提下,當(dāng)8031的P0口輸出地址是XXXXX000-XXXXX101,且IO/M=1時,選中8155的各端口,即:

當(dāng)IO/M=0時,選中8155的RAM單元,所以: 其內(nèi)部RAM地址范圍是:0000H--00FFH。P2.7…P2.0P0.7…P0.0端口

0000000000000000(0000H)命令口

0000000000000001(0001H)PA口

0000000000000010(0002H)PB口

0000000000000011(0003H)PC口

0000000000000100(0004H)計數(shù)器低

0000000000000101(0005H)計數(shù)器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論