《單片機原理與應(yīng)用技術(shù)》課件第9章_第1頁
《單片機原理與應(yīng)用技術(shù)》課件第9章_第2頁
《單片機原理與應(yīng)用技術(shù)》課件第9章_第3頁
《單片機原理與應(yīng)用技術(shù)》課件第9章_第4頁
《單片機原理與應(yīng)用技術(shù)》課件第9章_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

9.1系統(tǒng)擴展概述9.2數(shù)據(jù)存儲器的擴展9.3程序存儲器的擴展9.4程序存儲器和數(shù)據(jù)存儲器的綜合擴展9.5并行接口的擴展思考題與習題第9章存儲器和并行口的擴展9.1.1單片機最小系統(tǒng)

所謂單片機最小系統(tǒng),就是使單片機能運行的最少器件構(gòu)成的系統(tǒng)。

對于基本型MCS-51單片機,如89C51,因其有內(nèi)部ROM,所以只要將單片機接上時鐘電路和復(fù)位電路即構(gòu)成了最小系統(tǒng),如圖9.1所示(圖中未畫電源)。9.1系統(tǒng)擴展概述圖9.189C51最小系統(tǒng)該最小系統(tǒng)有4KB的程序存儲器空間,所有P0~P3口都供用戶使用,用戶只要在這些口上加上鍵盤、顯示器和一些其它功能器件,就可以完成相關(guān)任務(wù)。

對于無內(nèi)部ROM的MCS-51單片機,如8031,除了時鐘電路和復(fù)位電路外,還需要擴展外部ROM,圖9.2就是一個擴展了16KBROM的最小系統(tǒng)。該系統(tǒng)擴展ROM時占用了P0、P2口,用戶只能使用P1和P3口。

8031組成的最小系統(tǒng)中,增加了EPROM芯片、74LS373鎖存器。它們是根據(jù)什么原理與CPU連接的?為什么要用74LS373鎖存器呢?下面將講述這些內(nèi)容。圖9.28031最小系統(tǒng)9.1.2總線概念

復(fù)雜的計算機系統(tǒng)是由眾多功能部件組成的,每個功能部件分別完成系統(tǒng)整體功能中的一部分,所以各功能部件與CPU之間就存在著相互連接并實現(xiàn)信息流通的問題。如果所需連接線的數(shù)量非常多,就造成了計算機組成結(jié)構(gòu)的復(fù)雜化。為了減少連接線,簡化組成結(jié)構(gòu),把具有共性的線歸并成一組公共連線,稱為總線。例如,專門用于傳輸數(shù)據(jù)用的公用線稱為數(shù)據(jù)總線(DB—DataBus);專門用于傳輸?shù)刂返墓镁€稱為地址總線(AB—AddressBus);專門的選通、控制的線稱為控制總線(CB—ControlBus),它們統(tǒng)稱為“三總線”。

MCS-51系列單片機屬總線型結(jié)構(gòu),片內(nèi)通過內(nèi)部總線把各個功能部件、器件連成一個整體,當片外進行功能部、器件擴展時,則由P0和P2口組成外部8位數(shù)據(jù)總線和16位地址總線,P3口及相關(guān)專用選通線組成控制總線,所以它是一個典型的三總線結(jié)構(gòu),如圖9.3所示。

MCS-51系列單片機所提供的數(shù)據(jù)、地址和控制總線,簡化了對外部存儲器及多功能部、器件的要求,而且硬件連接極為簡單、方便。為了能與MCS-51系列單片機的總線配套,Intel公司和其它公司設(shè)計了許多標準的外圍芯片,為應(yīng)用系統(tǒng)的擴展提供了既方便又豐富的硬件資源。這也是MCS-51系列單片機的突出優(yōu)點之一。圖9.3MCS-51單片機總線信號數(shù)據(jù)存儲器即隨機存取存儲器(RandomAccessMemory),簡稱RAM,用于存放可隨時修改的數(shù)據(jù)信息。對RAM可以進行讀、寫操作。RAM為易失性存儲器,斷電后所存信息立即消失。按其工作方式,RAM又分為動態(tài)RAM(DRAM—DynamicRAM)和靜態(tài)RAM(SRAM—StaticRAM)。9.2數(shù)據(jù)存儲器的擴展動態(tài)RAM一般容量較大,但要定時刷新才能維持所存信息,使用略復(fù)雜,單片機中使用較少。靜態(tài)RAM只要電源上電,所存信息就能可靠保存,不需要刷新,擴展電路簡單,單片機中使用較多。

