8031單片機各種系統(tǒng)擴展_第1頁
8031單片機各種系統(tǒng)擴展_第2頁
8031單片機各種系統(tǒng)擴展_第3頁
8031單片機各種系統(tǒng)擴展_第4頁
8031單片機各種系統(tǒng)擴展_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

_*單片機系統(tǒng)擴展在由單片機構成的實際測控系統(tǒng)中,最小應用系統(tǒng)往往不能滿足要求,因此謝謝閱讀在系統(tǒng)設計時首先要解決系統(tǒng)擴展問題。單片機的系統(tǒng)擴展主要有程序存儲器精品文檔放心下載(ROM)擴展,數(shù)據(jù)存儲器(RAM)擴展以及I/O口的擴展。MCS-51單片機有很謝謝閱讀強的擴展功能,外圍擴展電路、擴展芯片和擴展方法都非常典型、規(guī)范。本章首謝謝閱讀先通過實訓初步了解擴展的方法及應用,然后詳細討論各種擴展的常見電路、芯謝謝閱讀片以及使用方法。實訓6片外RAM對信號燈的控制及可編程I/O口的應用謝謝閱讀實訓目的掌握擴展片外RAM的方法及使用。熟悉8155可編程接口芯片的內部組成。掌握8155初始化的方法及I/O口的使用。了解8155內部定時器和RAM的編程使用。認識片外RAM及8155相關地址的確定。實訓設備和器件實訓設備:單片機開發(fā)系統(tǒng)、微機。實訓器件:實訓電路板1套。實訓電路圖下圖為實訓電路圖,與附錄1中的電路圖連接完全相同。精品文檔放心下載_*1P10P0039238P11P01337P12P02436P13P03535P14P04634P15P05733P16P06832P17P0713INT1P202112803122INT0P2123P221524T1P231425T0P2426P253127EA/VPP2628P2719X118X29RESETRXD1011TXD1730RDALE/P1629WRPSENWR12AD0PA0211322AD1PA11423AD2PA21524AD3PA31625AD4PA41726AD5PA51827AD6PA61928AD7PA7PB029830CEPB19815531RDPB21032WRPB3接8031P22733IO/MPB41134ALEPB5接8031ALE35PB636PB76TMROUT37PC038PC1339TMRINPC21PC32PC445RESETPC5接8031RESET實訓步驟與要求

3D0Q0211D0A04512D1Q1D1A17613D2Q2D2A238915D3Q3D3A37D4Q41216D4A43141517S17D5Q51618D5A5LD6Q6D6A641819197D7Q7D7A71A8OEA911LEP20A10P216264A11P22A12P23OEP24WECS2CS1P251AY015P26214BY1P27313CY212Y311Y4410E1Y559E2Y667E3Y7VCC74LS138200Ω×8p g f e d c b ad012345PC00123PC14567PC2891011PC312131415PA0~PA7圖6.1實訓6電路圖

109876543252421232接8031RD接8031WR20VCC6 75.1KΩ×4VCC1)查閱附錄實訓電路板原理圖及芯片手冊,初步認識51單片機擴展片外RAM所使用的芯片6264的管腳排列,以及與單片機的連接關系;初步分析8155與單片機的連接及三個I/O口與外部LED的關系。感謝閱讀2)將電路板與仿真器連接好。3)輸入?yún)⒖汲绦?,匯編并調試運行,觀察P1口發(fā)光二極管的亮滅狀態(tài)。精品文檔放心下載4)輸入?yún)⒖汲绦?,匯編并調試運行,觀察電路板中LED(共陰極)的顯示情況。感謝閱讀參考程序1:對片外RAM寫入數(shù)據(jù)并輸出,控制P1口的亮滅狀態(tài)。感謝閱讀ORG0000HMOVDPTR,#1000H ;指向片外RAM的首地址精品文檔放心下載MOVA,#0FEH

;設置第一個要送入的數(shù)據(jù)MOVR1,#08HWRITE: MOVX@DPTR,AINCDPTRCLRCYRLADJNZR1,WRITE則順序執(zhí)行下一條指令MOVR1,#08HSTART: MOVDPTR,#1000HREAD: MOVX A,@DPTRMOVP1,A

;設循環(huán)次數(shù);向RAM中寫入數(shù)據(jù);片外RAM地址加1;更新數(shù)據(jù);8次未送完,繼續(xù)寫入,否;再次設置循環(huán)次數(shù);指向第一個數(shù)據(jù)單元1000H;讀出數(shù)據(jù)到A累加器;送P1口點亮發(fā)光二極管LCALLDELAYINCDPTRDJNZR1,READ

;延時一段時間;更新地址;連續(xù)讀出8個數(shù)據(jù),送P1口顯示SJMPSTART第一個數(shù)據(jù)單元開始。

;8個數(shù)據(jù)讀完,繼續(xù)從延時子程序參見第4章。_*參考程序2:對8155初始化,使I/O口控制LED的顯示情況。精品文檔放心下載ORG0000HMOVDPTR,#4400H ;指向8155命令寄存器謝謝閱讀MOVA,#03HMOVX

@DPTR,A

