單片機(jī) 第9章-1資料_第1頁
單片機(jī) 第9章-1資料_第2頁
單片機(jī) 第9章-1資料_第3頁
單片機(jī) 第9章-1資料_第4頁
單片機(jī) 第9章-1資料_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第九章 單片微機(jī)的系統(tǒng)擴(kuò)展(kuzhn)原理及接口技術(shù)共一百零八頁 系統(tǒng)擴(kuò)展是指單片微機(jī)內(nèi)部各功能部件不能滿足應(yīng)用系統(tǒng)要求時(shí),在片外連接(linji)相應(yīng)的外圍芯片以滿足應(yīng)用系統(tǒng)要求。 主要有程序存儲(chǔ)器的擴(kuò)展、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展、I/O口的擴(kuò)展、中斷系統(tǒng)擴(kuò)展以及其它特殊功能接口的擴(kuò)展等。9.1 系統(tǒng)(xtng)擴(kuò)展原理共一百零八頁 對(duì)于單片微機(jī)系統(tǒng)擴(kuò)展的方法有并行擴(kuò)展法和串行擴(kuò)展法兩種。并行擴(kuò)展法:利用單片微機(jī)本身具備的三組總線(AB、DB、CB)進(jìn)行(jnxng)的系統(tǒng)擴(kuò)展。串行擴(kuò)展法:利用SPI三線總線和I2C雙線總線等進(jìn)行串行系統(tǒng)擴(kuò)展。 有的單片微機(jī)應(yīng)用系統(tǒng)同時(shí)采用并行擴(kuò)展法和串行擴(kuò)展法。

2、共一百零八頁 單片微機(jī)是通過芯片(xn pin)的引腳進(jìn)行系統(tǒng)擴(kuò)展的。 80C51系列帶總線的芯片引腳可以構(gòu)成圖91所示的三總線結(jié)構(gòu)。 具有同樣并行總線的外部芯片通過這三組總線與單片微機(jī)連接。 9.1.1 外部(wib)并行擴(kuò)展原理共一百零八頁圖91 80C51系列(xli)單片微機(jī)的三總線結(jié)構(gòu)共一百零八頁(1)地址總線(AB)由P0口提供低8位地址A0A7,P2口提供高8位地址A8A15。P0口是地址總線低8位和8位數(shù)據(jù)總線復(fù)用口,只能分時(shí)用作地址線。P0口輸出的低8位地址A0A7必須用鎖存器鎖存。鎖存器的鎖存控制信號(hào)來自單片微機(jī)ALE引腳輸出的控制信號(hào)。在ALE的下降沿將P0口輸出的地址A

3、0A7鎖存。P0、P2口在系統(tǒng)(xtng)擴(kuò)展中用作地址線后便不能作為一般I/O口使用。地址總線寬度為16位,可尋址范圍為64 KB。共一百零八頁7 圖9-2 AT89C51單片機(jī)擴(kuò)展(kuzhn)的片外三總線共一百零八頁(2)數(shù)據(jù)總線(DB) 由P0口提供,用D0D7表示。P0口為三態(tài)雙向口,是應(yīng)用系統(tǒng)中使用最為頻繁的通道。單片微機(jī)與外部交換的所有數(shù)據(jù)、指令、信息,除少數(shù)可直接通過P1口外(Kuwi),全部通過P0口傳送。數(shù)據(jù)總線是并連到多個(gè)連接的外圍芯片的數(shù)據(jù)線上,而在同一時(shí)間里只能夠有一個(gè)是有效的數(shù)據(jù)傳送通道。哪個(gè)芯片的數(shù)據(jù)通道有效,則由地址線控制各個(gè)芯片的片選線來選擇。共一百零八頁(3

4、)控制總線(CB) 包括片外系統(tǒng)擴(kuò)展(kuzhn)用控制線和片外信號(hào)對(duì)單片微機(jī)的控制線。ALE:輸出P0口上地址與數(shù)據(jù)隔離信號(hào),用于鎖存P0口輸出的低8位地址的控制線。ALE信號(hào)的下降沿控制鎖存器鎖存地址數(shù)據(jù),通常選擇下降沿選通的鎖存器作低8位地址鎖存器。 PSEN :讀片外程序存儲(chǔ)器中的數(shù)據(jù)?!白x”片外程序存儲(chǔ)器中數(shù)據(jù)(指令)時(shí),不能用“ ”信號(hào),而只能用 PSEN信號(hào)。EA:選擇片內(nèi)或片外程序存儲(chǔ)器。 當(dāng) 0時(shí),只訪問外部程序存儲(chǔ)器。 當(dāng) 1時(shí),先訪問內(nèi)部程序存儲(chǔ)器,內(nèi)部程序存儲(chǔ)器全部訪問完之后,再訪問外部程序存儲(chǔ)器。 共一百零八頁 、 :片外數(shù)據(jù)存儲(chǔ)器和I/O端口的寫、讀控制。當(dāng)執(zhí)行片外

5、數(shù)據(jù)存儲(chǔ)器操作指令MOVX時(shí),自動(dòng)生成 、 控制信號(hào)(xnho)常用地址鎖存器如圖所示。 共一百零八頁74LS373是有輸出三態(tài)門的電平允許8D鎖存器。當(dāng)G(使能端)為高電平時(shí),鎖存器的數(shù)據(jù)輸出端Q的狀態(tài)與數(shù)據(jù)輸入端D相同(透明的)。當(dāng)G端從高電平返回(fnhu)到低電平時(shí)(下降沿后),輸入端的數(shù)據(jù)就被鎖存在鎖存器中,數(shù)據(jù)輸入端D的變化不再影響Q端輸出。 共一百零八頁74LS273是帶公共時(shí)鐘復(fù)位八D觸發(fā)器(1)1腳是復(fù)位CLR,低電平有效(yuxio),當(dāng)1腳是低電平時(shí),輸出全部輸出0,即全部復(fù)位;(2)當(dāng)1腳為高電平時(shí),11(CLK)腳是鎖存控制端,并且是上升沿觸發(fā)鎖存,當(dāng)11腳有一個(gè)上升

