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

下載本文檔

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

文檔簡(jiǎn)介

第5章單片機(jī)片外存儲(chǔ)擴(kuò)展技術(shù)

5.1單片機(jī)對(duì)外提供的三組總線5.2常用存儲(chǔ)器擴(kuò)展芯片5.3程序存儲(chǔ)器的擴(kuò)展5.4數(shù)據(jù)存儲(chǔ)器的擴(kuò)展5.5地址譯碼電路5.6I/O端口擴(kuò)展5.7小結(jié)習(xí)題與思考題5.1單片機(jī)對(duì)外提供的三組總線在實(shí)現(xiàn)片外擴(kuò)展的方案中,P0口作地址線/數(shù)據(jù)線合用,這種用法稱為分時(shí)復(fù)用。在有的時(shí)鐘周期內(nèi)P0口輸出地址信號(hào);在有的時(shí)鐘周期內(nèi)P0口輸入或輸出數(shù)據(jù)信號(hào)。分時(shí)復(fù)用的優(yōu)點(diǎn)在于減少引腳,縮小芯片體積。P1口僅作數(shù)據(jù)線用。P2口作高8位地址線/數(shù)據(jù)線用。P3口要么作數(shù)據(jù)線,要么作第二功能信號(hào)線,但在一個(gè)系統(tǒng)中只作一個(gè)用途。單片機(jī)對(duì)外提供的三組總線如圖5-1所示。圖5-1單片機(jī)的三組總線5.2常用存儲(chǔ)器擴(kuò)展芯片5.2.1地址鎖存器常用的地址鎖存器有74LS273、74LS373、Intel8282、Intel8283等,無(wú)論哪種鎖存器芯片,內(nèi)部結(jié)構(gòu)都由觸發(fā)器和三態(tài)門組成。圖5-2畫出了Intel8282的內(nèi)部結(jié)構(gòu)、真值表及控制線接法。圖5-2Intel8282

74LS273、373、377等具有與8282相似的結(jié)構(gòu),內(nèi)部都有8個(gè)觸發(fā)器用于存儲(chǔ)8位地址信號(hào),有8條信號(hào)輸入線和8條信號(hào)輸出線,選通輸入和輸出允許各有1條,使用方法相同。圖5-3給出了三個(gè)芯片的引腳和真值表,還標(biāo)出了在單片機(jī)系統(tǒng)中的參考接法。圖5-3鎖存器74LS273、373、3775.2.2存儲(chǔ)器芯片片外存儲(chǔ)器使用較多的有EPROM、EEPROM、FlashROM和SRAM,較少使用DRAM。常見(jiàn)的EPROM芯片有Intel27系列:2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)。存儲(chǔ)芯片引腳見(jiàn)圖5-4。常見(jiàn)的EEPROM芯片是Intel28系列:2816(2K×8)、2817(2K×8)、2864(8K×8)。存儲(chǔ)芯片引腳見(jiàn)圖5-5。圖5-427系列EPROM芯片圖5-528系列EERPOM芯片

FlashROM芯片基本存儲(chǔ)電路見(jiàn)圖5-6。圖5-6FlashROM芯片基本存儲(chǔ)電路常見(jiàn)的SRAM芯片是Intel61系列:6116(2K×8)、6264(8K×8)、62256(32K×8)、628128(128K×8)。SRAM存儲(chǔ)芯片引腳見(jiàn)圖5-7(a)。在使用DRAM時(shí),多用Intel21系列:2164(8K×8)、2186/2187(8K×8)。DRAM存儲(chǔ)芯片引腳見(jiàn)圖5-7(b)。圖5-761系列SRAM和21系列DRAM芯片(a)SRAM芯片;(b)DRAM芯片

1)?EPROM