MCS-51單片機基本型片內(nèi)只有128B的RAM,增強型(如89C52)有256B的RAM。應(yīng)用系統(tǒng)需要更多的RAM時,可以片外擴展,可擴展的最大容量為64KB。9.2.1SRAM芯片

Intel公司的SRAM芯片有6264、62128、62256等。其型號的前兩位數(shù)62表示SRAM;“62”后面的數(shù)字表示其存儲容量,除以8為字節(jié)容量。如6264,有64÷8=8KB容量。圖9.4列出了幾種SRAM芯片的引腳圖。引腳的功能如下:

A0~A15:地址輸入線。

D0~D7:雙向三態(tài)數(shù)據(jù)線。

:片選信號輸入線,低電平有效。

:讀選通信號輸入線,低電平有效。

(或):寫允許信號輸入線,低電平有效。

VCC:工作電源,+5V。

GND:地線。圖9.4SRAM引腳圖(a)引腳分類;(b)引腳圖SRAM通常有讀、寫、維持三種工作方式,見表9.1。表9.1SRAM的工作方式9.2.2典型外部數(shù)據(jù)存儲器的連接

圖9.5是89C51與62128的連接示意圖。

顯然,它們是按“三總線”的原則連接的:單片機的P0作為數(shù)據(jù)總線與數(shù)據(jù)存儲器的D0~D7連接;單片機的P2.0~P2.5作為地址總線的高6位與數(shù)據(jù)存儲器的A8~A13連接;單片機的P0通過地址鎖存器74LS373作為地址總線的低8位與數(shù)據(jù)存儲器的A0~A7連接;單片機的、作為控制總線與數(shù)據(jù)存儲器的、連接;單片機的P2.7作為片選信號與數(shù)據(jù)存儲器的連接。圖9.589C51與62128的連接示意圖9.2.3地址鎖存器和外擴RAM的操作時序

從圖9.5的連接圖中可以看出,MCS-51單片機地址總線為P0、P2口,但P0口同時也是數(shù)據(jù)總線,如果不做處理,低8位地址總線與數(shù)據(jù)總線就會發(fā)生沖突。解決辦法是,采用地址鎖存器,分時共用P0口,將地址與數(shù)據(jù)隔離。地址鎖存器常用的型號有74LS373、74LS573、74LS273,引腳見圖9.6。74LS573內(nèi)部結(jié)構(gòu)與74LS373完全一樣,只是其引腳的排列與74LS373不同,輸入的D端和輸出的Q端依次排在芯片的兩側(cè),為繪制印刷電路板時的布線提供了方便,推薦讀者優(yōu)先選用。圖9.6地址鎖存器引腳圖圖9.7地址鎖存器結(jié)構(gòu)示意圖

D0~D7為8D鎖存器的數(shù)據(jù)輸入端,Q0~Q7為8D鎖存器的數(shù)據(jù)輸出端。為三態(tài)門的控制端?!叭龖B(tài)門”的輸出有三種狀態(tài):高電平、低電平、高阻懸浮狀態(tài)。為低電平時,三態(tài)門導(dǎo)通,輸出OUT的數(shù)值與Q0~Q7一致。當該信號為高電平時,輸出線呈高阻態(tài)。

