




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理及應(yīng)用技術(shù)MCS51系統(tǒng)擴(kuò)展任務(wù)一 存儲(chǔ)器擴(kuò)展任務(wù)二 74系列芯片擴(kuò)展I/O任務(wù)三 8255A可編程并行輸入輸出接口Project 7任務(wù)1存儲(chǔ)器擴(kuò)展單片機(jī)的系統(tǒng)總線one在進(jìn)行系統(tǒng)擴(kuò)展中,首先需要面對的問題是如何與外圍芯片連接。為了方便解決這一問題,往往利用地址鎖存器將單片機(jī)形成三總線結(jié)構(gòu),即地址總線(Address Bus)、數(shù)據(jù)總線(Data Bus)和控制總線(Control Bus),如圖所示。P2口作為地址總線的高8位,在訪問16位的地址時(shí),用于輸出16位地址的高8位A15A8;P0口分時(shí)復(fù)用地址/數(shù)據(jù)總線,地址鎖存器用于鎖存低8位地址A7A0。提示地址總線的根數(shù)決定了單
2、片機(jī)可以訪問的存儲(chǔ)單元數(shù)量和I/O端口的數(shù)量。n條地址線可以產(chǎn)生2n個(gè)地址編碼。常用的地址鎖存器為74LS373,構(gòu)成地址總線時(shí),它的8個(gè)輸入端與P0口相連,其使能端連接單片機(jī)的ALE端。ALE信號(hào)為1時(shí),P0口輸出的數(shù)據(jù)被地址鎖存器鎖存,用作地址信號(hào)A7A0;ALE信號(hào)為0時(shí),P0口用于傳輸指令或數(shù)據(jù)(此時(shí)地址鎖存器中的地址信號(hào)保持不變,能夠保證數(shù)據(jù)傳輸給正確的地址)。地址總線P0口用作數(shù)據(jù)總線,數(shù)據(jù)總線是雙向的,既可以由單片機(jī)傳到外部芯片,也可以由外部芯片傳入單片機(jī)。數(shù)據(jù)總線控制總線主要負(fù)責(zé)對芯片的選通以及讀/寫等控制。引腳功能已在項(xiàng)目二中進(jìn)行了詳細(xì)介紹,這里不再贅述??刂瓶偩€存儲(chǔ)器擴(kuò)展方
3、法two在項(xiàng)目二中我們已經(jīng)知道程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開編址,具有各自的64KB尋址空間,地址都是從0000HFFFFH。對于程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的訪問,單片機(jī)通過不同的片選信號(hào)來確定,PSEN和EA信號(hào)用于片外程序存儲(chǔ)器的讀寫控制;WR和RD信號(hào)用于片外數(shù)據(jù)存儲(chǔ)器的讀寫控制。無論是對程序存儲(chǔ)器擴(kuò)展,還是對數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),我們需要解決的一個(gè)首要問題就是地址分配。地址空間的分配實(shí)際是16位地址線的具體安排與分配,在外部擴(kuò)展多片存儲(chǔ)芯片時(shí),很多芯片都是“并聯(lián)”的,即它們的數(shù)據(jù)總線、地址總線是一一對應(yīng)地連在一起的,這必然帶來問題:單片機(jī)通過地址總線發(fā)出的地址來選擇某一個(gè)存儲(chǔ)單元時(shí),必須進(jìn)行兩種選
4、擇:一是選擇出指定的芯片(簡稱“片選”);二是選擇出該芯片的某一個(gè)存儲(chǔ)單元。對于芯片中存儲(chǔ)單元的選擇,是通過地址總線進(jìn)行的;對于“片選”,常用方法有兩種:線選法和譯碼法。1線選法線選法是將多余的地址總線(即除去單片機(jī)與存儲(chǔ)芯片相連占用的地址總線外)中的某一根地址線作為選擇某一片存儲(chǔ)芯片的片選信號(hào)線。每一塊芯片均需占用一根地址線,這種方法適用于存儲(chǔ)容量較小,外擴(kuò)芯片較少的系統(tǒng),其優(yōu)點(diǎn)是不需地址譯碼器,硬件電路簡單,成本低;缺點(diǎn)是能夠擴(kuò)展芯片的數(shù)量有限,并且地址空間是不連續(xù)的?!纠?-1】有8個(gè)容量為256B的存儲(chǔ)芯片用于擴(kuò)展單片機(jī)的存儲(chǔ)器,采用線選法進(jìn)行擴(kuò)展,其連接如圖所示。每個(gè)256B芯片均有
5、8條地址線,它們都與單片機(jī)的A0A7的地址線連接。單片機(jī)的A8A15地址線分別與擴(kuò)展芯片的片選端相連,用于選擇相應(yīng)的芯片。芯片的地址計(jì)算方法如下:芯片1的片選端與A15相連,這里假設(shè)片選端為0時(shí)信號(hào)有效。那么芯片1的地址可以表示為:A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A00 1 1 1 1 1 1 1 X X X X X X X X即7F00H7FFFH相應(yīng)地,芯片2芯片8的地址范圍分別為:BF00HBFFFH、DF00HDFFFH、EF00HEFFFH、F700HF7FFH、FB00HFBFFH、FD00HFDFFH與FE00
6、HFEFFH。2譯碼法譯碼法是將剩余的地址總線通過譯碼器,經(jīng)譯碼器輸出后的信號(hào)用于片選,這樣不會(huì)產(chǎn)生線選法中對地址編碼的浪費(fèi)。常用的譯碼芯片有74LS138、74LS139等。其中,74LS138的引腳圖如圖所示:G2A G2B G1C B A輸出(Y0Y7)0 0 10 0 00111 11110 0 10 0 11011 11110 0 10 1 01101 1110 0 10 1 11110 11110 0 11 0 01111 01110 0 11 0 11111 10110 0 11 1 01111 11010 0 11 1 11111 111074LS138的真值表如表所示:【例7
7、-2】某芯片的容量為8K,占用13條地址線,使用該芯片對單片機(jī)進(jìn)行64K的容量擴(kuò)充。這里我們應(yīng)用譯碼法將剩余的3條高位地址線(A13A15)分別與譯碼器的輸入端(A、B、C)相連。譯碼器的8位輸出端分別與8個(gè)存儲(chǔ)芯片的使能端相連,用于片選。譯碼法的連接如圖所示。我們假定按從上到下的順序,芯片名為芯片1、芯片2芯片8。那么芯片1芯片8的地址范圍分別是0000H1FFFH、2000H3FFFH、4000H5FFFH、6000H7FFFH、8000H9FFFH、A000HBFFFH、C000HDFFFH、E000HFFFFH。程序存儲(chǔ)器擴(kuò)展three程序存儲(chǔ)器用于固化程序和常數(shù),根據(jù)工作原理不同,程
8、序存儲(chǔ)器可分為紫外線可擦除EPROM、電可擦除EEPROM、掩膜ROM和可編程PROM幾種。在小批量系統(tǒng)的開發(fā)中,常采用EPROM和EEPROM芯片;成熟的大批量產(chǎn)品開發(fā)中,應(yīng)采用掩膜ROM或可編程PROM。這里以EPROM為例介紹程序存儲(chǔ)器的擴(kuò)展,常用的EPROM芯片有2764(8KB)、27256(32KB)以及27512(64KB),如圖所示,它們都是采用28腳雙列直插式封裝。下面以2764芯片為例對8031的程序存儲(chǔ)器進(jìn)行擴(kuò)展,2764各引腳功能說明如下:A0A1213根地址線D0D78根數(shù)據(jù)線VPP編程電源輸入端VCC工作電源輸入端(一般為+5V)PGM編程脈沖輸入端OE讀選通(輸出
9、允許)信號(hào)輸入端,低電平有效CE片選信號(hào)端,低電平有效GND接地端(1)線選法使用線選法進(jìn)行程序存儲(chǔ)器擴(kuò)展的連接方式如圖所示:前面我們已經(jīng)知道8031內(nèi)部沒有程序存儲(chǔ)器,所以這里直接將EA/VPP引腳接地,用于選擇外部程序存儲(chǔ)器。PSEN引腳是專門用作程序存儲(chǔ)器擴(kuò)展的,故2764的OE引腳與單片機(jī)的PSEN引腳相連。剩余的高位地址線P2.5用作2764的片選端。鎖存器74LS373芯片用于將P0口輸出進(jìn)行數(shù)據(jù)和地址總線的分離,P0口直接連接到2764的數(shù)據(jù)線D0D7上,作為數(shù)據(jù)總線使用;P0口輸出低8位地址時(shí),利用74LS373鎖存,然后與2764的A0A7引腳相連;P2口的部分輸出直接與27
10、64的高位地址線A8A12相連。2764的地址空間范圍是:C000HDFFFH。(2)譯碼法下面我們采用譯碼法使用多片2764對8031進(jìn)行存儲(chǔ)器的擴(kuò)展。前面我們已經(jīng)知道連接2764數(shù)據(jù)總線和地址總線共用了13根,剩余3根信號(hào)線可用于連接譯碼芯片,經(jīng)過譯碼器后,最多可以連接8片2764。這里要求我們只連接4片2764,芯片1芯片4的地址范圍分別是0000H1FFFH、4000H5FFFH、8000H9FFFH、C000HDFFFH。首先我們需要對各芯片的地址進(jìn)行分析:芯片1A15A14A13A12A11A10A9A8A7A0起始地址:000000000結(jié)束地址:000111111芯片2A15A
11、14A13A12A11A10A9A8A7A0起始地址:001000000結(jié)束地址:000111111芯片3A15A14A13A12A11A10A9A8A7A0起始地址:100000000結(jié)束地址:100111111芯片4A15A14A13A12A11A10A9A8A7A0起始地址:110000000結(jié)束地址:110111111觀察四個(gè)芯片高位值A(chǔ)15、A14、A13可知,芯片1芯片4的片選信號(hào)分別是000、001、100和110,參照74LS138真值表可以確定各芯片與74LS138的連線。芯片1Y0芯片2Y1芯片3 Y4芯片4 Y6各芯片的連接如圖所示:數(shù)據(jù)存儲(chǔ)器擴(kuò)展four數(shù)據(jù)存儲(chǔ)器常用來
12、存取實(shí)時(shí)數(shù)據(jù)、變量和運(yùn)算結(jié)果,目前常用的有SRAM(靜態(tài)數(shù)據(jù)存儲(chǔ)器)和DRAM(動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)器)兩種。SRAM工作速度快,只要電源不撤除,寫入SRAM的信息就不會(huì)消失,不需要刷新電路,一經(jīng)寫入可多次讀出,缺點(diǎn)是集成度較低,功耗較大。DRAM是利用電容端電壓的高低來表示“1”和“0”。它的集成度較高,功耗也較低,但缺點(diǎn)是保存在DRAM中的信息會(huì)隨著電容器的漏電而逐漸消失,一般信息保存時(shí)間為2ms左右。因此,為防止信息丟失,采用DRAM進(jìn)行數(shù)據(jù)存儲(chǔ)器擴(kuò)展必須配置動(dòng)態(tài)刷新電路。這里我們以SRAM為例來介紹數(shù)據(jù)存儲(chǔ)器的擴(kuò)展,常見的SRAM芯片有6216(2KB)、6264(8KB)以及62256(32
13、KB),6264芯片的引腳圖如左圖所示,真值表如右表所示。CS1CS2OEWED7D00101讀出0110寫入00 xx三態(tài)(高阻)11xx10 xxA0A1213根地址線D0D78根數(shù)據(jù)線WE寫允許信號(hào)OE讀選通(輸出允許)信號(hào)輸入端,低電平有效CS1片選信號(hào)1,低電平有效CS2片選信號(hào)2,高電平有效數(shù)據(jù)存儲(chǔ)器的擴(kuò)展與程序存儲(chǔ)器的擴(kuò)展相似,地址總線及數(shù)據(jù)總線的連接方式相同。所不同的是控制信號(hào)的連接。在對數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),單片機(jī)使用WR、RD信號(hào)控制6264芯片的讀、寫操作。這里使用譯碼法擴(kuò)展6264芯片,如圖所示。任務(wù)274系列芯片擴(kuò)展I/O并行接口輸入擴(kuò)展one進(jìn)行輸入接口擴(kuò)展通常使用的典
14、型芯片為74LS244,該芯片是8位的三態(tài)數(shù)據(jù)緩沖器。如圖所示為該芯片的引腳示意圖。G1、G2引腳為芯片的選通信號(hào),當(dāng)兩者同為低電平時(shí),輸入端A與輸出端Y狀態(tài)相同;當(dāng)G1和G2同為高電平時(shí),輸出呈高阻狀態(tài)。MCS-51的數(shù)據(jù)總線是公用的總線,不能夠被獨(dú)占,因此我們在進(jìn)行擴(kuò)展時(shí),首先要求擴(kuò)展芯片必須具備“三態(tài)”,即當(dāng)輸入設(shè)備被選通時(shí),能夠使輸入設(shè)備的數(shù)據(jù)線和單片機(jī)的數(shù)據(jù)總線直接接通;當(dāng)輸入設(shè)備沒有被選通時(shí),能夠隔離數(shù)據(jù)源和數(shù)據(jù)總線(即三態(tài)緩沖器為高阻抗?fàn)顟B(tài))。 使用74LS244進(jìn)行I/O擴(kuò)展的線路圖如圖所示。單片機(jī)的P2.7和RD引腳同為低電平時(shí),74LS244才能被選通,將輸入設(shè)備的數(shù)據(jù)送到
15、MCS-51的P0口。這里使用線選法連接芯片,引腳P2.7決定了74LS244的地址為:0 (“”代表任意電平)不難看出,共有從0000H7FFFH共32K個(gè)地址都可以訪問這個(gè)單元。不過,作為一種習(xí)慣,通常選擇其中的最高地址作為這個(gè)芯片的地址來寫程序,即7FFFH。MOVDPTR,#7FFFH;將接口地址存入DPTRMOVXA,DPTR;將接口地址中的內(nèi)容送AMOV40H,A;將輸入設(shè)備發(fā)送的數(shù)據(jù)存入40H單元接口的輸入操作程序如下:MOVX類指令用于訪問外部數(shù)據(jù)存儲(chǔ)器,由于外部I/O與外部數(shù)據(jù)存儲(chǔ)器是同一接口,所以本條指令也可以對外部I/O設(shè)備進(jìn)行操作。執(zhí)行MOVX類指令時(shí),單片機(jī)在RD(輸
16、入命令)或WR(輸出指令)引腳產(chǎn)生一個(gè)下降沿,這個(gè)下降沿與P2.7相“或”,在或門的輸出口會(huì)產(chǎn)生一個(gè)下降沿,這個(gè)下降沿使得74LS244的輸入與輸出接通,單片機(jī)可以從總線上讀取輸入設(shè)備的數(shù)據(jù),如圖所示。在數(shù)據(jù)輸出處理中,數(shù)據(jù)總線的狀態(tài)會(huì)因?yàn)樾枰兓虼耍M(jìn)行輸出擴(kuò)展時(shí),一般會(huì)連接數(shù)據(jù)鎖存器用于鎖存數(shù)據(jù)。常用芯片74LS377是一個(gè)8位鎖存器,其引腳如圖所示,當(dāng)CLK引腳信號(hào)(時(shí)鐘信號(hào))處于上升沿時(shí)鎖存數(shù)據(jù)。并行接口輸出擴(kuò)展two使用74LS377對并行接口進(jìn)行輸出擴(kuò)展時(shí),其連接如圖所示。其中,單片機(jī)的WR信號(hào)與74LS377的CLK信號(hào)相連,P2.7引腳用于連接芯片使能端。MOVDPTR,#
17、7FFFH;將接口地址存入DPTRMOVA,40H;將待發(fā)送的數(shù)據(jù)(40H單元內(nèi)容)送入累加器MOVXDPTR,A;將待發(fā)送數(shù)據(jù)送出,將被74LS377鎖存當(dāng)WR信號(hào)由低變高時(shí),CLK信號(hào)有效,且P2.7引腳輸出低電平,G有效,此時(shí)數(shù)據(jù)被鎖存。相關(guān)程序如下:同時(shí)擴(kuò)展輸入與輸出口three綜合前面的知識(shí),對單片機(jī)同時(shí)進(jìn)行輸入和輸出擴(kuò)展。輸入擴(kuò)展芯片仍為74LS244,輸出擴(kuò)展芯片使用74LS273,當(dāng)MR端信號(hào)為高電平時(shí),數(shù)據(jù)被鎖存。這里我們將兩個(gè)芯片設(shè)為相同地址,線路如圖所示,輸入端的按鍵閉合后,輸出端相應(yīng)的LED燈將亮起。 MOVDPTR,#7FFFH;將接口地址存入DPTRLOOP1:MO
18、VXA,DPTR;將輸入設(shè)備中的待發(fā)送數(shù)據(jù)送入A中MOVXDPTR,A;將A中數(shù)據(jù)送入輸出設(shè)備LJMPLOOP1;循環(huán)執(zhí)行指令相關(guān)程序如下:任務(wù)38255A可編程并行輸入輸出接口8255A結(jié)構(gòu)圖8255A引腳圖8255A的結(jié)構(gòu)和引腳功能one1組成結(jié)構(gòu)并行端口PA、PB、PC:3個(gè)8位的并行端口A、B、C,都可被編程為輸入或輸出兩種方式,但它們在結(jié)構(gòu)和功能上有差異。PA口有一個(gè)8位數(shù)據(jù)輸出鎖存器/緩沖器和一個(gè)8位數(shù)據(jù)輸入鎖存器,可編程為輸入/輸出或雙向寄存器;PB口有一個(gè)8位輸入/輸出鎖存/緩沖器和一個(gè)8位數(shù)據(jù)輸入緩沖器(不鎖存),可編程為輸入或輸出,但不能雙向輸入/輸出;PC口有一個(gè)8位數(shù)據(jù)
19、輸出鎖存/緩沖器和一個(gè)8位數(shù)據(jù)輸入緩沖器,可分為兩個(gè)4位口使用,它除了作為輸入輸出口外,還可作為PA、PB口工作于選通方式時(shí)的狀態(tài)控制信號(hào)。各端口功能如表所示。工作方式端口A端口B端口C0基本輸入/輸出端口,輸出鎖存,輸入三態(tài)基本輸入/輸出端口,輸出鎖存,輸入三態(tài)基本輸入/輸出端口,輸出鎖存,輸入三態(tài)1應(yīng)答式輸入/輸出端口,輸入、輸出均鎖存應(yīng)答式輸入/輸出端口,輸入、輸出均鎖存作為端口A和B的控制位和狀態(tài)位2應(yīng)答式輸入/輸出端口,輸入、輸出均鎖存作為端口A的控制位和狀態(tài)位控制寄存器:包括A組控制電路和B組控制電路,用于控制接收來自CPU的控制命令,控制端口A、B、C的工作方式。其中,A組控制電
20、路用來控制端口A和端口C的高4位(PC7C4),B組控制電路用來控制端口B和端口C的低4位(PC3PC0)。數(shù)據(jù)總線緩沖器:三態(tài)、雙向、8位寄存器,用于與系統(tǒng)數(shù)據(jù)總線相連,是8255A與CPU進(jìn)行信息傳送的通道,可用來傳送數(shù)據(jù)、控制命令和狀態(tài)信息。讀/寫控制邏輯:包括讀出信號(hào)RD、寫入信號(hào)WR、片選信號(hào)CS和端口選擇信號(hào)A1、A0,用于控制8255A內(nèi)部寄存器的讀/寫操作,如表所示。CS RD WR A1 A0端口選擇和讀/寫操作0 0 1 0 0讀出端口A數(shù)據(jù)0 0 1 0 1讀出端口B數(shù)據(jù)0 0 1 1 0讀出端口C數(shù)據(jù)0 0 1 1 1非法操作0 1 0 0 0數(shù)據(jù)寫入端口A0 1 0
21、0 1數(shù)據(jù)寫入端口B0 1 0 1 0數(shù)據(jù)寫入端口C0 1 0 1 1命令寫入控制寄存器2引腳功能D7D0:三態(tài)、雙向數(shù)據(jù)線,與CPU數(shù)據(jù)總線相連,用于傳送數(shù)據(jù)。CS:片選信號(hào),由CPU輸入,低電平有效。該信號(hào)有效時(shí),表示8255A被選中,允許與CPU交換信息。RD:讀信號(hào),輸入,用于控制數(shù)據(jù)流的讀出,低電平有效。該信號(hào)有效時(shí),表示允許CPU從8255A端口中讀取數(shù)據(jù)或狀態(tài)信息。WR:寫信號(hào),輸入,用于控制數(shù)據(jù)的寫入。該信號(hào)有效時(shí),表示允許CPU向8255A中寫入數(shù)據(jù)。A1和A0:端口選擇信號(hào),輸入信號(hào)。8255A有3個(gè)獨(dú)立的8位并行I/O端口A、B、C和一個(gè)控制寄存器,具有數(shù)據(jù)控制和鎖存功能
22、,利用該信號(hào)可以尋址各端口,如表所示。A1 A0選擇端口0 0端口A0 1端口B1 0端口C1 1控制寄存器RESET:復(fù)位信號(hào),輸入信號(hào),高電平有效。當(dāng)該信號(hào)有效時(shí),8255A復(fù)位,所有控制寄存器內(nèi)容被清零,所有端口被置為輸入方式。 PA7PA0:端口A的輸入/輸出信號(hào)。PB7PB0:端口B的輸入/輸出信號(hào)PC7PC0:端口C的輸入/輸出信號(hào)8255A的控制字two1工作方式控制字工作方式控制字用于確定各口的工作方式及數(shù)據(jù)傳送的方向,其特征是最高位為1,如圖所示。D7:控制字標(biāo)志位,恒為1。D6和D5:設(shè)置A組的工作方式。D6D500為方式0,D6D501為方式1,D6D51x為方式2。D4
23、:設(shè)置端口A的數(shù)據(jù)傳送方式。D41為輸入,D40為輸出。D3:設(shè)置PC7PC4的數(shù)據(jù)傳送方向。D31為輸入,D30為輸出。D2:設(shè)置B組的工作方式。D21為方式1,D20為方式0。D1:設(shè)置端口B的數(shù)據(jù)傳送方式。D11為輸入,D10為輸出。D0:設(shè)置PC3PC0的數(shù)據(jù)傳送方向。D01為輸入,D00為輸出?!纠?-1】若要求8255A的工作方式為:PA口設(shè)置為方式0輸入,PB口設(shè)置為方式1輸出,PC4PC7為輸出,PC0PC3為輸入。MOVDPTR,#7FFFHMOVA,#95HMOVXDPTR,A根據(jù)要求,對照方式控制字的格式及各位的功能,寫出方式控制字為10010101B,即95H。設(shè)控制寄
24、存器地址為DFFFH。設(shè)置工作方式控制字可執(zhí)行如下程序:D0D70:標(biāo)志位 無關(guān)D6D5D4D3D2D11:置位0:復(fù)位位 選 擇D3D2D1C口000011111PC1PC3PC5000000001111111PC0PC2PC4PC6PC72PC口位操作控制字PC口位操作控制字用于對C口的任意位進(jìn)行置位和復(fù)位,各位的功能如圖所示。D7:狀態(tài)字標(biāo)志位,恒為0。D6D4:無關(guān),通常設(shè)置為0。D3D1:端口C的位選擇,000111分別對應(yīng)表示PC0PC7。D0:置位或復(fù)位端口C的指定位。D01為置位,D00為復(fù)位?!纠?-2】若置PC5=1,則C口位操作控制字為0XXX1011,即0BH。設(shè)置C口
25、位控制字的操作與設(shè)置工作方式控制字相同。MOVDPTR,#7FFFHMOVA,#0BHMOVXDPTR,ADB8RDWR8448A口A組C口B口B組PA0PA7PC4PC7PC0PC3PB0PB78255A的工作方式three1方式0方式0是8255A的基本輸入/輸出方式,其特點(diǎn)是無需設(shè)置聯(lián)絡(luò)信號(hào),8255A就可以直接與外設(shè)進(jìn)行簡單的無條件數(shù)據(jù)傳送。方式0適用于無條件數(shù)據(jù)傳送或查詢式數(shù)據(jù)傳送。在這種方式下,3個(gè)端口都可以設(shè)置為輸入/輸出端口,但不能同時(shí)既作為輸入又作為輸出。其中,端口A和B為8位端口,輸入、輸出均有鎖存能力;端口C可分為兩個(gè)4位端口(高4位和低4位),僅對輸出有鎖存能力。方式0
26、的功能圖如圖所示。外設(shè)STBBIBFBINTRBINTEBD7D0外設(shè)STBAIBFAINTRAI/OPC6、PC7PC3&PC4PC5INTEAPA7PA0D7D0&PC2PC1PB7PB0PC0RDRD2方式1方式1是一種選通式輸入/輸出工作方式,其特點(diǎn)是與外設(shè)傳送數(shù)據(jù)時(shí),需要設(shè)置聯(lián)絡(luò)信號(hào)。在這種方式下,端口C的部分位用作選通控制信號(hào),控制端口A和B的數(shù)據(jù)輸入輸出。8255A在方式1時(shí)的輸入信號(hào)如圖所示,功能分別如下:STB:選通信號(hào),由外設(shè)輸入,低電平有效。當(dāng)該信號(hào)有效時(shí),將外設(shè)輸入的數(shù)據(jù)鎖存到端口A或B的輸入鎖存器中。對于端口A來說,由端口C的PC4來接收STB信號(hào);對于端口B來說,由
27、端口C的PC2來接收STB信號(hào)。IBF:輸入緩沖器滿信號(hào),向外設(shè)輸出,是對STB的響應(yīng)信號(hào),高電平有效。當(dāng)該信號(hào)有效時(shí),表示由外設(shè)輸入的數(shù)據(jù)已送到該端口的輸入鎖存器中。INTR:中斷請求信號(hào),向CPU輸出,用于請求以中斷方式傳送數(shù)據(jù),高電平有效。INTE:中斷允許信號(hào)。由于INTE沒有外部引出端,但可通過軟件對C口置1或清0,實(shí)現(xiàn)對中斷的控制。若PC41,則端口A的中斷允許信號(hào)INTE1;若PC40,則端口A的INTE0。如果PC21,則端口B的中斷允許信號(hào)INTE1;若PC20,則端口B的INTE0。當(dāng)INTE為1時(shí),表示允許中斷;為0時(shí),表示禁止中斷。D7D0WRRDINTRA外設(shè)OBFA
28、ACKASTBAIBFAI/OPC2PC0PC4PC5INTE2INTE1&PA7PA0PC3PC7PC612內(nèi)部結(jié)構(gòu)8255A在方式2時(shí)的引腳信號(hào)如圖所示,PA7PA0為8位雙向數(shù)據(jù)輸入/輸出端口,PC7PC3提供5個(gè)控制信號(hào),PC2PC0作為基本I/O線。其中,PC7和PC6分別定義為輸出緩沖器滿信號(hào)OBF和輸出應(yīng)答信號(hào)ACK;PC5和PC4分別定義為輸入選通信號(hào)STB和輸入緩沖器滿信號(hào)IBF;PC3定義為中斷請求信號(hào)INTR。另外,輸入和輸出合用一個(gè)引腳PC3向CPU發(fā)出中斷請求信號(hào),但中斷允許信號(hào)有兩個(gè),即INTE1為輸出中斷允許信號(hào),其狀態(tài)由PC6決定;INTE2為輸入中斷允許信號(hào),
29、其狀態(tài)由PC4決定。方式2是一種雙向輸入/輸出工作方式,即同一端口的信號(hào)線既可以輸入又可以輸出。8255A只允許端口A工作于方式2下,此時(shí)端口A作為雙向數(shù)據(jù)端口,既可以發(fā)送數(shù)據(jù)又可以接收數(shù)據(jù)。8255A與MCS-51的典型連接four提示關(guān)于8255A芯片及端口A、B、C地址的確定:根據(jù)前面已講述的線選法,由于8255A的片選端(低電平有效)與P2.7相連,8255A的地址為0111 1111 1111 1111,即7FFFH。A1、A0與單片機(jī)的Q1、Q0相連,端口A、B、C的地址由A1、A0決定:A口地址為:0111 1111 1111 1100,即7FFCH(A1、A0為00時(shí),選擇端口
30、A)。B口地址為:0111 1111 1111 1101,即7FFDH(A1、A0為01時(shí),選擇端口B)。C口地址為:0111 1111 1111 1110,即7FFEH(A1、A0為10時(shí),選擇端口C)。8255A的A1、A0與經(jīng)74LS373鎖存的地址Q1、Q0相連。8255A的數(shù)據(jù)線D0D7與單片機(jī)的數(shù)據(jù)總線P0.0P0.7相連。8255A的讀寫信號(hào)WR、RD與單片機(jī)的WR、RD信號(hào)相連。8255A的片選端CS與單片機(jī)P2的某根地址線相連(圖中與P2.7相連),用來決定8255A的地址。8255A的復(fù)位信號(hào)RESET與單片機(jī)的復(fù)位信號(hào)RESET相連。8255A應(yīng)用舉例five【例7-3】在任務(wù)二中我們使用74LS273和74LS244芯片進(jìn)行輸入和輸出的擴(kuò)展,這里我們只使用8255A芯片就可以解決問題。硬件連接將PB口用作輸入,與按鍵相連;將PA口用作輸出,與LED信號(hào)燈相連。如圖所示。硬件連接將PA口設(shè)置為輸出,PB口設(shè)置為輸入,均工作于方式0,由此可以寫出控制字為:100001,這里將無關(guān)位取1,即8BH。程序內(nèi)容如下:ORG0000HJMPSTARTSTART:MOVA,#8BH;將控制字送AMOVDPTR,#0DFFFH;將8255A的地址送DPTRMOVXDPTR,A;將控制字送8255ALOOP1:MOVDPTR,#0DFFDH;將B口地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度夫妻婚內(nèi)財(cái)產(chǎn)約定及家庭財(cái)務(wù)狀況監(jiān)測協(xié)議
- 2025年度白酒年份酒產(chǎn)區(qū)深度開發(fā)與合作合同
- 二零二五年度新能源企業(yè)代理招聘人才合同
- 二零二五年度獨(dú)立董事聘用合同(科技創(chuàng)新企業(yè))
- 二零二五年度全面數(shù)字化企業(yè)整體資產(chǎn)轉(zhuǎn)讓合同
- 二零二五年度解除勞動(dòng)合同關(guān)系及經(jīng)濟(jì)補(bǔ)償計(jì)算協(xié)議
- 2025年度道路養(yǎng)護(hù)勞務(wù)承包合同(智能化管理)
- 二零二五年度挖機(jī)運(yùn)輸與設(shè)備回收合同
- 浙江國企招聘2024中國郵政速遞物流股份有限公司舟山市普陀區(qū)分公司招聘筆試參考題庫附帶答案詳解
- 2025陜西煤業(yè)新型能源科技股份有限公司招聘(31人)筆試參考題庫附帶答案詳解
- 部編版七年級(jí)下冊語文第一單元課件
- 2023年山東省青島市統(tǒng)招專升本管理學(xué)自考真題(含答案)
- 文化產(chǎn)業(yè)政策與法規(guī)課件
- 膀胱鏡檢查記錄
- 人教版八年級(jí)下冊生物全冊教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 無人機(jī)警用方向應(yīng)用簡介課件
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說課(獲獎(jiǎng)版)課件
- 幼兒園中班居家安全教案
- 教學(xué)樓畢業(yè)設(shè)計(jì)資料
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
- 香港雇傭合同協(xié)議書
評(píng)論
0/150
提交評(píng)論