EPROM的中文名稱是光可擦除的可編程只讀存儲(chǔ)器。它是20世紀(jì)70年代開(kāi)發(fā)的存儲(chǔ)芯片,適于科研工作中使用,具有集成度高、可由用戶改寫、價(jià)格低廉等優(yōu)點(diǎn)。從結(jié)構(gòu)上看,EPROM由N型襯底、P+區(qū)(兩個(gè))、浮空多晶硅柵組成,基本電路如圖5-8所示。二進(jìn)制數(shù)的存放規(guī)則是:浮空柵上無(wú)電荷為1,有電荷為0。廠家在出廠時(shí),浮空柵上全無(wú)電荷,表示全為1。用戶在使用前,只要在需要寫“0”的單元內(nèi)寫入“0”,就能完成二進(jìn)制代碼的寫入。寫入“0”的方法是在漏源兩極間加25V編程電壓和脈寬50ms的編程脈沖,硅柵上將充上電荷呈現(xiàn)“0”狀態(tài)。不寫的那些基本電路不加編程電壓,保持“1”不變。圖5-8EPROM基本電路已經(jīng)寫好二進(jìn)制代碼的EPROM能夠?qū)懞玫亩M(jìn)制代碼清除,這一過(guò)程稱為擦除。EPROM的擦除需脫機(jī)進(jìn)行。擦除方法是用紫外線照射芯片上方的一個(gè)石英玻璃窗口,讓硅柵電荷變成光電流泄漏,芯片又可以回到原始狀態(tài)重寫。如果用功率為12000μw/cm2的2537A紫外線燈直射2716芯片,擦除時(shí)間約為20分鐘;在強(qiáng)烈陽(yáng)光下約需一個(gè)星期;在陽(yáng)光或熒光燈下約需3年。通常在窗口處貼不透光保護(hù)膜防止泄漏。常用EPROM芯片的主要技術(shù)特征如表5-1所示。其技術(shù)參數(shù)主要有引腳、讀出時(shí)間、最大維持電流和最大工作電流。從讀出時(shí)間的大小可以看出,EPROM的工作速度遠(yuǎn)遠(yuǎn)低于單片機(jī)的工作速度。

2)?EEPROM

EEPROM的中文名稱是電可擦除只讀存儲(chǔ)器,它的基本存儲(chǔ)電路與EPROM相似,僅在漏極上增加了一只隧道二極管。這只二極管的功能是:在外電場(chǎng)作用下,能使浮空柵上的電荷流向漏極,實(shí)現(xiàn)擦除。EEPROM有如下特征:

(1)擦除只需外加擦除電壓且能在線進(jìn)行,不需要脫機(jī)光照。

(2)工作電壓和擦除電壓都是+5V。

(3)編程寫入時(shí)自動(dòng)先擦除,不需要單獨(dú)擦除。

(4)引腳與RAM、EPROM兼容,能夠方便地在不同種類的存儲(chǔ)器之間傳遞數(shù)據(jù)。

(5)由于能在線擦除,EEPROM既可作程序ROM使用,也可作數(shù)據(jù)RAM使用,它既能作程序ROM擴(kuò)展,又能作數(shù)據(jù)RAM擴(kuò)展。

(6)編程寫入時(shí)間為ms級(jí),讀出時(shí)間為ns級(jí)。表5-3給出了部分常用EEPROM芯片的性能。

3)?FlashROM

FlashROM是20世紀(jì)80年代末期Intel公司推出的一種新型存儲(chǔ)器,中文譯名為閃速存儲(chǔ)器。它的整體擦除時(shí)間約1s,每字節(jié)編程寫入速度約10~100μs,比EEPROM快一個(gè)數(shù)量級(jí)(EEPROM整體擦除時(shí)間約10~20min),擦除次數(shù)可達(dá)10萬(wàn)次。FlashROM用CMOS器件構(gòu)成,功耗極低,最大工作電流為30mA,允許電源電壓發(fā)生10%的波動(dòng)。

FlashROM的基本結(jié)構(gòu)依舊采用浮空柵極上有無(wú)電荷代表0和1。浮空柵上的編程電荷可保持100年不丟失。表5-5是FlashROM與DRAM之間的對(duì)比,F(xiàn)lash除讀取速度略低于DRAM外,其余各項(xiàng)指標(biāo)都占優(yōu)。FlashROM雖是ROM,但因其在線擦除和寫入速度極快,故既可作ROM使用,也可作RAM使用。5.2.3I/O接口芯片