G為數(shù)據(jù)打入端,當G為“1”時,鎖存器輸出狀態(tài)(Q0~Q7)同輸入狀態(tài)(D0~D7),即8D鎖存器的數(shù)據(jù)輸出端Q跟隨輸入端D變化;當G由“1”變“0”,即“負跳變”時,數(shù)據(jù)打入鎖存器中,這時如果外部數(shù)據(jù)使D端發(fā)生變化,Q也不隨之變化。

74LS273的數(shù)據(jù)打入端為11腳“CLK”;三態(tài)門控制端1腳“CLR”的邏輯與74LS373相反。使用時應(yīng)加以注意。

MCS-51單片機讀、寫外部數(shù)據(jù)存儲器的操作時序如圖9.8所示。

圖9.8單片機讀、寫外部數(shù)據(jù)存儲器的操作時序(a)片外數(shù)據(jù)存儲器讀時序;(b)片外數(shù)據(jù)存儲器寫時序讀外部數(shù)據(jù)存儲器的時序:如圖9.8(a)所示,在第一個機器周期S1,ALE由低電平變高電平①,讀周期開始。在S2狀態(tài),CPU把低8位地址送上P0,把高8位地址送上P2。ALE的下降沿②用來把低8位地址鎖存在外加地址鎖存器內(nèi)③,而高8位地址此后一直鎖存在P2口上,無需外加外鎖存。在S3,P0進入高阻狀態(tài)④。在S4,讀控制信號變?yōu)橛行Б?,它使得被尋址的?shù)據(jù)存儲器把有效的數(shù)據(jù)送上P0⑥,當回到高電平后⑦,被尋址的存儲器把其本身的總線懸浮起來⑧,使P0進入高阻狀態(tài)。寫外部數(shù)據(jù)存儲器的時序與上述類同,但寫的過程是CPU主動把數(shù)據(jù)送上總線,故在時序上,CPU向P0送完被尋址存儲器的低8位地址后,在S3狀態(tài)就送數(shù)據(jù)上總線P0了③。其間,總線P0不再出現(xiàn)高阻懸浮狀態(tài)。在S4狀態(tài),寫控制信號有效,選通了被尋址的數(shù)據(jù)存儲器。之后,P0上的數(shù)據(jù)就寫到被尋址的存儲器內(nèi)了。9.2.4確定擴展芯片地址的方法

單片機應(yīng)用系統(tǒng)中,為了唯一地確定某一存儲單元或I/O端口,需要進行兩次選擇。一是先找到該存儲單元或I/O端口所在的芯片,稱為“片選”;二是通過對芯片本身所具有的地址線進行譯碼,最后確定存儲單元或I/O端口,稱為“字選”。唯一地確定某一存儲單元或I/O端口并不意味著這些存儲單元或I/O端口的地址是唯一的。如果在譯碼中,即“片選”和“字選”中,使用了全部地址線,這樣地址與存儲單元或I/O端口一一對應(yīng),只占用一個唯一的地址,稱為全地址譯碼。如果僅使用了部分地址線,地址與存儲單元或I/O端口不是一一對應(yīng),而是一個存儲單元或I/O端口占用了幾個地址,則稱為部分地址譯碼。部分地址譯碼選擇同一個存儲單元或I/O端口的地址可能有幾個,但物理目標卻是唯一的。就像同一地點有幾個地名一樣,地名不同但地點是唯一的。

片選保證每次只選中某一芯片或I/O端口,常用的片選法有線選法和地址譯碼法。

1)線選法

線選法是直接利用系統(tǒng)地址總線最高幾位空余線(如P2.7或P2.6、P2.5等)中的一根作為片選控制線來選擇一個芯片的方法。線選法硬件開支少,方法簡單,常用于應(yīng)用系統(tǒng)擴展芯片較少的場合。

