版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
17.1MCS-51單片機(jī)的最小系統(tǒng)7.1.18051/8052的最小系統(tǒng)7.1.28031最小應(yīng)用系統(tǒng)7.2MCS-51單片機(jī)系統(tǒng)并行擴(kuò)展技術(shù)7.2.1并行擴(kuò)展總線原理7.2.2I/O口擴(kuò)展概述7.2.3并行擴(kuò)展地址譯碼技術(shù)7.3存儲(chǔ)器擴(kuò)展技術(shù)7.3.1存儲(chǔ)器的概述7.3.2程序存儲(chǔ)器的擴(kuò)展7.3.3數(shù)據(jù)存儲(chǔ)器的擴(kuò)展7.4 I/O接口擴(kuò)展概述7.5簡(jiǎn)單74系列并行I/O接口的擴(kuò)展7.6通用可編程I/O接口芯片82C55的擴(kuò)展7.6.1并行I/O接口芯片82C557.6.2并行I/O接口82C55的3種工作方式7.6.380C51單片機(jī)與82C55的接口設(shè)計(jì)2第7章單片機(jī)系統(tǒng)的并行擴(kuò)展MCS-51系列單片機(jī)雖具有很強(qiáng)的功能,但片內(nèi)駐留的程序存儲(chǔ)器容量、數(shù)據(jù)存儲(chǔ)器的容量、并行I/O口等是有限的,在不能滿(mǎn)足應(yīng)用系統(tǒng)需要時(shí),需要進(jìn)行系統(tǒng)擴(kuò)展。系統(tǒng)擴(kuò)展分為并行擴(kuò)展和串行擴(kuò)展,本章介紹應(yīng)用系統(tǒng)的并行擴(kuò)展,第11章介紹串行擴(kuò)展。7.1MCS-51單片機(jī)的最小系統(tǒng)單片機(jī)最小系統(tǒng),是指一個(gè)可用的最小配置系統(tǒng)。根據(jù)片內(nèi)有無(wú)程序存儲(chǔ)器,MCS-51單片機(jī)最小系統(tǒng)分兩種情況,若單片機(jī)內(nèi)部程序存儲(chǔ)器資源已能滿(mǎn)足系統(tǒng)需要,則增加晶振及復(fù)位電路直接構(gòu)成最小系統(tǒng)。7.1.18051/8052的最小系統(tǒng)8051/8052片內(nèi)有4K(8052有8K)ROM/EPROM,因此,僅需要外接晶振和復(fù)位電路就可構(gòu)成最小系統(tǒng)。8051/8052的最小系統(tǒng)如圖7-1所示。3圖7-18051/8052的最小系統(tǒng)8051/8052的最小系統(tǒng)特點(diǎn)如下。(1)片外無(wú)需擴(kuò)展存儲(chǔ)器,P0、P1、P2、P3都可以作為用戶(hù)I/O口。(2)片內(nèi)有128B(地址00H~7FH)RAM,無(wú)片外數(shù)據(jù)存儲(chǔ)器。4(3)內(nèi)部有4KB(地址空間0000H~0FFFH)ROM,EA應(yīng)接高電平。7.1.28031最小應(yīng)用系統(tǒng)8031片內(nèi)無(wú)程序存儲(chǔ)器片,其最小應(yīng)用系統(tǒng)不僅要外接晶體振蕩器和復(fù)位電路,還應(yīng)擴(kuò)展程序存儲(chǔ)器,8031最小應(yīng)用系統(tǒng)如圖7-2所示。
該最小系統(tǒng)特點(diǎn)如下:(1)P0在擴(kuò)展程序存儲(chǔ)器時(shí)作為低8位地址/數(shù)據(jù)分時(shí)復(fù)用線,P2口作為高8位地址線,不能作為I/O線,只有P1、P3可作為I/O口使用。(2)片內(nèi)有128B(地址空間00H~7FH)RAM,沒(méi)有片外RAM。(3)片外擴(kuò)展了程序存儲(chǔ)器,其地址空間隨芯片容量不同而不一樣。圖7-2中使用的是27512芯片,容量為64KB(地址空間為0000H~FFFFH)。由于只使用片外程序存儲(chǔ)器,EA接低電平。5圖7-28031/8032的最小系統(tǒng)7.2MCS-51單片機(jī)系統(tǒng)并行擴(kuò)展技術(shù)根據(jù)單片機(jī)應(yīng)用系統(tǒng)具體應(yīng)用中需要的ROM、RAM及I/O空間,可以方便地設(shè)計(jì)并行擴(kuò)展。本節(jié)首先介紹并行擴(kuò)展總線原理,然后簡(jiǎn)單概況I/O接口擴(kuò)展,最后重點(diǎn)介紹并行擴(kuò)展地址譯碼技術(shù)。67.2.1并行擴(kuò)展總線原理本小節(jié)介紹并行擴(kuò)展的三總線結(jié)構(gòu),并行擴(kuò)展遵循的擴(kuò)展原則,以及單片機(jī)系統(tǒng)并行擴(kuò)展的內(nèi)容。1.三總線結(jié)構(gòu)MCS-51單片機(jī)外部都有單獨(dú)的并行地址總線、數(shù)據(jù)總線、控制總線。其中P0口作數(shù)據(jù)總線和低8位地址總線復(fù)用,為了能把分時(shí)復(fù)用的數(shù)據(jù)總線和地址總線分離,以便同外部擴(kuò)展的芯片正確連接,需要在單片機(jī)的外部增加地址鎖存器(例如74LS373),從而構(gòu)成三總線結(jié)構(gòu),如圖7-3所示。7圖7-380C51的三總線結(jié)構(gòu)(1)地址總線單片機(jī)地址總線(AddressBus,AB)用于單向傳送單片機(jī)送出的地址信號(hào),以便進(jìn)行存儲(chǔ)器單元和I/O端口的選擇。地址總線的數(shù)目決定了可直接訪問(wèn)的存儲(chǔ)單元和I/O端口的數(shù)目。地址總線由P2構(gòu)成的高8位地址與P0構(gòu)成的低8位地址組成16位地址總線,達(dá)到64KB的尋址能力。實(shí)際應(yīng)用中,如果不需要擴(kuò)展16位地址,擴(kuò)展后剩余的地址線仍可作一般I/O8口使用。
(2)數(shù)據(jù)總線數(shù)據(jù)總線(DataBus,DB)用于單片機(jī)與存儲(chǔ)器(或I/O接口)間雙向的的數(shù)據(jù)傳送。MCS-51單片機(jī)的數(shù)據(jù)總線與其字長(zhǎng)一致,為8位。
(3)控制總線控制總線(ControlBus,CB)是控制片外ROM、RAM和I/O口讀/寫(xiě)操作的。
2.并行擴(kuò)展原則:三總線對(duì)接MCS-51單片機(jī)系統(tǒng)的并行總線接口擴(kuò)展是通過(guò)擴(kuò)展三總線實(shí)現(xiàn)的,總結(jié)為“三總線對(duì)接”,連線時(shí)應(yīng)遵守下列原則:(1)單片機(jī)擴(kuò)展存儲(chǔ)器和I/O口芯片時(shí),雙方數(shù)據(jù)線與數(shù)據(jù)線相連,地址線與地址線相連,控制線與控制線相連。(2)擴(kuò)展多片存儲(chǔ)器和I/O口芯片時(shí),控制線相同的芯片地址線不能相同,地址線相同的芯片控制線不能相同。9
(3)由于只有片選信號(hào)有效的芯片才被選中,當(dāng)一類(lèi)芯片僅有1片時(shí),片選端可接地;當(dāng)同類(lèi)芯片存在多片時(shí),可用單片機(jī)地址線(通常是高位地址線)通過(guò)線選法或譯碼法(全譯碼和部分譯碼)等方法分時(shí)選中各芯片片選端,在單片機(jī)應(yīng)用中大多采用線選法。
3.單片機(jī)系統(tǒng)并行擴(kuò)展的內(nèi)容MCS-51單片機(jī)系統(tǒng)并行擴(kuò)展的內(nèi)容包括外部存儲(chǔ)器的擴(kuò)展(外部RAM、ROM)和I/O接口部件的擴(kuò)展。主要包含如下內(nèi)容。
(1)外部ROM的擴(kuò)展①紫外線擦除的EPROM主要有Intel2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)和27512(64KB)等。②電擦除的EEPROM主要有高壓(+21V)電寫(xiě)入的2816和2817(2KB),以及+5V10電寫(xiě)入的2816A和2817A(2KB)等。
(2)外部RAM的擴(kuò)展①靜態(tài)RAM有Intel6116(2KB)、6264(8KB)、62256(32KB)等。②動(dòng)態(tài)RAM主要是2164A(64K×1)。(3)I/O接口的擴(kuò)展①專(zhuān)用I/O擴(kuò)展:8255(3×8并行口)、8243(4×4并行口)②復(fù)合芯片:8155具有可編程的I/O及RAM擴(kuò)展接口電路,含有2個(gè)8位I/O口、1個(gè)6位I/O口、256個(gè)RAM字節(jié)單元,具有1個(gè)14位的減法定時(shí)器/計(jì)數(shù)器。③TTL芯片:通過(guò)P0口擴(kuò)展的鎖存、緩沖器:74LS373、74LS273、74LS244、74LS245。(4)其它主要有8259、8279、ADC0809、8251和DAC0832等。7.2.2I/O接口擴(kuò)展概述11
由于MCS-51的I/O接口和外部RAM是統(tǒng)一編址的,因此,可以把外部64KB的RAM空間的一部分用作擴(kuò)展I/O的地址空間。這樣,單片機(jī)可以像訪問(wèn)外部RAM一樣訪問(wèn)I/O接口,對(duì)其進(jìn)行讀/寫(xiě)。Intel公司常用外圍器件如表7-1所示。表7-1Intel公司常用外圍器件127.2.3并行擴(kuò)展地址譯碼技術(shù)并行擴(kuò)展包括片外存儲(chǔ)器的擴(kuò)展(RAM和ROM)和I/O接口的擴(kuò)展,其中,片外ROM有獨(dú)立的64KB地址空間,I/O口與片外RAM統(tǒng)一編址,占據(jù)相同的64KB地址空間。擴(kuò)展時(shí),占據(jù)相同地址空間的芯片要共同劃分單片機(jī)64KB地址空間。
1.并行擴(kuò)展的地址譯碼方法并行擴(kuò)展的核心問(wèn)題是擴(kuò)展芯片的編址問(wèn)題,即給存儲(chǔ)單元和I/O接口單元分配地址。對(duì)于擴(kuò)展多個(gè)存儲(chǔ)器和I/O接口芯片的單片機(jī)系統(tǒng),編址分為兩個(gè)層次:擴(kuò)展芯片的選擇和擴(kuò)展芯片片內(nèi)單元的選擇。占據(jù)相同地址空間的擴(kuò)展芯片(ROM之間或者RAM和I/O之間)與單片機(jī)地址連接方式如下:(1)片內(nèi)單元的選擇:?jiǎn)纹瑱C(jī)地址總線A0~A15由低位到高位與擴(kuò)展芯片片內(nèi)地址線順次相接,選中芯片片內(nèi)單元。13
(2)對(duì)存儲(chǔ)器芯片、I/O接口芯片訪問(wèn)時(shí),片選端信號(hào)必須有效。單片機(jī)的剩余高位地址線作為片選線,經(jīng)譯碼后與擴(kuò)展芯片的片選端相接,選中芯片。(3)擴(kuò)展芯片的選擇:由高位地址實(shí)現(xiàn),擴(kuò)展芯片片選端連接方式有線選法和譯碼法。1)線選法若系統(tǒng)只擴(kuò)展少量的ROM或者少量的RAM和I/O接口,可采用線選法,即把單片機(jī)單獨(dú)的地址線(通常是P2的某一條線)連接到擴(kuò)展芯片片選端上,只要此地址線為低電平,就選中該芯片。線選法的連接方法有多種:一線二用、一線一選和綜合線選方式。線選法的特點(diǎn)是:電路簡(jiǎn)單,不需另外增加硬件電路,體積小,成本低。由于除了片選端和片內(nèi)地址是確定的,其余單片機(jī)地址無(wú)論取1或0,都不會(huì)影響對(duì)片內(nèi)單元的確定,因此會(huì)出現(xiàn)地址重疊。14
2)譯碼法譯碼法分全譯碼和部分譯碼,全譯碼需使用地址譯碼器。當(dāng)譯碼器輸入為某一個(gè)固定編碼時(shí),其輸出只有某一個(gè)固定的引腳為低電平,其余的為高電平。因此,使用較少的單片機(jī)地址信號(hào)編碼即可產(chǎn)生較多的譯碼信號(hào),從而實(shí)現(xiàn)對(duì)多塊ROM或者多塊RAM和I/O器件的選擇。①全譯碼全譯碼就是擴(kuò)展芯片的地址線與單片機(jī)系統(tǒng)的地址線順次相接后,剩余的單片機(jī)高位地址線全部參加譯碼。由于地址譯碼器使用了全部剩余高位地址線,地址與存儲(chǔ)單元一一對(duì)應(yīng),也就是1個(gè)存儲(chǔ)單元只占用1個(gè)唯一的地址。全譯碼的特點(diǎn):這種譯碼方法存儲(chǔ)器芯片的地址空間是唯一確定的,但譯碼電路相對(duì)復(fù)雜。常用的譯碼器有74LS138(3-8譯碼器)、74LS139(雙2-4譯碼器)和74LS154(4-16譯碼器)。15
②部分譯碼單片機(jī)系統(tǒng)的地址線與擴(kuò)展芯片的片內(nèi)地址線順次相接后,剩余的單片機(jī)高位地址線僅一部分參加譯碼。部分譯碼的特點(diǎn):由于地址譯碼器僅使用部分剩余地址線,沒(méi)有使用的地址取0和1都可行,使得1個(gè)存儲(chǔ)單元或I/O接口單元占用了多個(gè)地址。擴(kuò)展芯片的地址空間有重疊,造成單片機(jī)系統(tǒng)地址空間的浪費(fèi)。
2.避免地址重疊方法在并行擴(kuò)展芯片編址時(shí),對(duì)于某一擴(kuò)展芯片,如果單片機(jī)地址線部分沒(méi)有用到,沒(méi)用到的地址可取0或1,使得1個(gè)存儲(chǔ)單元或I/O接口單元占用了多個(gè)地址,出現(xiàn)擴(kuò)展芯片單元地址重疊,避免單元地址重復(fù)方法如下:(1)用來(lái)選擇其他芯片的片選地址線取為1,其他未用到地址線全取為1;(2)用來(lái)選擇其他芯片的片選地址線取為1,其他未用到地址線全取為0。163.典型3-8譯碼器74LS13874LS138譯碼器是一種常用的地址譯碼器芯片,其引腳如圖7-4所示,其中,、、、、、、、為8個(gè)輸出端,C、B、A為譯碼輸入端,其8種邏輯組合選通各輸出端。G1、、為控制端,只有當(dāng)G1為“1”,且、均為“0”時(shí),譯碼器才能譯碼輸出。否則譯碼器的8個(gè)輸出端全為高阻狀態(tài)。74LS138譯碼器控制端、譯碼輸入端與輸出端之間的譯碼關(guān)系如表7-2所示。圖7-474LS138譯碼器引腳17表7-274LS138譯碼器真值表
4.并行擴(kuò)展地址譯碼的應(yīng)用【例7-1】80C51單片機(jī)采用線選法擴(kuò)展RAM和I/O接口,電路如圖7-5所示,單片機(jī)擴(kuò)展1片RAM芯片6116(存儲(chǔ)容量為2KB),擴(kuò)展I/O接口82C55、8155、DAC0832和定時(shí)/計(jì)數(shù)器8253等各1片。擴(kuò)展外圍芯片除了片選端外,還有片內(nèi)地址,18將單片機(jī)地址總線A0~A15由低位到高位的順序與RAM地址線、I/O片內(nèi)地址線依次相接,由于6116內(nèi)部有2KB的存儲(chǔ)空間,占用11根地址線,單片機(jī)剩余高位地址線A11~A15依次直接與各芯片片選端相接。將A11接6116片選端,A12接82C55片選端,A13接8155片選端、A14接DAC0832片選端,A15接定時(shí)/計(jì)數(shù)器8253片選端。除片內(nèi)地址和片選端外,各擴(kuò)展芯片未用到的地址位均設(shè)成“1”狀態(tài)(也可設(shè)成“0”狀態(tài)),根據(jù)圖7-5中地址線的連接方法,則各芯片地址如表7-3所示。表7-3線選法方式RAM及I/O地址譯碼表19圖7-5片選法擴(kuò)展RAM和I/O接口20
對(duì)于RAM和I/O容量較大的應(yīng)用系統(tǒng),當(dāng)擴(kuò)展芯片所需的片選線多于可利用的高位地址線時(shí),常采用地址譯碼法。它將低位地址線作為芯片片內(nèi)地址,用譯碼器對(duì)剩余高位地址線譯碼,譯出的信號(hào)作為片選線?!纠?-2】80C51單片機(jī)采用全譯碼方式擴(kuò)展RAM和I/O接口,電路如圖7-6所示,單片機(jī)擴(kuò)展2片RAM芯片6264(存儲(chǔ)容量為8KB)、2片RAM芯片6116(存儲(chǔ)容量為2KB),擴(kuò)展I/O接口82C55、8155、DAC0832和定時(shí)/計(jì)數(shù)器8253等各一片。由于片內(nèi)單元數(shù)最多的6264是8KBRAM,需要13條低位地址線(A0~A12)為片內(nèi)單元尋址,高位地址線僅剩3條(A13~A15),不能對(duì)8個(gè)芯片采用線選法編址,此時(shí),可采用全譯碼方式,用一片74LS138分別選通8個(gè)擴(kuò)展芯片的片選線。圖7-6中,將A15~A13連接74LS138的C、B、A輸入端,Y0連接定時(shí)/計(jì)數(shù)器8253片選端,Y1連接D/A變換器210832片選端,Y2連接8155片選端,Y3連接82C55片選端,Y4、Y5分別連接2片6116片選端,Y6、Y7分別連接2片6264片選端。除片內(nèi)地址和片選端外,各擴(kuò)展芯片未用到的地址位均設(shè)成“1”狀態(tài)(也可設(shè)成“0”狀態(tài)),根據(jù)圖7-6中地址線的連接方法,則各芯片地址如表7-4所示。22圖7-6單片機(jī)全譯碼擴(kuò)展RAM和I/O接口23表7-4全譯碼方式RAM及I/O地址譯碼表
7.3存儲(chǔ)器擴(kuò)展技術(shù)本節(jié)首先介紹存儲(chǔ)器擴(kuò)展的一般方法,然后介紹如何擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。
7.3.1存儲(chǔ)器的概述一個(gè)最小的單片機(jī)系統(tǒng)必須包括程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。存儲(chǔ)器是單片機(jī)系統(tǒng)的主要組成部分,運(yùn)行程序、處理數(shù)24據(jù)和存儲(chǔ)數(shù)據(jù)都需要存儲(chǔ)器。
1.存儲(chǔ)器的主要指標(biāo)存儲(chǔ)器的主要指標(biāo)有存儲(chǔ)容量和存取速度。(1)存儲(chǔ)容量用字?jǐn)?shù)位數(shù)表示,或者用位數(shù)表示。(2)存取速度用完成一次存取需要的時(shí)間表示。高速存儲(chǔ)器的存取時(shí)間僅有10ns左右。選擇存儲(chǔ)器件的考慮因素有易失性、只讀性、位容量、功耗、速度、價(jià)格和可靠性等。
2.存儲(chǔ)器的類(lèi)型存儲(chǔ)器的主要類(lèi)型如下:(1)掩膜ROM(ROM):在制造過(guò)程中編程,只適合于大批量生產(chǎn)。(2)可編程ROM(PROM):用獨(dú)立的編程器寫(xiě)入,只能寫(xiě)入一次。(3)可擦除可編程ROM(EPROM):電信號(hào)編程,紫外線擦除的只讀存儲(chǔ)器芯片。25
(4)電可擦除可編程ROM(EEPROM):電信號(hào)編程,電擦除。讀寫(xiě)操作與RAM相似,寫(xiě)入速度稍慢。(5)隨機(jī)存儲(chǔ)器(RAM):易失性的存儲(chǔ)器包括靜態(tài)存儲(chǔ)器SRAM(static?random?access?memory)和動(dòng)態(tài)存儲(chǔ)器DRAM?(dynamic?random?access?memory)。?SRAM和DRAM在掉電的時(shí)候均會(huì)失去保存的數(shù)據(jù)。(6)閃存(FlashMemory):又稱(chēng)閃爍存儲(chǔ)器,簡(jiǎn)稱(chēng)閃存。電改寫(xiě),電擦除,讀寫(xiě)速度快(70ns),讀寫(xiě)次數(shù)多(1萬(wàn)次)。(7)鐵電存儲(chǔ)器(FRAM):將ROM的非易失性數(shù)據(jù)存儲(chǔ)特性和RAM的無(wú)限次讀寫(xiě)、高速讀寫(xiě)以及低功耗等優(yōu)勢(shì)結(jié)合在一起。FRAM產(chǎn)品包括各種接口(如工業(yè)標(biāo)準(zhǔn)的串口和并口),具有工業(yè)標(biāo)準(zhǔn)的封裝類(lèi)型和密度(4Kbit、16Kbit、64Kbit、256Kbit和1Mbit等)。
3.?dāng)U展存儲(chǔ)器所需芯片數(shù)目的確定若擴(kuò)展存儲(chǔ)器字長(zhǎng)與單片機(jī)字長(zhǎng)一致,則只需擴(kuò)展容量。所需芯片數(shù)目按下式確定:26若所選存儲(chǔ)器芯片字長(zhǎng)與單片機(jī)字長(zhǎng)不一致,則不僅需擴(kuò)展容量,還需字?jǐn)U展。所需芯片數(shù)目按下式確定:
4.存儲(chǔ)器擴(kuò)展的一般方法(1)地址總線16位,可擴(kuò)展片外程序存儲(chǔ)器64KB,地址為0x0000~0xFFFF;可擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器及I/O口共64KB,地址為0x0000~0xFFFF。(2)存儲(chǔ)器芯片的地址線的數(shù)目由芯片的容量決定。容量(Q)與地址線數(shù)目(N)滿(mǎn)足關(guān)系式:Q=2N。一般來(lái)說(shuō),存儲(chǔ)器芯片的地址線數(shù)目總是少于單片機(jī)地址總線的數(shù)目,連接時(shí),存儲(chǔ)器芯片的地址線與單片機(jī)的地址總線(A0~A15)按從低到高的順序依次相接。連接后,單片機(jī)的高位地址線如有剩余。剩余地址線一般作為譯碼27線,譯碼輸出與存儲(chǔ)器芯片的片選信號(hào)線相接。(3)對(duì)外擴(kuò)的程序存儲(chǔ)器芯片,其輸出允許控制線與單片機(jī)的信號(hào)線相連;對(duì)外擴(kuò)的數(shù)據(jù)存儲(chǔ)器芯片,其輸出允許控制線和寫(xiě)控制線分別與單片機(jī)的讀信號(hào)線和寫(xiě)信號(hào)線相連。(4)存儲(chǔ)器芯片的數(shù)據(jù)線與單片機(jī)的數(shù)據(jù)總線(P0.0~P0.7)按由低到高的順序依次相接?!纠?-3】在80C51片外擴(kuò)展24KBRAM,采用6264芯片,計(jì)算需要幾片6264芯片。解:根據(jù)公式7-1可得,芯片數(shù)=24KB/8KB=3片
5.常用的存儲(chǔ)器(1)EPROM存儲(chǔ)器EPROM是以往單片機(jī)最常選用的一種紫外線可擦除可編程的存儲(chǔ)器,主要有27C系列的EPROM,如27C16(2KB)、27C32(4KB)、27C64(8KB)、27C128(16KB)、27C256(32KB),除了27C16和27C32為24個(gè)引腳外,其余均為28個(gè)引腳。擴(kuò)展程序存儲(chǔ)器時(shí),應(yīng)盡量用大容量的芯片。28
(2)EEPROM存儲(chǔ)器常用的AT24C02是采用CMOS工藝制作的串行EEPROM存儲(chǔ)器,它具有可用電擦除的256字節(jié)的容量,由3~15V電源進(jìn)行供電。AT24C02將在11.3.4節(jié)具有I2C串行總線的EEPROMAT24C02的設(shè)計(jì)中介紹。(3)典型的SRAM存儲(chǔ)器IntelSRAM的典型芯片有6116(2K×8位)、6264(8K×8位)、62256(32K×8位)、628128(128K×8位)等。其中,6264芯片應(yīng)用較廣泛。6264是一種8KB
×
8的靜態(tài)存儲(chǔ)器,它采用CMOS工藝,數(shù)據(jù)存取時(shí)間為200ns。其內(nèi)部組成包括512×16×8的存儲(chǔ)器矩陣、行/列地址譯碼器以及數(shù)據(jù)輸入輸出控制邏輯電路。在存儲(chǔ)器讀周期,選中單元的8位數(shù)據(jù)經(jīng)過(guò)列I/O控制電路輸出;在存儲(chǔ)器寫(xiě)周期,外部8位數(shù)據(jù)經(jīng)過(guò)輸入數(shù)據(jù)控制電路和列I/O控制電路寫(xiě)入所選中的單元中。6264有28個(gè)引腳,引腳結(jié)構(gòu)如圖7-7所示,采用雙列直插式結(jié)構(gòu),使用單一
+
5V電源。其引腳功能如下:29圖7-76264引腳結(jié)構(gòu)306264的、、、CS共同作用決定了芯片的運(yùn)行方式,如表7-5所示。表7-56264的操作邏輯表
7.3.2程序存儲(chǔ)器的擴(kuò)展51系列單片機(jī)為外部程序存儲(chǔ)器的擴(kuò)展提供了專(zhuān)門(mén)的讀指令控制信號(hào),使外部程序存儲(chǔ)器形成獨(dú)立的64KB空間。
1.單片程序存儲(chǔ)器的擴(kuò)展【例7-4】80C51單片機(jī)擴(kuò)展單片27C64A作為程序存儲(chǔ)器,電路如圖7-8所示。27C64A是8K
×
8位的EPROM芯片,將單片機(jī)地址A12~A0連接2764片內(nèi)地址A12~A0,27C6431片選端直接接地,單片機(jī)程序存儲(chǔ)器讀選通信號(hào)接2764的端,由此A15~A13組成8個(gè)重疊的地址范圍為如表7-6所示。圖7-8單片機(jī)擴(kuò)展單片27C64A程序存儲(chǔ)器32表7-6單片27C64A程序存儲(chǔ)器重疊地址表
2.多片程序存儲(chǔ)器的擴(kuò)展【例7-5】80C51單片機(jī)擴(kuò)展2片27C64A作為程序存儲(chǔ)器,電路如圖7-9所示。圖中,A15連接27C64A(U3)端,并經(jīng)過(guò)74LS04反向后連接27C64A(U4)端,由于單片機(jī)地址A12~A0連接2片2764片內(nèi)地址A12~A0,剩余地址A13、A14可以是0或者1,組成4種邏輯狀態(tài),由此,2片27C64A33各有4組重疊地址空間,且各占據(jù)32KB的程序存儲(chǔ)空間,如表7-7所示。圖7-9單片機(jī)擴(kuò)展2764作為程序存儲(chǔ)器34表7-7單片27C64A程序存儲(chǔ)器重疊地址表
7.3.3數(shù)據(jù)存儲(chǔ)器的擴(kuò)展51子系列單片機(jī)片內(nèi)只有128B數(shù)據(jù)RAM,對(duì)于數(shù)據(jù)處理量不大的智能儀表及控制系統(tǒng),片內(nèi)的數(shù)據(jù)存儲(chǔ)器完全夠用。但在單片機(jī)需要采集及處理的數(shù)據(jù)量較大時(shí),需要考慮擴(kuò)展片外RAM,可擴(kuò)展的最大容量為64KB。目前使用的RAM有兩類(lèi),即靜態(tài)RAM和動(dòng)態(tài)RAM。在單片機(jī)系統(tǒng)中,外部擴(kuò)展大多為靜態(tài)RAM,如6116、6264、62256。隨著串行接口芯片技術(shù)的發(fā)展,現(xiàn)多采用串行接口EEPROM存儲(chǔ)器,如24CXX系列等。35【例7-6】80C51單片機(jī)采用全譯碼方式擴(kuò)展8片6264RAM,電路如圖7-10所示。單片機(jī)地址A12~A0連接8片6264片內(nèi)地址A12~A0,剩余地址A15、A14、A13連接74LS138譯碼器的C、B、A輸入端,譯碼器輸出端Y0連接6264(U3)片選端,Y1連接6264(U4)片選端,Y2連接6264(U5)片選端,Y3連接6264(U6)片選端,Y4連接6264(U7)片選端,Y5連接6264(U9)片選端,Y6連接6264(U10)片選端,Y7連接6264(U11)片選端。根據(jù)圖7-10中地址線的連接方法,全地址譯碼如表7-8所示。采用全地址譯碼方式,單片機(jī)發(fā)地址碼時(shí),每次只能選中一個(gè)存儲(chǔ)單元。同類(lèi)存儲(chǔ)器間不會(huì)產(chǎn)生地址重疊的問(wèn)題。36圖7-10單片機(jī)全譯碼擴(kuò)展8片6264RAM37表7-8擴(kuò)展8片6264RAM地址表
【例7-7】80C51單片機(jī)采用部分譯碼器法擴(kuò)展2片8KBEPROM2764,2片8KBRAM6264,電路如圖7-11所示。A13和A14分別連接2-4譯碼器74LS139輸入端A、B,74LS139輸出端Y0連接6264(U3)片選端,Y1連接6264(U4)片選端,Y2連接2764(U5)片選端,Y3連接2764(U6)片選端,80C51地址A15引腳未連接線,使得當(dāng)單片38機(jī)地址輸出時(shí),A15可以為0或者1,因此每個(gè)芯片都有2個(gè)8KB的地址空間。表7-9是80C51擴(kuò)展2片2764和2片6264的地址表。39圖7-11采用部分譯碼器法擴(kuò)展2片8KBEPROM2764和2片8KBRAM626440表7-9擴(kuò)展2片2764和2片6264地址表
7.4I/O接口擴(kuò)展概述I/O(輸入/輸出)接口是MCS-51與外設(shè)交換數(shù)字信息的橋梁,也屬于系統(tǒng)擴(kuò)展的一部分。MCS-51真正用作I/O口線的只有P1口的8位I/O線和P3口的某些位線。在多數(shù)應(yīng)用系統(tǒng)中,MCS-51單片機(jī)都需要外擴(kuò)I/O接口電路。41
1.I/O接口的功能I/O接口電路應(yīng)滿(mǎn)足以下要求:(1)實(shí)現(xiàn)和不同外設(shè)的速度匹配大多數(shù)外設(shè)的速度很慢,無(wú)法和μs量級(jí)的單片機(jī)速度相比。單片機(jī)只有在確認(rèn)外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備的前提下,才能進(jìn)行I/O操作。外設(shè)是否準(zhǔn)備好,需I/O接口電路與外設(shè)之間傳送狀態(tài)信息。(2)輸出數(shù)據(jù)鎖存由于單片機(jī)工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保留的時(shí)間十分短暫,無(wú)法滿(mǎn)足慢速外設(shè)的接收數(shù)據(jù)的要求。I/O電路應(yīng)具有數(shù)據(jù)鎖存器,以保證接收設(shè)備可靠接收。(3)輸入數(shù)據(jù)三態(tài)緩沖輸入設(shè)備向單片機(jī)輸入數(shù)據(jù),但數(shù)據(jù)總線上面可能“掛”有多個(gè)數(shù)據(jù)源,為不發(fā)生沖突,只允許當(dāng)前正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的應(yīng)處于隔離狀態(tài)。42
2.I/O接口與I/O端口的區(qū)別I/O接口(Interface)是指單片機(jī)與外設(shè)間的I/O接口芯片。I/O端口(Port)是指具有端口地址的寄存器或緩沖器。一個(gè)I/O接口芯片可以有多個(gè)I/O端口,每個(gè)I/O端口是一個(gè)數(shù)據(jù)口、命令口或者狀態(tài)口。
3.I/O端口編址I/O端口編址是給所有I/O接口中的寄存器編址,I/O端口編址有兩種方式:獨(dú)立編址與統(tǒng)一編址。(1)獨(dú)立編址方式I/O寄存器地址空間和存儲(chǔ)器地址空間分開(kāi)編址,但需專(zhuān)門(mén)讀寫(xiě)I/O的指令和控制信號(hào)。(2)統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲(chǔ)器單元同等對(duì)待,統(tǒng)一編址。不需要專(zhuān)門(mén)的I/O指令,直接使用訪問(wèn)數(shù)據(jù)存儲(chǔ)器的指令進(jìn)行I/O操作,簡(jiǎn)單、方便且功能強(qiáng)。43
MCS-51使用統(tǒng)一編址的方式。
4.I/O數(shù)據(jù)的傳送方式為實(shí)現(xiàn)MCS-51和不同速度的外設(shè)的匹配,I/O接口必須選擇恰當(dāng)?shù)腎/O數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送方式有同步傳送、查詢(xún)傳送方式和中斷傳送。(1)同步傳送方式(無(wú)條件傳送)當(dāng)外設(shè)速度和單片機(jī)的速度相當(dāng)時(shí),常采用同步傳送方式,最典型的同步傳送就是單片機(jī)和外部數(shù)據(jù)存儲(chǔ)器之間的數(shù)據(jù)傳送。(2)查詢(xún)傳送方式(條件傳送,異步式傳送)MCS-51查詢(xún)外設(shè)“準(zhǔn)備好”后,再進(jìn)行數(shù)據(jù)傳送。查詢(xún)方式通用性好,硬件連線和查詢(xún)程序十分簡(jiǎn)單;但是效率不高。為提高效率,通常采用中斷傳送方式。(3)中斷傳送方式外設(shè)準(zhǔn)備好后,發(fā)出中斷請(qǐng)求,單片機(jī)進(jìn)入與外設(shè)數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送,中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。中斷傳送方式工作效率高。44
7.5簡(jiǎn)單74系列并行I/O接口的擴(kuò)展MCS-51有四組I/O口P0~P3,但是在某些特定的場(chǎng)合,可能會(huì)出現(xiàn)I/O口不夠用的情況。需要通過(guò)擴(kuò)展I/O以滿(mǎn)足使用的需要。 在MCS-51單片機(jī)應(yīng)用系統(tǒng)中,經(jīng)常采用74系列TTL電路或4000系列CMOS電平的鎖存器或三態(tài)門(mén)電路構(gòu)成簡(jiǎn)單并行I/O口。例如:74LS273、74LS373、74LS377等鎖存器可構(gòu)成輸出口,用74LS244緩沖驅(qū)動(dòng)器可作為輸入口,74LS245三態(tài)輸出8路收發(fā)/驅(qū)動(dòng)器可作為雙向口使用。這種應(yīng)用通常是利用P0口的第二功能擴(kuò)展I/O。由于P0口第二功能是地址/數(shù)據(jù)總線分時(shí)復(fù)用,擴(kuò)展的原則是:“輸出要鎖存,輸入要三態(tài)緩沖或鎖存選通”。【例7-8】80C51單片機(jī)利用74LS244和74LS373芯片擴(kuò)展簡(jiǎn)單I/O口,電路如圖7-12所示,將P0口擴(kuò)展成簡(jiǎn)單的輸入、輸出口的電路。74LS244是緩沖驅(qū)動(dòng)器,擴(kuò)展為輸入口,連接8個(gè)按鈕開(kāi)關(guān);74LS373擴(kuò)展為輸出口,連接845個(gè)LED發(fā)光二極管,用來(lái)顯示8個(gè)按鈕開(kāi)關(guān)狀態(tài),某位開(kāi)關(guān)為低電平時(shí)二極管發(fā)光。74LS273和74LS244的工作受80C51的P2.7、、三條控制線控制。當(dāng)P2.7=0,=0(=1)時(shí)選中74LS244,8位開(kāi)關(guān)的狀態(tài)被讀入單片機(jī)P0口。當(dāng)P2.7=0,=0(=1)選中74LS373,80C51單片機(jī)P0口數(shù)據(jù)鎖存到74LS373;可見(jiàn),74LS244和74LS373具有相同端口地址:0x7fff,單片機(jī)讀數(shù)據(jù)時(shí),選中74LS244;單片機(jī)輸出數(shù)據(jù)時(shí),選中74LS373。參考C程序如下:#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineIN244XBYTE[0x7fff]//輸入端口地址#defineOUT273XBYTE[0x7fff]//輸出端口地址voidmain(void){uchara;
46while(1){a=IN244;//讀244數(shù)據(jù)OUT273=a;//輸出數(shù)據(jù)給373,驅(qū)動(dòng)二極管顯示}}47
圖7-12利用74LS244和74LS373芯片擴(kuò)展簡(jiǎn)單I/O口7.6通用可編程I/O接口芯片82C55的擴(kuò)展82C55是一種通用的可編程并行I/O接口芯片,用于幾乎所有微型機(jī)系統(tǒng)中,如8086、MCS-51、Z80CPU系統(tǒng)等。82C55有3個(gè)8位帶鎖存或緩沖的數(shù)據(jù)端口,可與外設(shè)并行交換數(shù)據(jù)。用戶(hù)可用程序來(lái)選擇多種操作方式,成為CPU與外設(shè)之間靈活的并行輸入/輸出接口芯片。7.6.1并行I/O接口芯片82C55下面介紹82C55的應(yīng)用特性。1.82C55的引腳信號(hào)82C55采用雙列直插式封裝,共40引腳,如圖7-13所示,各引腳信號(hào)功能如下:(1)D7~D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)的數(shù)據(jù)總線P0相連,用來(lái)傳送數(shù)據(jù)信息。(2)PA7~PA0:PA口的8根I/O信號(hào)線,與外部設(shè)備連接。(3)PB7~PB0:PB口的8根I/O信號(hào)線,用于與外部設(shè)備連接。48
(4)PC7~PC0:PC口的8根I/O信號(hào)線,用于與外部設(shè)備連接。(5):片選信號(hào)線,低電平有效時(shí),選中82C55芯片。(6):讀信號(hào)線,低電平有效時(shí),控制從82C553個(gè)數(shù)據(jù)端口寄存器之一讀出信息。(7):寫(xiě)信號(hào)線,低電平有效,用于控制向82C554個(gè)數(shù)據(jù)端口和控制端口之一寫(xiě)入信息。(8)A1、A0:地址線,其邏輯關(guān)系組合成為4個(gè)端口的地址譯碼信號(hào)。A1A0=00,選中PA口;A1A0=01,選中PB口;A1A0=10,選中PC口;A1A0=11,選中控制口。(9)RESET:復(fù)位信號(hào)線,高電平時(shí)有效。(10)VCC:+5V電源線。(11)GND:地信號(hào)線。49
圖7-1382C55引腳
2.82C55內(nèi)部結(jié)構(gòu)82C55內(nèi)部結(jié)構(gòu)如圖7-14所示,分為2部分功能部件:與微處理器接口功能部件和與外設(shè)接口的功能部件。50
圖7-1482C55內(nèi)部結(jié)構(gòu)(1)與外設(shè)接口部分——三個(gè)獨(dú)立的數(shù)據(jù)口82C55片內(nèi)有3個(gè)彼此獨(dú)立的8位數(shù)據(jù)端口PA口、PB口、PC口。1)PA口:由一個(gè)8位輸入鎖存器和一個(gè)8位輸出鎖存器及緩沖器組成。51
2)PB口:由一個(gè)8位的數(shù)據(jù)輸入緩沖器和一個(gè)8位的數(shù)據(jù)輸出鎖存器及緩沖器組成。3)PC口:由一個(gè)8位的數(shù)據(jù)輸入緩沖器和一個(gè)8位的數(shù)據(jù)輸出鎖存器組成。PA口、PB口和PC口都可作為獨(dú)立的輸入口和輸出口使用,PA口適合雙向數(shù)據(jù)傳輸。在方式1和方式2應(yīng)用中,PC端口的某些位固定配合PA口和PB口的工作。(2)與微處理器的接口部分1)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個(gè)雙向的三態(tài)8位緩沖器,是82C55和系統(tǒng)數(shù)據(jù)總線連接的通道,傳送輸入/輸出數(shù)據(jù)、CPU發(fā)出的控制字及外設(shè)的狀態(tài)信息。2)內(nèi)部控制部分——A組、B組控制電路82C55內(nèi)部控制部分包含A組、B組控制電路2部分,A組控制PA口和PC口的高4位(PC4~PC7)。B組控制PB口和PC口的低4位(PC0~PC3)。52
內(nèi)部控制的功能是執(zhí)行單片機(jī)CPU寫(xiě)入的“控制字”,接收讀/寫(xiě)控制部件的讀/寫(xiě)命令,決定A、B組的工作方式和讀/寫(xiě)操作。3)讀寫(xiě)控制邏輯將單片機(jī)送來(lái)的地址線(A1、A0)、控制線(、RESET、和)組合,根據(jù)相應(yīng)的邏輯關(guān)系,把CPU的控制字、數(shù)據(jù)送至控制端口或數(shù)據(jù)端口,或?qū)⑼庠O(shè)狀態(tài)、外設(shè)輸入數(shù)據(jù)通過(guò)相應(yīng)數(shù)據(jù)端口到CPU。82C55控制信號(hào)對(duì)4個(gè)端口執(zhí)行的操作的情況如表7-10所示。53
3.82C55的工作方式、控制字和編程(1)82C55的工作方式82C55有3種工作方式:方式0、方式1、方式2。54
(2)控制字單片機(jī)CPU向82C55控制寄存器輸出2種不同的控制字,決定82C55工作方式和3個(gè)數(shù)據(jù)端口執(zhí)行的輸入/輸出操作。控制字分為工作方式控制字和PC置1/置0控制字兩種。2種控制字都必須寫(xiě)入控制寄存器才能發(fā)揮作用。1)工作方式控制字82C553種工作方式由方式控制字決定,工作方式控制字的特征是最高位D7=1,格式如圖7-15所示。55圖7-15工作方式控制字格式56
【例7-9】設(shè)82C55作掃描鍵盤(pán)和數(shù)碼管顯示接口芯片,PA口工作于方式0,控制七段數(shù)碼管輸出段選碼,PC口工作于方式0,作為鍵盤(pán)掃描線輸出,PB口工作于方式0作為鍵盤(pán)輸入線,設(shè)82C55控制口地址為0x7ff3,寫(xiě)出82C55初始化語(yǔ)句。參考C程序如下:#include<absacc.h>#defineCOM8255XBYTE[0x7ff3]//控制寄存器地址voidmain(void){ COM8255=0x82; //寫(xiě)入82C55控制寄存器
…}2)PC置1/置0控制字82C55在與CPU傳輸數(shù)據(jù)的過(guò)程中,有時(shí)需要將C端口的某幾位作為控制位或狀態(tài)位57來(lái)使用,或需要將C端口按位設(shè)置以配合PA或PB的工作,需將PC按位置1或清0。PC置1/置0控制字的格式如圖7-16所示,說(shuō)明如下。58
【例7-10】設(shè)計(jì)采用82C55的PC7產(chǎn)生方波。設(shè)82C55控制口地址為0x7ff3,向82C55控制口寫(xiě)入0x0f,則PC7置1;向控制口寫(xiě)入0xe,PC7清0。參考C程序段如下:#include<absacc.h>#defineuintunsignedint#defineCOM8255XBYTE[0x7ff3]//控制口地址voiddelay(uintz) //延時(shí)函數(shù){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidmain(void){ COM8255=0x0f;//PC7置1delay(5);
59COM8255=0xe;//PC7清0delay(5);}7.6.2并行I/O接口82C55的3種工作方式82C55的PA、PB和PC3個(gè)數(shù)據(jù)口具有3種工作方式。1.工作方式0方式0是基本的輸入/輸出工作方式,提供簡(jiǎn)單的輸入和輸出操作,不需要固定應(yīng)答信號(hào)。PA口、PB口和PC口(PC口分為2個(gè)4位使用)都可工作在方式0下,方式0特點(diǎn)如下:(1)具有兩個(gè)8位端口(PA、PB)和兩個(gè)4位端口(PC口的高4位和PC口的低4位)。(2)任何一個(gè)端口都可以設(shè)定為輸入或者輸出。(3)每一個(gè)端口輸出時(shí)可鎖存,輸入可緩沖。PA口、PB口和PC口3個(gè)數(shù)據(jù)口都具有輸出鎖存器和輸入緩沖器,可工作在方式0的以下情況:60
(1)適用于無(wú)條件傳輸數(shù)據(jù)的設(shè)備,如讀一組開(kāi)關(guān)狀態(tài)、控制一組指示燈;不使用應(yīng)答信號(hào),CPU可以隨時(shí)讀出開(kāi)關(guān)狀態(tài),隨時(shí)把一組數(shù)據(jù)送指示燈顯示。(2)鍵盤(pán)掃描。
2.工作方式1工作方式1是選通輸入/輸出方式,工作方式1僅適用于PA和PB,當(dāng)PA口和PB口在方式1下進(jìn)行數(shù)據(jù)的輸入/輸出時(shí),必須利用PC口某些位提供選通和應(yīng)答信號(hào),即PA和PB輸入/輸出是由PC口固定位的硬件狀態(tài)決定。此時(shí)PA口和PB口既可以作輸入,也可作輸出,輸入和輸出都具有鎖存能力。(1)方式1輸入無(wú)論是PA口輸入還是PB口輸入,都用PC口固定的三位作應(yīng)答信號(hào),一位作中斷允許控制位,各應(yīng)答信號(hào)如圖7-17所示,信號(hào)含義如下:61
1):外設(shè)輸入給82C55的“輸入選通”信號(hào),低電平有效;2)IBF:82C55輸出給外設(shè)的“輸入緩沖器滿(mǎn)”信號(hào),高電平有效;3)INTR:82C55送給CPU的“中斷請(qǐng)求”信號(hào),高電平有效;4)INTE:82C55內(nèi)部為控制中斷而設(shè)置的“中斷允許”62信號(hào),可通過(guò)對(duì)PC4(PA口)和PC2(PB口)的置位/復(fù)位控制字來(lái)開(kāi)放中斷或禁止。當(dāng)82C55PA或PB工作在方式1選通輸入方式,單片機(jī)可以采用查詢(xún)輸入或中斷輸入2種方式讀取外設(shè)數(shù)據(jù):1)采用查詢(xún)式輸入時(shí),單片機(jī)可以查82C55的輸入緩沖器信號(hào)IBF,若IBF為高,則CPU讀入數(shù)據(jù)。2)采用中斷方式輸入時(shí),應(yīng)該先用C口置1/置0的控制字使相應(yīng)的端口允許中斷,即使INTEA(PC4)=1或INTEB(PC2)=1,然后將中斷請(qǐng)求信號(hào)INTR送單片機(jī)外部中斷。以PA工作于方式1輸入為例,介紹工作過(guò)程如下:①當(dāng)外設(shè)向82C55PA7~PA0引腳輸入數(shù)據(jù)時(shí),外設(shè)需要在上送入一個(gè)低電平選通信號(hào)。②82C55接收到后,首先將PA7~PA0上數(shù)據(jù)存入PA口的輸入數(shù)據(jù)緩沖/鎖存器,接著將IBFA變?yōu)楦唠娖剑ㄖ庠O(shè),PA接收到輸入數(shù)據(jù)。63
③當(dāng)82C55檢測(cè)到由低電平變?yōu)楦唠娖健BFA(PC5)=1和INTEA(PC4)=1同時(shí)滿(mǎn)足時(shí),使INTRA(PC3)變?yōu)楦唠娖?,INTRA可向單片機(jī)發(fā)出外部中斷請(qǐng)求。其中,INTEA(PC4)=1的設(shè)置可由PC4置/復(fù)位控制字來(lái)控制。④單片機(jī)響應(yīng)INTRA中斷后,在中斷服務(wù)程序中讀取PA中的輸入數(shù)據(jù)。當(dāng)數(shù)據(jù)被讀走后,INTRA中斷請(qǐng)求撤銷(xiāo),IBFA清0,外設(shè)可以傳送下一個(gè)數(shù)據(jù)。(2)方式1輸出無(wú)論是PA口輸出還是PB口輸出,都需要PC口固定的三位作應(yīng)答信號(hào),一位作中斷允許控制位。方式1輸出時(shí),各應(yīng)答信號(hào)如圖7-18所示,應(yīng)答信號(hào)含義如下:64
1):82C55輸出給外設(shè)的“輸出緩沖器滿(mǎn)”信號(hào),低電平有效,表示82C55已經(jīng)接收到單片機(jī)輸出的數(shù)據(jù)。2):外設(shè)取走82C55中的數(shù)據(jù)后,送給82C55的“應(yīng)答”信號(hào),低電平有效。3)INTR:82C55送給單片機(jī)CPU的“中斷請(qǐng)求”信號(hào),高電平有效。4)INTE:82C55內(nèi)部“中斷允許”信號(hào),含義與選通輸入一致,只是對(duì)應(yīng)C口的位與選通輸入不同,是通過(guò)PC665(若允許PA口中斷)和PC2(若允許PB口中斷)的置位/復(fù)位來(lái)允許或禁止中斷。以PA工作于方式1輸出為例,介紹工作過(guò)程如下:①當(dāng)82C55接收到單片機(jī)輸出的數(shù)據(jù)后,將(PC7)變?yōu)榈碗娖?,作為?duì)外設(shè)的通知信號(hào)。②外設(shè)從PA口取走輸出數(shù)據(jù)后,將變?yōu)榈碗娖?,告訴8255其已接收到數(shù)據(jù)。③82C55同時(shí)檢測(cè)到=0、=1和INTEA=1時(shí),使INTRA=1,可作為向單片機(jī)的中斷請(qǐng)求信號(hào)。④單片機(jī)響應(yīng)INTRA中斷請(qǐng)求后,在中斷服務(wù)程序中向PA口輸出下一個(gè)數(shù)據(jù)。當(dāng)82C55PA或PB工作在方式1選通輸出方式時(shí),單片機(jī)可以采用查詢(xún)式輸出或者中斷方式輸出2種方式向外設(shè)輸出數(shù)據(jù)。1)采用查詢(xún)式輸出時(shí),單片機(jī)可以查詢(xún)82C55的輸出緩沖器滿(mǎn)OBF信號(hào),一旦由低變高電平,則CPU可繼續(xù)輸出數(shù)據(jù)。66
2)采用中斷方式輸出時(shí),應(yīng)該先用C口置1/置0的控制字使相應(yīng)的端口允許中斷,即使INTEA(PC6)=1或INTEB(PC2)=1,然后將中斷請(qǐng)求信號(hào)INTR送單片機(jī)外部中斷。
3.工作方式2(雙向選通傳輸方式)工作方式2是雙向選通傳輸方式,只適用于PA口,即82C55的PA口工作于選通方式1輸出和選通方式1輸入,并且輸入和輸出都是鎖存的。它使用C口的5位作應(yīng)答信號(hào),兩位作中斷允許控制位,PA口方式2工作時(shí)應(yīng)答信號(hào)如圖7-19所示。其中,PA7~PA0引腳為雙向I/O總線。當(dāng)輸入時(shí),PA口受和IBFA控制,工作原理如同方式1輸入;當(dāng)輸出時(shí),PA口受、控制,工作原理如方式1輸出。677.6.3
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年新型混凝土的研究動(dòng)態(tài)與應(yīng)用
- 2026春招:循環(huán)經(jīng)濟(jì)面試題及答案
- 2026年結(jié)構(gòu)設(shè)計(jì)中的生物氣候原則
- 2026年房地產(chǎn)企業(yè)的綠色轉(zhuǎn)型路徑
- 貨物收發(fā)安全培訓(xùn)內(nèi)容課件
- 貨物儲(chǔ)運(yùn)安全培訓(xùn)課件
- 貨架安全知識(shí)培訓(xùn)
- 神經(jīng)科學(xué)領(lǐng)域的基因治療
- 感染性心內(nèi)膜炎診治要點(diǎn)
- 個(gè)性化疫苗研發(fā)策略與實(shí)踐
- 吉林省“BEST合作體”2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(圖片版含答案)
- 關(guān)于項(xiàng)目進(jìn)展討論會(huì)議記錄
- 地理(A卷)-浙江省溫州市2024學(xué)年高一第一學(xué)期期末教學(xué)質(zhì)量統(tǒng)一檢測(cè)
- 《基礎(chǔ)護(hù)理學(xué)(第七版)》考前強(qiáng)化模擬練習(xí)試題庫(kù)500題(含答案)
- GB 1499.1-2024鋼筋混凝土用鋼第1部分:熱軋光圓鋼筋
- 礦產(chǎn)授權(quán)委托書(shū)
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 航空公司招聘筆試行測(cè)題
- 員工工資明細(xì)表Excel模板
- DB32-T 4086-2021 特種設(shè)備風(fēng)險(xiǎn)分級(jí)管控工作規(guī)范
- JJG 945-2010微量氧分析儀
評(píng)論
0/150
提交評(píng)論