I/O端口擴(kuò)展芯片中,最常用的可編程并行I/O接口芯片有8243、8253/8254、8155、8255、8156、8355、8755等。這些芯片各有各的用途,在具體電路結(jié)構(gòu)上有差別。例如8156的片選信號(hào)為高電平有效,其它如引腳、功能、編程方法等與8155完全相同。8355片內(nèi)自帶2KB的ROM;8755片內(nèi)自帶2KB的EPROM,并增加了兩個(gè)通用I/O口。8253/8254是定時(shí)計(jì)數(shù)器接口芯片。5.3程序存儲(chǔ)器的擴(kuò)展5.3.1EPROM擴(kuò)展

【例5-1】8031單片機(jī)片外擴(kuò)展1片EPROM2732(4K×8)。

8031單片機(jī)提供的三組總線與2732的三組總線對(duì)接法方式如表5-7所示。三組總線的接法中,地址總線的連接需要解決的是單片機(jī)多余的地址線如何處理。本例8031提供的地址線共有16根,除12根與存儲(chǔ)芯片一一對(duì)接外,還余下4根。從16根地址線中取用12根的方法是很多的,取用的引腳不同,直接導(dǎo)致存儲(chǔ)單元的地址編號(hào)不同。為保持存儲(chǔ)單元地址編號(hào)的連續(xù)性,通常余下高位地址線不用。本例余下的4根地址線是P2.4~P2.7,它們也有幾種接法,接法不同,也會(huì)引起存儲(chǔ)單元有不同的地址編號(hào)。通常的接法有懸空、接高電平、接低電平等。本例將它們懸空。按表中接法,2732地址編號(hào)為x000H~xFFFH。對(duì)于數(shù)據(jù)總線,8031雖有4個(gè)并行I/O數(shù)據(jù)端口,但P2已專門作地址線用,一般的存儲(chǔ)器操作指令又能使P0口在S1P2輸出地址信息后,從S2P1開(kāi)始就傳送數(shù)據(jù)信號(hào),因此直接選用P0口作數(shù)據(jù)線。P1口、P3口不用。

8031、8282、2732的連接如圖5-9所示。圖5-98031片外擴(kuò)展EPROM5.3.2EEPROM作為程序存儲(chǔ)器擴(kuò)展本節(jié)僅敘述EEPROM作程序存儲(chǔ)器擴(kuò)展時(shí)的應(yīng)用特點(diǎn)。作程序存儲(chǔ)器時(shí),EEPROM與單片機(jī)的連接方法與EPROM基本相同,僅控制線的處理稍有差別。

【例5-2】8031單片機(jī)片外擴(kuò)展1片EEPROM2816A(2K×8)。解:2816A的11根地址線A10~A0接8031的11根地址線P2.2~P2.0、P0.7~P0.0;2816A的端接8031的P2.3~P2.7中任一根;2816A的端接+5V,讓2816A只讀不寫;8031、8282、2816A的連接如圖5-10所示。按圖中接法,2816A在64KB存儲(chǔ)空間內(nèi)所占地址編號(hào)為:起址:xxxx000000000000B;末址:xxxx011111111111B。圖5-10EEPROM擴(kuò)展圖5-11片外擴(kuò)展SRAM6116圖5-12DRAM擴(kuò)展5.4.3EEPROM作為片外數(shù)據(jù)存儲(chǔ)器擴(kuò)展

EEPROM雖然是電可擦除的可編程只讀存儲(chǔ)器,但它不僅能作程序存儲(chǔ)器使用,還能作數(shù)據(jù)存儲(chǔ)器使用,本節(jié)僅敘述作數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí)的應(yīng)用特點(diǎn)。EEPROM要想作為數(shù)據(jù)存儲(chǔ)器擴(kuò)展,必須注意如下幾個(gè)問(wèn)題:

(1)單片機(jī)使用數(shù)據(jù)RAM擴(kuò)展用的引腳,如、等。

(2)占用數(shù)據(jù)存儲(chǔ)器的地址、指令和控制信號(hào)。

(3)由于擦除寫入時(shí)間長(zhǎng),適合于用中斷或查詢方式工作。