;寫入控制字。A口、B口為輸出,C口為輸入。INCDPTR ;指向8155A口MOVA,#00HMOVX @DPTR,A ;向A口寫入00H,輸出選中感謝閱讀所有8個LED。INCDPTR ;指向8155B口MOVA,#OFFHMOVX @DPTR,A ;向B口寫入某個字型碼,謝謝閱讀輸出點亮8個LED。SJMP$實訓總結和分析(1)程序1的功能是,對片外RAM1000H~1008H寫入數(shù)據(jù),然后再逐一讀出送P1口控制發(fā)光二極管,使8個發(fā)光二極管依次點亮。片外RAM是當單片機內部RAM不夠用時進行擴展的,常用的芯片是靜態(tài)RAM,例如實訓電路板中所使用的6264,片外RAM的地址線是由單片機的P0口和P2口提供的,其具體連接方法以及片外RAM地址的確定方法在6.2節(jié)介紹。實訓中,對片外RAM的寫操作由MOVX@DPTR,A完成,讀操作由MOVXA,@DPTR完成。精品文檔放心下載_*(2)程序2的功能是,對實訓電路中擴展的8155芯片初始化,分別從8155謝謝閱讀A口和B口輸出數(shù)據(jù),使8個LED同時顯示“8”。8155是可編程的I/O芯片,當單片機提供的并行I/O口P0~P3不夠用戶使用時,常常需要擴展I/O口,8155感謝閱讀是擴展時使用較多的I/O芯片。在本書的實訓電路中,用擴展的8155連接了8個LED數(shù)碼管和16個按鍵。通過擴展8155可以提供3個并行I/O口:A口、B口和C口,3個I/O口的工作方式(例如是輸入還是輸出)是由用戶的編程來確定的,這個過程稱作對8155的初始化。初始化編程是通過8155的命令寄存器寫入控制字來實現(xiàn)的,例如參考程序2中的前3條指令??刂谱值囊?guī)定、8155和單片機的接口方法以及8155相關地址的確定在6.3.4節(jié)介紹。精品文檔放心下載(3)分析參考程序2,我們注意到,對擴展I/O口芯片8155的寫操作也是MOVX@DPTR,A,與片外RAM的使用方法相同,讀操作也是一樣,因此這就要求片外RAM和擴展I/O口的地址不能沖突,在擴展連接時,二者要統(tǒng)一考慮,統(tǒng)一編址。感謝閱讀(4)請讀者學習本章知識后,思考以下問題:實訓中擴展的6264的地址范圍是什么?為什么8155命令寄存器、A口、B口的地址是程序2中所使用的4400H、4401H、4402H?感謝閱讀(5)在實際應用中,不僅要擴展RAM和I/O口,當單片機內部用于存放程序、表格的程序存儲器容量不夠時,也需要擴展。對這三者的擴展方法、常用芯片和使用方法是本章重點討論的內容。感謝閱讀6.1程序存儲器擴展在進行單片機應用系統(tǒng)設計時,首先考慮的就是存儲器的擴展,包括程序存儲器和數(shù)據(jù)存儲器。其次是I/O口的擴展,用來連接一定的輸入設備和輸出設備。在本書附錄的參考實訓電路板原理圖中,除了實訓6中我們初步認識和使用的RAM和I/O口8155芯片,讀者會注意到還擴展了兩片存儲器芯片2764和2864,這是在程序存儲器擴展中要介紹的內容。感謝閱讀_*單片機的程序存儲器空間和數(shù)據(jù)存儲器空間是相互獨立的。程序存儲器的尋址空間是64K字節(jié)(0000H~FFFFH)。感謝閱讀6.1.1單片機程序存儲器概述單片機應用系統(tǒng)由硬件和軟件組成,軟件的載體就是硬件中的程序存儲器。謝謝閱讀對于MCS-51系列8位單片機,片內程序存儲器的類型及容量如表6.1所示。感謝閱讀表6.1 MCS-51系列單片機片內程序存儲器一覽表精品文檔放心下載單片機片內程序存儲器型號類型容量(字節(jié))8031無——8051ROM4K8751EPROM4K8951Flash4K對于沒有內部ROM的單片機或者程序較長、片內ROM容量不夠時,用戶必須謝謝閱讀在單片機外部擴展程序存儲器。MCS-51單片機片外有16條地址線,即P0口和精品文檔放心下載P2口,因此最大尋址范圍為64K字節(jié)(0000H—FFFFH)。精品文檔放心下載這里要注意的是,MCS-51單片機有一個管腳EA跟程序存儲器的擴展有關。感謝閱讀如果EA接高電平,那么片內存儲器地址范圍是0000H—0FFFH(4K字節(jié)),片外精品文檔放心下載程序存儲器地址范圍是1000H—FFFFH(60K字節(jié))。如果EA接低電平,不使用精品文檔放心下載片內程序存儲器,片外程序存儲器地址范圍為0000H—FFFFH(64K字節(jié))。感謝閱讀8031單片機沒有片內程序存儲器,因此EA管腳總是接低電平。感謝閱讀擴展程序存儲器常用芯片有EPROM(ErasableProgrammableReadOnly感謝閱讀Memory)型(紫外線可擦除型),如2716(2K×8)、2732(4K×8)、2764(8K精品文檔放心下載×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等,另外還有+5V電可擦除EEPROM,如2816(2K×8)、2864(8K×8)等等。感謝閱讀如果程序總量不超過4KB,一般選用具有內部ROM的單片機。8051內部ROM只能由廠家將程序一次性固化,不適合小批量用戶和程序調試時使用。因此選用8751、8951的用戶較多。精品文檔放心下載如果程序超過4K字節(jié),一般不會選用8751、8951,直接選用8031,利用外部擴展存儲器來存放程序。謝謝閱讀6.1.2 EPROM程序存儲器擴展實例紫外線擦除電可編程只讀存儲器EPROM是國內用得較多的程序存儲器。EPROM芯片上均有一個玻璃窗口,在紫外線照射下,存儲器中的各位信息均變1,即處于擦除狀態(tài)。擦除干凈的EPROM可以通過編程器將應用程序固化到芯片中。感謝閱讀例6.1 在8031單片機上擴展4KEPROM程序存儲器感謝閱讀1.選擇芯片本例要求選用8031單片機,內部無ROM區(qū),無論程序長短都必須擴展程序存儲器(目前較少這樣使用,但擴展方法比較典型、實用)。精品文檔放心下載在選擇程序存儲器芯片時,首先必須滿足程序容量,其次在價格合理情況下盡量選用容量大的芯片。芯片少,接線簡單,芯片存儲容量大,程序調整余量大。如估計程序總長3KB左右,最好擴展一片4KB的EPROM2732,而不選用2片2716(2KB)。感謝閱讀在單片機應用系統(tǒng)硬件設計中應注意,盡量減少芯片使用個數(shù),使得電路結構簡單,提高可靠性,這也是8951比8031使用更加廣泛的原因之一。精品文檔放心下載2.硬件電路圖8031單片機擴展一片2732程序存儲器電路如圖6.2所示。精品文檔放心下載_*GND+5VGND31241218EAP2.32421VccGNDCE2319A11P2.2A10P2.12222A9P2.02123A83218191P0.73317D7Q7162A7P0.6D6Q6A6P0.534314D5Q5153A5P0.435713D4Q4124A4363895P0.3SD3Q3A337L7662732P0.24D2Q2A278031P0.1384D1Q157A14KX8P0.0393D0GOEQ028A0111GND1716O715O614O5O413O311O210O19ALE30O0PSEN2920OE/Vpp圖6.2單片機擴展2732EPROM電路3.芯片說明(1)74LS37374LS373是帶三態(tài)緩沖輸出的8D鎖存器,由于單片機的三總線結構中,數(shù)據(jù)線與地址線的低8位共用P0口,因此必須用地址鎖存器將地址信號和數(shù)據(jù)信號區(qū)分開。74LS373的鎖存控制端G直接與單片機的鎖存控制信號ALE相連,在ALE的下降沿鎖存低8位地址精品文檔放心下載(2)EPROM2732EPROM2732的容量為4K×8位。4K表示有4×1024(22×210=212)個存儲單元,8位表示每個單元存儲數(shù)據(jù)的寬度是8位。前者確定了地址線的位數(shù)是12位(A0~A11),后者確定了數(shù)據(jù)線的位數(shù)是8位(O0~O7),目前除了串行存儲器之外,一般情況下我們使用的都是8位數(shù)據(jù)存儲器)。2732單一+5V供電,最大靜態(tài)工作電流為100mA,維持電流為35mA,讀出時間最大為250ns。2732的封裝形式為DIP24,管腳如圖6.3所示。精品文檔放心下載_*1A7VCC24223A62732A83224A5A921A4A11520A3OE/VPP619A2A10718A1CE817A0O7916O0O61015O1O51114O2O41213GNDO3圖6.3 EPROM2732管腳及說明其中 A0~A11:地址線O0~O7: 數(shù)據(jù)線CE: 片選線OE/V: 輸出允許/編程高壓PP除了12條地址線和8條數(shù)據(jù)線之外,CE為片選線,低電平有效,也就精品文檔放心下載是說,只有當CE為低電平時,2732才被選中,否則,2732不工作。OE/V為雙精品文檔放心下載PP功能管腳,當2732用作程序存儲器時,其功能是允許讀數(shù)據(jù)出來;當對EPROM編程(也稱為固化程序)時,該管腳用于高電壓輸入,不同生產廠家的芯片編程電壓也有不同。當我們把它作為程序存儲器使用時,不必關心其編程電壓。精品文檔放心下載4.擴展總線的產生一般的CPU,象INTEL8086/8088、Z80等,都有單獨的地址總線、數(shù)據(jù)謝謝閱讀總線和控制總線,而MCS-51系列單片機由于受管腳的限制,數(shù)據(jù)線與地址線是謝謝閱讀復用的,為了將它們分離開來,必須在單片機外部增加地址鎖存器,構成與一般謝謝閱讀CPU相類似的三總線結構。5.連線說明(1)地址線_*單片機擴展片外存儲器時,地址線是由P0和P2口提供的。圖6.2中,2732精品文檔放心下載12條地址線(A0~A11)中,低8位A0~A7通過鎖存器74LS373與P0口連接,高4位A8~A11直接與P2口的P2.0~P2.3連接,P2口本身有鎖存功能。注意,鎖存器的鎖存使能端G必須和單片機的ALE管腳相連。感謝閱讀(2)數(shù)據(jù)線2732的8位數(shù)據(jù)線直接與單片機的P0口相連。因此P0口是一個分時復用的地址/數(shù)據(jù)線。謝謝閱讀(3)控制線CPU執(zhí)行2732中存放的程序指令時,取指階段就是對2732進行讀操作。注意,CPU對EPROM只能進行讀操作,不能進行寫操作。CPU對2732的讀操作控制都是通過控制線實現(xiàn)的。2732控制線的連接有以下幾條:感謝閱讀CE:直接接地。由于系統(tǒng)中只擴展了一個程序存儲器芯片,因此2732的謝謝閱讀片選端CE直接接地,表示2732一直被選中。若同時擴展多片,需通過譯碼器來完成片選工作;感謝閱讀OE:接8031的讀選通信號PSEN端。在訪問片外程序存儲器時,只要PSEN端出現(xiàn)負脈沖,即可從2732中讀出程序。精品文檔放心下載6.擴展程序存儲器地址范圍的確定單片機擴展存儲器的關鍵是搞清楚擴展芯片的地址范圍,8031最大可以謝謝閱讀擴展64K字節(jié)(0000H—FFFFH)。決定存儲器芯片地址范圍的因素有兩個:一個精品文檔放心下載是片選端CE必須為低電平,另一個是芯片本身的地址線與單片機地址線的連接,精品文檔放心下載單片機本身地址線的編碼確定了芯片的容量。_*本例中,2732的片選端CE總是接地,因此第一個條件總是滿足的,另感謝閱讀外,2732有12條地址線,與8031的低12位地址相連,編碼結果如下:感謝閱讀8031PPPPPPPPPPP2.72.62.52.42.32.22.12.00.70.60.5PPPPP2.40.30.20.10.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A02732CEA11A10A9A8A7A6A5A4A3A2A1A00xxxx0000000000000xxxx0000000000010xxxx0000000000100xxxx000000000011┆┆┆┆┆┆┆┆┆┆┆┆┆0xxxx111111111111其中的“x”表示跟2732無關的管腳,取0或1都可以,通常取0。謝謝閱讀由此可見,本例中擴展的2732的地址范圍是0000H~0FFFH(無關的管腳取0,地址范圍不是唯一的),共4K字節(jié)容量。謝謝閱讀實訓電路中,系統(tǒng)擴展了一片EPROM2764,請讀者對照上述6點理清連接方法,從而確定實訓板中2764的地址范圍。謝謝閱讀7.EPROM的使用存儲器擴展電路是單片機應用系統(tǒng)的功能擴展部分,只有當應用系統(tǒng)的軟件設計完成了,才能把程序通過特定的編程工具(一般稱為編程器或EPROM固化器)固化到2732中,然后再將2732插到用戶板的插座上(擴展程序存儲器一定要焊插座)。感謝閱讀當上電復位時,PC=0000H,自動從2732的0000H單元取指令,然后開始執(zhí)行指令。精品文檔放心下載如果程序需要反復調試,可以用紫外線擦除器先將2732中的內容擦除,然后再固化修改后的程序進行調試。精品文檔放心下載如果要從EPROM中讀出程序中定義的表格,使用查表指令:感謝閱讀MOVC A,@A+DPTRMOVC A,@A+PC6.1.3 EEPROM擴展實例電擦除可編程只讀存儲器EEPROM是一種可用電氣方法在線擦除和再編謝謝閱讀程的只讀存儲器,它既有RAM可讀可改寫的特性,又具有非易失性存儲器ROM精品文檔放心下載在掉電后仍能保持所存儲數(shù)據(jù)的優(yōu)點。因此EEPROM在單片機存儲器擴展中,可精品文檔放心下載以用作程序存儲器,也可以用作數(shù)據(jù)存儲器,至于具體做什么使用,由硬件電路謝謝閱讀確定。_*EEPROM作為程序存儲器使用時,CPU讀取EEPROM數(shù)據(jù)同讀取一般EPROM操作相同;但EEPROM的寫入時間較長,必須用軟件或硬件來檢測寫入周期。感謝閱讀例6.2 在8031單片機上擴展2KBEEPROM。感謝閱讀1.選擇芯片2816A和2817A均屬于5V電擦除可編程只讀存儲器,其容量都是2K×8位。2816A與2817A的不同之處在于:2816A的寫入時間為9—15ms,完全由軟件延時控制,與硬件電路無關;2817A利用硬件引腳RDY/BUSY來檢測寫操作是否完成。感謝閱讀在此我們選用2817A芯片來完成擴展2KBEEPROM,2817A的封裝是DIP28,采用單一+5V供電,最大工作電流為150mA,維持電流為55mA,讀出時間最大為250ns。片內設有編程所需的高壓脈沖產生電路,無需外加編程電源和寫入脈沖即可工作。2817A在寫入一個字節(jié)的指令碼或數(shù)據(jù)之前,自動地對所要寫入的單元進行擦除,因而無需進行專門的字節(jié)/芯片擦除操作。2817A的管腳如圖6.4所示。感謝閱讀1RDY/BUSYVCC28227NCWE326A7NC425A6A8524A5A9623A42817ANC7228A3OE21A2A10920A1CE1019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O36.42817A的管腳其中A0—A10:地址線; I/O0—I/O7:讀寫數(shù)據(jù)線; CE:片選精品文檔放心下載線OE:讀允許線,低電平有效;WE:寫允許線,低電平有效謝謝閱讀_*RDY/BUSY:低電平表示2817A正在寫操作,處于忙狀態(tài),高電平表示謝謝閱讀寫操作完畢。V:+5V電源; GND:接地端cc2817A的讀操作與普通EPROM的讀出相同,所不同的只是可以在線進行字節(jié)的寫入。感謝閱讀2817A的寫入過程如下:CPU向2817A發(fā)出字節(jié)寫入命令后,2817A便鎖存地址、數(shù)據(jù)及控制信號,從而啟動一次寫操作。2817A的寫入時間大約為16ms左右,在此期間,2817A的RDY/BUSY腳呈低電平,表示2817A正在進行寫操作,此時它的數(shù)據(jù)總線呈高阻狀態(tài),因而允許CPU在此期間執(zhí)行其它的任務。當一次字節(jié)寫入操作完畢,2817A便將RDY/BUSY線置高,由此來通知CPU。感謝閱讀2.硬件電路圖單片機擴展2817A的硬件電路圖如圖6.5所示。精品文檔放心下載GND+5VGND31281420EAWR1627VccGNDCE2321WEP2.22224A10P2.12125A9P2.0A83218193P0.73317D7Q7164A7P0.6D6Q6A6P0.534314D5Q5155A5P0.435713D4Q4126A4363897P0.3SD3Q3A337L7682817A48031P0.23874D2Q259A22KX8P0.1393D1Q1210A1P0.0D0OEQ0A0GALE30111GND19I/O718I/O617I/O516I/O415I/O313I/O212I/O1RD17111I/O0320OEPSEN29274LS08P1.013K1RDY/BUSY+5V圖6.5單片機擴展2817AEEPROM電路謝謝閱讀3.連線說明_*(1)地址線6.5中,2817A的11條地址線(A0—A10,容量為2K×8位,211=2×1024=2K),低8位A0—A7通過鎖存器74LS373與P0口連接,高3位A8—A10謝謝閱讀直接與P2口的P2.0—P2.2連接。(2)數(shù)據(jù)線2817A的8位數(shù)據(jù)線直接與單片機的P0口相連。精品文檔放心下載(3)控制線單片機與2817A的控制線連接方法采用了將外部數(shù)據(jù)存儲器空間和程序存儲器空間合并的方法,使得2817A既可以作為程序存儲器使用,又可以作為數(shù)據(jù)存儲器使用。謝謝閱讀單片機中用于控制存儲器的管腳有以下3個:PSEN——控制程序存儲器的讀操作,執(zhí)行指令的取指階段和執(zhí)行MOVCA,@A+DPTR指令時有效;謝謝閱讀RD——控制數(shù)據(jù)存儲器的讀操作,執(zhí)行MOVX

