資源描述:
《第7章MCS-51單片機的并行IO接口及擴展資料ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第7章MCS-51單片機的并行I/O接口及擴展7.1I/O接口的基本概念7.1.1I/O接口的作用1.實現(xiàn)與不同外設的速度匹配2.改變數(shù)據(jù)傳送方式3.改變信號的性質和電平7.1.2外部設備的編址1.外設端口的單獨編址外設端口單獨編址的優(yōu)點是,它不占用存儲器地址,但需要CPU指令集中有專用的I/O指令,并且也要增加和兩條控制線。2.外設端口和片外存儲器統(tǒng)一編址①CPU訪問外部存儲器的一切指令均適用于對I/O端口的訪問,這就大大增強了CPU對外設端口信息的處理能力。②CPU本身不需要專門為I/O端口設置I/O指令。③外設端
2、口地址安排靈活,數(shù)量不受限制。外設端口占用了部分存儲器地址,所用譯碼電路較為復雜。7.1.3I/O數(shù)據(jù)的4種傳送方式1.同步傳送同步傳送又稱無條件傳送,類似于CPU和存儲器間的數(shù)據(jù)傳送。同步傳送比較簡單,常在以下兩種情況中使用:(1)外設工作速度非???2)外設工作速度非常慢2.異步傳送異步傳送又稱條件傳送,也叫查詢式傳送。在不便使用同步傳送的場合下,也可采用異步傳送來解決CPU和外設間的速度匹配問題。異步傳送的優(yōu)點是通用性好,硬件接線和查詢程序十分簡單,但CPU在查詢等待中會失去時效。為了提高CPU對外設工作的效率,
3、I/O接口通常采用中斷傳送I/O數(shù)據(jù)的方式。3.中斷傳送中斷傳送是利用CPU本身的中斷功能和I/O接口的中斷功能來實現(xiàn)對外設I/O數(shù)據(jù)的傳送采用中斷方式可使CPU和外設并行工作,CPU僅需在外設準備好后才中斷主程序并進入外設中斷服務程序,執(zhí)行完后又返回主程序繼續(xù)執(zhí)行。因此,采用中斷方式傳送I/O數(shù)據(jù)可以大大提高CPU的工作效率。4.DMA傳送7.28051內部的I/O端口及應用8051單片機有4組8位I/O口:P0、P1、P2和P3口,P1、P2和P3為準雙向口,P0口為雙向三態(tài)輸入輸出口。8051的某些I/O口復用為
4、總線接口,即數(shù)據(jù)總線和地址總線低8位分時使用P0口,地址總線高8位使用P2口,控制總線使用P3口中的某些口線。四個端口都包含一個鎖存器,即特殊功能寄存器P0~P3,一個輸出驅動器和兩個(P3口為3個)三態(tài)緩沖器。這種結構在數(shù)據(jù)輸出時可以鎖存,但對輸入信號是不鎖存的。一般P1、P2、P3口的輸出能驅動4個LSTTL輸入,P0口的輸出能驅動8個LSTTL輸入。7.2.1I/O端口結構及其特點1.P0口一個位的結構2.P0口的作用特點:1)用作數(shù)據(jù)總線或者地址總線低8位。此時,P0口是真正的雙向口。(AD7~AD0)2)用作
5、I/O。P0口用作I/O口時,是一個準雙向口。此時,應接上拉電阻。3)P0內部無上拉電阻,執(zhí)行輸出功能時,外部必須接上拉電阻。4)若要執(zhí)行輸入功能,必須先輸出高電平(1)才能讀取該口所連接的外部數(shù)據(jù)。2.P1口一個位的結構P1口的作用特點:1)內部具備上拉電阻,執(zhí)行輸出功能是,無須連接外部上拉電阻。2)若要執(zhí)行輸入功能,必須先輸出高電平(1)才能讀取該口所連接的外部數(shù)據(jù)。3.P2口P2口一個位的結構P2口的作用特點:1)P2口可以輸出地址總線的高8位(A15~A8)或者作為通用I/O口使用。P2口作通用I/O口用時,是
6、一個準雙向口。2)若要執(zhí)行輸入功能,必須先輸出高電平(1)才能讀取該口所連接的外部數(shù)據(jù)。注意:P2口已當作地址總線口使用時,由于訪問外部存儲器的操作不斷,P2口不斷送出高8位地址,故此時P2口不能再作通用I/O口使用。4.P3口P3口一個位的結構P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0(INT0)P3.3外部中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RDP3口的第二功能7.2
7、.2MCS-51內部I/O端口的應用數(shù)據(jù)輸出方式MOVP0,A;累加器A中內容送P0口ORLP0,#data;P0∨data送P0口ANLP0,A;P0∧A送P0口XRLP0,#data;P0⊕data送P0口讀端口數(shù)據(jù)方式MOVA,P1;P1鎖存器中數(shù)據(jù)送AMOVR1,P1;P1鎖存器中數(shù)據(jù)送R1MOV20H,P1;P1鎖存器中數(shù)據(jù)送20HMOV@R0,P1;P1鎖存器中數(shù)據(jù)送(R0)讀引腳方式例如讀P1口低四位引腳線上信號的程序為:MOVP1,#0FH;P1口低四位鎖存器置位MOVA,P1;讀P1口低四位引腳號送A
8、例7-2-1試編出模擬圖7-2-5中電路的程序。在51系列的C語言中對四個I/O端口進行編程,必須要利用8051的C語言頭文件,其中給出P0~P3標號的定義。并且可以使用Px^y格式對P0~P3端口的單個位進行表示,其中x是端口0、1、2或3,y是該端口的位0~7,例如P1^7指示P1.7。#includevoi