6、沿,立即鎖存輸入腳的電平狀態(tài),并且立即呈現(xiàn)在在輸出腳上.所以,如果分別用273和373來作為單片機(jī)的地址存器的話,對(duì)273來說,1(CLR)腳必須接高電平,ALE信號(hào)經(jīng)過反相后接11腳(因?yàn)閱纹瑱C(jī)的ALE信號(hào)是以下降沿方式出現(xiàn));對(duì)373來說,1腳接低電平,保證使能,11腳直接接單片機(jī)的ALE信號(hào).共一百零八頁1.并行擴(kuò)展方式的編址技術(shù)在單片微機(jī)應(yīng)用系統(tǒng)中,為了唯一地選擇片外某一存儲(chǔ)單元或I/O端口,需要進(jìn)行兩種選擇。必須先找到該存儲(chǔ)單元或I/O端口所在的芯片,稱為“片選” 通過(tnggu)對(duì)芯片本身所具有的地址線進(jìn)行譯碼,然后確定唯一的存儲(chǔ)單元或I/O端口,稱為“字選”。地址空間(kngj

7、in)分配注意,“片選”和“字選”都是單片機(jī)通過地址線一次發(fā)出的地址信號(hào)來完成選擇。共一百零八頁“片選” 保證每次讀或?qū)憰r(shí),只選中某一片存儲(chǔ)器芯片或I/O接口芯片。常用的方法有4種:“線選法” 、“地址譯碼法” 、應(yīng)用 “可編程器件PAL/GAL” 或“I/O口線” 。(1) 線選法:一般是利用單片微機(jī)的最高幾位空余的地址線中一根(如P2.7) 作為(zuwi)某一片存儲(chǔ)器芯片或I/O接口芯片的“片選” 控制線。用于應(yīng)用系統(tǒng)中擴(kuò)展芯片較少的場合。共一百零八頁低位地址線A0A10實(shí)現(xiàn)片內(nèi)尋址(字選)。高位地址線A11A13實(shí)現(xiàn)片選(A11A13中只允許有一根為低電平,另二根必須為高電平,否則出錯(cuò)

8、(ch cu))。無關(guān)位A14、A15可任取,一般取“1”。高位地址(dzh)線直接連到存儲(chǔ)器芯片的片選端。線選法共一百零八頁二進(jìn)制表示 16進(jìn)制表示 無關(guān)位片外地址線片內(nèi)地址線A15 A14A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0芯片1 11 1 00 0 0 0 0 0 0 0 0 0 0F000H. . . . . . . . . . . . . .1 11 1 01 1 1 1 1 1 1 1 1 1 1F7FFH芯片1 11 0 10 0 0 0 0 0 0 0 0 0 0E800H. . . . . . . . . . . . . .

9、 .1 11 0 11 1 1 1 1 1 1 1 1 1 1EFFFH 芯片1 10 1 10 0 0 0 0 0 0 0 0 0 0D800H. . . . . . . . . . . . . . .1 10 1 11 1 1 1 1 1 1 1 1 1 1DFFFH線選法三片存儲(chǔ)器芯片地址(dzh)分配表共一百零八頁線選法優(yōu)點(diǎn):連接簡單(jindn); 缺點(diǎn):芯片地址空間不連續(xù); 適用于擴(kuò)展存儲(chǔ)容量較小的場合。共一百零八頁(2) 譯碼法:用譯碼器對(duì)空余的高位地址(dzh)線進(jìn)行譯碼,而譯碼器的輸出作為“片選” 控制線。常用的譯碼器有3/8譯碼器74LS138、雙2/4譯碼器74LS139

10、、4/16譯碼器74LS154等。3/8譯碼器74LS138的管腳見下頁圖。G1、 、 :使能端。 當(dāng)G1=1, = =0時(shí),芯片使能。C、B、A:譯碼器輸入,高電平有效。 Y :譯碼器輸出,低電平有效。共一百零八頁圖83 74LS138三-八譯碼器共一百零八頁譯碼法:通過(tnggu)譯碼器將高位地址線轉(zhuǎn)換為片選信號(hào)。共一百零八頁二進(jìn)制表示 16進(jìn)制表示 無關(guān)位片外地址線片內(nèi)地址線A15A14 A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0芯片10 0 0 00 0 0 0 0 0 0 0 0 0 08000H. . . . . . . . . .

11、. . . . .10 0 0 01 1 1 1 1 1 1 1 1 1 187FFH芯片10 0 0 10 0 0 0 0 0 0 0 0 0 08800H. . . . . . . . . . . . . . .10 0 0 11 1 1 1 1 1 1 1 1 1 18FFFH芯片10 0 1 00 0 0 0 0 0 0 0 0 0 09000H. . . . . . . . . . . . . . .1 0 0 1 01 1 1 1 1 1 1 1 1 1 197FFH譯碼法三片存儲(chǔ)器芯片地址(dzh)分配表 共一百零八頁 譯碼法與線選法比較,硬件電路稍復(fù)雜,需要使用譯碼器,但可充分

12、利用存儲(chǔ)空間,全譯碼時(shí)還可避免地址重疊現(xiàn)象,局部譯碼因還有部分高位地址線未參與譯碼,因此仍存在地址重疊現(xiàn)象。 譯碼法的另一個(gè)優(yōu)點(diǎn)是若譯碼器輸出端留有剩余端線未用時(shí),便于繼續(xù)擴(kuò)展(kuzhn)存儲(chǔ)器或I/O口接口電路。 譯碼法和線選法不僅適用于擴(kuò)展存儲(chǔ)器(包括外RAM和外ROM),還適用于擴(kuò)展I/O口(包括各種外圍設(shè)備和接口芯片)。共一百零八頁 可編程陣列邏輯器件PAL(Programmable Array Logic)和通用陣列邏輯GAL(Generic Array Logic)(加密性好) 。有的應(yīng)用系統(tǒng)為了硬件電路加密,采用PAL或GAL來進(jìn)行地址譯碼和分配(比如有的單片微機(jī)仿真器),你能

13、看到的是PAL或GAL的輸入線和輸出線,而無法(wf)掌握內(nèi)部邏輯關(guān)系。 輸入輸出線作為譯碼線可以利用空余的I/O口線(如P1.0) ,或應(yīng)用系統(tǒng)擴(kuò)展的I/O口線作為芯片的片選線,當(dāng)該I/O口線輸出低電平時(shí),即選中了該芯片。共一百零八頁280C51系列單片微機(jī)的系統(tǒng)并行擴(kuò)展能力 地址總線寬度為 16位,在片外可擴(kuò)展的存儲(chǔ)器最大容量為64KB,地址為0000HFFFFH。 片外數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器的操作使用不同的指令和控制信號(hào),允許兩者的地址重疊,故片外可擴(kuò)展的數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器最大容量分別為64 KB。 片外數(shù)據(jù)存儲(chǔ)器與片內(nèi)數(shù)據(jù)存儲(chǔ)器的操作指令不同(片外RAM只能用MOVX指令)。允許兩

