資源描述:
《單片機原理及應(yīng)用教學(xué)課件第8章mcs51的io接口擴展》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、單片機原理及應(yīng)用第8章MCS-51的I/O接口擴展光華學(xué)院信息工程系王超8.1I/O口擴展概述◆MCS-51的I/O(輸入/輸出)口是MCS-51與外設(shè)交換數(shù)字信息的橋梁?!鬒/O擴展也屬于系統(tǒng)擴展的一部分?!粽嬲米鱅/O口線的只有P1口的8位I/O線和P3口的某些位線?!粼诙鄶?shù)應(yīng)用系統(tǒng)中,MCS-51單片機都需要外擴I/O接口電路。MCS-51單片機信號引腳簡介VCCVSSXTAL2XTAL1RSTP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5
2、P2.4P2.3P2.2P2.1P2.0ALEP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7并行口:P0、P1、P2、P3EAPSENRXD/TXD/INT0/INT1/T0/T1/WR/RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051875189C51P0口:低8位地址線,也可做數(shù)據(jù)總線.P2口:高8位地址線.P3口:具備第二功能8.1.1I/O接口的功能I/O接口電路應(yīng)滿足
3、以下要求:1.實現(xiàn)和不同外設(shè)的速度匹配大多數(shù)的外設(shè)的速度很慢,無法和μs量級的單片機速度相比。單片機只有在確認外設(shè)已為數(shù)據(jù)傳送做好準備的前提下才能進行I/O操作。想知道外設(shè)是否準備好,需I/O接口電路與外設(shè)之間傳送狀態(tài)信息。2.輸出數(shù)據(jù)鎖存由于單片機工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保留的時間十分短暫,無法滿足慢速外設(shè)的數(shù)據(jù)接收。I/O電路應(yīng)具有數(shù)據(jù)鎖存器,以保證接收設(shè)備接收。3.輸入數(shù)據(jù)三態(tài)緩沖輸入設(shè)備向單片機輸入數(shù)據(jù)時,但數(shù)據(jù)總線上面可能“掛”有多個數(shù)據(jù)源,為不發(fā)生沖突,只允許當(dāng)前時刻正在進行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的數(shù)據(jù)源應(yīng)處于隔離狀態(tài)。I/O接口(I
4、nterface)和I/O端口(Port)的區(qū)別:I/O端口:簡稱I/O口,常指I/O接口電路中帶有端口地址的寄存器或緩沖器,單片機通過端口地址就可以對端口中的信息進行讀寫。I/O接口:是指單片機與外設(shè)間的I/O接口芯片。一個I/O接口芯片可以有多個I/O端口,(1)數(shù)據(jù)口(2)命令口(3)狀態(tài)口8.1.2I/O端口的編址I/O端口編址是給所有I/O接口中的寄存器編址。I/O端口編址兩種方式:獨立編址與統(tǒng)一編址。1.獨立編址方式I/O寄存器地址空間和存儲器地址空間分開編址,但需一套專門的讀寫I/O的指令和控制信號。2.統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲器單元同等
5、對待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進行I/O操作,簡單、方便且功能強。MCS-51使用統(tǒng)一編址的方式每一接口芯片中的一個功能寄存器(端口)的地址就相當(dāng)于一個RAM單元。而與外部程序存儲器無關(guān)。8.1.3I/O數(shù)據(jù)的幾種傳送方式為實現(xiàn)和不同的外設(shè)的速度匹配,I/O接口必須根據(jù)不同外設(shè)選擇恰當(dāng)?shù)腎/O數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送的幾種傳送方式是:(1)同步傳送(2)異步傳送(3)中斷傳送。1.同步傳送方式(無條件傳送)當(dāng)外設(shè)速度和單片機的速度相比擬時,常采用同步傳送方式,最典型的同步傳送就是單片機和外部數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送。2.
6、查詢傳送方式(條件傳送,異步式傳送)查詢外設(shè)“準備好”后,再進行數(shù)據(jù)傳送。優(yōu)點:通用性好,硬件連線和查詢程序十分簡單,缺點:效率不高。為提高效率,通常采用中斷傳送方式。3.中斷傳送方式.外設(shè)準備好后,發(fā)中斷請求,單片機進入與外設(shè)數(shù)據(jù)傳送的中斷服務(wù)程序,進行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。簡單的I/O口擴展可編程I/O口芯片利用串行口擴展并行口常用的擴展方法:簡單I/O口擴展用并行口擴展I/O口選擇TTL電路或MOS電路即能組成簡單的擴展I/O口。如:用8位三態(tài)緩沖器74LS244可擴展輸入口;用8D鎖存器74LS273、74LS373
7、、74LS377等可組成輸出口。簡單I/O擴展接口口地址的確定及編程應(yīng)用因為74LS273和74LS244都是在P2.0為0時被選通,所以二者地址都可以為FEFFH。兩個芯片的地址雖然相同,但可以通過讀寫操作來區(qū)別編程應(yīng)用如下:MOVDPTR,#0FEFFH;指向口地址MOVXA,@DPTR;指向74LS244讀入數(shù)據(jù),檢測按鍵MOVX@DPTR,A;指向74LS273輸出數(shù)據(jù),驅(qū)動LEDSJMP$可編程I/0芯片的使用可編程I/O芯片是指芯片功能可由指令來確定,即需要對其編程。常用的I/O口芯片有8255和8155。8155的結(jié)構(gòu)和技術(shù)性能在8155內(nèi)部具有:
8、(1)256字節(jié)的靜態(tài)R