@DPTR,A和MOVX

@Ri,A時有效;WR——控制數(shù)據(jù)存儲器的寫操作,執(zhí)行MOVX

A,@DPTR和MOVX

A,@Ri時有效。在圖6.5中,2817A控制線的連線方法如下:精品文檔放心下載CE:直接接地。由于系統(tǒng)中只擴展了一個程序存儲器芯片,因此片選端CE直接接地,表示2817A一直被選中。感謝閱讀RDY/BUSY_*OE:8031的程序存儲器讀選通信號PSEN和數(shù)據(jù)存儲器讀信號RD經過“與”操作后與2817A的讀允許信號相連。這樣,只要PSEN、RD中有一個有效,就可以對2817A進行讀操作了。也就是說,對2817A既可以看作程序存儲器取指令,也可以看作數(shù)據(jù)存儲器讀出數(shù)據(jù)。謝謝閱讀WE:與8031的數(shù)據(jù)存儲器寫信號WR相連,只要執(zhí)行數(shù)據(jù)存儲器寫操作指令時,就可以往2817A中寫入數(shù)據(jù)。精品文檔放心下載:與8031的P1.0相連,采用查詢方法對2817A的寫操作進行管謝謝閱讀理。在擦、寫操作期間,RDY/BUSY腳為低電平,當字節(jié)擦寫完畢時,RDY/BUSY為高電平。感謝閱讀其實,檢測2817A寫操作是否完成也可以用中斷方式實現(xiàn),方法是將2817A的RDY/BUSY反相后與8031的中斷輸入腳INT0/INT1相連。當2817A每擦、寫完一個字節(jié)便向單片機提出中斷請求。精品文檔放心下載6.5中2817A的地址范圍是0000H~07FFH(無關的管腳取0,該地址范圍不是唯一的)。謝謝閱讀2817A的使用按照圖6.5連接好后,如果只是把2817A作為程序存儲器使用,使用方法同EPROM相同。EEPROM也可以通過編程器將程序固化進去。精品文檔放心下載如果將2817A作為數(shù)據(jù)存儲器,讀操作同使用靜態(tài)RAM一樣,直接從給定的地址單元中讀取數(shù)據(jù)即可。向2817A中寫數(shù)據(jù)采用MOVX@DPTR,A指令。精品文檔放心下載6.1.4常用程序存儲器芯片從上面兩個實例,我們可以體會到擴展程序存儲器的一般方法。程序存感謝閱讀儲器與單片機的連線分為三類:①數(shù)據(jù)線,通常有8位數(shù)據(jù)線,由P0口提供;精品文檔放心下載_*地址線,地址線的條數(shù)決定了程序存儲器的容量。低8位地址線由P0口提供,高8位由P2口提供,具體使用多少條地址線視擴展容量而定;③控制線,存儲器的讀允許信號OE與單片機的取指信號PSEN相連;存儲器片選線CE的接法決謝謝閱讀定了程序存儲器的地址范圍,當只采用一片程序存儲器芯片時CE可以直接接地,當采用多片時要使用譯碼器來選中CE。精品文檔放心下載這里再簡單介紹一些常用的EPROM擴展芯片以及目前市場上出現(xiàn)的一些新型存儲器。感謝閱讀1.常用EPROM芯片(1)EPROM27162716是2K×8位的紫外線擦除電可編程只讀存儲器,單一+5V供電,運行時最大功耗為252mW,維持功耗為132mW,讀出時間最大為450ns,封裝形式精品文檔放心下載DIP24。2716有地址線11條(A0~A10),數(shù)據(jù)線8條(O0~O7),CE為片精品文檔放心下載選線,低電平有效,OE為數(shù)據(jù)輸出允許信號,低電平有效,Vpp為編程電源,Vcc為工作電源。精品文檔放心下載(2)EPROM27642764是8K×8位的EPROM,單一+5V供電,工作電流為75mA,維持電流精品文檔放心下載35mA,讀出時間最大為250ns,DIP28封裝。2764A有13條地址線A0~A12,感謝閱讀數(shù)據(jù)輸出線O0~O7,CE為片選線,OE為數(shù)據(jù)輸出允許線,PGM為編程脈沖輸入端,Vpp為編程電源,Vcc為工作電源。感謝閱讀(3)EPROM2712827128是16K×8位的EPROM,單一+5V供電,工作電流為100mA,維持電流精品文檔放心下載40mA,讀出時間最大為250ns,DIP28封裝。27128A有14條地址線A0~A13,感謝閱讀_*數(shù)據(jù)輸出線O0~O7,CE為片選線,OE為數(shù)據(jù)輸出允許線,PGM為編程脈沖輸入端,Vpp為編程電源,Vcc為工作電源。謝謝閱讀(4)EPROM2725627256是32K×8位的EPROM,單一+5V供電,工作電流為100mA,維持電流為40mA,讀出時間最大為250ns,DIP28封裝。27256有15條地址線A0~A14,數(shù)據(jù)輸出線O0~O7,CE為片選線,OE為數(shù)據(jù)輸出允許線,Vpp為編程電源,Vcc為工作電源。謝謝閱讀2716、2764、27128和27256的管腳如圖6.6所示。精品文檔放心下載1VppVCC28227124A12PGMA7VCC326A7NC2271623425A6A8A6A8322524A5A9A5A94216276423A4VPPA4A11520722A3OEA3OE619821A2A10A2A10718920A1CE/PGMA1CE8171019A0O7A0O79161118O0O6O0O610151217O1O5O1O511141316O2O4O2O412131415GNDO3GNDO3U?1VppVCC281VppVCC28227227A12PGMA12A14326326A7A13A7A13425425A6A8A6A8524524A527128A9A5A962362725623A4A11A4A11722722A3OEA3OE821821A2A10A2A10920920A1CEA1CE10191019A0O7A0O711181118O0O6O0O612171217O1O5O1O513161316O2O4O2O414151415GNDO3GNDO36.6常用EPROM芯片管腳圖單片機擴展EPROM典型電路(1)擴展一片27128A單片機擴展16K外部程序存儲器一般選用27128AEPROM芯片,硬件電路如謝謝閱讀6.7所示。_*GND+5VGND31241420EA2626VccGNDCEP2.5252A13P2.42423A12P2.3A11P2.22321A10P2.12224A9P2.02125A8P0.73218D7Q7193A7P0.63317D6Q6164A6P0.534314D5Q5155A5P0.435713D4Q4126A4363897P0.3SD3A337L7Q3682712848031P0.23874D2Q259A216KX8P0.1393D1Q1210A1P0.0D0GOEQ0A0111GND119VppO72718O6PGM1716O5+5V15O413O312O211O1ALE30O0PSEN2922OE圖6.7單片機擴展27128EPROM電路精品文檔放心下載(2)用譯碼法擴展一片2764單片機擴展8K外部程序存儲器一般選用2764EPROM芯片,硬件電路如圖6.8所示。謝謝閱讀PSENOEP2.774LSCEP2.6138P2.5Y0P2.4A12P2.3A11P2.2A10P2.1A9P2.0A8P0.7D7Q7A7P0.63D6QA6Q6P0.43DQ4A8031P0.3S4Q42764P0.24D2Q2A2(8K*8)P0.17DQ1A1P0.0D1Q0A0+5V0GOEVppALEVGMO7O6O5O4O3EAO2O1O0圖6.8 單片機擴展2764EPROM電路_*在圖6.8中,2764的片選端CE沒有接地,而是通過74LS138譯碼器的輸出精品文檔放心下載端Y0來提供的,這種方法稱為譯碼法。當同時擴展多片ROM時,常常采用譯碼精品文檔放心下載法來分別選中芯片。顯然,在圖6.8中,只有當譯碼器的輸出Y0=0時,才能夠選中該片2764,所以這片2764的地址范圍確定如下:謝謝閱讀8031PPPPPPPPPPP2.72.62.52.42.32.22.12.00.70.60.5PPPPP2.40.30.20.10.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A02764CEA12A11A10A9A8A7A6A5A4A3A2A1A00000000000000000┆┆┆┆┆┆┆┆┆┆┆┆┆0001111111111111即:0000H~1FFFH。本書實訓電路中的2764采用的就是圖6.8所示接法,因此其地址也是0000H~1FFFH。謝謝閱讀3.常用EEPROM芯片除了例6.2中使用的EEPROM2817A之外,常用的EEPROM芯片還有2816A、2864A等。感謝閱讀(1)EEPROM2816A_*2816A的存儲容量為2K×8位,單一+5V供電,不需要專門配置寫入電源。謝謝閱讀2816A能隨時寫入和讀出數(shù)據(jù),其讀取時間完全能滿足一般程序存儲器的要求,但寫入時間較長,須9—15ms,寫入時間完全由軟件控制。2816A的管腳如圖6.10所示。感謝閱讀(2)EEPROM2864A2864A是8K×8位EEPROM,單一+5V供電,最大工作電流160mA,最大維持電流60mA,典型讀出時間250ns。由于芯片內部設有“頁緩沖器”,因而允許對其快速寫入。2864A內部可提供編程所需的全部定時,編程結束可以給出查詢標志。2864A的封裝形式為DIP28,其管腳如圖6.9所示。精品文檔放心下載1NCVCC28227124A12WEA7VCC326A7NC223425A6A8A6A83225244A5A9216A52864AA923A4WEA4A11520722A3OEA3OE619821A2A10A2A10718920A1CEA1CE8171019A0I/O7A0I/O79161118I/O0I/O6I/O0I/O610151217I/O1I/O5I/O1I/O511141316I/O2I/O4I/O2I/O412131415GNDI/O3GNDI/O36.9常用EEPROM管腳圖單片機擴展EEPROM典型電路用單片機擴展EEPROM2864A作為數(shù)據(jù)存儲器的硬件電路如圖6.10所謝謝閱讀示。_*+5VGND2814201722OEVccGNDCERDWR1627WEP2.4252A12P2.32423A112321P2.22224A10P2.12125A9P2.0A8P0.73218D7Q7193A73317164P0.634314D6Q6155A6P0.5D5Q5A5P0.435713D4Q4126A4363897P0.3SD3Q3A337L7682864P0.24D2Q2A280313874598KX8P0.1D1Q1A1P0.0393D0GOEQ0210A0111GND19I/O718I/O617I/O516I/O415I/O313I/O212I/O1ALE3011I/O06.10單片機擴展2864AEEPROM作為數(shù)據(jù)存儲器電路精品文檔放心下載此時,2864A的數(shù)據(jù)讀出和寫入與靜態(tài)RAM完全相同,采用MOVXA,@DPTR和MOVX@DPTR,A指令來完成讀寫操作。在本書的實訓電路板上,就采用這種連接方法,將2864作為數(shù)據(jù)存儲器使用,讀者可將此電路與書后的實訓電路板電路圖比較對照。精品文檔放心下載6.2數(shù)據(jù)存儲器擴展6.2.1單片機RAM概述RAM是用來存放各種數(shù)據(jù)的,MCS-51系列8位單片機內部有128字節(jié)RAM存儲器,CPU對內部RAM具有豐富的操作指令。但是,當單片機用于實時數(shù)據(jù)采集或處理大批量數(shù)據(jù)時,僅靠片內提供的RAM是遠遠不夠的。此時,我們可以利用單片機的擴展功能,擴展外部數(shù)據(jù)存儲器。實訓6的參考程序1就是一個擴展RAM的使用實例。謝謝閱讀常用的外部數(shù)據(jù)存儲器有靜態(tài)RAM(StaticRandomAccessMemory——SRAM)和動態(tài)RAM(DynamicRandomAccessMemory——DRAM)兩種。前者相對讀寫速度高,一般都是8位寬度,易于擴展,且大多數(shù)與相同容量的EPROM引腳感謝閱讀_*兼容,有利于印刷板電路設計,使用方便;缺點是集成度低,成本高,功耗大。后者集成度高,成本低,功耗相對較低;缺點是需要增加一個刷新電路,附加另外的成本。謝謝閱讀MCS-51單片機擴展片外數(shù)據(jù)存儲器的地址線也是由P0口和P2口提供的,因此最大尋址范圍為64K字節(jié)(0000H—FFFFH)。謝謝閱讀一般情況下,SRAM用于僅需要小于64KB數(shù)據(jù)存儲器的小系統(tǒng),DRAM經常用于需要大于64KB的大系統(tǒng)。因此在實訓中我們擴展的是SRAM6264,在本節(jié)將主要介紹SRAM與單片機的接口設計。謝謝閱讀6.2.2SRAM擴展實例1.應用系統(tǒng)中只擴展一片RAM例6.3 在一單片機應用系統(tǒng)中擴展2K字節(jié)靜態(tài)RAM。精品文檔放心下載1)芯片選擇單片機擴展數(shù)據(jù)存儲器常用的靜態(tài)RAM芯片有6116(2K×8位)、6264(8K×8位)、62256(32K×8位)等。精品文檔放心下載根據(jù)題目容量的要求我們選用SRAM6116,它是一種采用CMOS工藝制成精品文檔放心下載SRAM,采用單一+5V供電,輸入輸出電平均于TTL兼容,具有低功耗操作方式。當CPU沒有選中該芯片時(CE=1),芯片處于低功耗狀態(tài),可以減少80%以上的功耗。感謝閱讀6116的管腳與EPROM2716管腳兼容,管腳如圖6.11所示。感謝閱讀1A7VCC24223A66116A83224A5A921A4WE520A3OE619A2A10718A1CE817A0I/O7916I/O0I/O61015I/O1I/O51114I/O2I/O41213GNDI/O3_*圖6.11 6116管腳圖6116有11條地址線A0~A10;8條雙向數(shù)據(jù)線I/O0~I/O7;CE為片選線,感謝閱讀低電平有效;WE寫允許線,低電平有效;OE讀允許線,低電平有效。6116的操作方式如表6.2所示。謝謝閱讀表6.2 6116的操作方式CEOEWE方式I/O0~I/O7H××未選中高阻LLH讀O0~O7LHL寫I0~I7LLL寫I0—I72)硬件電路單片機與6116的硬件連接如圖6.12所示。感謝閱讀RD 1716WR 28P2.723P2.2P2.122P2.021P0.732P0.633P0.534P0.43536P0.3378031 P0.238P0.139P0.0ALE30