14、者地址重疊,亦即外部(wib)擴(kuò)展數(shù)據(jù)存儲(chǔ)器地址可從0000H開始。I/O口擴(kuò)展與片外數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,不再另外提供地址線。 共一百零八頁 外部串行總線主要包括:SPI總線和I2C總線兩種。 1. SPI三線總線結(jié)構(gòu) SPI三線總線結(jié)構(gòu)是一個(gè)同步外圍接口,允許(ynx)MCU與各種外圍設(shè)備以串行方式進(jìn)行通信。一個(gè)完整的SPI系統(tǒng)有如下的特性: .全雙工、三線同步傳送; .主、從機(jī)工作方式; .可程控的主機(jī)位傳送頻率、時(shí)鐘極性和相位; .發(fā)送完成中斷標(biāo)志; .寫沖突保護(hù)標(biāo)志。 在大多數(shù)場合,使用一個(gè)MCU作為主機(jī),控制數(shù)據(jù)向一個(gè)或多個(gè)從機(jī)(外圍器件)的傳送。 9.1.2 外部串行擴(kuò)展(kuzh

15、n)原理共一百零八頁圖85 SPI系統(tǒng)(xtng)時(shí)鐘的極性和相位關(guān)系圖9-4 SPI數(shù)據(jù)傳送(chun sn)格式共一百零八頁2. I2C(Intel IC BUS)公用雙總線結(jié)構(gòu) 使用兩根信號(hào)線(SDA和SCL)串行的方法進(jìn)行信息傳送,并允許若干兼容器件共享的雙線總線,稱為I2C總線。I2C總線系統(tǒng)(xtng)的示意圖見圖95。SDA:串行數(shù)據(jù)線,傳輸雙向的數(shù)據(jù)。SCL:串行時(shí)鐘線,傳輸時(shí)鐘信號(hào),同步串行數(shù)據(jù)線上的數(shù)據(jù)。 共一百零八頁圖86 I2C總線(zn xin)系統(tǒng)示意圖共一百零八頁 9.2 程序(chngx)存儲(chǔ)器的擴(kuò)展8.2.1 程序存儲(chǔ)器擴(kuò)展時(shí)的總線功能和操作時(shí)序?yàn)槠獬绦虼鎯?chǔ)

16、器讀選擇信號(hào)。正常運(yùn)行時(shí),該引腳不能浮空。 根據(jù)連接電平的不同,單片微機(jī)有兩種取指過程:(1) 當(dāng) 1時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器有效。 當(dāng)程序計(jì)數(shù)器PC運(yùn)行于片內(nèi)程序存儲(chǔ)器的尋址范圍內(nèi)時(shí),P0口、P2 口及 線沒有信號(hào)輸出;當(dāng)程序計(jì)數(shù)器PC的值超出上述范圍后,P0口、P2 口及 線才有信號(hào)輸出。(2)當(dāng) 0時(shí),80C51單片微機(jī)所有片內(nèi)程序存儲(chǔ)器無效,只能訪問片外程序存儲(chǔ)器。伴隨(bn su)著單片微機(jī)復(fù)位,P0口、P2口及 線均有信號(hào)輸出。共一百零八頁 80C51訪問片外程序存儲(chǔ)器時(shí),使用如下的信號(hào): P0口:分時(shí)輸出程序存儲(chǔ)器的低8位地址和8位數(shù)據(jù)(shj)。 ALE:在AL

17、E的下降沿時(shí),P0口上出現(xiàn)穩(wěn)定的程序存儲(chǔ)器的低8位地址,用ALE信號(hào)鎖存這低8位地址。 P2口:在整個(gè)取指周期中,輸出穩(wěn)定的程序存儲(chǔ)器的高8位地址。 :低電平有效。在ALE的下降沿之后,由高變?yōu)榈?,此時(shí)片外程序存儲(chǔ)器的內(nèi)容(指令字)送到 P0口,而后在 的上升沿將指令字送入指令寄存器, 信號(hào)作為片外程序存儲(chǔ)器的“讀”選通信號(hào)。共一百零八頁片外程序(chngx)存儲(chǔ)器取指操作時(shí)序共一百零八頁9.2.2擴(kuò)展片外程序存儲(chǔ)器的硬件電路 片內(nèi)程序存儲(chǔ)器容量越來越大,如89C5887C58的片內(nèi)程序存儲(chǔ)器的容量高達(dá)32KB,甚至(shnzh)為 64 KB。而價(jià)格相對(duì)以前也大大降低。程序存儲(chǔ)器的擴(kuò)展已不是

18、必須,僅作為一種技術(shù)來加以介紹。 通常只需要擴(kuò)展一片或兩片EPROM芯片就足夠。共一百零八頁ROM芯片及擴(kuò)展方法(fngf) 1、EPROM存儲(chǔ)器及擴(kuò)展常用的EPROM芯片有2732、2764、27128、27256、27512等 。型號(hào) “27”后面的數(shù)字表示其位存儲(chǔ)容量。如果換算成字節(jié)容量,只需將該數(shù)字除以8即可。芯片引腳功能:A0A15:地址線引腳。它的數(shù)目由芯片(xn pin)的存儲(chǔ)容量決定,用于進(jìn)行單元選擇。D7D0:數(shù)據(jù)線引腳。 :片選控制端。 :輸出允許控制端。 :編程時(shí),編程脈沖的輸入端。共一百零八頁圖8-8 EPROM芯片(xn pin)引腳圖9-9 常用(chn yn)EP