在設(shè)計地址譯碼電路時,如果采用地址譯碼關(guān)系圖的話,將會帶來很大的方便。所謂地址譯碼關(guān)系圖,就是一種用簡單的符號來表示全部地址譯碼關(guān)系的示意圖表。例如,圖9.5擴展的數(shù)據(jù)存儲器地址譯碼關(guān)系如表9.2所示。表9.2圖9.5擴展的數(shù)據(jù)存儲器地址譯碼關(guān)系從地址譯碼關(guān)系圖上可以明確幾點:

(1)屬完全地址譯碼還是部分地址譯碼;

(2)譯碼線有多少根;

(3)所占用的全部地址范圍為多少。

此關(guān)系圖中,地址線中有1個“·

”(P2.6未用),表示為部分地址譯碼,本例中,每個單元占用了2個地址。若2根地址線不用,則一個單元占用4個地址;3根地址線不用,則占用8個地址,依此類推。該數(shù)據(jù)存儲器片內(nèi)譯碼線有14根(A0~A13),其所占用的地址范圍如下:

當A14為0時,所占用地址為0000000000000000~0011111111111111,即0000H~3FFFH。當A14為1時,所占用地址為0100000000000000~0111111111111111,即4000H~7FFFH。它共占用了兩組地址,這兩組地址在使用中實際上是對62128中的同一個存儲單元進行操作。實際應(yīng)用中,可把A14接地或VCC,使它形成唯一的地址。

圖9.9是用線選法擴展3片6264的電路圖,其地址譯碼關(guān)系如表9.3所示,它采用了3根地址譯碼線,屬完全地址譯碼。圖9.9線選法擴展3片6264電路圖表9.3圖9.9的地址譯碼關(guān)系

2.地址譯碼法

地址譯碼法是將單片機系統(tǒng)中的空余地址線去控制外部地址譯碼器,以譯碼器的輸出作為片選控制信號的方法。地址譯碼法常用于系統(tǒng)中擴展芯片較多而空余的地址線不夠的場合。

常用的地址譯碼器有74LS138(3-8譯碼器)、74LS139(雙2-4譯碼器)、74LS154(4-16譯碼器)等。下面僅介紹74LS138和74LS139。

74LS138是一種3-8譯碼器,有三個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生8種狀態(tài)。其引腳及真值表見圖9.10。圖9.1074LS138引腳及真值表

74LS139具有兩個2-4譯碼器。這兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。其引腳及真值表見圖9.11,真值表為其中任一路2-4譯碼器的輸入/輸出狀態(tài)。

使用譯碼器后,只需要單片機少數(shù)的引腳就可以獲得更多的片選信號。圖9.12是用譯碼選通法擴展的4片62128的電路圖,它采用了P2口中剩余的2根地址線,屬完全譯碼。地址譯碼關(guān)系如表9.4所示。圖9.1174LS139引腳及真值表圖9.12譯碼法擴展4片62128電路圖表9.4圖9.12的地址譯碼關(guān)系9.3.1ROM芯片

程序存儲器一般采用只讀存儲器ROM(ReadOnlyMenory)。這類存儲器的特點是把信息寫入后,能長期保存,不會因電源斷電而丟失。單片機中ROM用來存放程序和表格數(shù)據(jù)。

根據(jù)寫入和擦除方式的不同,ROM可分為掩膜ROM、可編程ROM、紫外線擦除可編程ROM、電擦除可編程ROM、FlashROM等。9.3程序存儲器的擴展

MASKROM指的是掩膜ROM,用戶的數(shù)據(jù)或程序由廠家做成光刻板,在芯片制造過程中由廠家寫入。掩膜ROM只能寫入一次,且不能再修改,因此只適合于批量生產(chǎn)。

PROM指的是“可編程只讀存儲器”,即ProgrammableRed-OnlyMemory。這樣的產(chǎn)品只允許寫入一次,所以也被稱為“一次可編程只讀存儲器”(OneTimeProgrammingROM,OTP-ROM)。