(4)?EEPROM數(shù)據(jù)線可直接與系統(tǒng)數(shù)據(jù)總線相連。

(5)因擦除時(shí)間較長(zhǎng),寫入時(shí)必須保證足夠的擦除寫入時(shí)間,約9~15ms。

(6)因?qū)懭胨俣嚷贿m合頻繁改寫、要求快速存取的地方。

【例5-5】單片機(jī)片外擴(kuò)展兩片2817的電路圖如圖5-13所示。圖5-13片外擴(kuò)展兩片28175.5地址譯碼電路當(dāng)片外擴(kuò)展的存儲(chǔ)器容量小于64KB的時(shí)候,單片機(jī)的地址線必定會(huì)多出幾根,多出的地址線有3種不同的處理方法,即全譯碼法、部分譯碼法和線選法?,F(xiàn)以8031接兩片2817(每片2K×8)為例來(lái)說(shuō)明,見(jiàn)表5-9。圖5-14全譯碼電路圖5-1574LS138引腳及真值表圖5-16全譯碼法5.5.2部分譯碼法部分譯碼法是選取部分地址線作地址譯碼器輸入,本節(jié)例中需要2條譯碼輸出接,因此所用譯碼器為1/2譯碼,譯碼器輸入僅需1根線。從P2.3~P2.7中任取1根作譯碼器輸入,其余懸空如圖5-17所示。按圖中接法,2817(1)片的地址為x000H~x7FFH;2817(2)片的地址為x800H~xFFFH。圖5-17部分譯碼法5.5.3線性法線性法是有多少根片選線就使用多少根地址線,多余地址線懸空。所用地址線的取值要保證是字節(jié)操作,無(wú)論哪種情況下只能有1片芯片選中,如圖5-18所示。按圖中接法,2817(1)片的地址范圍為:xxx0100000000000B~xxx0111111111111B;2817(2)片的地址范圍為:xxx1000000000000B~xxx1011111111111B。即P2.4P2.3=01選中2817(1)片,P2.4P2.3=10選中2817(2)片。圖5-18線性法

【例5-6】

使用部分譯碼法進(jìn)行混合擴(kuò)展,用兩片EPROM2716擴(kuò)展成4KB的片外程序存儲(chǔ)器,用兩片SRAM6116擴(kuò)展成4KB的片外數(shù)據(jù)存儲(chǔ)器,存儲(chǔ)器與單片機(jī)的連接圖如圖5-19所示。圖5-198031片外擴(kuò)展4KBEPROM2716和4KBSRAM61165.6I/O端口擴(kuò)展5.6.1串行口外擴(kuò)展并行口單片機(jī)有一個(gè)串行口,用于通信時(shí)串行接收或發(fā)送數(shù)據(jù)。串行口有兩條引腳與外界取得聯(lián)系:RXD(P3.0)和TXD(P3.1)。當(dāng)串行控制寄存器SCON的REN位置1時(shí),單片機(jī)允許外界數(shù)據(jù)串行從RXD端輸入。當(dāng)數(shù)據(jù)從累加器A寫入串行口緩沖器時(shí),數(shù)據(jù)將串行從TXD發(fā)送到片外。串行口外擴(kuò)展并行口包括兩方面的含義:將串行輸出的數(shù)據(jù)在片外變成并行輸出;在片外將并行輸入的數(shù)據(jù)變成串行輸入。相應(yīng)地,串行口外擴(kuò)展并行口也有兩種方法:片外擴(kuò)展一片串入并出接口;片外擴(kuò)展一片并入串出接口。單片機(jī)的串行口有4種工作方式,分別是方式0、1、2、3,其中方式0就是同步移位寄存器輸入/輸出方式,適合于片外擴(kuò)展。

1.片外擴(kuò)展串入并出接口芯片擴(kuò)展電路如圖5-20所示,74LS164就是一片具有串入并出功能的位移寄存器。串行口輸出數(shù)據(jù)通過(guò)RXD接74LS164的輸入端,串行口輸出位移脈沖通過(guò)TXD接74LS164的時(shí)鐘輸入端,用P1.0作控制線,作74LS164的選通信號(hào)。圖5-20串行口擴(kuò)展串入并出口單片機(jī)串行發(fā)送數(shù)據(jù)的程序段如下:

2.片外擴(kuò)展并入串出接口芯片片外擴(kuò)展一片74LS165,該芯片是一個(gè)并行輸入串行輸出的位移寄存器,有了它,片外的并行數(shù)據(jù)就能進(jìn)入單片機(jī)的串行端口。電路如圖5-21所示,74LS165的串出端接單片機(jī)的RXD,作串行數(shù)據(jù)輸入;74LS165的位移時(shí)鐘由單片機(jī)的TXD端提供。圖5-21串行口擴(kuò)展并入串出口

74LS165的S/是移位/置入控制線,當(dāng)S/=0時(shí),允許74LS165接收來(lái)自D0~D7的并行數(shù)據(jù);S/=1時(shí)允許74LS165從Q端移位輸出數(shù)據(jù)。單片機(jī)接收數(shù)據(jù)的過(guò)程從SCON寄存器置成方式0且REN位置1開(kāi)始,相應(yīng)接收數(shù)據(jù)的程序段如下:5.6.2片外擴(kuò)展TTL或CMOS芯片單片機(jī)并行I/O端口外部擴(kuò)展一片或幾片TTL或CMOS集成芯片,主要是為了讓一些開(kāi)關(guān)量或并行數(shù)據(jù)直接輸入/輸出單片機(jī)。這時(shí),P2P0口不再作地址線使用,而是作輸入/輸出數(shù)據(jù)線使用,因此這種擴(kuò)展多通過(guò)P0口進(jìn)行。能夠當(dāng)作8位I/O擴(kuò)展的芯片有74LS系列產(chǎn)品,如244、245、273、367、373、377等。擴(kuò)展位數(shù)按需要選擇,有2位、4位、6位和8位芯片供選用,但要注意的是,作輸入口時(shí)一定要具備三態(tài)功能,否則會(huì)影響總線的正常操作。圖5-22P0口片外擴(kuò)展74LS芯片讀入開(kāi)關(guān)狀態(tài)再送輸出顯示的程序段如下:5.6.3片外擴(kuò)展定時(shí)計(jì)數(shù)器8253/8254

MCS-51單片機(jī)內(nèi)有T0、T1兩個(gè)16位定時(shí)計(jì)數(shù)器,但若數(shù)量和功能不滿足一些用戶的需要時(shí),就要在片外擴(kuò)展定時(shí)計(jì)數(shù)器,擴(kuò)展芯片主要是8253/8254。8253和8254的結(jié)構(gòu)基本相同,操作基本一致,僅最高時(shí)鐘頻率有差別,8253為2MHz,8254為8MHz。以8253為例,它有3個(gè)獨(dú)立的16位減1計(jì)數(shù)通道T0、T1、T2,有6種不同的工作方式,有4個(gè)端口和1個(gè)控制字。4個(gè)端口分別為計(jì)數(shù)器#0、計(jì)數(shù)器#1、計(jì)數(shù)器#2、控制字寄存器CWR,其中前3個(gè)端口為數(shù)據(jù)口,用于給3個(gè)16位計(jì)數(shù)器輸入初值或讀出16位減1計(jì)數(shù)器的當(dāng)前值;后一個(gè)端口是控制口,用于在初始化程序中寫入方式控制字。8253/8254的端口地址由芯片的地址線A1A0決定。

8253在使用之前需要用指令設(shè)置工作狀態(tài),設(shè)置過(guò)程稱為初始化。初始化的主要內(nèi)容是寫入方式控制字。方式控制字是一組8位二進(jìn)制數(shù),用于規(guī)定8253/8254芯片處于何種工作方式、如何賦予初值、是否需要讀當(dāng)前計(jì)數(shù)值等。方式控制字的格式如下:

8253雖然有6種工作方式,但不論采用哪種方式,它們的初始化程序都具有相同的結(jié)構(gòu),惟一不同的是控制字不同。6種工作方式的特點(diǎn)如表5-10所示。

【例5-8】

MCS-51單片機(jī)P0口片外擴(kuò)展一片8253,連接電路如圖5-23所示。圖5-23P0口片外擴(kuò)展一片8253