19、ROM芯片引腳共一百零八頁EPROM存儲(chǔ)器擴(kuò)展(kuzhn)電路:圖910 程序存儲(chǔ)器的擴(kuò)展(kuzhn)電路共一百零八頁圖911 程序存儲(chǔ)器的擴(kuò)展(kuzhn)電路共一百零八頁門上圖中27C128地址是多少?容量?在上圖電路中 是接高電平的。27128A是16KB容量的EPROM,14根地址線A0A13。系統(tǒng)中只擴(kuò)展(kuzhn)了一片程序存儲(chǔ)器,27128A的片選端可直接接地,一直有效。EA=1,程序存儲(chǔ)器先片內(nèi)4KB、即0000H0FFFH。當(dāng)PC值超出片內(nèi)程序存儲(chǔ)器容量時(shí),自動(dòng)轉(zhuǎn)向片外。所以片外27C128的地址為1000H 3FFFH,共12KB。共一百零八頁2、EEPROM存儲(chǔ)器及

20、擴(kuò)展 常用(chn yn)的EEPROM芯片有2864、2817等 。共一百零八頁 存儲(chǔ)器固有(gyu)不揮發(fā)性 高密度 低功耗 晶體管單元 在線可重寫FLASH SRAM DRAM EEPROM OTP/EPROM 掩膜ROM 常用的數(shù)據(jù)存儲(chǔ)器有動(dòng)態(tài)RAM和靜態(tài)RAM,有并行RAM和串行RAM。 各種存儲(chǔ)器性能(xngnng)的比較 如表8 - 2 9.3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展共一百零八頁9.3.1 片外并行數(shù)據(jù)存儲(chǔ)器擴(kuò)展 1. 片外并行數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí)的總線功能和讀、寫操作時(shí)序 80C51對(duì)片外數(shù)據(jù)存儲(chǔ)器讀、寫操作的指令有以下4條: MOVX A,Ri ; 片外RAM(A),讀操作 MOVX

21、Ri,A ;(A)片外RAM ,寫操作Ri只能提供8位地址,僅能擴(kuò)展256個(gè)字節(jié)(z ji)的片外RAM。 MOVX A,DPTR;片外RAM(A),讀操作 MOVX DPTR,A ;(A)片外RAM,寫操作 DPTR能提供16位地址,可以擴(kuò)展 64KB的片外 RAM。共一百零八頁“MOVX A,DPTR”和“MOVX DPTR,A”的操作時(shí)序示于下頁。從圖中可以看出,執(zhí)行該組指令時(shí),機(jī)器周期1為取指周期,在取指周期的S5狀態(tài),當(dāng)ALE為下降沿時(shí),在P0總線上出現(xiàn)的是數(shù)據(jù)(shj)存儲(chǔ)器的低8位地址,即DPL;在P2口上出現(xiàn)的是數(shù)據(jù)存儲(chǔ)器的高8位地址,即DPH。 取指操作之后,直至機(jī)器周期2的

22、S3狀態(tài)之前,一直維持高電平。而在機(jī)器周期2的S1與S2狀態(tài)之間的ALE不再出現(xiàn)。 執(zhí)行“MOVX A,DPTR”時(shí),從機(jī)器周期2開始到S3狀態(tài), 出現(xiàn)低電平。此時(shí)允許將片外數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)送上P0口,在 的上升沿將數(shù)據(jù)讀入累加器A。數(shù)據(jù)為輸入。共一百零八頁“MOVX A,DPTR” 和“MOVX DPTR,A” 的操作(cozu)時(shí)序共一百零八頁 執(zhí)行“MOVX DPTR,A”時(shí),從機(jī)器周期2開始到S3狀態(tài), 出現(xiàn)低電平。此時(shí)P0口上將送出累加器A的數(shù)據(jù),在 的上升沿將數(shù)據(jù)寫入片外數(shù)據(jù)存儲(chǔ)器中。數(shù)據(jù)為輸出。 此時(shí)P0口為地址、數(shù)據(jù)復(fù)用總線(zn xin);P2口在機(jī)器周期1的S4狀態(tài)之后出現(xiàn)

23、鎖存的高8位地址(DPH);用控制線來調(diào)動(dòng)數(shù)據(jù)總線(zn xin)上的數(shù)據(jù)傳輸方向:而 有效時(shí)數(shù)據(jù)為輸入, 有效時(shí)數(shù)據(jù)為輸出。共一百零八頁數(shù)據(jù)(shj)存儲(chǔ)器:常用的數(shù)據(jù)存儲(chǔ)器SRAM芯片有6116626462256等。2. 片外并行數(shù)據(jù)(shj)存儲(chǔ)器的擴(kuò)展共一百零八頁共一百零八頁16KB片外并行數(shù)據(jù)(shj)存儲(chǔ)器擴(kuò)展電路共一百零八頁上圖所示的是用兩片6264擴(kuò)展16KB片外并行(bngxng)數(shù)據(jù)存儲(chǔ)器的電路。采用線選法尋址。用一根口線P2.7來尋址:P2. 7=0時(shí),訪問6264(0) , 地址范圍為6000H7FFFH。P2.7=l時(shí), 訪問6264(1), 地址范圍為E000HFF

24、FFH。共一百零八頁80C51同時(shí)擴(kuò)展外ROM和外RAM時(shí)典型(dinxng)連接電路共一百零八頁 地址線、數(shù)據(jù)線仍按80C51一般擴(kuò)展外ROM時(shí)方式連接。 片選線,因外ROM只有一片,無需片選。2764 CE直接接地,始終有效。外RAM雖然也只有一片,但系統(tǒng)可能還要擴(kuò)展I/O口,而I/O口與外RAM是統(tǒng)一編址的,因此一般需要片選,6264CE1接P2.5,CE2直接接Vcc,這樣6264的地址范圍為C000HDFFFH,P2.6、P2.7可留給擴(kuò)展I/O口片選用。 讀寫控制線,讀外ROM執(zhí)行(zhxng)MOVC指令,由PSEN控制2764 OE,讀寫外RAM執(zhí)行MOVX指令,由RD控制62

25、64OE,WR控制6264WE。共一百零八頁 1單片微機(jī)為什么需要I/O接口電路 存儲(chǔ)器是半導(dǎo)體電路,與單片微機(jī)具有相同的電路形式,數(shù)據(jù)信號(hào)也是相同的(電平信號(hào)),能相互兼容直接使用(shyng),存儲(chǔ)器與單片微機(jī)之間采用同步定時(shí)工作方式。存儲(chǔ)器與單片微機(jī)之間的連接相當(dāng)簡單,除地址線、數(shù)據(jù)線之外,就是讀或?qū)戇x通信號(hào),實(shí)現(xiàn)起來非常方便。 9.4 I/O 的擴(kuò)展(kuzhn)及應(yīng)用9.4.1 I/O擴(kuò)展概述共一百零八頁CPU和外部設(shè)備之間的數(shù)據(jù)傳送卻十分復(fù)雜。高速CPU與工作速度快慢差異很大的慢速外部設(shè)備的矛盾。 外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的。 外部設(shè)備種類繁多(fndu)。 外設(shè)的數(shù)據(jù)傳送有近