EPROM指的是“可擦寫可編程只讀存儲器”,即ErasableProgrammableRead-OnlyMemory。它的特點是具有可擦除功能,擦除后即可進行再編程,但缺點是擦除需要使用紫外線照射一定的時間。這一類芯片特別容易識別,其封裝中包含一個“石英玻璃窗”。

EEPROM又稱E2PROM,指的是“電可擦除可編程只讀存儲器”,即ElectricallyErasableProgrammableRead-OnlyMemory。它的最大優(yōu)點是可直接用電信號擦除,也可用電信號寫入。

FlashROM又稱閃爍存儲器,簡稱閃存,是一種非易失性的內(nèi)存,屬于E2PROM的改進產(chǎn)品。它的最大特點是必須按塊(Block)擦除(每個區(qū)塊的大小不定,不同廠家的產(chǎn)品有不同的規(guī)格),而E2PROM則可以一次只擦除一個字節(jié)(Byte)。目前FlashROM的擦除次數(shù)高達10萬次?,F(xiàn)在自帶內(nèi)部程序存儲器的單片機大多采用FlashROM。

從學習程序存儲器的擴展來講,采用EPROM的電路比較典型。典型的EPROM芯片是27系列產(chǎn)品,例如,2764(8KB?×?8)、27128(16KB?×?8)、27256(32KB?×?8)、27512(64KB?×?8)。“27”后面的數(shù)字表示其位存儲容量,引腳如圖9.13所示。一些容量較小的EPROM如2716、2732目前已停止生產(chǎn)。EPROM芯片上有一個玻璃窗口是用來照射紫外線擦除用的。EPROM固化后,應(yīng)使用黑色不干膠遮住這個窗口。引腳功能如下:A0~A15:地址線引腳。數(shù)目由存儲容量來定。D0~D7:數(shù)據(jù)線。:片選輸入端。:輸出允許控制端(允許“讀”信號端)。:編程時,加編程脈沖的輸入端。VPP:編程用,編程電壓(+?12.5V)輸入端。VCC:+?5V,芯片的工作電壓。GND:數(shù)字地。圖9.13常見EPROM引腳圖9.3.2程序存儲器的擴展圖9.14是89C51與一片27128的連接示意圖。很明顯,其也是按“三總線”的原則連接的:單片機的P0作為數(shù)據(jù)總線與EPROM的D0~D7連接;單片機的P2.0~P2.5作為地址總線的高6位與EPROM的A8~A13連接;單片機的P0通過地址鎖存器74LS573作為地址總線的低8位與EPROM的A0~A7連接;單片機的作為“讀”控制與EPROM的連接;此例中單片機只擴展了一片EPROM,所以CE始終接地。圖9.1489C51與27128的連接示意圖對于自帶內(nèi)部ROM的單片機系統(tǒng),在正常運行時,應(yīng)把引腳接高電平(

=1),使程序從內(nèi)部ROM開始執(zhí)行。當PC值超過內(nèi)部ROM的容量時,會自動轉(zhuǎn)向外部程序存儲器地址空間執(zhí)行。如:89C51自帶4KB的內(nèi)部ROM,地址范圍為0000H~0FFFH,則片外地址范圍為1000H~FFFFH(本例中外部程序存儲器的容量為16KB,所以片外地址為1000H~4FFF)。當PC值超過0FFFH時會自動轉(zhuǎn)向外部1000H的地址空間。對這類單片機,若把接低電平(=0),片外程序存儲器的地址范圍為0000H~FFFFH的全部64KB地址空間,而不管片內(nèi)是否實際存在程序存儲器。本例中,如需要讀27128中1000H的數(shù)據(jù),可用以下程序?qū)崿F(xiàn):

MOV DPTR,#1000H

CLR A

MOVC A,@A?+?DPTR