18D7Q71917D6Q616314D5Q515713D4Q412389SD3Q3L76474D2Q253D1Q12D0GOEQ0111GND

+5V GND12VccGNDOEWE1819CEA1022A923A8A7A6A5A4A36116A22KX8A1A01716I/O715I/O614I/O513I/O411I/O310I/O2I/O19 I/O0圖6.12單片機擴展2KRAM電路3)連線說明_*6116與單片機的連線如下:地址線:A0~A10連接單片機地址總線的A0~A10,即P0.0~P0.7、P2.0、P2.1、P2.2共11根;感謝閱讀數(shù)據(jù)線:I/O0~I/O7連接單片機的數(shù)據(jù)線,即P0.0~P0.7;謝謝閱讀控制線:片選端CE連接單片機的P2.7,即單片機地址總線的最高位A15;謝謝閱讀讀允許線OE連接單片機的讀數(shù)據(jù)存儲器控制線RD;感謝閱讀寫允許線WE連接單片機的寫數(shù)據(jù)存儲器控制線WR.精品文檔放心下載4)片外RAM地址范圍的確定及使用按照圖6.12的連線,片選端CE直接與某一地址線P2.7相連,這種擴展方法稱為線選法。顯然只有P2.7=0,才能夠選中該片6116,故其地址范圍確定如下:謝謝閱讀8031PPPPPPPPPPPP2.72.62.52.42.32.22.12.01.71.61.51.4PPPP1.31.21.11.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A06116CEA10A9A8A7A6A5A4A3A2A1A00xxxx000000000000xxxx00000000001_*0xxxx000000000100xxxx00000000011┆ ┆ ┆ ┆┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆0xxxx11111111111其中的“x”表示跟6116無關的管腳,取0或1都可以。感謝閱讀如果與6116無關的管腳取0,那么6116的地址范圍是0000H—07FFH;如果與6116無關的管腳取1,那么6116的地址范圍是7800H—7FFFH。謝謝閱讀單片機對RAM的讀寫除了可以使用在實訓6中出現(xiàn)的:感謝閱讀MOVX @DPTR,A ;64K字節(jié)內寫入數(shù)據(jù)MOVX A,@DPTR ;64K字節(jié)內讀取數(shù)據(jù)還可以使用以下對低256字節(jié)的讀寫指令:MOVX @Ri,A ;低256字節(jié)內寫入數(shù)據(jù)MOVX A,@Ri ;低256字節(jié)內讀取數(shù)據(jù)2.同時擴展外部RAM與外部I/O_*在實訓6中,我們知道外部RAM與外部I/O口采用相同的讀寫指令,二者是謝謝閱讀統(tǒng)一編址的,因此當同時擴展二者時,就必須考慮地址的合理分配,通常采用譯感謝閱讀碼法來實現(xiàn)。下面是一個這樣的例題。例6.4擴展8KRAM,地址范圍是2000H—3FFFH,并且具有唯一性;其余地址均作為外部I/O擴展地址。精品文檔放心下載1)芯片選擇(1)靜態(tài)RAM芯片62646264是8K×8位的靜態(tài)RAM,它采用CMOS工藝制造,單一+5V供電,額定功耗200mW,典型讀取時間200ns,封裝形式為DIP28,管腳如圖6.13所示。謝謝閱讀1NCVCC28227A12WE326A7CE2425A6A8524A5A96626423A4A11722A3OE821A2A10920A1CE11019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O3圖6.13 6264管腳其中A0~A12:13條地址線; I/O0—I/O7:8條數(shù)據(jù)線,雙向;謝謝閱讀CE1:片選線1,低電平有效;CE2:片選線2,高電平有效感謝閱讀OE:讀允許信號線,低電平有效;WE:寫信號線,低電平有效感謝閱讀(2)3-8譯碼器74LS138題目要求擴展RAM的地址范圍是唯一的2000H--3FFFH,其余地址用于外精品文檔放心下載I/O接口(關于I/O口的擴展,會在6.3和6.4節(jié)介紹)。由于外部I/O占用外精品文檔放心下載RAM的地址范圍,操作指令都是MOVX指令,因此,I/O和RAM同時擴展時必感謝閱讀_*須進行存儲器空間的合理分配。這里采用全譯碼方式,6264的存儲容量是8K×8位,占用了單片機的13條地址線A0~A12,剩余的3條地址線A13~A15通過74LS138來進行全譯碼。謝謝閱讀2)硬件連線用單片機擴展8KSRAM的硬件連線圖如圖6.14所示。精品文檔放心下載WRWERDOEP2.774LSCE1P2.6138P2.5Y1+5VCE2P2.4A12P2.3A11P2.2A10P2.1A9P2.0A8P0.7DQ7A7P0.6D7Q6A6P0.5D6Q5AQ4P0.4DAD4Q3P0.3A62643Q23P0.2D2A2P0.1DQ1A1P0.0D1Q0A080510GOEALEI/O7I/O6I/O5I/O4I/O3EAI/O2I/O1I/O06.14單片機與6264SRAM的連接單片機的高三位地址線A13、A14、A15用來進行3-8譯碼,譯碼輸出的Y1接6264的片選線CE1;剩余的譯碼輸出用于選通其它的I/O擴展接口;謝謝閱讀6264的片選線CE2直接接高電平,+5V;6264的輸出允許信號接單片機的RD,寫允許信號接單片機的WR。謝謝閱讀3)6264的地址范圍根據(jù)片選線CE1及地址線的連接,6264的地址范圍確定如下:謝謝閱讀_*8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A06264CE1A12A11A10A9A8A7A6A5A4A3A2A1A0001000000000000000100000000000010010000000000010┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆┆ ┆ ┆ ┆ ┆0011111111111111因此,6264的地址范圍為2000H—3FFFH。精品文檔放心下載6.2.3 新型存儲器簡介1.集成動態(tài)隨機RAM與靜態(tài)RAM相比,動態(tài)RAM具有成本低、功耗小的優(yōu)點,適用于需要大容量謝謝閱讀數(shù)據(jù)存儲空間的場合。但是動態(tài)RAM需要刷新邏輯電路,每隔一定的時間就要將精品文檔放心下載所存的信息刷新一次,以保持數(shù)據(jù)信息不丟失,所以在單片機的存儲器擴展中受精品文檔放心下載到一定限制。_*近年來出現(xiàn)了一種新型的集成動態(tài)RAM(iRAM),它將一個完整的動態(tài)RAM系統(tǒng),包括動態(tài)刷新硬件邏輯集成到一個芯片中,從而兼有靜態(tài)RAM、動態(tài)RAM的優(yōu)點。Intel公司提供的iRAM芯片有2186、2187等,其管腳如圖6.15所示。謝謝閱讀2186/2187片內具有8K×8位集成動態(tài)RAM,單一+5V供電,工作電流70mA,維持電流20mA,存取時間250ns,管腳與6264兼容。兩者的不同之處在于2186的引腳1是同CPU的握手信號RDY,而2187的引腳1是刷新控制輸入端REFEN。謝謝閱讀1RDY/REFENVCC28227A12WE326A7NC425A6A8524A5A9623A4iRAMA11722A32186OE821A22187A10920A1CE1019A0I/O71118I/O0I/O61217I/O1I/O51316I/O2I/O41415GNDI/O36.15iRAM2186、2187管腳圖2.快擦寫型存儲器(FlashMemory)快擦寫型存儲器是一種電可擦除型、非易失性存儲器,也稱為閃存,其特點是快速在線修改,且掉電后信息不丟失。近年來,F(xiàn)lashMemory大量用來制作存儲器卡(也稱為閃卡),例如,數(shù)碼相機中使用的存儲器卡就是一種閃卡。謝謝閱讀FlashMemory以供電電壓的不同,大體可以分為兩大類:一類是從用紫外線擦除的EPROM發(fā)展而來的需要用高壓(12V)編程的器件,通常需要雙電源(芯片電源、擦除/編程電源)供電,型號序列為28F系列;另一類是從5V編程的以EEPROM為基礎的器件,它只需要單一電源供電,其型號序列通常為29系列(有的序列號也不完全統(tǒng)一)。感謝閱讀FlashMemory的型號很多,如28F256(32K×8)、28F512(64K×8)、28F010(128K×8)、28F020(256K×8)、29C256(32K×8)、29C512(64K×8)、29C010(128K×8)、29C020(256K×8)等。精品文檔放心下載6.3 并行I/O口擴展6.3.1MCS-51內部并行I/O口及其作用精品文檔放心下載51系列單片機內部有4個雙向的并行I/O端口P0~P3,共占32根引腳。P0口的每一位可以驅動8個TTL負載,P1~P3口的負載能力為3個TTL負載。有關4個端口的結構及詳細說明,在前面的有關章節(jié)中已作介紹,這里不再贅述。感謝閱讀在無片外存儲器擴展的系統(tǒng)中,這4個端口都可以作為準雙向通用I/O口使用。在具有片外擴展存儲器的系統(tǒng)中,通過6.1和6.2節(jié)的介紹,我們知道,P0口分時地作為低8位地址線和數(shù)據(jù)線,P2口作為高8位地址線,這時,P0口和部分或全部的P2口無法再作通用I/O口了。P3口具有第二功能,在應用系統(tǒng)中也常被使用。因此在大多數(shù)的應用系統(tǒng)中,真正能夠提供給用戶使用的只有P1和部分P2、P3口。感謝閱讀綜上所述,MCS-51單片機的I/O端口通常需要擴充,以便和更多的外設(例如顯示器、鍵盤)進行聯(lián)系。感謝閱讀在51單片機中擴展的I/O口采用與片外數(shù)據(jù)存儲器相同的尋址方法,所有擴展的I/O口,以及通過擴展I/O口連接的外設都與片外RAM統(tǒng)一編址,因此對片外I/O口的輸入輸出指令就是訪問片外RAM的指令,即:精品文檔放心下載MOVX @DPTR,AMOVX @Ri,AMOVX A,@DPTRMOVX A,@Ri在實訓6中,讀者已經初步接觸了用8155擴展I/O口的方法,實際中擴展I/O口的方法有三種:簡單的I/O口擴展、采用可編程的并行I/O接口芯片擴展以及利用串行口進行I/O口的擴展。下面分別介紹這些方法的原理和實際應用。謝謝閱讀_*6.3.2簡單的I/O口擴展這種方法,通常是采用TTL或CMOS電路鎖存器、三態(tài)門等作為擴展芯片,通感謝閱讀過P0口來實現(xiàn)擴展的一種方案。它具有電路簡單、成本低、配置靈活的特點。感謝閱讀1.擴展實例下圖為采用74LS244作為擴展輸入、74LS273作為擴展輸出的簡單I/O口擴展。感謝閱讀P0.0DQLED0+5VP0.1D0Q10LED1P0.23D1Q2LED2P0.372QLED3D33LED4P0.4SLD4Q4LED5Q5P0.57D5LED6P0.6D6Q6LED7P0.7D7Q7CPCLR8031QDK000K11Q1D1K24Q2D2K34Q3D3KWR24Q4D4P2.0LK54Q5D5K67RDQ6D6K71Q7D7G2G1圖6.16 簡單I/O口擴展電路2.芯片及連線說明在上述電路中采用的芯片為TTL電路74LS244、74LS273。其中74LS244為8緩沖線驅動器(三態(tài)輸出),G1、G2為低電平有效的使能端,當二者之一為高電平時,輸出為三態(tài)。74LS273為8D觸發(fā)器,CLR為低電平有效的清除端,當CLR=0時,輸出全為0且與其他輸入端無關;CP端是時鐘信號,當CP由低電平向高電平跳變時刻,D端輸入數(shù)據(jù)傳送到Q輸出端。感謝閱讀P0口作為雙向8位數(shù)據(jù)線,既能夠從74LS244輸入數(shù)據(jù),又能夠從74LS273輸出數(shù)據(jù)。精品文檔放心下載_*輸入控制信號由P2.0和RD相“或”后形成。當二者都為0時,244的控制精品文檔放心下載G有效,選通74LS244,外部的信息輸入到P0數(shù)據(jù)總線上。當與244相連的按鍵都沒有按下時,輸入全為1,若按下某鍵,則所在線輸入為0。精品文檔放心下載輸出控制信號輸入控制信號由P2.0和WR相“或”后形成。當二者都為0后,74LS273的控制端有效,選通74LS273,P0上的數(shù)據(jù)鎖存到273的輸出端,控制發(fā)光二極管LED,當某線輸出為0時,相應的LED發(fā)光。謝謝閱讀3.I/O口地址確定因為74LS244和74LS273都是在P2.0為0時被選通的,所以二者的口地址感謝閱讀都為FEFFH(這個地址不是唯一的,只要保證P2.0=0,其它地址位無關)。但是由于分別由RD和WR控制,兩個信號不可能同時為0(執(zhí)行輸入指令例如精品文檔放心下載MOVXA,@DPTR或MOVXA,@Ri時,RD有效;執(zhí)行輸出指令例如MOVX@DPTR,A或MOVX@Ri,A時,WR有效),所以邏輯上二者不會發(fā)生沖突。感謝閱讀4.編程應用下述程序實現(xiàn)的功能是按下任意鍵,對應的LED發(fā)光。謝謝閱讀CONT:MOVDPTR,#0FEFFH;數(shù)據(jù)指針指向口地址MOVXA,@DPTR;檢測按鍵,向244讀入數(shù)據(jù)MOVX@DPTR,A;向273輸出數(shù)據(jù),驅動LEDSJMPCONT;循環(huán)6.3.3采用8255擴展I/O口所謂可編程的接口芯片是指其功能可由微處理機的指令來加以改變的接口謝謝閱讀芯片,利用編程的方法,可以使一個接口芯片執(zhí)行不同的接口功能。目前,各生感謝閱讀_*產廠家已提供了很多系列的可編程接口,MCS-51單片機常用的兩種接口芯片是8255以及8155,本書主要介紹這兩種芯片在51單片機中的使用。謝謝閱讀8255和MCS-51相連,可以為外設提供3個8位的I/O端口,A口、B口和C口,三個端口的功能完全由編程來決定。謝謝閱讀1.8255的內部結構和引腳排列圖6.17為8255的內部結構和引腳圖。A組控制34D0PA04333D1PA1322D2PA2311D3PA33040D4PA42939D5PA5數(shù)據(jù)27D6PA637總線D7PA75RD8255PB018D--D緩沖3619WRPB170920A0PB2821A1PB33522RESETPB4623CSPB524PB625PB7PC01415PC116PC217PC3RD讀寫B(tài)組13PC4WRPC512控制控制11PC6A010邏輯PC7A1RESET

