資源描述:
《單片機(jī)_第9章IO接口擴(kuò)展概述.ppt》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、AT89S51有4個(gè)I/O口P0~P3,真正用作I/O口線(xiàn)的只有P1口的8位I/O口線(xiàn)和P3口的某些位線(xiàn)。因此,外部I/O接口的擴(kuò)展?!?.1I/O接口擴(kuò)展概述§9.1.1擴(kuò)展的I/O接口功能1、實(shí)現(xiàn)和不同外設(shè)的速度匹配大多數(shù)外設(shè)的速度很慢,無(wú)法和μs量級(jí)的單片機(jī)速度相比。單片機(jī)在與外設(shè)間進(jìn)行數(shù)據(jù)傳送時(shí),只有在確認(rèn)外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備的前提下才能進(jìn)行數(shù)據(jù)傳送。外設(shè)是否準(zhǔn)備好,就需要I/O接口電路與外設(shè)之間傳送狀態(tài)信息,以實(shí)現(xiàn)單片機(jī)與外設(shè)之間的速度匹配。2、輸出數(shù)據(jù)鎖存由于單片機(jī)工作速度快,數(shù)據(jù)在數(shù)據(jù)總線(xiàn)上保留的時(shí)間十分短暫,無(wú)法滿(mǎn)足慢速外設(shè)的數(shù)據(jù)接收。I/O電路應(yīng)具
2、有數(shù)據(jù)鎖存器,以保證接收設(shè)備接收。3、輸入數(shù)據(jù)三態(tài)緩沖輸入設(shè)備向單片機(jī)輸入數(shù)據(jù)時(shí),但數(shù)據(jù)總線(xiàn)上面可能“掛”有多個(gè)數(shù)據(jù)源,為不發(fā)生沖突,只允許當(dāng)前正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線(xiàn),其余的應(yīng)處于隔離狀態(tài)?!?.1.2I/O端口的編址一、I/O接口(Interface)和I/O端口(Port)的概念。I/O端口:簡(jiǎn)稱(chēng)I/O口,指具有端口地址的寄存器或緩沖器。I/O接口:是指單片機(jī)與外設(shè)間的I/O接口芯片。一個(gè)I/O接口芯片可以有多個(gè)I/O端口,如并行擴(kuò)展芯片8255的數(shù)據(jù)口、命令口、狀態(tài)口等。二、I/O端口編址有兩種方式:獨(dú)立編址與統(tǒng)一編址。1、獨(dú)立編址方式I/O寄存器地
3、址空間和存儲(chǔ)器地址空間分開(kāi)編址,但需專(zhuān)門(mén)讀寫(xiě)I/O的指令和控制信號(hào)。2、統(tǒng)一編址方式I/O寄存器與數(shù)據(jù)存儲(chǔ)器單元同等對(duì)待,統(tǒng)一編址,不需要專(zhuān)門(mén)的I/O指令?!?.1.3I/O數(shù)據(jù)的傳送方式為實(shí)現(xiàn)和不同的外設(shè)的速度匹配,I/O接口必須根據(jù)不同外設(shè)選擇恰當(dāng)?shù)腎/O數(shù)據(jù)傳送方式。1、同步傳送方式(無(wú)條件傳送)當(dāng)外設(shè)速度和單片機(jī)的速度相比擬時(shí),常采用同步傳送方式,如單片機(jī)和外部數(shù)據(jù)存儲(chǔ)器之間的數(shù)據(jù)傳送。2、查詢(xún)傳送方式(條件傳送,異步式傳送)查詢(xún)外設(shè)“準(zhǔn)備好”后,再進(jìn)行數(shù)據(jù)傳送。優(yōu)點(diǎn):通用性好,硬件連線(xiàn)和查詢(xún)程序十分簡(jiǎn)單;缺點(diǎn):效率不高。3、中斷傳送方式外設(shè)準(zhǔn)備好后,發(fā)中斷請(qǐng)求
4、,單片機(jī)進(jìn)入與外設(shè)數(shù)據(jù)傳送的中斷服務(wù)程序,進(jìn)行數(shù)據(jù)的傳送。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。§9.2可編程并行I/O接口芯片82C55§9.2.182C55芯片介紹82C55是Intel生產(chǎn)的可編程并行I/O接口芯片,具有3個(gè)8位的并行I/O口,3種工作方式,可通過(guò)編程改變其功能,因而使用靈活方便,通用性強(qiáng)。8255是IBMPC的標(biāo)準(zhǔn)元件之一,從80年代中期到90年代中期停產(chǎn),在日本、臺(tái)灣都大量生產(chǎn)過(guò),加上Intel自己的產(chǎn)品,8255是產(chǎn)量最大的標(biāo)準(zhǔn)PC外圍IC,所以市場(chǎng)上有大量拆板翻新貨。一、工作狀態(tài)選擇表A1A0RD*WR*CS*工作狀態(tài)00010讀
5、端口A(yíng)數(shù)據(jù)讀端口B數(shù)據(jù)讀端口C數(shù)據(jù)010101001000100寫(xiě)端口A(yíng)寫(xiě)端口B寫(xiě)端口C寫(xiě)控制字寄存器011001010011100××××1數(shù)據(jù)總線(xiàn)為三態(tài)11010非法狀態(tài)××110數(shù)據(jù)總線(xiàn)為三態(tài)二、可向82C55控制寄存器寫(xiě)入兩種不同的控制字1、工作方式選擇控制字2、PC口按位置位/復(fù)位控制字PC口操作除了可訪(fǎng)問(wèn)PC口寄存器外;還可通過(guò)控制寄存器,對(duì)PC口中任何一位,進(jìn)行置位或復(fù)位。【例9-2】AT89S51向82C55的控制字寄存器寫(xiě)入什么控制字,使PC3置1、PC4清0。程序段如下:MOVDPTR,#××××H;控制寄存器端口地址;××××H送DPTRMOVA,
6、#07HMOVX@DPTR,A;控制字07H送控制字寄存器;把PC3置1…………MOVDPTR,#××××H;控制字寄存器端口地址;××××H送DPTRMOVA,#08HMOVX@DPTR,A;控制字08H送控制字寄存器;把PC4清0§9.2.4AT89S51單片機(jī)與82C55的接口設(shè)計(jì)1、硬件接口電路2、端口地址地址選擇線(xiàn)A1/A0接P0.1/P0.0CS接P0.7,未用到的線(xiàn)全為1,所以:PA口:FF7CHPB口:FF7DHPC口:FF7EH控制口:FF7FH【例9-4】要求82C55工作在方式0,且PA口作為輸入,PB口、PC口作為輸出,程序如下:MOVA,#90
7、H;控制字送AMOVDPTR,#0FF7FH;控制寄存器地址FF7FH→DPTRMOVX@DPTR,A;方式控制字→控制寄存器MOVDPTR,#0FF7CH;PA口地址FF7CH→DPTRMOVXA,@DPTR;從PA口讀入數(shù)據(jù)→AMOVDPTR,#0FF7DH;PB口地址FF7DH→DPTRMOVA,#data1;要輸出的數(shù)據(jù)#data1→AMOVX@DPTR,A;將#data1送PB口輸出MOVDPTR,#0FF7EH;PC口地址→DPTRMOVA,#data2;數(shù)據(jù)#data2→AMOVX@DPTR,A;將數(shù)據(jù)#data2送PC口輸