資源描述:
《單片機并行io口的擴展》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第7章單片機并行I/O口的擴展7.1I/O接口擴展概述I/O(輸入/輸出)接口是MCS-51與外設交換數(shù)字信息的橋梁。MCS-51真正用作I/O口線的只有P1口的8位I/O線和P3口的某些位線。在多數(shù)應用系統(tǒng)中,MCS-51單片機都需要外擴I/O接口電路。7.1.1I/O口擴展的原因1.I/O信息的組成(1)數(shù)據(jù)信息CPU與外設交換的基本信息就是數(shù)據(jù)信息,數(shù)據(jù)的傳送可采用并行傳送(n位同時傳送)和串行傳送(一位一位地傳送)兩種形式。(2)狀態(tài)信息狀態(tài)信息是指在CPU與外設之間交換數(shù)據(jù)時的聯(lián)絡信息。CPU通過
2、對外設狀態(tài)信息的讀取,可知其工作狀態(tài)。了解狀態(tài)信息是CPU與I/O設備正確進行數(shù)據(jù)交換的重要條件。(3)控制信息控制信息指CPU發(fā)給外設命令信息,CPU通過發(fā)送控制信息控制外設的工作。2.I/O口接口的作用CPU與I/O設備交換信息情況較為復雜,所以通常I/O設備并不直接與CPU進行信息交換,而是通過相應的輸入/輸出接口(稱為I/O接口)來進行的。I/O接口是CPU和I/O設備之間進行信息交換的中間環(huán)節(jié),其主要功能如下:(1)對輸入輸出數(shù)據(jù)進行緩沖、隔離和鎖存,實現(xiàn)速度匹配。(2)完成信息格式的變換,如串并
3、轉換。(3)實現(xiàn)電氣特性的匹配。(4)選擇設備或地址譯碼等。3.單片機I/O擴展的原因I/O(輸入/輸出)接口是MCS-51與外設交換數(shù)字信息的橋梁,MCS-51系列單片機有4個并行I/O口(P0,P1,P2,P3口),但對一個稍微復雜的應用系統(tǒng)來說,由于P0口和P2口配合使用用于系統(tǒng)擴展、P3口是一個多功能口每個引腳都具有第二功能,所以真正可供用戶使用的并行口,只有P1口,況且常常因擴展I2C和SPI等需占用P1口某些引腳,這使用戶不得不擴展并行口以滿足實際的需要。因此,當在I/O口線不夠用的情況下我們需要
4、擴展并行I/O口。圖7-1并行接口連接CPU與外設示意圖7.1.2I/O口數(shù)據(jù)的傳遞方式MCS-51單片機為了實現(xiàn)數(shù)據(jù)的輸入/輸出傳送,通常使用以下4種方式傳遞數(shù)據(jù)。(1)無條件傳送方式:當外設和單片機能夠同步工作時,可以采用無條件方式進行傳送,即數(shù)據(jù)可以隨時進行傳送。(2)查詢方式:查詢方式又稱為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。在進行I/O操作之前,用戶要通過軟件查詢外設是否為數(shù)據(jù)傳送做好準備,只有確認外設為數(shù)據(jù)傳送做好準備。單片機才能執(zhí)行數(shù)據(jù)的輸入/輸出(I/O)操作。(3)中斷方式:當外設和計算
5、機進行數(shù)據(jù)交換時,外設向單片機發(fā)出中斷請求。單片機接到中斷請求后,就作出響應,暫停正在執(zhí)行的程序,而轉去為設備的數(shù)據(jù)輸入/輸出服務。當服務完成后,程序返回,單片機再繼續(xù)執(zhí)行被中斷的程序。(4)DMA方式:DMA(DirectMemoryAccess,直接內(nèi)存存取)中斷方式雖提高了CPU的效率,但仍然是通過CPU執(zhí)行程序來實現(xiàn)數(shù)據(jù)傳送。其缺點是大量的數(shù)據(jù)在磁盤與內(nèi)存間交換需大量的時間,高速I/O設備時或成組數(shù)據(jù)交換時,顯得速度太慢。DMA方式就是在外設與內(nèi)存間直接傳送數(shù)據(jù),DMA的速度取決于內(nèi)存的工作速度。7.
6、1.3I/O端口的編址方式I/O端口編址是給所有I/O接口中的寄存器編址。I/O端口編址兩種方式:獨立編址與統(tǒng)一編址。1.獨立編址方式I/O寄存器地址空間和存儲器地址空間分開編址,但需專門讀寫I/O的指令和控制信號。2.統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器。的指令進行I/O操作,簡單、方便且功能強。常用的外圍I/O接口芯片有:(1)8255:可編程的通用并行接口電路(3個8位I/O口)。(2)8155:可編程的IO/RAM擴展接口電路(2個
7、8位I/O口,1個6位I/O口,256個RAM字節(jié)單元,1個14位的減法定時器/計數(shù)器)。可與MCS-51單片機直接連接,接口邏輯十分簡單。此外,74LS系列的TTL電路也可以作為MCS-51的擴展I/O口,如74LS244、74LS273等。7.2簡單I/O口的擴展簡單I/O口的擴展是利用74LS273和74LS244,將P0口擴展成簡單的輸入、輸出口的電路。如圖7-2所示74LS273輸出端接8個LED發(fā)光二極管,以顯示8個按鈕開關狀態(tài),某位低電平時二極管發(fā)光。74LS244是緩沖驅(qū)動器,擴展輸入口,接8
8、個按鈕開關。74LS273和74LS244的工作受8031的P2.0、RD*、WR*三條控制線控制。電路的工作原理如下:當P2.0=0,WR*=0(RD*=1)選中寫74LS273,8031通過P0口輸出數(shù)據(jù)到74LS273,;當P2.0=0,RD*=0(WR*=1)時選中讀74LS244,某開關按下時則對應位輸入為“0”。圖7-2簡單I/O擴展實例輸出程序段:(1)匯編語言MOVA,#data;數(shù)