A組I/O端口APA--PA0(8)7A組I/O端口C上半部(4)PC--PC47B組I/O端口C下半部PC--PC0(4)3B組I/O端口BPB--PB70CS圖6.17 8255的內部結構和引腳圖1)內部結構8255可編程接口由以下4個邏輯結構組成:(1)A口、B口和C口_*A口、B口和C口均為8位I/O數(shù)據(jù)口,但結構上略有差別。A口由一個8位的數(shù)據(jù)輸出緩沖/鎖存器和一個8位的數(shù)據(jù)輸入緩沖/鎖存器組成。B口由一個8位的數(shù)據(jù)輸出緩沖/鎖存器和一個8位的數(shù)據(jù)輸入緩沖器組成(無鎖存,決定了B口不能工作在方式2)。在使用上三個端口都可以和外設相連,分別傳送外設的輸入/輸出數(shù)據(jù)或控制信息。精品文檔放心下載(2)A、B組控制電路這是兩組根據(jù)CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。精品文檔放心下載(3)數(shù)據(jù)緩沖器這是一個雙向三態(tài)8位的驅動口,用于和單片機的數(shù)據(jù)總線相連,傳送數(shù)據(jù)或控制信息。精品文檔放心下載(4)讀寫控制邏輯這部分電路接收MCS-51送來的讀寫命令和選口地址,用于控制對8255的讀寫。精品文檔放心下載2)引腳(1)數(shù)據(jù)線(8條)D~D為數(shù)據(jù)總線,用于傳送CPU和8255之間的數(shù)據(jù)、命令和狀態(tài)字。感謝閱讀0 7(2)控制線和尋址線(6條)RESET:復位信號,輸入高電平有效。一般和單片機的復位相連,復位后,8255所有內部寄存器清0,所有口都為輸入方式。謝謝閱讀RD和WR:讀寫信號線,輸入,低電平有效。當RD為0時(WR必為1),所選的8255處于讀狀態(tài),8255送出信息到CPU。反之亦然。謝謝閱讀_*CS:片選線,輸入,低電平有效。A、A:地址輸入線。當CS=0芯片被選中時,這兩位的4種組合00、01、10、謝謝閱讀0 111分別用于選擇A、B、C口和控制寄存器。(3)I/O口線(24條)PA~PA、PB~PB、PC~PC為32條雙向三態(tài)I/O總線,分別和A、B、謝謝閱讀0 7 0 7 0 7C口相對應,用于8255和外設之間傳送數(shù)據(jù)。(4)電源線(2條):VCC為+5V,GND為地線。感謝閱讀2.8255的控制字8255的三個端口具體工作在什么方式下,是通過CPU對控制口寫入控制字來決定的。8255有兩個控制字:方式選擇控制字和C口置/復位控制字。用戶通過程序把這兩個控制字送到8255的控制寄存器(AA=11),這兩個控制字以D精品文檔放心下載0 1 7來作為標志。1)方式選擇控制字其格式和定義如圖6.18(a)所示。_*D7D6D5D4D3D2D1D0B組C口輸出低4位1:輸入輸出DDDDDB口0:732101:輸入復位方式0:模式01:0:置位選擇1:模式1A組位選擇000PC0C口輸出001PC1高4位1:輸入010PC2口0:輸出011PC3100PC4A1:輸入101PC5方式00:模式0110PC6模式111PC7選擇1*:01:模式210:位操作1:方式標志(a)(b)圖6.18 8255控制字的格式和定義例6.5設8255控制字寄存器的地址為F3H,試編程使A口為方式0輸出,B口為方式0輸入,PC~PC為輸出,PC~PC為輸入。其程序為:謝謝閱讀4 7 0 3MOVR0,#0F3HMOVA,#83HMOV@R0,A2)C口置/復位控制字_*其格式和定義如圖6.18(b)所示。C口具有位操作功能,把一個置/復位控制字送入8255的控制寄存器,就能將C口的某一位置1或清0而不影響其他位的狀態(tài)。感謝閱讀例6.6仍設8255控制字寄存器地址為F3H,下述程序可以將PC1置1,PC3清0。謝謝閱讀MOVR0,#0F3HMOVA,#03HMOV@R0,AMOVA,#06HMOV@R0,A3.8255的工作方式8255有3種工作方式:方式0、方式1、方式2。方式的選擇是通過上述寫控制字的方法來完成的。感謝閱讀(1)方式0(基本輸入/輸出方式):A口、B口及C口高4位、低4位都可以設置輸入或輸出,不需要選通信號。單片機可以對8255進行I/O數(shù)據(jù)的無條件傳送,外設的I/O數(shù)據(jù)在8255的各端口能得到鎖存和緩沖。感謝閱讀(2)方式1(選通輸入/輸出方式):A口和B口都可以獨立的設置為方式1,在這種方式下,8255的A口和B口通常用于傳送和它們相連外設的I/O數(shù)據(jù),C口作為A口和B口的握手聯(lián)絡線,以實現(xiàn)中斷方式傳送I/O數(shù)據(jù)。C口作為聯(lián)絡線的各位分配是在設計8255時規(guī)定的。分配表見表6.3。謝謝閱讀表6.3

