版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、08第八章 單片機(jī)系統(tǒng)(xtng)擴(kuò)展8.1 程序存儲(chǔ)器擴(kuò)展8.2 數(shù)據(jù)(shj)存儲(chǔ)器擴(kuò)展8.3 并行I/O口擴(kuò)展共一百零八頁8.1 程序(chngx)存儲(chǔ)器擴(kuò)展 8.1.1 單片機(jī)程序存儲(chǔ)器概述(i sh) 單片機(jī)應(yīng)用系統(tǒng)由硬件和軟件組成,軟件的載體就是硬件中的程序存儲(chǔ)器。對(duì)于MCS-51系列8位單片機(jī),片內(nèi)程序存儲(chǔ)器的類型及容量如表8.1所示。表8.1 MCS-51系列單片機(jī)片內(nèi)程序存儲(chǔ)器一覽表單片機(jī)型號(hào)片內(nèi)程序存儲(chǔ)器類型容量/B8031 無 8051 ROM4K8751 EPROM 4K8951 Flash 4K共一百零八頁 對(duì)于沒有內(nèi)部ROM的單片機(jī)或者當(dāng)程序較長(zhǎng)、片內(nèi)ROM容量不夠
2、時(shí),用戶必須在單片機(jī)外部擴(kuò)展程序存儲(chǔ)器。MCS-51單片機(jī)片外有16條地址線,即P0口和P2口,因此最大尋址范圍為64 KB(0000HFFFFH)。 這里要注意的是,MCS-51單片機(jī)有一個(gè)管腳 跟程序存儲(chǔ)器的擴(kuò)展有關(guān)。如果 接高電平,那么片內(nèi)存儲(chǔ)器(ni cn ch q)地址范圍是0000H0FFFH(4 KB),片外程序存儲(chǔ)器地址范圍是1000HFFFFH(60 KB)。如果 接低電平,不使用片內(nèi)程序存儲(chǔ)器,片外程序存儲(chǔ)器地址范圍為0000HFFFFH(64 KB)。共一百零八頁 8031單片機(jī)沒有片內(nèi)程序存儲(chǔ)器,因此 管腳總是接低電平。 擴(kuò)展程序存儲(chǔ)器常用的芯片(xn pin)是EPR
3、OM(Erasable Programmable Read Only Memory)型(紫外線可擦除型), 如2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、27256(32K8)、27512(64K8)等。另外,還有+5 V電可擦除EEPROM,如2816(2K8)、2864(8K8)等等。如果程序總量不超過4 KB,一般選用具有內(nèi)部ROM的單片機(jī)。8051內(nèi)部ROM只能由廠家將程序一次性固化,不適合小批量用戶和程序調(diào)試時(shí)使用,因此選用8751、8951的用戶較多。 如果程序超過4 KB,用戶一般不會(huì)選用8751、8951,而是直接選用8031,利用外部擴(kuò)
4、展存儲(chǔ)器來存放程序。 共一百零八頁 8.1.2 EPROM程序存儲(chǔ)器擴(kuò)展(kuzhn)實(shí)例 紫外線擦除電可編程只讀存儲(chǔ)器EPROM是國(guó)內(nèi)用得較多的程序存儲(chǔ)器。EPROM芯片上有一個(gè)玻璃窗口,在紫外線照射下,存儲(chǔ)器中的各位信息均變1,即處于擦除狀態(tài)。擦除干凈的EPROM可以通過編程器將應(yīng)用程序固化到芯片中。 例8.1 在8031單片機(jī)上擴(kuò)展4 KB EPROM存儲(chǔ)器。 (1) 選擇芯片。 本例要求選用8031單片機(jī),內(nèi)部無ROM區(qū),無論程序長(zhǎng)短都必須擴(kuò)展程序存儲(chǔ)器(目前較少這樣使用,但擴(kuò)展方法比較典型、實(shí)用)。共一百零八頁 在選擇程序存儲(chǔ)器芯片時(shí),首先必須滿足程序容量,其次在價(jià)格合理情況下盡量選
5、用容量大的芯片。這樣做的話,使用的芯片少,從而接線簡(jiǎn)單,芯片存儲(chǔ)容量大,程序調(diào)整余量也大。如估計(jì)程序總長(zhǎng)3 KB左右,最好是擴(kuò)展一片4 KB的EPROM 2732,而不是(b shi)選用2片2716(2 KB)。 在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)中應(yīng)注意,盡量減少芯片使用個(gè)數(shù),使得電路結(jié)構(gòu)簡(jiǎn)單,提高可靠性,這也是8951比8031使用更加廣泛的原因之一。 (2) 硬件電路圖。 8031單片機(jī)擴(kuò)展一片2732程序存儲(chǔ)器電路如圖8.2。共一百零八頁圖8.2 單片機(jī)擴(kuò)展(kuzhn)2732 EPROM電路共一百零八頁 (3) 芯片說明。 74LS373。74LS373是帶三態(tài)緩沖輸出的8D鎖存器,由于片
6、機(jī)的三總線結(jié)構(gòu)中,數(shù)據(jù)線與地址線的低8位共用P0口,因此必須用地址鎖存器將地址信號(hào)和數(shù)據(jù)信號(hào)區(qū)分開。74LS373的鎖存控制端G直接與單片機(jī)的鎖存控制信號(hào)ALE相連,在ALE的下降沿鎖存低8位地址。 EPROM 2732。EPROM 2732的容量為4 K8位。4 K表示有41024(22210=212)個(gè)存儲(chǔ)單元,8位表示每個(gè)單元存儲(chǔ)數(shù)據(jù)的寬度是8位。前者確定了地址線的位數(shù)是12位(A0A11),后者確定了數(shù)據(jù)線的位數(shù)是8位(O0O7)。目前,除了串行存儲(chǔ)器之外,一般情況下,我們使用的都是8位數(shù)據(jù)存儲(chǔ)器。2732采用單一(dny)+5 V供電,最大靜態(tài)工作電流為100 mA,維持電流為35
7、mA,讀出時(shí)間最大為250 ns。2732的封裝形式為DIP24,管腳如圖7.3所示。 共一百零八頁圖8.3 EPROM 2732管腳及說明(shumng) 共一百零八頁 其中,A0A11為地址線;O0O7為數(shù)據(jù)線; 為片選線; /VPP為輸出允許/編程高壓。 除了12條地址線和8條數(shù)據(jù)線之外, 為片選線,低電平有效。也就是說,只有當(dāng) 為低電平時(shí),2732才被選中,否則,2732不工作。 /VPP為雙功能管腳,當(dāng)2732用作程序存儲(chǔ)器時(shí),其功能是允許讀數(shù)據(jù)出來;當(dāng)對(duì)EPROM編程(也稱為固化程序)時(shí),該管腳用于高電壓(diny)輸入,不同生產(chǎn)廠家的芯片編程電壓(diny)也有所不同。當(dāng)我們把它
8、作為程序存儲(chǔ)器使用時(shí),不必關(guān)心其編程電壓(diny)。共一百零八頁 (4) 擴(kuò)展總線的產(chǎn)生。 一般的CPU,像INTEL 8086/8088、Z80等,都有單獨(dú)的地址總線、數(shù)據(jù)總線和控制總線,而MCS-51系列單片機(jī)由于受管腳的限制,數(shù)據(jù)線與地址線是復(fù)用的,為了將它們分離開來,必須在單片機(jī)外部增加地址鎖存器,構(gòu)成與一般CPU相類似的三總線結(jié)構(gòu)。 (5) 連線說明: 地址線。單片機(jī)擴(kuò)展片外存儲(chǔ)器時(shí),地址是由P0和P2口提供(tgng)的。圖7.2中,2732的12條地址線(A0A11)中,低8位A0A7通過鎖存器74LS373與P0口連接,高4位A8A11直接與P2口的P2.0P2.3連接,P2
9、口本身有鎖存功能。注意,鎖存器的鎖存使能端G必須和單片機(jī)的ALE管腳相連。共一百零八頁 數(shù)據(jù)線。2732的8位數(shù)據(jù)線直接與單片機(jī)的P0口相連。因此,P0口是一個(gè)分時(shí)復(fù)用的地址/數(shù)據(jù)線。 控制線。CPU執(zhí)行2732中存放的程序指令時(shí),取指階段就是對(duì)2732進(jìn)行讀操作。注意,CPU對(duì)EPROM只能進(jìn)行讀操作,不能進(jìn)行寫操作。CPU對(duì)2732的讀操作控制都是通過控制線實(shí)現(xiàn)的。2732控制線的連接有以下幾條: :直接接地。由于(yuy)系統(tǒng)中只擴(kuò)展了一個(gè)程序存儲(chǔ)器芯片,因此,2732的片選端直接接地,表示2732一直被選中。若同時(shí)擴(kuò)展多片,需通過譯碼器來完成片選工作。 :接8031的讀選通信號(hào)端。在訪
10、問片外程序存儲(chǔ)器時(shí),只要端出現(xiàn)負(fù)脈沖,即可從2732中讀出程序。共一百零八頁 (6) 擴(kuò)展程序存儲(chǔ)器地址范圍的確定。 單片機(jī)擴(kuò)展存儲(chǔ)器的關(guān)鍵(gunjin)是搞清楚擴(kuò)展芯片的地址范圍,8031最大可以擴(kuò)展64 KB(0000HFFFFH)。決定存儲(chǔ)器芯片地址范圍的因素有兩個(gè):一個(gè)是片選端的連接方法,一個(gè)是存儲(chǔ)器芯片的地址線與單片機(jī)地址線的連接。在確定地址范圍時(shí),必須保證片選端為低電平。 本例中,2732的片選端總是接地,因此第一個(gè)條件總是滿足的,另外,2732有12條地址線,與8031的低12位地址相連,編碼結(jié)果如下:共一百零八頁 (7) EPROM的使用。 存儲(chǔ)器擴(kuò)展電路是單片機(jī)應(yīng)用系統(tǒng)的功
11、能擴(kuò)展部分,只有當(dāng)應(yīng)用系統(tǒng)的軟件設(shè)計(jì)完成了,才能把程序通過特定的編程工具(一般(ybn)稱為編程器或EPROM固化器)固化到2732中,然后再將2732插到用戶板的插座上(擴(kuò)展程序存儲(chǔ)器一定要焊插座)。 共一百零八頁 當(dāng)上電復(fù)位時(shí),PC=0000H,自動(dòng)從2732的0000H單元取指令,然后開始執(zhí)行指令。 如果(rgu)程序需要反復(fù)調(diào)試,可以用紫外線擦除器先將2732中的內(nèi)容擦除,然后再固化修改后的程序,進(jìn)行調(diào)試。 如果要從EPROM中讀出程序中定義的表格,需使用查表指令:MOVC A,A+DPTRMOVC A,A+PC共一百零八頁8.1.3 EEPROM擴(kuò)展實(shí)例 電擦除可編程只讀存儲(chǔ)器EEP
12、ROM是一種可用電氣方法在線擦除和再編程的只讀存儲(chǔ)器,它既有RAM可讀可改寫的特性,又具有非易失性存儲(chǔ)器ROM在掉電后仍能保持所存儲(chǔ)數(shù)據(jù)的優(yōu)點(diǎn)。因此,EEPROM在單片機(jī)存儲(chǔ)器擴(kuò)展中,可以用作程序存儲(chǔ)器,也可以用作數(shù)據(jù)存儲(chǔ)器,至于具體做什么(shn me)使用,由硬件電路確定。 EEPROM作為程序存儲(chǔ)器使用時(shí),CPU讀取EEPROM數(shù)據(jù)同讀取一般EPROM操作相同;但EEPROM的寫入時(shí)間較長(zhǎng),必須用軟件或硬件來檢測(cè)寫入周期。 共一百零八頁例8.2 在8031單片機(jī)上擴(kuò)展2KB EEPROM。 (1) 選擇芯片。 2816A和2817A均屬于5 V電擦除可編程只讀存儲(chǔ)器,其容量都是2K8位。
13、2816A與2817A的不同之處在于:2816A的寫入時(shí)間為915 ms,完全由軟件延時(shí)控制,與硬件電路無關(guān);2817A利用硬件引腳 來檢測(cè)寫操作是否完成。 在此,我們選用2817A芯片來完成擴(kuò)展2KB EEPROM,2817A的封裝是DIP28,采用單一+5 V供電,最大工作電流為150 mA,維持電流為55 mA,讀出時(shí)間最大為250 ns。片內(nèi)設(shè)有編程所需的高壓脈沖(michng)產(chǎn)生電路,無需外加編程電源和寫入脈沖(michng)即可工作。 共一百零八頁 2817A在寫入一個(gè)字節(jié)的指令碼或數(shù)據(jù)之前,自動(dòng)地對(duì)所要寫入的單元進(jìn)行擦除,因而無需進(jìn)行專門的字節(jié)/芯片擦除操作(cozu)。281
14、7A的管腳如圖7.4所示。其中,A0A10為地址線;I/O0I/O7為讀寫數(shù)據(jù)線; 為片選線; 為讀允許線,低電平有效; 為寫允許線,低電平有效; 為低電平時(shí),表示2817A正在寫操作,處于忙狀態(tài),高電平時(shí),表示寫操作完畢;VCC為+5 V電源;GND為接地端。 2817A的讀操作與普通EPROM的讀出相同,所不同的只是可以在線進(jìn)行字節(jié)的寫入。共一百零八頁圖8.4 2817A的管腳共一百零八頁 2817A的寫入過程如下:CPU向2817A發(fā)出字節(jié)寫入命令后,2817A便鎖存地址、數(shù)據(jù)及控制信號(hào),從而啟動(dòng)一次寫操作。2817A的寫入時(shí)間大約為16 ms左右,在此期間,2817A的腳呈低電平,表示
15、2817A正在(zhngzi)進(jìn)行寫操作,此時(shí)它的數(shù)據(jù)總線呈高阻狀態(tài),因而允許CPU在此期間執(zhí)行其它的任務(wù)。當(dāng)一次字節(jié)寫入操作完畢,2817A便將線置高,由此來通知CPU。 (2) 硬件電路圖。 單片機(jī)擴(kuò)展2817A的硬件電路圖如圖8.5所示。共一百零八頁圖8.5 單片機(jī)擴(kuò)展(kuzhn)2817A EEPROM電路 共一百零八頁 (3) 連線說明: 地址線。圖7.5中,2817A的11條地址線(A0A10,容量為2K8位,211=21024=2K)中的低8位A0A7通過鎖存器74LS373與P0口連接,高3位A8A10直接與P2口的P2.0P2.2連接。 數(shù)據(jù)線。2817A的8位數(shù)據(jù)線直接與
16、單片機(jī)的P0口相連。 控制線。單片機(jī)與2817A的控制線連接采用(ciyng)了將外部數(shù)據(jù)存儲(chǔ)器空間和程序存儲(chǔ)器空間合并的方法,使得2817A既可以作為程序存儲(chǔ)器使用,又可以作為數(shù)據(jù)存儲(chǔ)器使用。 單片機(jī)中用于控制存儲(chǔ)器的管腳有以三個(gè):共一百零八頁 控制程序存儲(chǔ)器的讀操作(cozu),執(zhí)行指令的取指階段和執(zhí)行MOVC A,A+DPTR指令時(shí)有效; 控制數(shù)據(jù)存儲(chǔ)器的讀操作,執(zhí)行MOVX DPTR,A和MOVX Ri,A時(shí)有效; 控制數(shù)據(jù)存儲(chǔ)器的寫操作,執(zhí)行MOVX A,DPTR和MOVX A,Ri時(shí)有效。 在圖7.5中,2817A控制線的連線方法如下: :直接接地。由于系統(tǒng)中只擴(kuò)展了一個(gè)程序存儲(chǔ)器
17、芯片,因此片選端直接接地,表示2817A一直被選中。共一百零八頁 :8031的程序存儲(chǔ)器讀選通信號(hào)和數(shù)據(jù)存儲(chǔ)器讀信號(hào)經(jīng)過“與”操作后,與2817A的讀允許信號(hào)相連(xin lin)。這樣,只要、中有一個(gè)有效,就可以對(duì)2817A進(jìn)行讀操作了。也就是說,對(duì)2817A既可以看作程序存儲(chǔ)器取指令,也可以看作數(shù)據(jù)存儲(chǔ)器讀出數(shù)據(jù)。 :與8031的數(shù)據(jù)存儲(chǔ)器寫信號(hào)相連,只要執(zhí)行數(shù)據(jù)存儲(chǔ)器寫操作指令,就可以往2817A中寫入數(shù)據(jù)。 :與8031的P1.0相連,采用查詢方法對(duì)2817A的寫操作進(jìn)行管理。在擦、寫操作期間, 腳為低電平,當(dāng)字節(jié)擦、寫完畢時(shí), 為高電平。 共一百零八頁 其實(shí),檢測(cè)2817A寫操作是否
18、完成也可以用中斷方式實(shí)現(xiàn),方法是將2817A的反相后 與8031的中斷輸入腳 相連。當(dāng)2817A每擦、寫完一個(gè)字節(jié)(z ji),便向單片機(jī)提出中斷請(qǐng)求。 圖8.5中,2817A的地址范圍是0000H07FFH(無關(guān)的管腳取0,該地址范圍不是惟一的)。 (4) 2817A的使用。 按照?qǐng)D8.5連接好后,如果只是把2817A作為程序存儲(chǔ)器使用,使用方法同EPROM相同。EEPROM也可以通過編程器將程序固化進(jìn)去。共一百零八頁 如果將2817A作為數(shù)據(jù)存儲(chǔ)器,讀操作同使用靜態(tài)RAM一樣,直接從給定的地址(dzh)單元中讀取數(shù)據(jù)即可。向2817A中寫數(shù)據(jù)采用MOVX DPTR,A指令。 共一百零八頁
19、8.1.4 常用程序存儲(chǔ)器芯片 從上面兩個(gè)實(shí)例,我們可以體會(huì)到擴(kuò)展程序存儲(chǔ)器的一般方法。程序存儲(chǔ)器與單片機(jī)的連線分為三類: (1) 數(shù)據(jù)線,通常有8位數(shù)據(jù)線,由P0口提供。 (2) 地址線,地址線的條數(shù)決定了程序存儲(chǔ)器的容量。低8位地址線由P0口提供,高8位由P2口提供,具體(jt)使用多少條地址線視擴(kuò)展容量而定。 (3) 控制線,存儲(chǔ)器的讀允許信號(hào)與單片機(jī)的取指信號(hào)相連;存儲(chǔ)器片選線的接法決定了程序存儲(chǔ)器的地址范圍,當(dāng)只采用一片程序存儲(chǔ)器芯片時(shí),可以直接接地,當(dāng)采用多片時(shí)要使用譯碼器來選中。 共一百零八頁1. 常用EPROM芯片 1) EPROM 2716 2716是2K8位的紫外線擦除電可
20、編程只讀存儲(chǔ)器,單一(dny)+5 V供電,運(yùn)行時(shí)最大功耗為252 mW,維持功耗為132 mW,讀出時(shí)間最大為450 ns,封裝形式為DIP24。2716有地址線11條(A0A10),數(shù)據(jù)線8條(O0O7), 為片選線,低電平有效, 為數(shù)據(jù)輸出允許信號(hào),低電平有效,VPP為編程電源,VCC為工作電源。共一百零八頁2) EPROM 2764 2764是8K8位的EPROM,單一+5 V供電,工作電流為75 mA,維持(wich)電流為35 mA,讀出時(shí)間最大為250 ns,DIP28封裝。2764A有13條(A0A12)地址線,數(shù)據(jù)輸出線O0O7, 為片選線, 為數(shù)據(jù)輸出允許線, 為編程脈沖輸
21、入端,VPP為編程電源,VCC為工作電源。 3) EPROM 27128 27128是16K8位的EPROM,單一+5 V供電,工作電流為100 mA,維持電流為40 mA,讀出時(shí)間最大為250 ns,DIP28封裝。27128A有14條(A0A13)地址線,數(shù)據(jù)輸出線O0O7, 為片選線, 為數(shù)據(jù)輸出允許線, 為編程脈沖輸入端,VPP為編程電源,VCC為工作電源。共一百零八頁 4) EPROM 27256 27256是32K8位的EPROM,單一+5 V供電,工作電流為100 mA,維持電流為40 mA,讀出時(shí)間最大為250 ns,DIP28封裝。27256有15條A0A14地址線,數(shù)據(jù)輸出
22、線O0O7,為片選線,為數(shù)據(jù)輸出允許線,VPP為編程電源,VCC為工作電源。 2716、2764、27128和27256的管腳如圖7.6所示。 2. 單片機(jī)擴(kuò)展EPROM典型電路 1) 擴(kuò)展一片27128A 單片機(jī)擴(kuò)展16 KB外部程序存儲(chǔ)器一般選用27128A EPROM芯片(xn pin),硬件電路如圖7.7所示。共一百零八頁圖8.6 常用(chn yn)EPROM芯片管腳圖共一百零八頁圖8.7 單片機(jī)擴(kuò)展(kuzhn)27128 EPROM電路共一百零八頁圖8.8 單片機(jī)擴(kuò)展(kuzhn)2764 EPROM電路 2) 用譯碼法擴(kuò)展(kuzhn)一片2764共一百零八頁 在圖8.8中,2
23、764的片選端沒有接地,而是通過74LS138譯碼器的輸出端來提供(tgng)的,這種方法稱為譯碼法。當(dāng)同時(shí)擴(kuò)展多片ROM時(shí),常常采用譯碼法來分別選中芯片。 3. 常用EEPROM芯片 除了例8.2中使用的EEPROM 2817A之外,常用的EEPROM芯片還有2816A、2864A等。 1) EEPROM 2816A 2816A的存儲(chǔ)容量為2K8位,單一+5 V供電,不需要專門配置寫入電源。2816A能隨時(shí)寫入和讀出數(shù)據(jù),其讀取時(shí)間完全能滿足一般程序存儲(chǔ)器的要求,但寫入時(shí)間較長(zhǎng),需915 ms。寫入時(shí)間完全由軟件控制。2816A的管腳如圖8.9所示。共一百零八頁圖8.9 常用(chn yn)
24、EEPROM管腳圖共一百零八頁 2) EEPROM 2864A 2864A是8K8位EEPROM,單一+5 V供電,最大工作電流160 mA,最大維持電流 60 mA,典型讀出時(shí)間250 ns。由于芯片內(nèi)部設(shè)有“頁緩沖器”,因而允許對(duì)其快速寫入。2864A內(nèi)部可提供編程所需的全部定時(shí),編程結(jié)束可以給出查詢標(biāo)志。2864A的封裝形式為DIP28,其管腳如圖7.9所示。 4. 單片機(jī)擴(kuò)展EEPROM典型電路 用單片機(jī)擴(kuò)展EEPROM 2864A作為數(shù)據(jù)(shj)存儲(chǔ)器的硬件電路如圖8.10所示。共一百零八頁圖8.10 單片機(jī)擴(kuò)展2864A EEPROM作為(zuwi)數(shù)據(jù)存儲(chǔ)器電路 共一百零八頁8
25、.2 數(shù)據(jù)(shj)存儲(chǔ)器擴(kuò)展 8.2.1 單片機(jī)RAM概述 RAM是用來(yn li)存放各種數(shù)據(jù)的,MCS-51系列8位單片機(jī)內(nèi)部有128 B RAM存儲(chǔ)器,CPU對(duì)內(nèi)部RAM具有豐富的操作指令。但是,當(dāng)單片機(jī)用于實(shí)時(shí)數(shù)據(jù)采集或處理大批量數(shù)據(jù)時(shí),僅靠片內(nèi)提供的RAM是遠(yuǎn)遠(yuǎn)不夠的。此時(shí),我們可以利用單片機(jī)的擴(kuò)展功能,擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。共一百零八頁 常用的外部數(shù)據(jù)存儲(chǔ)器有靜態(tài)RAM(Static Random Access MemorySRAM)和動(dòng)態(tài)RAM(Dynamic Random Access MemoryDRAM)兩種。前者讀/寫速度高,一般都是8位寬度,易于擴(kuò)展,且大多數(shù)與相同容
26、量的EPROM引腳兼容,有利于印刷(ynshu)板電路設(shè)計(jì),使用方便;缺點(diǎn)是集成度低,成本高,功耗大。后者集成度高,成本低,功耗相對(duì)較低;缺點(diǎn)是需要增加一個(gè)刷新電路,附加另外的成本。 MCS-51單片機(jī)擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的地址線也是由P0口和P2口提供的,因此最大尋址范圍為64 KB(0000HFFFFH)。 一般情況下,SRAM用于僅需要小于64 KB數(shù)據(jù)存儲(chǔ)器的小系統(tǒng),DRAM經(jīng)常用于需要大于64 KB的大系統(tǒng)。 共一百零八頁 8.2.2 SRAM擴(kuò)展實(shí)例 1應(yīng)用(yngyng)系統(tǒng)中只擴(kuò)展一片RAM 例7.3 在一單片機(jī)應(yīng)用系統(tǒng)中擴(kuò)展2 KB靜態(tài)RAM。 (1) 芯片選擇。單片機(jī)擴(kuò)展數(shù)據(jù)
27、存儲(chǔ)器常用的靜態(tài)RAM芯片有6116(2K8位)、6264(8K8位)、62256(32K8位)等。 根據(jù)題目容量的要求,我們選用SRAM 6116。它是一種采用CMOS工藝制成的SRAM,采用單一+5 V供電,輸入/輸出電平均與TTL兼容,具有低功耗操作方式。當(dāng)CPU沒有選中該芯片時(shí)( =1),芯片處于低功耗狀態(tài),可以減少80%以上的功耗。 共一百零八頁圖8.11 6116管腳圖 6116的管腳與EPROM 2716管腳兼容(jin rn),管腳如圖8.11所示。共一百零八頁 6116有11條(A0A10)地址線;8條(I/O0I/O7)雙向數(shù)據(jù)線;為片選線,低電平有效(yuxio);為寫允
28、許線,低電平有效(yuxio);為讀允許線,低電平有效(yuxio)。6116的操作方式如表8.2所示。 方式I/O0I/O7H未選中高阻LLH讀O0O7LHL寫I0I7LLL寫I0I7表8.2 6116的操作(cozu)方式共一百零八頁 (2) 硬件(yn jin)電路。 單片機(jī)與6116的硬件連接如圖8.12所示。 圖8.12 單片機(jī)擴(kuò)展(kuzhn)2 KB RAM電路共一百零八頁 (3) 連線(lin xin)說明。 6116與單片機(jī)的連線如下: 地址線:A0A10連接單片機(jī)地址總線的A0A10,即P0.0P0.7、P2.0、P2.1、P2.2共11根。 數(shù)據(jù)線:I/O0I/O7連接單
29、片機(jī)的數(shù)據(jù)線,即P0.0P0.7。 控制線: 片選端連接單片機(jī)的P2.7,即單片機(jī)地址總線的最高位A15; 讀允許線連接單片機(jī)的讀數(shù)據(jù)存儲(chǔ)器控制線 ;寫允許線 連接單片機(jī)的寫數(shù)據(jù)存儲(chǔ)器控制線 。共一百零八頁 (4) 片外RAM地址范圍的確定及使用。 按照?qǐng)D8.12的連線,片選端直接(zhji)與某一地址線P2.7相連,這種擴(kuò)展方法稱為線選法。顯然,只有P2.7=0,才能夠選中該片6116,故其地址范圍確定如下: 共一百零八頁8031P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A15A14A13A12A11A10
30、A9A8A7A6A5A4A3A2A1A06116A10A9A8A7A6A5A4A3A2A1A0000000000000000000000001000000000010000000000011011111111111共一百零八頁 其中,“”表示跟6116無關(guān)的管腳,取0或1都可以。如果(rgu)與6116無關(guān)的管腳取0,那么,6116的地址范圍是0000H07FFH;如果與6116無關(guān)的管腳取1,那么,6116的地址范圍是7800H7FFFH。 單片機(jī)對(duì)RAM的讀寫除了可以使用在實(shí)訓(xùn)6中出現(xiàn)的指令:MOVXDPTR,A ;64 KB內(nèi)寫入數(shù)據(jù) MOVXA,DPTR ;64 KB內(nèi)讀取數(shù)據(jù)外,還可
31、以使用以下對(duì)低256 B的讀寫指令:MOVXRi,A ;低256 B內(nèi)寫入數(shù)據(jù) MOVXA,Ri ;低256 B內(nèi)讀取數(shù)據(jù)共一百零八頁 2同時(shí)擴(kuò)展外部RAM與外部I/O 我們知道外部RAM與外部I/O口采用相同的讀/寫指令,二者是統(tǒng)一編址的,因此(ync)當(dāng)同時(shí)擴(kuò)展二者時(shí),就必須考慮地址的合理分配。通常采用譯碼法來實(shí)現(xiàn)地址的分配。下面是一個(gè)這樣的例題。 例8.4 擴(kuò)展8 KB RAM,地址范圍是2000H3FFFH,并且具有惟一性;其余地址均作為外部I/O擴(kuò)展地址。 (1) 芯片選擇。 共一百零八頁 靜態(tài)RAM芯片6264。6264是8K8位的靜態(tài)RAM,它采用CMOS工藝制造,單一+5 V供
32、電,額定功耗200 mW,典型(dinxng)讀取時(shí)間200 ns,封裝形式為DIP28,管腳如圖7.13所示。其中,A0A12為13條地址線;I/O0I/O7為8條數(shù)據(jù)線,雙向;為片選線1,低電平有效;CE2為片選線2,高電平有效;為讀允許信號(hào)線,低電平有效;為寫信號(hào)線,低電平有效。 共一百零八頁圖8.13 6264管腳共一百零八頁 3-8譯碼器74LS138。題目要求擴(kuò)展RAM的地址(2000H3FFFH)范圍是惟一的,其余地址用于外部(wib)I/O接口(關(guān)于I/O口的擴(kuò)展,會(huì)在7.3和7.4節(jié)介紹)。由于外部I/O占用外部RAM的地址范圍,操作指令都是MOVX指令,因此,I/O和RAM
33、同時(shí)擴(kuò)展時(shí)必須進(jìn)行存儲(chǔ)器空間的合理分配。這里采用全譯碼方式,6264的存儲(chǔ)容量是8K8位,占用了單片機(jī)的13條地址線A0A12,剩余的3條地址線A13A15通過74LS138來進(jìn)行全譯碼。 (2) 硬件連線。用單片機(jī)擴(kuò)展8 KB SRAM的硬件連線圖如圖8.14所示。共一百零八頁圖8.14 單片機(jī)與6264 SRAM的連接(linji)共一百零八頁 單片機(jī)的高三位地址線A13、A14、A15用來進(jìn)行3-8譯碼,譯碼輸出的接6264的片選線;剩余的譯碼輸出用于選通其它的I/O擴(kuò)展(kuzhn)接口; 6264的片選線CE2直接接+5 V高電平; 6264的輸出允許信號(hào)接單片機(jī)的,寫允許信號(hào)接單片
34、機(jī)的。 (3) 6264的地址范圍。 根據(jù)片選線及地址線的連接,6264的地址范圍為2000H3FFFH。共一百零八頁 8.2.3 新型存儲(chǔ)器簡(jiǎn)介 1. 集成動(dòng)態(tài)隨機(jī)RAM 與靜態(tài)RAM相比,動(dòng)態(tài)RAM具有成本低、功耗小的優(yōu)點(diǎn),適用于需要大容量數(shù)據(jù)存儲(chǔ)空間的場(chǎng)合。但是動(dòng)態(tài)RAM需要刷新(shu xn)邏輯電路,每隔一定的時(shí)間就要將所存的信息刷新(shu xn)一次,以保證數(shù)據(jù)信息不丟失,所以,在單片機(jī)的存儲(chǔ)器擴(kuò)展上受到一定限制。 近年來出現(xiàn)了一種新型的集成動(dòng)態(tài)RAM(iRAM),它將一個(gè)完整的動(dòng)態(tài)RAM系統(tǒng),包括動(dòng)態(tài)刷新硬件邏輯集成到一個(gè)芯片中,從而兼有靜態(tài)RAM、動(dòng)態(tài)RAM的優(yōu)點(diǎn)。Intel
35、公司提供的iRAM芯片有2186、2187等,其管腳如圖8.15所示。共一百零八頁圖8.15 iRAM2186、2187管腳圖共一百零八頁 2186/2187片內(nèi)具有8K8位集成動(dòng)態(tài)RAM,單一+5 V供電,工作電流70 mA,維持電流20 mA,存取時(shí)間250 ns,管腳與6264兼容。兩者的不同之處在于2186的引腳1是同CPU的握手信號(hào)RDY,而2187的引腳1是刷新控制輸入端REFEN。 2. 快擦寫型存儲(chǔ)器(Flash Memory) 快擦寫型存儲(chǔ)器是一種電可擦除型、非易失性存儲(chǔ)器,也稱為閃存,其特點(diǎn)是快速在線修改,且掉電后信息不丟失。近年來,F(xiàn)lash Memory大量用來制作存儲(chǔ)
36、器卡(也稱為閃卡),例如,數(shù)碼相機(jī)(sh m xin j)中使用的存儲(chǔ)器卡。共一百零八頁 Flash Memory以供電電壓的不同,大體可以分為兩大類:一類是從用紫外線擦除的EPROM發(fā)展而來的需要用高壓(12 V)編程的器件,通常需要雙電源(芯片電源、擦除/編程電源)供電,型號(hào)(xngho)序列為28F系列;另一類是從5 V編程的,以EEPROM為基礎(chǔ)的器件,它只需要單一電源供電,其型號(hào)序列通常為29C系列(有的序列號(hào)也不完全統(tǒng)一)。 Flash Memory的型號(hào)很多,如28F256(32K8)、28F512(64K8)、28F010(128K8)、28F020(256K8)、29C256
37、(32K8)、29C512(64K8)、29C010(128K8)、29C020(256K8)等。共一百零八頁8.3 并行(bngxng)I/O口擴(kuò)展 8.3.1 MCS-51內(nèi)部并行I/O口及其作用 51系列單片機(jī)內(nèi)部有4個(gè)雙向的并行I/O端口:P0P3,共占32根引腳。P0口的每一位可以驅(qū)動(dòng)8個(gè)TTL負(fù)載,P1P3口的負(fù)載能力為三個(gè)TTL負(fù)載。有關(guān)4個(gè)端口的結(jié)構(gòu)及詳細(xì)說明,在前面的有關(guān)章節(jié)中已作過介紹,這里(zhl)不再贅述。 在無片外存儲(chǔ)器擴(kuò)展的系統(tǒng)中,這4個(gè)端口都可以作為準(zhǔn)雙向通用I/O口使用。通過7.1和7.2節(jié)的介紹,我們知道,在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中, P0口分時(shí)地作為低8位
38、地址線和數(shù)據(jù)線,P2口作為高8位地址線。這時(shí),P0口和部分或全部的P2口無法再作通用I/O口。共一百零八頁 P3口具有第二功能,在應(yīng)用系統(tǒng)中也常被使用。因此在大多數(shù)的應(yīng)用系統(tǒng)中,真正能夠提供給用戶使用的只有P1和部分P2、P3口。 綜上所述,MCS-51單片機(jī)的I/O端口通常(tngchng)需要擴(kuò)充,以便和更多的外設(shè)(例如顯示器、鍵盤)進(jìn)行聯(lián)系。 在51單片機(jī)中擴(kuò)展的I/O口采用與片外數(shù)據(jù)存儲(chǔ)器相同的尋址方法,所有擴(kuò)展的I/O口,以及通過擴(kuò)展I/O口連接的外設(shè)都與片外RAM統(tǒng)一編址,因此,對(duì)片外I/O口的輸入/輸出指令就是訪問片外RAM的指令,即:共一百零八頁 MOVX DPTR,A MOV
39、X Ri,A MOVX A,DPTR MOVX A,Ri 共一百零八頁 8.3.2 簡(jiǎn)單的I/O口擴(kuò)展 簡(jiǎn)單的I/O口擴(kuò)展通常是采用TTL或CMOS電路鎖存器、三態(tài)門等作為擴(kuò)展芯片,通過P0口來實(shí)現(xiàn)擴(kuò)展的一種(y zhn)方案。它具有電路簡(jiǎn)單、成本低、配置靈活的特點(diǎn)。 1. 擴(kuò)展實(shí)例 圖7.16為采用74LS244作為擴(kuò)展輸入、74LS273作為擴(kuò)展輸出的簡(jiǎn)單I/O口擴(kuò)展。共一百零八頁圖8.16 簡(jiǎn)單(jindn)I/O口擴(kuò)展電路共一百零八頁 2. 芯片及連線說明 在圖7.16的電路中采用的芯片為TTL電路74LS244、74LS273。其中,74LS244為8緩沖線驅(qū)動(dòng)器(三態(tài)輸出),、為低
40、電平有效的使能端。當(dāng)二者之一為高電平時(shí),輸出為三態(tài)。74LS273為8D觸發(fā)器,為低電平有效的清除端。當(dāng)=0時(shí),輸出全為0且與其它輸入端無關(guān);CP端是時(shí)鐘信號(hào),當(dāng)CP由低電平向高電平跳變時(shí)刻,D端輸入數(shù)據(jù)傳送到Q輸出端。 P0口作為雙向8位數(shù)據(jù)線,既能夠從74LS244輸入數(shù)據(jù),又能夠從74LS273輸出數(shù)據(jù)。 輸入控制信號(hào)由P2.0和相“或”后形成。當(dāng)二者都為0時(shí),74LS244的控制端有效,選通74LS244,外部(wib)的信息輸入到P0數(shù)據(jù)總線上。當(dāng)與74LS244相連的按鍵都沒有按下時(shí),輸入全為1,若按下某鍵,則所在線輸入為0。共一百零八頁 輸出控制信號(hào)由P2.0和相“或”后形成。當(dāng)
41、二者都為0后,74LS273的控制端有效,選通74LS273,P0上的數(shù)據(jù)鎖存到74LS273的輸出端,控制發(fā)光二極管LED,當(dāng)某線輸出為0時(shí),相應(yīng)的LED發(fā)光。 3. I/O口地址確定 因?yàn)?yn wi)74LS244和74LS273都是在P2.0為0時(shí)被選通的,所以二者的口地址都為FEFFH(這個(gè)地址不是惟一的,只要保證P2.0=0,其它地址位無關(guān))。但是由于分別由和控制,因而兩個(gè)信號(hào)不可能同時(shí)為0(執(zhí)行輸入指令,如MOVX A,DPTR或MOVX A,Ri時(shí),有效;執(zhí)行輸出指令,如MOVX DPTR,A或MOVX Ri,A時(shí),有效),所以邏輯上二者不會(huì)發(fā)生沖突。共一百零八頁 4. 編程應(yīng)
42、用 下述程序?qū)崿F(xiàn)的功能是按下任意鍵,對(duì)應(yīng)的LED發(fā)光。 CONT:MOV DPTR,#0FEFFH ;數(shù)據(jù)指針指向口地址 MOVX A,DPTR ;檢測(cè)按鍵,向74LS244 讀入數(shù)據(jù) MOVX DPTR,A ;向74LS273輸出(shch)數(shù)據(jù), 驅(qū)動(dòng)LED SJMP CONT ;循環(huán)共一百零八頁 8.3.3 采用8255擴(kuò)展I/O口 所謂可編程的接口芯片是指其功能可由微處理機(jī)的指令來加以(jiy)改變的接口芯片,利用編程的方法,可以使一個(gè)接口芯片執(zhí)行不同的接口功能。目前,各生產(chǎn)廠家已提供了很多系列的可編程接口,MCS-51單片機(jī)常用的兩種接口芯片是8255以及8155,本書主要介紹這兩種
43、芯片在51單片機(jī)中的使用。 8255和MCS-51相連,可以為外設(shè)提供三個(gè)8位的I/O端口:A口、B口和C口,三個(gè)端口的功能完全由編程來決定。 共一百零八頁 1. 8255的內(nèi)部結(jié)構(gòu)和引腳排列(pili) 圖8.17為8255的內(nèi)部結(jié)構(gòu)和引腳圖。圖8.17 8255的內(nèi)部結(jié)構(gòu)和引腳圖共一百零八頁 (1)A口、B口和C口。A口、B口和C口均為8位I/O數(shù)據(jù)口,但結(jié)構(gòu)(jigu)上略有差別。A口由一個(gè)8位的數(shù)據(jù)輸出緩沖/鎖存器和一個(gè)8位的數(shù)據(jù)輸入緩沖/鎖存器組成。B口由一個(gè)8位的數(shù)據(jù)輸出緩沖/鎖存器和一個(gè)8位的數(shù)據(jù)輸入緩沖器組成。三個(gè)端口都可以和外設(shè)相連,分別傳送外設(shè)的輸入/輸出數(shù)據(jù)或控制信息。
44、(2) A、B組控制電路。這是兩組根據(jù)CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。 (3) 數(shù)據(jù)緩沖器。這是一個(gè)雙向三態(tài)8位的驅(qū)動(dòng)口,用于和單片機(jī)的數(shù)據(jù)總線相連,傳送數(shù)據(jù)或控制信息。共一百零八頁 (4) 讀/寫控制邏輯。這部分電路接收MCS-51送來的讀/寫命令和選口地址,用于控制對(duì)8255的讀/寫。 2) 引腳 (1) 數(shù)據(jù)線(8條):D0D7為數(shù)據(jù)總線,用于傳送CPU和8255之間的數(shù)據(jù)、命令和狀態(tài)字。 (2) 控制線和尋址線(6條)。 RESET:復(fù)位信號(hào),輸入(shr)高電平有效。一般和單片機(jī)的復(fù)位相連,復(fù)位后,8255所有內(nèi)部寄存
45、器清0,所有口都為輸入方式。 和 : 讀/寫信號(hào)線,輸入,低電平有效。當(dāng)為0時(shí)(必為1),所選的8255處于讀狀態(tài),8255送出信息到CPU。反之亦然。共一百零八頁 :片選線,輸入,低電平有效。 A0、A1:地址輸入線。當(dāng)=0,芯片被選中時(shí),這兩位的4種組合(zh)00、01、10、11分別用于選擇A、B、C口和控制寄存器。 (3)I/O口線(24條):PA0PA7、PB0PB7、PC0PC7為24條雙向三態(tài)I/O總線,分別與A、B、C口相對(duì)應(yīng),用于8255和外設(shè)之間傳送數(shù)據(jù)。 (4) 電源線(2條):VCC為+5 V,GND為地線。 共一百零八頁 2. 8255的控制(kngzh)字 825
46、5的三個(gè)端口具體工作在什么方式下,是通過CPU對(duì)控制口的寫入控制字來決定的。8255有兩個(gè)控制字:方式選擇控制字和C口置/復(fù)位控制字。用戶通過程序把這兩個(gè)控制字送到8255的控制寄存器(A0A1=11),這兩個(gè)控制字以D7來作為標(biāo)志。 1) 方式選擇控制字 方式選擇控制字的格式和定義如圖8.18(a)所示。 例8.5 設(shè)8255控制字寄存器的地址為F3H,試編程使A口為方式0輸出,B口為方式0輸入,PC4PC7為輸出,PC0PC3為輸入。其程序?yàn)楣惨话倭惆隧?MOV R0,#0F3H MOV A,#83H MOVX R0, A 2) C口置/復(fù)位控制字 C口置/復(fù)位控制字的格式和定義如圖8.1
47、8(b)所示。C口具有位操作功能,把一個(gè)置/復(fù)位控制字送入8255的控制寄存器,就能將C口的某一位置1或清0而不影響其它(qt)位的狀態(tài)。共一百零八頁圖8.18 8255控制(kngzh)字的格式和定義 共一百零八頁 例8.6 仍設(shè)8255控制字寄存器地址(dzh)為F3H,下述程序可以將PC1置1,PC3清0。MOV R0,#0F3HMOV A,#03HMOVX R0, AMOV A,#06HMOVX R0, A 3. 8255的工作方式 8255有三種工作方式:方式0、方式1、方式2。方式的選擇是通過上述寫控制字的方法來完成的。共一百零八頁 (1) 方式0(基本輸入/輸出方式):A口、B口
48、及C口高4位、低4位都可以設(shè)置輸入或輸出,不需要選通信號(hào)。單片機(jī)可以對(duì)8255進(jìn)行I/O數(shù)據(jù)的無條件傳送(chun sn),外設(shè)的I/O數(shù)據(jù)在8255的各端口能得到鎖存和緩沖。 (2) 方式1(選通輸入/輸出方式):A口和B口都可以獨(dú)立的設(shè)置為方式1,在這種方式下,8255的A口和B口通常用于傳送和它們相連外設(shè)的I/O數(shù)據(jù),C口作為A口和B口的握手聯(lián)絡(luò)線,以實(shí)現(xiàn)中斷方式傳送I/O數(shù)據(jù)。C口作為聯(lián)絡(luò)線的各位分配是在設(shè)計(jì)8255時(shí)規(guī)定的,分配表如表8.3所示。共一百零八頁表8.3 8255C口聯(lián)絡(luò)信號(hào)(xnho)分配表C口各位方式1方式2輸入方式輸出方式雙向方式PC0INTRBINTRB由B口方式
49、決定PC1IBFB由B口方式?jīng)Q定PC2SETB由B口方式?jīng)Q定PC3INTRAINTRBINTRAPC4I/OPC5IBFAI/OIBFAPC6I/OPC7I/O共一百零八頁 4. 8255與MCS-51的接口 8255和單片機(jī)的接口十分簡(jiǎn)單,只需要一個(gè)8位的地址鎖存器即可。鎖存器用來鎖存P0口輸出的低8位地址信息。圖8.19為8255擴(kuò)展實(shí)例(shl)。 1) 連線說明 數(shù)據(jù)線:8255的8根數(shù)據(jù)線D0D7直接和P0口一一對(duì)應(yīng)相連就可以了。 控制線:8255的復(fù)位線RESET與8031的復(fù)位端相連,都接到8031的復(fù)位電路上(在圖8.19中未畫出)。8255 的 和 與8031的 和 一一對(duì)應(yīng)
50、相連。共一百零八頁 尋址線:8255的 和A1、A0分別由P0.7和P0.1、P0.0經(jīng)地址鎖存器74LS373后提供,當(dāng)然 的接法不是惟一的。當(dāng)系統(tǒng)要同時(shí)擴(kuò)展(kuzhn)外部RAM時(shí),就要和RAM芯片的片選端一起經(jīng)地址譯碼電路來獲得,以免發(fā)生地址沖突。 I/O口線:可以根據(jù)用戶需要連接外部設(shè)備。圖8.19中,A口作輸出,接8個(gè)發(fā)光二極管LED;B口作輸入,接8個(gè)按鍵開關(guān);C口未用。共一百零八頁圖8.19 8051和8255的接口(ji ku)電路 共一百零八頁 2) 地址(dzh)確定 8051A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2
51、.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08255A1A0A口:000B口:001C口:010控制(kngzh)口:011共一百零八頁根據(jù)上述接法,8255的A、B、C以及控制口的地址分別為0000H、0001H、0002H和0003H(假設(shè)無關(guān)位都取0)。 3) 編程應(yīng)用 例8.7 如果在8255的B口接有8個(gè)按鍵,A口接有8個(gè)發(fā)光二極管,即類似于圖8.16中按鍵和二極管的連接,則下面(xi mian)的程序能夠完成按下某一按鍵,相應(yīng)的發(fā)光二極管發(fā)光的功能。 MOV DPTR,#0003H ;指向8255的控制口 MOV A,
52、#83H 共一百零八頁 MOVX DPTR, A ;向控制(kngzh)口寫控制(kngzh)字,A口輸出,B口輸入 MOV DPTR,#0001H ;指向8255的B口LOOP:MOVX A, DPTR ;檢測(cè)按鍵,將按鍵狀態(tài)讀入A累加器 MOV DPTR,#0000H ;指向8255的A口 MOVX DPTR, A ;驅(qū)動(dòng)LED發(fā)光 SJMP LOOP共一百零八頁 8.3.4 采用8155擴(kuò)展I/O口 在實(shí)訓(xùn)電路中采用的是另一種可編程的接口芯片8155,Intel公司研制的8155不僅具有兩個(gè)8位的I/O端口(A口、B口)和一個(gè)6位的I/O端口(C口),而且(r qi)還可以提供256B的
53、靜態(tài)RAM存儲(chǔ)器和一個(gè)14位的定時(shí)/計(jì)數(shù)器。8155和單片機(jī)的接口非常簡(jiǎn)單,目前被廣泛應(yīng)用。 1. 8155的結(jié)構(gòu)和引腳 8155有40個(gè)引腳,采用雙列直插封裝,其引腳圖和組成框圖如圖8.20所示。共一百零八頁圖8.20 8155的引腳圖和結(jié)構(gòu)(jigu)框圖CBAAD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TIMEROUT6PC037PC138TIMERIN3
54、PC239PC31PC42RESET4PC558155256字節(jié)靜態(tài)RAM14位定時(shí)計(jì)數(shù)器TIMER INTIMER OUTVCC(5 V)VSS(GND)PA0PA7IO/MCEALERDWRRESETAD0AD7PB0PB7PC0PC7共一百零八頁 我們對(duì)8155的引腳分類說明如下: (1) 地址/數(shù)據(jù)線AD0AD7(8條):是低8位地址線和數(shù)據(jù)線的共用輸入總線,常和51單片機(jī)的P0口相連(xin lin),用于分時(shí)傳送地址數(shù)據(jù)信息,當(dāng)ALE=1時(shí),傳送的是地址。 (2) I/O口總線(22條):PA0PA7、PB0PB7分別為A、B口線,用于和外設(shè)之間傳遞數(shù)據(jù);PC0PC5為C端口線,既
55、可與外設(shè)傳送數(shù)據(jù),也可以作為A、B口的控制聯(lián)絡(luò)線。 共一百零八頁 (3) 控制總線(8條): RESET:復(fù)位線,通常(tngchng)與單片機(jī)的復(fù)位端相連,復(fù)位后,8155的3個(gè)端口都為輸入方式。 :讀/寫線,控制8155的讀、寫操作。 ALE:地址鎖存線,高電平有效。它常和單片機(jī)的ALE端相連,在ALE的下降沿將單片機(jī)P0口輸出的低8位地址信息鎖存到8155內(nèi)部的地址鎖存器中。因此,單片機(jī)的P0口和8155連接時(shí),無需外接鎖存器。 :片選線,低電平有效。 :RAM或I/O口的選擇線。當(dāng)=0時(shí),選中8155的256 B RAM;當(dāng)=1時(shí),選中8155片內(nèi)3個(gè)I/O端口以及命令/狀態(tài)寄存器和定
56、時(shí)/計(jì)數(shù)器。共一百零八頁 TIM ERIN、 :定時(shí)/計(jì)數(shù)器的脈沖輸入、輸出線。TIMERIN輸入脈沖對(duì)8155內(nèi)部的14位定時(shí)/計(jì)數(shù)器減1;為輸出線,當(dāng)計(jì)數(shù)器計(jì)滿回0時(shí),8155從該線輸出脈沖或方波,波形形狀由計(jì)數(shù)器的工作方式?jīng)Q定。 2. 作片外RAM使用(shyng) 當(dāng)=0,=0時(shí),8155只能做片外RAM使用,共256 B。其尋址范圍由以及AD0AD7的接法決定,這和前面講到的片外RAM擴(kuò)展時(shí)討論的完全相同。當(dāng)系統(tǒng)同時(shí)擴(kuò)展片外RAM芯片時(shí),要注意二者的統(tǒng)一編址。對(duì)這256 B RAM的操作使用片外RAM的讀/寫指令“MOVX”。 共一百零八頁 3. 作擴(kuò)展I/O口使用 當(dāng) =0, =1
57、時(shí),此時(shí)可以對(duì)8155片內(nèi)3個(gè)I/O端口以及命令/狀態(tài)寄存器和定時(shí)/計(jì)數(shù)器進(jìn)行操作。與I/O端口和計(jì)數(shù)器使用有關(guān)(yugun)的內(nèi)部寄存器共有6個(gè),需要三位地址來區(qū)分,表8.4為地址分配情況。 表8.4 6個(gè)內(nèi)部(nib)寄存器的地址分配表 AD7AD0選中寄存器A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1內(nèi)部命令/狀態(tài)寄存器PA口PB口PC口定時(shí)/計(jì)數(shù)器低8位寄存器定時(shí)/計(jì)數(shù)器高8位寄存器共一百零八頁 1) 命令/狀態(tài)寄存器 和接口芯片8255一樣,芯片8155 I/O口的工作(gngzu)方式的確定也是通過對(duì)8155
58、的命令寄存器寫入控制字來實(shí)現(xiàn)的。8155控制字的格式如圖8.21所示。 命令寄存器只能寫入不能讀出,也就是說,控制字只能通過指令MOVX DPTR, A或MOVX Ri, A寫入命令寄存器。 在本書的實(shí)訓(xùn)電路板中,擴(kuò)展了8155,用于連接8個(gè)LED顯示和鍵盤,A、B口為基本輸出方式,C口為基本輸入方式,因此編寫如下程序:共一百零八頁 圖8.21 8155的控制(kngzh)字 共一百零八頁 MOV DPTR,#CWR;設(shè)CWR為命令寄存器的地址 MOV A,#03H ;A、B口為基本輸出方式(fngsh),C口為基本輸入方式 MOVX DPTR,A 狀態(tài)寄存器中存放有狀態(tài)字,狀態(tài)字反映了815
59、5的工作情況,狀態(tài)字的各位定義如圖7.22所示 共一百零八頁圖8.22 8155的狀態(tài)字共一百零八頁 狀態(tài)寄存器和命令寄存器是同一地址,狀態(tài)寄存器只能讀出不能寫入,也就是說,狀態(tài)字只能通過指令MOVX A ,DPTR或MOVX A,Ri來讀出,以此來了解8155的工作狀態(tài)。 2) 計(jì)數(shù)器高、低8位寄存器 關(guān)于計(jì)數(shù)器高、低8位寄存器的使用,我們將在后面講到定時(shí)器使用時(shí)再作介紹。 4. I/O口的工作方式(fngsh) 當(dāng)使用8155的三個(gè)I/O端口時(shí),它們可以工作于不同的方式,工作方式的選擇取決于寫入的控制字,如圖8.21所示。其中,A、B口可以工作于基本I/O方式或選通I/O方式,C口可工作于
60、基本I/O方式,也可以作為A、B選通方式時(shí)的控制聯(lián)絡(luò)線。共一百零八頁 方式1、2時(shí),A、B、C口都工作于基本I/O方式,可以直接和外設(shè)相連,采用“MOVX”類的指令進(jìn)行輸入/輸出操作。 方式3時(shí),A口為選通I/O方式,由C口的低三位作聯(lián)絡(luò)線,其余位作I/O線;B口為基本I/O方式。 方式4時(shí),A、B口均為選通I/O方式,C口作為(zuwi)A、B口的聯(lián)絡(luò)線。其邏輯組態(tài)如圖8.23所示。共一百零八頁圖8.23 8155方式4時(shí)的邏輯(lu j)結(jié)構(gòu) 共一百零八頁C口的工作(gngzu)方式和各位的關(guān)系見表8.5 。 表8.5 C口的工作方式方式1方式2方式3方式4PC0PC1PC2PC3PC4P
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度全新土地承包合同征收補(bǔ)償及農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)監(jiān)管協(xié)議3篇
- 2025年度旅游公司員工勞務(wù)派遣及服務(wù)協(xié)議3篇
- 2025年度農(nóng)村土地流轉(zhuǎn)承包合同(現(xiàn)代農(nóng)業(yè)示范區(qū)建設(shè))
- 2025年度特色養(yǎng)殖養(yǎng)雞場(chǎng)地租賃及養(yǎng)殖技術(shù)支持合同3篇
- 2025年度農(nóng)民工用工安全與權(quán)益維護(hù)合作協(xié)議
- 2025年度養(yǎng)豬場(chǎng)品牌建設(shè)與市場(chǎng)推廣合作協(xié)議3篇
- 二零二五年度健身中心兼職教練服務(wù)合同3篇
- 2025年度教育機(jī)構(gòu)間學(xué)生資助借款合同3篇
- 二零二五年度汽車銷售公司銷售人員2025年度勞動(dòng)合同3篇
- 二零二五年度農(nóng)村房屋宅基地轉(zhuǎn)讓與農(nóng)業(yè)產(chǎn)業(yè)融合發(fā)展協(xié)議
- 宣傳片基本報(bào)價(jià)單三篇
- 中國(guó)古建筑文化與鑒賞智慧樹知到期末考試答案章節(jié)答案2024年清華大學(xué)
- 天然氣長(zhǎng)輸管道安全培訓(xùn)
- 2024版《隱患排查標(biāo)準(zhǔn)手冊(cè)》(附檢查依據(jù))
- 2024年三門峽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- (高清版)DZT 0268-2014 數(shù)字地質(zhì)數(shù)據(jù)質(zhì)量檢查與評(píng)價(jià)
- 泛微協(xié)同管理平臺(tái)(e-cology)產(chǎn)品白皮書2015-V1.0
- 車間生產(chǎn)中的節(jié)能減排與環(huán)境保護(hù)技術(shù)
- 內(nèi)蒙古自治區(qū)呼和浩特市2023-2024學(xué)年英語九上期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 通用勞務(wù)合同Word模板下載(多份)
- 第七講 磁電選
評(píng)論
0/150
提交評(píng)論