26、距離的,也有遠(yuǎn)距離的。 單片微機(jī)必須在單片微機(jī)和外設(shè)之間有一個(gè)接口電路,通過接口電路對(duì)單片微機(jī)與外設(shè)之間的數(shù)據(jù)傳送進(jìn)行協(xié)調(diào)。共一百零八頁單片機(jī)與I/O設(shè)備(shbi)的關(guān)系:共一百零八頁接口電路主要有如下幾項(xiàng)功能:速度協(xié)調(diào) 速度上的差異,使得數(shù)據(jù)的I/O傳送只能以異步方式進(jìn)行,在確認(rèn)外設(shè)已為數(shù)據(jù)傳送作好準(zhǔn)備的前提下才能進(jìn)行I/O操作。三態(tài)緩沖 數(shù)據(jù)輸入時(shí),輸入設(shè)備向CPU傳送的數(shù)據(jù)也要通過數(shù)據(jù)總線,為了維護(hù)數(shù)據(jù)總線上數(shù)據(jù)傳送的有秩序,只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用(shyng)數(shù)據(jù)總線,其它數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。要求接口電路能為三態(tài)緩沖功能。數(shù)據(jù)轉(zhuǎn)換包括:模數(shù)轉(zhuǎn)換、數(shù)

27、模轉(zhuǎn)換、串并轉(zhuǎn)換和并串轉(zhuǎn)換等。共一百零八頁 接口與端口外設(shè)之間在數(shù)據(jù)傳送方面的聯(lián)系。其功能主要是通過電路實(shí)現(xiàn)的,稱之為接口電路。接口電路中應(yīng)該包含有數(shù)據(jù)寄存器以保存輸入輸出數(shù)據(jù)、狀態(tài)寄存器以保存外設(shè)的狀態(tài)信息、命令寄存器以保存來自CPU的有關(guān)數(shù)據(jù)傳送的控制命令。由于在數(shù)據(jù)的傳送中,CPU需要對(duì)這些寄存器的狀態(tài)口和保存命令的命令口尋址等,通常把接口電路中這些已編址并能進(jìn)行讀或?qū)懖僮鞯募拇嫫鞣Q之為端口(port),或簡稱口。一個(gè)接口電路就對(duì)應(yīng)著多個(gè)(du )端口地址。對(duì)它們像存儲(chǔ)單元一樣進(jìn)行編址。共一百零八頁 數(shù)據(jù)隔離技術(shù) 輸入輸出的數(shù)據(jù)都要通過系統(tǒng)的數(shù)據(jù)總線進(jìn)行傳送,為了正確地進(jìn)行數(shù)據(jù)的傳送,就

28、必須解決數(shù)據(jù)總線的隔離問題。對(duì)于輸出設(shè)備的接口電路,要提供鎖存器,當(dāng)允許(ynx)接收輸出數(shù)據(jù)時(shí)鎖存器打開,否則關(guān)閉。對(duì)于輸入設(shè)備的接口電路,要使用三態(tài)緩沖電路或集電極開路門。 三態(tài)緩沖電路 具有三態(tài)輸出的門電路,也稱之為三態(tài)門(TSL),低電平狀態(tài)、高電平狀態(tài)和高阻抗三種狀態(tài)。當(dāng)三態(tài)緩沖器的輸出為高或低電平時(shí),就是對(duì)數(shù)據(jù)總線的驅(qū)動(dòng)狀態(tài);當(dāng)三態(tài)緩沖器的輸出為高阻抗時(shí),就是對(duì)總線的隔離狀態(tài)。三態(tài)緩沖器的控制邏輯如表所示。共一百零八頁三態(tài)緩沖器的控制(kngzh)邏輯 三態(tài)控制信號(hào) 工作狀態(tài) 數(shù)據(jù)輸入(shr) 輸出端狀態(tài) 1 高阻抗 0 高阻抗 1 高阻抗 0 驅(qū)動(dòng) 0 0 1 1共一百零八頁對(duì)

29、三態(tài)緩沖電路的主要(zhyo)性能要求有: 速度快,信號(hào)延遲時(shí)間短。例如典型三態(tài)緩沖器的延遲時(shí)間只有8-13ns。較高的驅(qū)動(dòng)能力。高阻抗時(shí)對(duì)數(shù)據(jù)總線不呈現(xiàn)負(fù)載,最多只能拉走不大于0.04mA電流。共一百零八頁 集電極開路門集電極開路門是從基本的與非門電路演變過來的,把集電極回路中的電阻除去,讓集電極開路,就得到了集電極開路門電路??梢?ky)作為集電極開路的電路有反相器、與非門以及與或非門等。集電極開路器件的輸出是低電平起作用,如果其中一個(gè)為低電平,則總的輸出即為低電平。只有當(dāng)所有連在一起的集電極開路器件的輸出端均為高電平時(shí)總的輸出才是高電平。對(duì)于這種邏輯關(guān)系有時(shí)也稱之為“線與”。共一百零八頁

30、 I/O編址技術(shù) 接口電路要對(duì)其中的端口進(jìn)行編址。對(duì)端口編址是為I/O操作而進(jìn)行的,也稱為I/O編址。常用的I/O編址有獨(dú)立編址方式和統(tǒng)一編址方式 。 獨(dú)立編址方式 優(yōu)點(diǎn)是I/O地址空間(kngjin)和存儲(chǔ)器地址空間(kngjin)相互獨(dú)立,但需要專門設(shè)置一套I/O指令和控制信號(hào),從而增加了系統(tǒng)的開銷。共一百零八頁 統(tǒng)一編址方式 統(tǒng)一編址就是把系統(tǒng)中的I/O和存儲(chǔ)器統(tǒng)一進(jìn)行編址。在這種編址方式中,把接口中的寄存器(端口)與存儲(chǔ)器中的存儲(chǔ)單元同等對(duì)待(tn dn du di),稱之為存儲(chǔ)器映像(memory mapped)編址。80C51使用統(tǒng)一編址方式。在接口電路中的I/O編址也采用16位地