(1)計(jì)算端口地址。

(2)編制初始化程序,使用計(jì)數(shù)器#0工作于方式0??刂谱譃?0110000B。5.6.4片外擴(kuò)展并行I/O接口芯片8243

8243是一個(gè)內(nèi)含1個(gè)控制口、4個(gè)并行I/O數(shù)據(jù)口的集成電路芯片,采用DIP封裝,如圖5-24所示,24條引腳功能如下:圖5-248243引腳圖

●P2口:有P2.0~P2.3共4條引線,屬地址控制/數(shù)據(jù)線雙向端口。在作地址控制線使用時(shí),P2.0和P2.1為地址線,用于決定8243的4個(gè)并行I/O數(shù)據(jù)口的端口地址;P2.2和P2.3為控制線,用于決定8243的4種不同工作方式,如表5-11所示。在作數(shù)據(jù)線使用時(shí),既可輸入數(shù)據(jù),又可以輸出數(shù)據(jù)。輸入數(shù)據(jù)是把選中端口(P4~P7中的1個(gè))的數(shù)據(jù)送到P2端口;輸出數(shù)據(jù)是把P2端口的數(shù)據(jù)送到選中的端口(P4~P7中的1個(gè))。

●:片選信號(hào),低電平有效,可接MCS-51單片機(jī)地址線或地址譯碼器輸出。

●PROG:程序控制,輸入,用于控制P2口信息種類。在PROG的下降沿,表明P2口作地址控制線用;在PROG的上升沿,P2口作輸入/輸出數(shù)據(jù)用。

●P4~P7:并行輸入/輸出雙向數(shù)據(jù)口。輸入時(shí),將輸入的數(shù)據(jù)傳送到P2口,由P2口送到單片機(jī),輸入無(wú)鎖存,要求外界輸入數(shù)據(jù)在PROG為低電平期間一直保持不變,在輸出后才能消失。輸出時(shí),接收P2口送來(lái)的數(shù)據(jù)并送至外界,輸出數(shù)據(jù)有鎖存功能。

●GND:地。

MCS-51單片機(jī)片外擴(kuò)展8243的典型連接如圖5-25所示。圖5-25MCS-51單片機(jī)片外擴(kuò)展8243鎖存8243的P4地址及輸出編碼可以用指令使P0.1=0讓PROG下跳來(lái)實(shí)現(xiàn)。程序如下:5.6.5片外擴(kuò)展并行I/O接口芯片8155

MCS-51單片機(jī)片外擴(kuò)展一片8155后,8155的I/O接口可外接鍵盤、打印機(jī)、A/D、D/A等;8155的片內(nèi)SRAM可作數(shù)據(jù)緩沖用,定時(shí)計(jì)數(shù)器可作分頻器或計(jì)數(shù)定時(shí)用。

1.帶SRAM的可編程I/O接口芯片8155

1)?8155內(nèi)部功能結(jié)構(gòu)

8155內(nèi)部功能結(jié)構(gòu)由以下四部分組成:

(1)靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),容量為256B。

(2)三個(gè)可編程I/O端口,分別是:端口A(PA7~PA0),8位數(shù)據(jù)口;端口B(PB7~PB0),8位數(shù)據(jù)口;端口C(PC5~PC0),6位數(shù)據(jù)/控制口。

(3)兩個(gè)寄存器,一個(gè)是8位命令寄存器,只允許寫入控制命令字;另一個(gè)是8位狀態(tài)寄存器,只允許讀出狀態(tài)字。

(4)一個(gè)14位的二進(jìn)制減法計(jì)數(shù)器/定時(shí)器CTC。

2)?8155的I/O端口數(shù)

8155有6個(gè)I/O端口,分別是命令狀態(tài)口、A口、B口、C口、定時(shí)器低8位口和定時(shí)器高8位口。其中,第一個(gè)是控制狀態(tài)口,在初始化程序中寫入命令字用,在工作程序中讀取狀態(tài)用;后5個(gè)是數(shù)據(jù)口,寫入8位二進(jìn)制數(shù)用。