8255C口聯(lián)絡信號分配表C口各位

輸入方式

方式1

輸出方式

方式2雙向方式PCINTRINTR0BBPCIBFOBFB1BPCSETACKA2BPCINTRINTR3ABPCSTBAI/O4PCIBFI/O5APCI/OACKA6PCI/OOBFA7

_*由B口方式決定由B口方式決定由B口方式決定INTRASTBAIBFAACKAOBFA(3)方式2(雙向總線方式):只有A口才能設定。C口的PC~PC作為聯(lián)感謝閱讀3 7絡信號。4.8255與MCS-51的接口8255和單片機的接口十分簡單,只需要一個8位的地址鎖存器即可。鎖存器用來鎖存P0口輸出的低8位地址信息。圖6.19為8255擴展實例。精品文檔放心下載WRWRRDRDQ7RESETPAP0.7D7CSP0.6D6Q6P0.5D5Q5P0.4D4373Q4P0.3DQ382553Q2P0.2D2P0.1DQ1A1P0.0D1Q0A0PB80510GOEALED7D6D5D4PCD3EAD2D1D0圖6.19 8051和8255的接口電路(1)連線說明數(shù)據(jù)線:8255的8根數(shù)據(jù)線D0~D7直接和P0口一一對應相連就可以了。感謝閱讀_*控制線:8255的復位線RESET與8031的復位端相連,都接到8031的復位電精品文檔放心下載路上(在圖6.19中未畫出)。8255的RD和WR與8031的RD和WR一一對應相連。謝謝閱讀尋址線:8255的CS和A1,A0分別由P0.7和P0.1、P0.0經地址鎖存器74LS373后提供,當然CS的接法不是唯一的。當系統(tǒng)要同時擴展外部RAM時,CS就要和RAM芯片的片選端一起經地址譯碼電路來獲得,以免發(fā)生地址沖突。謝謝閱讀I/O口線:可以根據(jù)用戶需要連接外部設備。本例題A口作輸出,接8個發(fā)光二極管LED,B口作輸入,接8個按鍵開關。C口未用。謝謝閱讀(2)地址確定8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0PPPPPPPPP2.72.62.52.42.32.22.12.00.7PPPPPPP0.60.52.40.30.20.10.08255CS