31、址,和存儲(chǔ)單元的地址長度一樣。共一百零八頁 I/O數(shù)據(jù)傳送的控制方式 有無條件傳送方式、查詢方式、中斷方式和直接存儲(chǔ)器存?。―MA)4種方式。在單片微機(jī)中主要使用前三種方式。 無條件傳送方式無條件傳送也稱為同步程序傳送。在進(jìn)行(jnxng)I/O操作時(shí),不需要測(cè)試外部設(shè)備的狀態(tài),可以根據(jù)需要隨時(shí)進(jìn)行(jnxng)數(shù)據(jù)傳送操作。共一百零八頁 查詢方式查詢方式又稱之為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。為了實(shí)現(xiàn)查詢方式的數(shù)據(jù)輸入輸出傳送,需要由接口電路提供外設(shè)狀態(tài)(zhungti),并以軟件方法進(jìn)行狀態(tài)(zhungti)測(cè)試。因此這是一種軟硬件方法結(jié)合的數(shù)據(jù)傳送方式。 中斷方式當(dāng)外設(shè)為數(shù)據(jù)傳送

32、作好準(zhǔn)備之后,就向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)中斷請(qǐng)求之后,轉(zhuǎn)去為外設(shè)的數(shù)據(jù)輸入輸出服務(wù)。待服務(wù)完成之后,CPU再繼續(xù)執(zhí)行被中斷的原程序。共一百零八頁 簡單輸出口的擴(kuò)展輸出口的主要功能是進(jìn)行數(shù)據(jù)保持(鎖存) ,一般應(yīng)用鎖存器芯片實(shí)現(xiàn)。比如常用(chn yn)74LS377芯片,該芯片是一個(gè)具有“使能”控制端的8D鎖存器。一個(gè)時(shí)鐘輸入端CK,一個(gè)鎖存允許信號(hào)G,當(dāng)G=0時(shí),CK的上跳變將把8位D輸入端的數(shù)據(jù)打入8位鎖存器,這時(shí)Q輸出端將保持D端輸入的數(shù)據(jù)。80C51與74LS377的接口見圖912。 8.4.3 80C51簡單(jindn)I/O的擴(kuò)展 9.4.2 使用74系列器件擴(kuò)展I/O口

33、共一百零八頁80C51與74LS377接口(ji ku)電路圖共一百零八頁例:將一個(gè)數(shù)據(jù)字節(jié)(z ji)從74LS377輸出MOV DPTR,#7FFFH ;地址指針指向74LS377MOV A,#DATA ;將輸出數(shù)據(jù)送AMOVX DPTR,A ;輸出數(shù)據(jù)共一百零八頁 簡單輸入(shr)口的擴(kuò)展對(duì)于常態(tài)數(shù)據(jù)的輸入,只需采用8位三態(tài)門控制電路芯片即可。下圖是用74LS244通過P0口擴(kuò)展的8位并行輸入口,圖中,三態(tài)門由P2.6和 RD相或控制,其端口地址為BFFFH。例:數(shù)據(jù)輸入MOV DPTR,#0BFFFH;指向74LS244口地址MOVX A,DPTR;讀入數(shù)據(jù)共一百零八頁80C51與7

34、4LS244接口(ji ku)電路圖 共一百零八頁使用(shyng)74373擴(kuò)展輸入口共一百零八頁74LSTTL I/O擴(kuò)展(kuzhn)舉例共一百零八頁編寫程序把按鈕開關(guān)狀態(tài)通過上圖的發(fā)光二極管顯示出來。程序如下:DDIS:MOV DPTR,#0FEFFH ;輸入口地址DPTRLP:MOVX A,DPTR;按鈕開關(guān)狀態(tài)讀入A中 MOVX DPTR,A;A中數(shù)據(jù)送顯示輸出口 SJMP LP ;反復(fù)(fnf)連續(xù)執(zhí)行由程序可看出,對(duì)于擴(kuò)展接口的輸入/輸出就像從外部RAM讀/寫數(shù)據(jù)一樣方便。上圖僅僅擴(kuò)展了兩片,如果仍不夠用,還可擴(kuò)展多片74LS244、74LS273之類的芯片。但作為輸入口時(shí),一

35、定要求有三態(tài)功能,否則將影響總線的正常工作。共一百零八頁 9.4.3 可編程I/O并行接口芯片8255A的擴(kuò)展(kuzhn)及應(yīng)用 在單片微機(jī)I/O擴(kuò)展中常用的并行可編程接口芯片(xn pin)有:8255A :可編程通用并行接口芯片。:帶RAM和定時(shí)器、計(jì)數(shù)器的可編程 并行接口芯片。8279 :可編程鍵盤/顯示器接口芯片 。共一百零八頁8255A芯片簡介(jin ji)Intel公司的可編程并行I/O接口芯片,3個(gè)8位并行I/O口,3種工作方式,單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。引腳及內(nèi)部結(jié)構(gòu)如圖9-1和圖9-2所示。共一百零八頁73圖9-1 8255A的引腳圖 圖9-2 8255A的內(nèi)

36、部結(jié)構(gòu)共一百零八頁1引腳說明(shumng)共40個(gè)引腳,引腳功能如下:D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)的P0口連接,用來與單片機(jī)之間傳送數(shù)據(jù)信息。 :片選信號(hào)線,低有效,表示本芯片被選中。 :讀信號(hào)線,低有效,讀8255A端口數(shù)據(jù)的控制信號(hào)。 :寫信號(hào)線,低電平有效,用來向8255A寫入端口數(shù)據(jù)的控制信號(hào)。VCC:+5V電源。74共一百零八頁P(yáng)A7PA0:端口A輸入/輸出線。PB7PB0:端口B輸入/輸出線。PC7PC0:端口C輸入/輸出線。A1、A0:地址線,用來選擇8255A內(nèi)部的4個(gè)端口。RESET:復(fù)位引腳,高電平有效。2內(nèi)部結(jié)構(gòu)如圖9-2所示,3個(gè)并行數(shù)據(jù)輸入/輸出端口,兩種工作