圖9.14中的P2口已用作擴展程序存儲器的高8位地址總線,雖然只用了6根(P2.0~P2.5),但P2腳其余未用引腳(P2.6、P2.7)已不宜作通用I/O口線,否則會給軟件設(shè)計和使用帶來相當多的麻煩,這一點在系統(tǒng)接口設(shè)計時務(wù)必注意。目前,MCS-51單片機大都有內(nèi)部自帶程序存儲器的機型,其容量從1KB到64KB都有。對于8031這類無內(nèi)部ROM的機型已停產(chǎn)。如果不是由于應(yīng)用系統(tǒng)的特殊需要,一般并不主張擴展程序存儲器ROM。因此,有關(guān)擴展程序存儲器的時序分析等內(nèi)容,本書不再講解,讀者可以參考有關(guān)資料。圖9.15所示為MCS-51單片機采用線選法擴展了1片16KB的RAM和1片16KB的EPROM接口電路。

其地址譯碼關(guān)系如表9.5所示。此表中P2.7可以取1或0,所以62128是不完全譯碼,每一個存儲器單元都有兩個地址,編寫程序時,對兩個地址所進行的操作,效果是相同的。9.4EPROM和RAM的綜合擴展圖9.15線選法擴展EPROM和RAM電路圖表9.5圖9.15的地址譯碼關(guān)系圖中的27128片選端始終接地。在訪問27128時,62128的地址、數(shù)據(jù)總線也滿足了訪問的要求,但27128的“讀”控制線是由提供的,而62128的“讀”、“寫”控制信號是由、提供的,因此兩個芯片的數(shù)據(jù)不會發(fā)生沖突。9.5.1總線驅(qū)動器

MCS-51系列單片機的外部擴展空間是很大的,但總線口(P0、P2)和控制信號線的負載能力是有限的。P0口可以驅(qū)動8個TTL負載,其它P1、P2、P3口能驅(qū)動4個TTL負載。當需要擴展的芯片較多,超過了單片機口的負載能力時,就需要加總線驅(qū)動器。

9.5并行接口的擴展

P0口需加雙向數(shù)據(jù)總線驅(qū)動器74LS245,其引腳、邏輯圖見圖9.16。可以看出,74LS245實際上就是兩組8位三態(tài)門電路,無鎖存功能,每個引腳輸出電流為15?mA,灌入電流為24mA。是使能端,低電平有效。DIR為方向控制端,有效時,DIR=1,A→B;DIR=0,A←B。與P0口的連接圖見圖9.17。圖9.1674LS245雙向數(shù)據(jù)驅(qū)動器(a)74LS245引腳;(b)74LS245邏輯圖

P2口可用單向數(shù)據(jù)總線驅(qū)動器74LS244,其引腳、邏輯圖見圖9.18??梢钥闯?,74LS244實際上就是兩組4位三態(tài)門電路,無鎖存功能,每個引腳輸出電流為15mA,灌入電流為24mA。當和均為低電平時,兩組三態(tài)門開通,輸入A端數(shù)據(jù)直通到輸出Y端;若和均為高電平時,三態(tài)門不開通,輸出端Y端呈高阻狀態(tài)。與P2口的連接圖見圖9.19。

74LS245、74LS244也可以作為并行輸入/輸出口的簡單擴展使用。圖9.1774LS245與P0口的接口圖9.1874LS244雙向數(shù)據(jù)驅(qū)動器(a)74LS244引腳;(b)74LS244邏輯圖圖9.1974LS244與P2口的接口9.5.2用74LS系列TTL電路擴展并行I/O口

用TTL電路作并行I/O口的特點是電路口線少,利用率高。選用TTL作并行I/O時,要靈活運用“輸入三態(tài),輸出鎖存”的原則,選擇與總線相連接的TTL芯片。圖9.20是一片74LS573作并行輸出,另一片74LS573作并行輸入的接口電路。圖9.20采用74LS573電路的I/O接口考慮到輸入操作時只有RD信號有效,輸出操作時只有WR信號有效,故電路的輸入/輸出口共用一個地址7FFFH。