3)引腳功能

8155有40條引腳,采用雙列直插式封裝,如圖5-26所示。引腳可以分成兩大部分:與單片機(jī)相連及與I/O設(shè)備相連?,F(xiàn)敘述如下。圖5-268155的40條引腳

4)?8155的256BSRAM地址和6個(gè)端口地址

8155在單片機(jī)應(yīng)用系統(tǒng)中是按照片外數(shù)據(jù)RAM統(tǒng)一編址的,地址編碼16位:高8位由、IO/接P2口決定;低8位由AD0~AD7接P0口決定。256BSRAM和6個(gè)端口的地址都用4位十六進(jìn)制數(shù)表示,如表5-12所示。

【例5-10】8031與8155的連接如圖5-27所示,計(jì)算8155SRAM和I/O端口地址。圖5-27例5-10用圖

解:SRAM地址空間為:式中x為任意,可取其中一組,如7E00H~7EFFH,256BSRAM編號(hào)為00H~FFH。

6個(gè)I/O端口地址為:可選取其中一組,如7F00H~7F05H。

【例5-11】將立即數(shù)47H送入8155SRAM的7E2EH單元中,程序如下:

【例5-12】將單片機(jī)內(nèi)30H單元的數(shù)送至8155B口輸出,程序如下:

5)?8155的控制命令字

8155的控制命令字格式為8位二進(jìn)制數(shù),用于規(guī)定各個(gè)端口的工作方式以及是否允許中斷??刂泼钭质褂幂敵鲋噶顝目刂?狀態(tài)端口地址在初始化程序中寫入。其格式及各位意義如下:

●TM2、TM1(D7、D6):定時(shí)計(jì)數(shù)器命令位,用于規(guī)定定時(shí)計(jì)數(shù)器的4種不同工作方式,如表5-13所示。

●IEB(D5):B口中斷允許位。如果IEB=0,則禁止B口中斷;如果IEB=1,則允許B口申請(qǐng)中斷。

●IEA(D4):A口中斷允許位。如果IEA=0,則禁止A口中斷;如果IEA=1,則允許A口申請(qǐng)中斷。

●PCⅡ、PCⅠ(D3、D2):C口工作方式定義位,用于定義C口4種工作方式,分別為方式0、方式1、方式2和方式3。

●PB(D1):定義B口的PB7~PB0作輸入還是輸出,PB=0作輸入,PB=1作輸出。

●PA(D0):PA=0,A口作輸入;PA=1,A口作輸出。各種不同方式下,A口、B口和C口有不同的功能,如表5-14所示。表5-14中各參數(shù)解釋如下:

●INTER:Interrput中斷。AINTER是A口中斷請(qǐng)求輸出線,由8155的A口指向MCS-51,成為單片機(jī)的外部中斷源,高電平有效。當(dāng)8155的A口緩沖器接收到I/O設(shè)備送來(lái)的數(shù)據(jù)(輸入)或從緩沖器取走數(shù)據(jù)(輸出)時(shí),中斷請(qǐng)求線(PCⅡPCⅠ為01或10時(shí)的PC0)升高,向單片機(jī)提出中斷申請(qǐng)。如果單片機(jī)對(duì)8155的A口進(jìn)行一次讀/寫操作,AINTER將變?yōu)榈碗娖?。BINTER是B口中斷申請(qǐng)輸出線。

●BUFFER:緩沖器狀態(tài)標(biāo)志輸出線,A(B)口緩沖器有數(shù)據(jù)時(shí),A(B)BUFFER為1,否則為0。

●STB:I/O設(shè)備選通輸入線,低電平有效。ASTB=0表示I/O設(shè)備送到8155A口的數(shù)據(jù)有效;否則無(wú)效。BSTB用于B口。基本I/O和選通I/O的時(shí)序關(guān)系如圖5-29所示。圖5-28選通I/O邏輯結(jié)構(gòu)圖5-29基本I/O和選通I/O時(shí)序圖(a)基本I/O時(shí)序;(b)選通I/O時(shí)序

6)?8155的狀態(tài)字