37、方式(fngsh)的控制電路,一個(gè)讀/寫控制邏輯電路和一個(gè)8位數(shù)據(jù)總線緩沖器。各部件的功能如下:75共一百零八頁(1)端口PA、PB、PC3個(gè)8位并行口PA、PB和PC,都可以選為輸入/輸出工作模式,功能(gngnng)和結(jié)構(gòu)上有差異。PA口:一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器;一個(gè)8位數(shù)據(jù)輸入鎖存器。PB口:一個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器;一個(gè)8位數(shù)據(jù)輸入緩沖器。PC口:一個(gè)8位的輸出鎖存器;一個(gè)8位數(shù)據(jù)輸入緩沖器。通常PA口、PB口作為輸入/輸出口,PC口既可作為輸入/輸出口,也可在軟件控制下,分為兩個(gè)4位的端口,作為端口PA、PB選通方式操作時(shí)的狀態(tài)控制信號(hào)。76共一百零八頁(2)A組和B組

38、控制電路是兩組根據(jù)80C51寫入的“命令字”控制8255A工作方式的控制電路。A組控制PA口和PC口的上半部(PC7PC4);B組控制PB口和PC口的下半部(PC3PC0),并可用“命令字”來對(duì)端口PC的每一位實(shí)現(xiàn)按位置“1”或清“0”。(3)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個(gè)三態(tài)雙向8位緩沖器,作為(zuwi)8255A與系統(tǒng)總線之間的接口,用來傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。77共一百零八頁(4)讀/寫控制邏輯電路(lu j din l)接收80C51單片機(jī)發(fā)來的控制信號(hào) 、 、RESET、地址信號(hào)A1、A0等,然后根據(jù)控制信號(hào)的要求,端口數(shù)據(jù)被80C51單片機(jī)讀出,或者將80C

39、51單片機(jī)送來的數(shù)據(jù)寫入端口。各端口工作狀態(tài)與控制信號(hào)的關(guān)系見表9-1。78共一百零八頁79共一百零八頁2 工作方式選擇控制字及端口PC置位/復(fù)位控制字可向8255A控制寄存器寫入兩種不同的控制字。1)工作方式選擇控制字8255A有3種基本工作方式:(1)方式0基本輸入(shr)/輸出;(2)方式1選通輸入/輸出;(3)方式2雙向傳送(僅PA口有此工作方式)。3種工作方式方式控制字來決定。格式如圖9-3所示。最高位D7=1,為本方式控制字的標(biāo)志,以便與另一控制字相區(qū)別(最高位D7=0)。80共一百零八頁81圖9-3 8255A的方式(fngsh)控制字格式共一百零八頁P(yáng)C口分兩部分,隨PA口稱

40、為A組,隨PB口稱為B組。其中PA口可工作于方式0、1和2,而PB口只能工作在方式0和1。【例9-1】80C51向8255A的控制字寄存器寫入工作方式控制字95H,根據(jù)(gnj)圖9-3,將8255A編程設(shè)置為:PA口方式0輸入,PB口方式1輸出,PC口的上半部分(PC7PC4)輸出,PC口的下半部分(PC3PC0)輸入。MOVDPTR,#H;控制字寄存器端口地址;H送DPTR MOV A,#95H; 方式控制字95H送AMOVXDPTR,A; 控制字95H送控制字寄存器82共一百零八頁2)PC口按位置位/復(fù)位控制字為另一控制字。即PC口中任何一位,可用一個(gè)寫入8255A控制口的置位/復(fù)位控制

41、字來對(duì)PC口按位置“1”或清“0”。用于位控。格式如圖9-4所示?!纠?-2】 80C51向8255A的控制字寄存器寫入工作(gngzu)方式控制字07H,則PC3置1;08H寫入控制口,則PC4清0。程序段如下:MOVDPTR,#H; 控制寄存器端口地址;H送DPTR MOV A,#07H; 方式控制字07H送A83共一百零八頁圖9-4 PC口按位置位/復(fù)位(f wi)控制字格式共一百零八頁MOVXDPTR,A; 控制(kngzh)字07H送控制寄存器,把PC3置1MOVDPTR,#H; 控制字寄存器端口地址送DPTR MOV A,#08H; 方式控制字08H送AMOVXDPTR,A; 08

42、H送控制字寄存器,PC4清085共一百零八頁3、 8255A的3種工作方式1)方式0是基本輸入/輸出(shch)方式。80C51可對(duì)8255A進(jìn)行I/O數(shù)據(jù)的無條件傳送。例如,80C51單片機(jī)從8255A的某一輸入口讀入一組開關(guān)狀態(tài),從8255A輸出控制一組指示燈的亮、滅。并不需要任何條件,外設(shè)I/O數(shù)據(jù)可在8255A的各端口得到鎖存和緩沖。因此,方式0稱為基本輸入/輸出方式。方式0下,3個(gè)端口都可以由軟件設(shè)置為輸入或輸出,不需要應(yīng)答聯(lián)絡(luò)信號(hào)。方式0的基本功能如下:86共一百零八頁(1)具有兩個(gè)8位端口(PA、PB)和兩個(gè)4位端口(PC的上半部分和下半部分)。(2)任何端口都可以設(shè)定為輸入或輸

43、出,各端口的輸入、輸出共有16種組合。PA口、PB口和PC口均可設(shè)定為方式0,并可根據(jù)需要,向控制(kngzh)寄存器寫入工作方式控制(kngzh)字,規(guī)定各端口為輸入或輸出方式。共一百零八頁【例9-3】假設(shè)8255A的控制(kngzh)字寄存器端口地址為FF7FH,令PA口和PC口的高4位為方式0輸出,PB口和PC口的低4位為方式0輸入,初始化程序:MOVDPTR,#0FF7FH; 端口地址#0FF7F送DPTR MOV A,#83H; 方式控制字83H送AMOVXDPTR,A; 控制字83H送控制字寄存器88共一百零八頁2)方式1是一種采用應(yīng)答聯(lián)絡(luò)(linlu)的輸入/輸出工作方式。PA口

