資源描述:
《MCS-51的IO接口擴展ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第八章MCS-51與I/O接口擴展8.1I/O擴展概述8.2MCS-51擴展可編程并行I/O芯片8255A8.3MCS-51與可編程RAM/IO芯片8155H的接口教學(xué)目標介紹I/O接口的功能及編址方式介紹單片機I/O口的擴展方法學(xué)習(xí)要求了解I/O接口的功能掌握I/O接口的編址方式掌握常用I/O接口芯片的擴展及編程方法8.1I/O擴展概述MCS-51單片機具有四個并行8位I/O口(即P0、P1、P2、P3),原理上這四個I/O口均可用做雙向并行I/O接口,但在實際應(yīng)用中,可提供給用戶使用的I/O口只有P1口
2、和部分P3口線。在單片機的I/O口線不夠用的情況下,可以借助外部器件對I/O口進行擴展。實現(xiàn)和不同外設(shè)的速度匹配輸出數(shù)據(jù)鎖存輸入數(shù)據(jù)三態(tài)緩沖一、I/O接口的功能要求I/O端口的編址方法:一種是獨立編址,另一種是統(tǒng)一編址。MCS-51單片機采用了統(tǒng)一編址方式,即I/O端口地址與外部數(shù)據(jù)存儲單元地址共同使用0000H~FFFFH(64KB)。二、I/O端口的編址無條件傳送查詢方式傳送中斷方式傳送三、I/O數(shù)據(jù)的傳送方式并行I/O口擴展的目的:為外圍設(shè)備提供一個輸入輸出通道。并行總線擴展的方法串行口擴展方法這里只
3、介紹總線擴展方式下I/O接口的擴展方法。四、單片機I/O口的擴展方法訪問擴展I/O口的方法與訪問數(shù)據(jù)存儲器完全相同,使用相同的指令(MOVX),所有擴展的I/O口與片外數(shù)據(jù)存儲器統(tǒng)一編址。利用串行口擴展法擴展的外部并行I/O口不占用外部RAM地址空間。利用并行總線擴展的方法擴展外部并行I/O口時,必須注意P0、P2、P3口的負載問題,若帶負載能力不夠,必須進行總線驅(qū)動能力擴展。五、單片機擴展并行I/O口的擴展性能8.2MCS-51擴展可編程并行I/O芯片8255A可編程I/O接口芯片的特點:適應(yīng)多種功能需求
4、,使用靈活,可擴展多個并行I/O口,可以編程設(shè)定為輸入或輸出口,應(yīng)用非常廣泛。一、可編程并行口8255A芯片Intel8255A芯片是通用可編程并行接口電路,廣泛應(yīng)用于單片機擴展并行I/O口。它具有3個8位并行I/O口PA、PB和PC,一個8位的數(shù)據(jù)口D0~D7,三種工作方式。40條引腳,DIP封裝。引腳圖如右圖所示。8255A的引腳封裝圖1.引腳說明D0~D7:三態(tài)雙向數(shù)據(jù)線。常和MCS-51單片機的P0口相連,用于傳送數(shù)據(jù)信息;PA0~PA7:A口輸入/輸出線,用于和外設(shè)之間傳遞數(shù)據(jù);PB0~PB7:B
5、口輸入/輸出線,用于和外設(shè)之間傳遞數(shù)據(jù);PC0~PC7:C口輸入/輸出線,既可與外設(shè)傳送數(shù)據(jù),也可以作為A、B口的控制聯(lián)絡(luò)線;CS:片選信號線,低電平有效。RESET:復(fù)位信號線,通常與單片機的復(fù)位端相連。A0和A1:I/O口的選擇線,通過它可以選擇PA口、PB口、PC口和控制寄存器。RD和WR:讀/寫信號線,控制8255的讀、寫操作。VCC:+5V電源。GND:接地端。8255A的引腳封裝圖2.內(nèi)部結(jié)構(gòu)各部分功能:(1)端口A、B、CPA0~PA7、PB0~PB7、PC0~PC7共24條端口線。A、B、C
6、3口的工作方式由程序設(shè)置。每個口都有自己的特點:PA口:具有一個8位數(shù)據(jù)輸出緩沖/鎖存器和一個輸入鎖存器,是最靈活的輸入輸出寄存器,可編程為8位輸入、輸出或雙向。PB口:具有一個8位數(shù)據(jù)輸出緩沖/鎖存器和一個輸入緩沖器(不鎖存),可編程為8位輸入或輸出,不能雙向。PC口:具有一個8位數(shù)據(jù)輸出緩沖/鎖存器和一個輸入緩沖器(不鎖存),可分成兩個4位口使用。除作輸入輸出口使用外,還可作A口、B口選通方式下的應(yīng)答聯(lián)絡(luò)信號線。(2)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是一個三態(tài)雙向8位緩沖器,作為8255A與系統(tǒng)總線之間的接
7、口,用來傳送數(shù)據(jù)、指令、控制命令等。(3)A組、B組控制模塊接收來自讀/寫控制邏輯電路的命令及內(nèi)部數(shù)據(jù)總線控制字,對相應(yīng)端口發(fā)出命令:A組控制塊:控制A口及C口的高四位B組控制塊:控制B口及C口的低四位(4)讀/寫控制邏輯電路讀寫控制邏輯電路接收CPU發(fā)來的控制信號RD/WR/RESET/A1~A0等,用于控制對8255A的讀/寫。8255A的端口選擇和基本操作高阻態(tài)011xX非法態(tài)01011高阻態(tài)1XXXX寫控制字00111寫端口C00101寫端口B00110寫端口A00100讀端口C01001讀端口B0
8、1010讀端口A01000操作CSWRRDA0A13.8255A的控制字8255A有兩個控制字:工作方式選擇控制字方式控制字用于設(shè)定單片機的PA口、PB口和PC口的工作方式。C口置位/復(fù)位控制字置位/復(fù)位控制字用于對8255A的PC口按位進行操作。方式控制字C口置位/復(fù)位控制字例1:設(shè)8255A控制字寄存器的地址為0FF7FH,試編程使A口為方式0輸出,B口為方式0輸入,PC4~PC7為輸出,PC0~PC3為輸入