將一個字節(jié)寫入74LS573的指令為:

MOV DPTR,#7FFFH

MOV A,#data

MOVX @DPTR,A參照9.2.3節(jié)的時序,分析以上程序可知,MOVX@DPTR,A指令的執(zhí)行過程可以分為兩步:

(1)準備地址。此時P2口的狀態(tài)為7FH,即P2.7引腳為0,其他引腳為1;P0口的狀態(tài)為FFH。

(2)送數(shù)據(jù)。此時P0線上將出現(xiàn)A中的內(nèi)容,P0口第一步中的狀態(tài)FFH被A中的內(nèi)容取代,且RD=1,WR=0。這時,圖9.20引腳的狀態(tài)為:P0=A;P2.7=0;RD=1;WR=0。這樣,或非門的輸出為1,則74LS573(1)的G=1,由于OE=0,則Q=D,即Q0~Q7將全部呈現(xiàn)P0的狀態(tài),也就是呈現(xiàn)了A中的結(jié)果,達到了輸出數(shù)據(jù)的目的。接受74LS573(2)上輸入的8位數(shù)據(jù)讀到累加器A中的指令如下:

MOV DPTR,#7FFFH

MOVX A,@DPTR

參照9.2.3節(jié)的時序可知,MOVXA,@DPTR指令的執(zhí)行過程也可分為兩步:

(1)準備地址。此時P2口的狀態(tài)為7FH,即P2.7引腳為0,其他引腳為1;P0口的狀態(tài)為FFH;但RD=0,WR=1。

(2)讀數(shù)據(jù)。這時,圖9.20引腳的狀態(tài)為:P2.7=0;RD=0;WR=1,這樣,或門的輸出為0,則74LS573(2)的OE=0,由于G=1,則Q=D,P0線上將出現(xiàn)74LS573(2)輸入端D的內(nèi)容,達到了獲取輸入數(shù)據(jù)的目的。

利用74LS245擴展輸入接口的電路也很簡單,如圖9.21所示。圖9.21采用74LS245的輸入接口如果單片機要從74LS245輸入數(shù)據(jù),可以執(zhí)行如下指令:

MOV DPTR,#7FFFH MOVX A,@DPTR9.5.3并行可編程芯片8255A

所謂可編程的接口芯片,是指其功能可由微處理器的指令來加以改變的接口芯片,利用編程的方法,可以使一個接口芯片執(zhí)行不同的接口功能。8255A是最常用的并行可編程芯片之一。它和MCS-51相連,可為外設(shè)提供三個8位的I/O端口:A口、B口和C口。三個端口的功能完全由編程來決定。

1.?8255A的內(nèi)部結(jié)構(gòu)和引腳排列

圖9.22為8255A的內(nèi)部結(jié)構(gòu)和引腳圖。圖9.228255A的內(nèi)部結(jié)構(gòu)和引腳圖

1.?8255A的內(nèi)部結(jié)構(gòu)和引腳排列

圖9.22為8255A的內(nèi)部結(jié)構(gòu)和引腳圖。

1)內(nèi)部結(jié)構(gòu)

8255A可編程接口由以下4個邏輯結(jié)構(gòu)組成:

(1)?A口、B口和C口。A口、B口和C口均為8位I/O數(shù)據(jù)口,但結(jié)構(gòu)上略有差別。A口輸入/輸出都帶鎖存器。C口可編程為兩個4位端口(高4位及低4位)。B口和C口輸出帶鎖存器,但輸入無鎖存器。

這三個端口都可以和外設(shè)相連,分別傳送外設(shè)的輸入/輸出數(shù)據(jù)或控制信息。

(2)?A、B組控制電路。這是兩組根據(jù)CPU的命令字控制8255A工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。

(3)數(shù)據(jù)緩沖器。這是一個雙向三態(tài)8位的驅(qū)動口,用于和單片機的數(shù)據(jù)總線相連,傳送數(shù)據(jù)或控制信息。