44、、PB口皆可設(shè)成這種工作方式。在方式1下,8255A的PA口和PB口通常用于I/O數(shù)據(jù)的傳送,PC口用作PA口和PB口的應(yīng)答聯(lián)絡(luò)信號(hào)線,以實(shí)現(xiàn)采用中斷方式來傳送I/O數(shù)據(jù)。PC口的PC7PC0的應(yīng)答聯(lián)絡(luò)線是規(guī)定好的,其各位分配如圖9-5和圖9-7所示,圖中,標(biāo)有I/O的各位仍可用作基本輸入/輸出,不作應(yīng)答聯(lián)絡(luò)用。下介紹方式1輸入/輸出時(shí)的應(yīng)答聯(lián)絡(luò)信號(hào)與工作原理。89共一百零八頁(1)方式1輸入方式1輸入應(yīng)答聯(lián)絡(luò)信號(hào)如圖9-5所示。其中 與IBF為一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào)。各應(yīng)答聯(lián)絡(luò)信號(hào)的功能如下。 :是由輸入外設(shè)發(fā)給8255A的選通輸入信號(hào),低有效。IBF:輸入緩沖器滿,應(yīng)答信號(hào)。8255A通知外設(shè)已

45、收到外設(shè)發(fā)來的且已進(jìn)入輸入緩沖器的數(shù)據(jù),高有效。INTR:由8255A向80C51單片機(jī)發(fā)出的中斷請(qǐng)求信號(hào),高有效。INTEA:控制(kngzh)PA口是否允許中斷的控制信號(hào),由PC4的置位/復(fù)位來控制。90共一百零八頁INTEB:控制PB口是否(sh fu)允許中斷的控制信號(hào),由PC2的置位/復(fù)位來控制。方式1輸入如圖9-6所示。下面以PA口的方式1輸入為例,介紹方式1輸入的工作過程。 當(dāng)外設(shè)向8255A輸入一個(gè)數(shù)據(jù)并送到PA7PA0時(shí),外設(shè)自動(dòng)在 上向8255A發(fā)送一個(gè)低電平選通信號(hào)。 8255A收到 后,先把PA7PA0輸入的數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/鎖存器,然后使輸出應(yīng)答線IBF變

46、為高,通知輸入外設(shè),PA口已收到它送來的數(shù)據(jù)。 8255A檢測(cè)到 由低電平變?yōu)楦唠娖?、IBFA(PC5)為“1”狀態(tài)和中斷允許INTEA(PC4)=1時(shí),使91共一百零八頁INTRA(PC3)變?yōu)楦唠娖?,向單片機(jī)發(fā)出中斷請(qǐng)求。INTEA的狀態(tài)可由用戶通過指令對(duì)PC4的單一置位/復(fù)位控制(kngzh)字來控制(kngzh)。 單片機(jī)響應(yīng)中斷后,進(jìn)入中斷服務(wù)子程序來讀取PA口的外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被單片機(jī)讀走后,8255A撤銷INTRA上的中斷請(qǐng)求,并使IBFA變低,通知輸入外設(shè)可傳送下一個(gè)輸入數(shù)據(jù)。92共一百零八頁93圖9-5 方式1輸入(shr)應(yīng)答聯(lián)絡(luò)信號(hào)共一百零八頁94圖9-6

47、PA口方式(fngsh)1輸入工作過程示意圖共一百零八頁(2)方式1輸出方式1輸出時(shí),應(yīng)答聯(lián)絡(luò)信號(hào)如圖9-7所示。 與 構(gòu)成一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),應(yīng)答聯(lián)絡(luò)信號(hào)功能如下。 :端口輸出緩沖器滿信號(hào),低有效,它是8255A發(fā)給外設(shè)的聯(lián)絡(luò)信號(hào),表示外設(shè)可以將數(shù)據(jù)取走。 :外設(shè)應(yīng)答信號(hào),低有效。表示外設(shè)已把8255A發(fā)出(fch)的數(shù)據(jù)取走。INTR:中斷請(qǐng)求信號(hào),高有效。表示該數(shù)據(jù)已被外設(shè)取走,向單片機(jī)發(fā)出中斷請(qǐng)求,如果80C51響應(yīng)該中斷,在中斷服務(wù)子程序中向8255A寫入要輸出的下一數(shù)據(jù)。95共一百零八頁INTEA控制PA口是否允許中斷,由PC6控制。INTEB控制PB口是否允許中斷,由PC2控制。方

48、式(fngsh)1輸出工作示意如圖9-8所示。以PB口的方式1輸出為例,介紹工作過程。 80C51可以通過“MOVX Ri,A”指令把輸出數(shù)據(jù)送到B口的輸出數(shù)據(jù)鎖存器,8255A收到后便令輸出緩沖器滿引腳 (PC1)變低,以通知輸出設(shè)備輸出的數(shù)據(jù)已在PB口的PB7PB0上。 輸出外設(shè)收到 上低電平后,先從PB7PB0上取走輸出數(shù)據(jù),然后使 B 變低電平,以通知8255A輸出外設(shè)已收到8255A輸出的數(shù)據(jù)。96共一百零八頁97圖9-7 方式1輸出應(yīng)答(yngd)聯(lián)絡(luò)信號(hào)共一百零八頁 圖9-8 PB口方式1輸出工作(gngzu)過程示意圖98共一百零八頁 8255A從應(yīng)答輸入線 B收到低電平后就對(duì)

49、 B 和中斷允許控制位INTEB狀態(tài)進(jìn)行(jnxng)檢測(cè),若皆為高電平,則INTRB變?yōu)楦唠娖蕉騿纹瑱C(jī)請(qǐng)求中斷。 80C51單片機(jī)響應(yīng)INTRB上中斷請(qǐng)求后便可通過中斷服務(wù)程序把下一個(gè)輸出數(shù)據(jù)送到PB口的輸出數(shù)據(jù)鎖存器。重復(fù)上述過程,完成數(shù)據(jù)的輸出。3)方式2只有PA口才有方式2。圖9-9為工作示意圖。方式2是方式1輸入和輸出組合。PA7PA0為雙向I/O總線。當(dāng)作為輸入口使用,PA7PA0受STBA 和IBFA控制;當(dāng)作輸出端口使用,PA7PA0受 A、 A 控制。99共一百零八頁100圖9-9 PA口在方式(fngsh)2下的工作示意圖共一百零八頁方式2特別適用于像鍵盤、顯示器一類的外部設(shè)備,因?yàn)橛袝r(shí)需要把鍵盤上輸入的編碼信號(hào)通過PA口送給單片機(jī),有時(shí)又需把單片機(jī)發(fā)出(fch)的數(shù)據(jù)通過PA口送給顯示器顯示。4、 80C51單片機(jī)與8255A的接口設(shè)計(jì)1)硬件接口電路如圖9-10為80C51

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論