8155的狀態(tài)寄存器是一個(gè)8位鎖存器,用于存放狀態(tài)字。狀態(tài)字反映了A口、B口和定時(shí)計(jì)數(shù)器的現(xiàn)狀,其格式及各位含義如下:狀態(tài)字的讀取用輸入指令,有兩條指令可用。一條是

MOVXA,@DPTR指令中DPTR存放著命令狀態(tài)端口的地址;另一條是

MOVXA,@Ri指令中Ri存放著命令狀態(tài)端口地址的低8位,高8位地址在P2中。這兩條指令都能將狀態(tài)字從命令狀態(tài)端口讀至單片機(jī)的累加器A。

7)?14位可裝入初值的減1定時(shí)器/計(jì)數(shù)器定時(shí)計(jì)數(shù)器是一個(gè)可裝入計(jì)數(shù)長(zhǎng)度初值的14位減1計(jì)數(shù)器,對(duì)輸入的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),計(jì)到最后一個(gè)數(shù)后輸出一個(gè)脈沖或矩形波。計(jì)數(shù)初值又稱計(jì)數(shù)長(zhǎng)度,使用輸出指令從低8位端口和高8位端口地址寫入??紤]到計(jì)數(shù)器只有14位,裝入計(jì)數(shù)長(zhǎng)度寄存器的值是0H~3FFFH。從兩個(gè)端口寫入的計(jì)數(shù)初值格式如下:由M2M1定義的定時(shí)器輸出方式如圖5-30所示。圖5-30M2M1定義的輸出方式

2.MCS-51單片機(jī)片外擴(kuò)展一片8155

8155直接與單片機(jī)相連后,單片機(jī)系統(tǒng)增加了256BSRAM、22位I/O數(shù)據(jù)線和14位的定時(shí)計(jì)數(shù)器。

【例5-13】電路如圖5-31所示。SRAM地址編號(hào)為7E00H~7EFFH,I/O端口地址為7F00H~7F05H,現(xiàn)定義A口、B口都為基本輸出方式,編程把單片機(jī)內(nèi)20H、30H單元內(nèi)容分別由A口、B口輸出,設(shè)定時(shí)計(jì)數(shù)器初值為1026H,計(jì)滿歸零后從8155TIMEROUT端輸出連續(xù)脈沖??刂谱譃?1001111B=CFH;計(jì)數(shù)初值高8位為11010000B=D0H;計(jì)數(shù)初值低8位為26H。圖5-31片外擴(kuò)展8155程序如下:MOV DPTR,#7F00H ;指向命令狀態(tài)端口MOV A,#CFH MOVX @DPTR,A ;寫入控制字MOV DPTR,#7F04H ;指向定時(shí)器低8位端口MOV A,#26H MOVX @DPTR,A ;寫入計(jì)數(shù)初值低8位INC DPTR ;指向定時(shí)器高8位端口MOV A,#D0H MOVX @DPTR,A

;寫入計(jì)數(shù)初值高8位,初始化完成MOV DPTR,#7F01H ;指向A口MOV A,20H MOVX@DPTR,A ;從A口輸出20H單元內(nèi)容MOV DPTR,#7F02H ;指向B口MOV A,30H MOVX@DPTR,A ;從B口輸出30H單元內(nèi)容5.6.6綜合擴(kuò)展

【例5-14】MCS-51單片機(jī)片外擴(kuò)展一片2716、兩片6116及一片8155,電路連接如圖5-32所示。圖5-32片外擴(kuò)展一片2716、兩片6116及一片8155各接口電路芯片的片選信號(hào)引自地址譯碼器74LS138的輸出。按圖中接法,當(dāng)P2.7~P2.3=00001時(shí)選中8155;當(dāng)P2.7~P2.3=00101時(shí)選中6116(1)片;當(dāng)P2.7~P2.3=01001時(shí)選中6116(2)片;當(dāng)P2.7~P2.3=01101時(shí)選中2716。各芯片的地址空間范圍由此決定:

8155片內(nèi)256BSRAM的地址范圍是00001xxx00000000B~00001xxx11111111B,6個(gè)I/O端口地址是00001xxx00000000B~00001xxx00000101B(6個(gè)I/O端口

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論