(4)讀/寫控制邏輯。這部分電路接收MCS-51送來的讀/寫命令和選口地址,用于控制對8255A的讀/寫。

2)引腳

(1)數(shù)據(jù)線(8條)。D0~D7為數(shù)據(jù)總線,用于傳送CPU和8255A之間的數(shù)據(jù)、命令和狀態(tài)字。

(2)控制線和尋址線(6條)。

RESET:復(fù)位信號,輸入高電平有效。一般和單片機的復(fù)位相連,復(fù)位后,8255A所有內(nèi)部寄存器清0,所有口都為輸入方式。

和:讀、寫信號線,輸入,低電平有效。當為0時(必為1),所選的8255A處于讀狀態(tài),8255A送出信息到CPU。反之亦然。:片選線,輸入,低電平有效。A0、A1:地址輸入線。當=0,芯片被選中時,這兩位的4種組合00、01、10、11分別用于選擇A、B、C口和控制寄存器。

A0、A1:地址輸入線。當=?0,芯片被選中時,這兩位的4種組合00、01、10、11分別用于選擇A、B、C口和控制寄存器。

(3)?I/O口線(24條)。PA0~PA7、PB0~PB7、PC0~PC7為32條雙向三態(tài)I/O總線,分別和A、B、C口相對應(yīng),用于8255A和外設(shè)之間傳送數(shù)據(jù)。

(4)電源線(2條)。VCC為+?5V,GND為地線。圖9.228255A的內(nèi)部結(jié)構(gòu)和引腳圖

2.?8255A的控制字

8255A的三個端口具體工作在什么方式下,是通過CPU對控制口寫入控制字來決定的。8255A有兩個控制字:方式選擇控制字和C口置/復(fù)位控制字。用戶通過程序把這兩個控制字送到8255A的控制寄存器(A0A1=11),這兩個控制字以D7作為標志。

1)方式選擇控制字

方式選擇控制字的格式和定義如圖9.23(a)所示。圖9.238255控制字的格式和定義

例:設(shè)8255A控制字寄存器的地址為F3H,試編程使A口為方式0輸出,B口為方式0輸入,PC4~PC7為輸出,PC0~PC3為輸入。

其程序為:

MOV R0, #0F3H

MOV A, #83H ;83H按題意由圖9.23獲得

MOVX @R0,A

2)?C口置/復(fù)位控制字

C口置/復(fù)位控制字的格式和定義如圖9.23(b)所示。C口具有位操作功能,把一個置/復(fù)位控制字送入8255A的控制寄存器,就能將C口的某一位置1或清0(復(fù)位)而不影響其他位的狀態(tài)。

例:仍設(shè)8255A控制字寄存器地址為F3H,下述程序可以將PC1置1,PC3清0。

MOV R0, #0F3H

MOV A, #03H

MOVX @R0, A

MOV A, #06H

MOVX @R0,A

3.?8255A的工作方式

8255A有三種工作方式:方式0、方式1和方式2。方式的選擇是通過上述寫控制字的方法來完成的。

(1)方式0(基本輸入/輸出方式):A口、B口及C口高4位、低4位都可以設(shè)置輸入或輸出,不需要聯(lián)絡(luò)信號。單片機可以對8255A進行I/O數(shù)據(jù)的無條件傳送,外設(shè)的I/O數(shù)據(jù)在8255A的各端口能得到鎖存和緩沖。

(2)方式1(選通輸入/輸出方式):A口和B口都可以獨立地設(shè)置為方式1,在這種方式下,8255A的A口和B口通常用于傳送和它們相連外設(shè)的I/O數(shù)據(jù),C口作為A口和B口的握手聯(lián)絡(luò)線,以實現(xiàn)中斷方式傳送I/O數(shù)據(jù)。C口作為聯(lián)絡(luò)線的各位分配是在設(shè)計8255A時規(guī)定的。

(3)方式2(

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論