A1 A0A口:××××××××0×××××00B口:××××××××0×××××01_*C口: × × × × × × × × 0 × ×× × × 1 0控制口:× × × × × × × × 0 × × × ×× 1 1根據(jù)上述接法,所以8255的A、B、C以及控制口的地址分別為0000H、0001H、0002H和0003H(假設無關位都取0)。感謝閱讀(3)編程應用例6.7如果在8255的B口接有8個按鍵、A口接有8個發(fā)光二極管,即類似于圖6.16中按鍵和二極管的連接,則下面的程序能夠完成按下某一按鍵,相應的發(fā)光二極管發(fā)光的功能。感謝閱讀MOVDPTR,#0003H ;指向8255的控制口精品文檔放心下載MOVA,#83HMOV@DPTR,A ;向控制口寫控制字,A口輸出,精品文檔放心下載B口輸入MOVDPTR,#0001H ;指向8255的B口感謝閱讀LOOP:MOVA,@DPTR ;檢測按鍵,將按鍵狀態(tài)讀入A累加精品文檔放心下載器。MOVDPTR,#0000H ;指向8255的A口精品文檔放心下載MOV@DPTR,A ;驅動LED發(fā)光。SJMPLOOP_*6.3.4采用8155擴展I/O口在實訓電路中采用的是另一種可編程的接口芯片8155,Intel公司研制的8155不僅具有兩個8位的I/O端口A、B口和一個6位的I/O端口C口,而且還可以提供256個字節(jié)的靜態(tài)RAM存儲器和一個14位的定時/計數(shù)器。8155和單片機的接口非常簡單,目前被廣泛應用。感謝閱讀1. 8155的結構和引腳8155有40個引腳,采用雙列直插封裝,其引腳圖和組成框圖見圖6.20。精品文檔放心下載12AD0PA0211322AD1PA11423AD2PA21524IO/MAD3PA31625AD4PA4256字節(jié)A1726AD5PA5AD18AD6PA6270-7靜態(tài)1928AD7PA7RAMCE298155PB0B830ALECEPB1931RDPB2103214位WRPB3RD733IO/MPB4定時1134WRALEPB5計數(shù)器C35PB636PB7RESET6TIMROUT37PC038PC1339TIMRINPC2TIMERIN1PC32PC4TIMEROUT45RESETPC5圖6.20 8155的引腳圖和結構框圖我們對8155的引腳分類說明如下:

PA0-7PB0-7PC0-7Vcc(+5V)Vss(GND)(1)地址/數(shù)據(jù)線AD0~AD7(8條):是低8位地址線和數(shù)據(jù)線的共用輸入總線,常和51單片機的P0口相連,用于分時傳送地址數(shù)據(jù)信息,當ALE=1時,傳送的是地址。精品文檔放心下載(2)I/O口總線(22條):PA0~PA7、PB0~PB7分別為A、B口線,用于和外設之間傳遞數(shù)據(jù),PC0~PC5為C端口線,既可與外設傳送數(shù)據(jù),也可以作為A、B口的控制聯(lián)絡線。精品文檔放心下載_*(3)控制總線(8條):RESET:復位線,通常與單片機的復位端相連,復位后,8155的3個端口都為輸入方式。謝謝閱讀RD、WR:讀寫線,控制8155的讀、寫操作。謝謝閱讀ALE:地址鎖存線。高電平有效,常和單片機的ALE端相連,在ALE的下降沿將單片機P0口輸出的低8位地址信息鎖存到8155內部的地址鎖存器中。因此,單片機的P0口和8155連接時,無需外接鎖存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論