版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第9 9章章 AT89C51AT89C51擴展擴展I/OI/O接口的設(shè)計接口的設(shè)計9.1 I/O9.1 I/O接口擴展概述接口擴展概述由第由第8 8章可知,擴展章可知,擴展I/OI/O接口與擴展存儲器一樣,都屬于系統(tǒng)接口與擴展存儲器一樣,都屬于系統(tǒng)擴展的內(nèi)容。那么擴展的內(nèi)容。那么AT89C51AT89C51單片機擴展單片機擴展I/OI/O接口接口應(yīng)該具有哪些應(yīng)該具有哪些功能呢?功能呢? 9.1.1 I/O9.1.1 I/O接口的功能接口的功能I/OI/O接口電路應(yīng)滿足以下要求:接口電路應(yīng)滿足以下要求:1.1.實現(xiàn)和不同外設(shè)的速度匹配實現(xiàn)和不同外設(shè)的速度匹配大多數(shù)的外設(shè)的速度很慢,無法和大多數(shù)
2、的外設(shè)的速度很慢,無法和s s量級的單片機速量級的單片機速度相比度相比。單片機只有在單片機只有在確認確認外設(shè)已為數(shù)據(jù)傳送做好準備的前提外設(shè)已為數(shù)據(jù)傳送做好準備的前提下才能進行下才能進行I/OI/O操作。操作。想知道外設(shè)是否準備好想知道外設(shè)是否準備好,需需I/OI/O接口電路與外設(shè)之間接口電路與外設(shè)之間傳送傳送狀態(tài)信息狀態(tài)信息。 2. 2. 輸出數(shù)據(jù)鎖存輸出數(shù)據(jù)鎖存由于由于單片機工作速度快,單片機工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保留的時間十分短數(shù)據(jù)在數(shù)據(jù)總線上保留的時間十分短 暫,暫,無法滿足慢速外設(shè)的數(shù)據(jù)接收無法滿足慢速外設(shè)的數(shù)據(jù)接收。I/OI/O電路應(yīng)具有數(shù)據(jù)輸電路應(yīng)具有數(shù)據(jù)輸 出鎖存器,以保證
3、接收設(shè)備接出鎖存器,以保證接收設(shè)備接 收。收。3. 3. 輸入數(shù)據(jù)三態(tài)緩沖輸入數(shù)據(jù)三態(tài)緩沖輸入設(shè)備向單片機輸入數(shù)據(jù)時,但輸入設(shè)備向單片機輸入數(shù)據(jù)時,但數(shù)據(jù)總線上面可能數(shù)據(jù)總線上面可能“掛掛”有有多多 個數(shù)據(jù)源個數(shù)據(jù)源,為不發(fā)生沖突,為不發(fā)生沖突,只允許當前正在進行數(shù)據(jù)傳送的只允許當前正在進行數(shù)據(jù)傳送的 數(shù)據(jù)源使用數(shù)據(jù)總線,其余的應(yīng)處于隔離狀態(tài)。數(shù)據(jù)源使用數(shù)據(jù)總線,其余的應(yīng)處于隔離狀態(tài)。 9.1.2 I/O9.1.2 I/O端口的編址端口的編址首先搞清楚首先搞清楚I/OI/O接口接口(InterfaceInterface)和)和I/OI/O端口端口(PortPort)的概念。)的概念。I/OI/
4、O端口:端口:簡稱簡稱I/OI/O口口,指具有端口地址的寄存器或緩沖器。,指具有端口地址的寄存器或緩沖器。I/OI/O接口:接口:是指單片機與外設(shè)間的是指單片機與外設(shè)間的I/OI/O接口芯片。接口芯片。一個一個I/OI/O接口芯片可以有多個接口芯片可以有多個I/OI/O端口,分為:端口,分為: (1 1)數(shù)據(jù)口數(shù)據(jù)口(2 2)命令口命令口(3 3)狀態(tài)口狀態(tài)口I/OI/O端口編址端口編址是給所有是給所有I/OI/O接口中的寄存器接口中的寄存器編址編址。I/OI/O端口編址兩種方式端口編址兩種方式:獨立編址獨立編址與與統(tǒng)一編址統(tǒng)一編址。1 1獨立編址獨立編址I/OI/O寄存器地址空間和存儲器地址
5、空間寄存器地址空間和存儲器地址空間分開編址分開編址,但,但 需專門讀寫需專門讀寫I/OI/O的指令和控制信號。的指令和控制信號。2 2統(tǒng)一編址統(tǒng)一編址I/OI/O寄存器與數(shù)據(jù)存儲器單元同等對待寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一編址。,統(tǒng)一編址。 不需要專門的不需要專門的I/OI/O指令,直接使用訪問數(shù)據(jù)存儲器指令,直接使用訪問數(shù)據(jù)存儲器 的指令進行的指令進行I/OI/O操作,簡單、方便且功能強。操作,簡單、方便且功能強。AT89C51AT89C51使用使用統(tǒng)一編址統(tǒng)一編址的方式的方式 每一接口芯片中的每一接口芯片中的一個功能寄存器(端口)的地址一個功能寄存器(端口)的地址, ,就相當于就相當
6、于一個一個RAMRAM單元單元。9.1.3 I/O9.1.3 I/O數(shù)據(jù)的幾種傳送方式數(shù)據(jù)的幾種傳送方式為實現(xiàn)和不同的外設(shè)的為實現(xiàn)和不同的外設(shè)的速度匹配速度匹配,I/OI/O接口必須根據(jù)不同外設(shè)接口必須根據(jù)不同外設(shè)選擇恰當?shù)倪x擇恰當?shù)腎/OI/O數(shù)據(jù)傳送方式。數(shù)據(jù)傳送方式。I/OI/O數(shù)據(jù)傳送的幾種傳送方式是:數(shù)據(jù)傳送的幾種傳送方式是: (1 1)同步傳送()同步傳送(2 2)查詢傳送()查詢傳送(3 3)中斷傳送。)中斷傳送。1.1.同步傳送方式同步傳送方式當外設(shè)速度和單片機的速度相比擬時,常采用同步傳送方當外設(shè)速度和單片機的速度相比擬時,常采用同步傳送方 式,式,最典型的同步傳送最典型的同
7、步傳送就是單片機和外部數(shù)據(jù)存儲器之就是單片機和外部數(shù)據(jù)存儲器之 間的數(shù)據(jù)傳送。間的數(shù)據(jù)傳送。2.2.查詢傳送方式查詢傳送方式查詢外設(shè)查詢外設(shè)“準備好準備好”后,再進行數(shù)據(jù)傳送。后,再進行數(shù)據(jù)傳送。 優(yōu)點:優(yōu)點:通用性好,硬件連線和查詢程序十分簡單,通用性好,硬件連線和查詢程序十分簡單, 缺點:缺點:效率不高。效率不高。為提高效率,通常采用中斷傳送方式。為提高效率,通常采用中斷傳送方式。3.3.中斷傳送方式中斷傳送方式外設(shè)準備好后,發(fā)中斷請求,單片機進入與外設(shè)數(shù)據(jù)傳送的外設(shè)準備好后,發(fā)中斷請求,單片機進入與外設(shè)數(shù)據(jù)傳送的 中斷服務(wù)程序,進行數(shù)據(jù)的傳送。中斷服務(wù)程序,進行數(shù)據(jù)的傳送。中斷服務(wù)完成后
8、又返回主程序繼續(xù)執(zhí)行。中斷服務(wù)完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。工作效率高。如何實現(xiàn)如何實現(xiàn)I/OI/O接口的擴展。接口的擴展。IntelIntel公司公司的的配套可編程配套可編程I/OI/O接口接口 芯片芯片的種類齊全,為擴展的種類齊全,為擴展I/OI/O接口提供了很大的方便。接口提供了很大的方便。9.1.4 I/O9.1.4 I/O接口電路接口電路常用的外圍常用的外圍I/OI/O接口芯片有:接口芯片有: (1 1)82C5582C55:可編程的通用并行接口電路(:可編程的通用并行接口電路(3 3個個8 8位位I/OI/O口)口)(2 2)81C5581C55:可編程的:可編程的IO/
9、RAMIO/RAM擴展接口電路(擴展接口電路(2 2個個8 8位位I/OI/O口口,1,1個個6 6位位I/OI/O口口, , 256256個個RAMRAM字節(jié)單元,字節(jié)單元,1 1個個1414位的減法定時位的減法定時器器/ /計數(shù)器計數(shù)器)。)??膳c可與89C5189C51單片機單片機直接連接直接連接,接口邏輯十分簡單。,接口邏輯十分簡單。9.2 AT89C519.2 AT89C51與可編程并行與可編程并行I/OI/O芯片芯片82C5582C55的接口設(shè)計的接口設(shè)計9.2.1 82C559.2.1 82C55芯片介紹芯片介紹82C5582C55是是IntelIntel公司生產(chǎn)的公司生產(chǎn)的可編
10、程可編程并行并行I/OI/O接口芯片,具有接口芯片,具有3 3個個 8 8位位的的并行并行I/OI/O口口,3 3種工作方式種工作方式,可通過編程改變其功,可通過編程改變其功 能,因而能,因而使用靈活方便,通用性強使用靈活方便,通用性強。1.1.引腳說明引腳說明 4040只引腳,雙列直插式封裝,見只引腳,雙列直插式封裝,見圖圖9-19-1。圖圖9-1引腳功能:引腳功能:D7D7D0D0:三態(tài)雙向數(shù)據(jù)線,與單片機數(shù)據(jù)總線連接三態(tài)雙向數(shù)據(jù)線,與單片機數(shù)據(jù)總線連接CSCS* *:片選信號線,低電平有效,表示本芯片被選中片選信號線,低電平有效,表示本芯片被選中RDRD* *:讀出信號線,控制讀出信號線
11、,控制8255A8255A中數(shù)據(jù)的讀出高中數(shù)據(jù)的讀出高WRWR* *:寫入信號線,控制向?qū)懭胄盘柧€,控制向8255A8255A數(shù)據(jù)的寫入。數(shù)據(jù)的寫入。VccVcc:+5V+5V電源電源PA7PA7PA0PA0:A A口輸入口輸入/ /輸出線。輸出線。PB7PB7PB0PB0:B B口輸入口輸入/ /輸出線輸出線PC7PC7PC0PC0:C C口輸入口輸入/ /輸出線輸出線A1A1、A0A0:地址線,用來選擇地址線,用來選擇82C5582C55內(nèi)部的內(nèi)部的4 4個端口。個端口。RESETRESET:復(fù)位引腳,高電平有效復(fù)位引腳,高電平有效 2.2.內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)圖圖9-2(1 1)端口)端口P
12、APA、PBPB、PCPC功能和結(jié)構(gòu)上有些差異功能和結(jié)構(gòu)上有些差異 PA PA口口:輸出鎖存和緩沖;輸入鎖存:輸出鎖存和緩沖;輸入鎖存 PB PB口口:輸出鎖存和緩沖;輸入緩沖:輸出鎖存和緩沖;輸入緩沖 PC PC口口:輸出鎖存;數(shù)據(jù)輸入緩沖:輸出鎖存;數(shù)據(jù)輸入緩沖 PC PC口可在軟件的控制下,口可在軟件的控制下,分為兩個分為兩個4 4位端口位端口,作為,作為PAPA口、口、PBPB口選通方式操作時的狀態(tài)控制信號??谶x通方式操作時的狀態(tài)控制信號。(2)A(2)A組和組和B B組控制電路組控制電路A A組:組:PAPA口和口和PCPC口的上半部(口的上半部(PC7PC7PC4PC4););B
13、B組:組:PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0), ,可根據(jù)可根據(jù)“命令字命令字”對對 PCPC口口按位按位“置置1”1”或或“清清0”0”。(3)(3)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器 三態(tài)雙向,作為三態(tài)雙向,作為8255A8255A與單片機數(shù)據(jù)線之間接口,傳送數(shù)與單片機數(shù)據(jù)線之間接口,傳送數(shù)據(jù)、指令、控制命令及外部狀態(tài)信息。據(jù)、指令、控制命令及外部狀態(tài)信息。(4)(4)讀讀/ /寫控制邏輯電路線寫控制邏輯電路線 該電路接收該電路接收CPUCPU發(fā)來的控制信號、發(fā)來的控制信號、RESETRESET、地址信號、地址信號A1A1、A0A0等。對端口進行讀寫。等。對
14、端口進行讀寫。各端口的工作狀態(tài)與控制信號的關(guān)系各端口的工作狀態(tài)與控制信號的關(guān)系如如表表9-19-1所示。所示。表表9-1 82C559-1 82C55端口工作狀態(tài)選擇端口工作狀態(tài)選擇A1A1A0A0RDRD* *WRWR* *CSCS* *工作狀態(tài)工作狀態(tài)0 00 00 01 10 0讀端口讀端口A A:A A口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線讀端口讀端口B B:B B口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線 讀端口讀端口C C:C C口數(shù)據(jù)口數(shù)據(jù)數(shù)據(jù)總線數(shù)據(jù)總線0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0寫端口寫端口A A:總線數(shù)據(jù)總線數(shù)據(jù)A A口口寫端口寫端口B
15、 B:總線數(shù)據(jù)總線數(shù)據(jù)B B口口寫端口寫端口C C:總線數(shù)據(jù)總線數(shù)據(jù)C C口口寫控制字:寫控制字:總線數(shù)據(jù)總線數(shù)據(jù)控制字寄控制字寄 存器存器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1數(shù)據(jù)總線為三態(tài)數(shù)據(jù)總線為三態(tài)1 11 10 01 10 0非法狀態(tài)非法狀態(tài)1 11 10 0數(shù)據(jù)總線為三態(tài)數(shù)據(jù)總線為三態(tài)9.2.2 9.2.2 工作方式選擇控制字及工作方式選擇控制字及C C口置位口置位/ /復(fù)位控制字復(fù)位控制字82C5582C55有三種工作方式:有三種工作方式: (1) (1) 方式方式0 0:基本輸入輸出;基本輸入輸出;(2) (2) 方式方
16、式1 1:選通輸入輸出;選通輸入輸出;(3) (3) 方式方式2 2:雙向傳送(僅雙向傳送(僅A A口有)。口有)。三種工作方式由方式控制字來決定。三種工作方式由方式控制字來決定??刂谱指袷饺缦隆?刂谱指袷饺缦隆?.1.工作方式選擇控制字工作方式選擇控制字圖圖9-3C C口上半部分(口上半部分(PC7PC7PC4PC4)隨)隨A A口稱為口稱為A A組組,C C口下半部分(口下半部分(PC3PC3PC0PC0)隨)隨B B口稱為口稱為B B組組。 其中其中A A口口可工作于方式可工作于方式0 0、1 1、和、和2 2,而,而B B口口只能工作在方式只能工作在方式0 0和和方式方式1 1。例例9
17、-1 寫入工作方式控制字寫入工作方式控制字95H95H可將可將8255A8255A編程為:編程為:A A口口方式方式0 0輸入輸入,B B口口方式方式1 1輸出輸出,C C口的上半口的上半 部分部分(PC7PC7 PC4PC4)輸出,)輸出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)輸入。)輸入。2. C2. C口按位置位口按位置位/ /復(fù)位控制字復(fù)位控制字可對可對C C口口8 8位中的任一位置位中的任一位置“1”1”或清或清“0”0”。用于。用于位控位控。圖圖9-4例例9-2 控制字控制字07H07H寫入控制口,置寫入控制口,置“1” PC31” PC3;08H08H寫入控制
18、寫入控制 口,清口,清“0” PC40” PC4。9.2.3 82C559.2.3 82C55的三種工作方式的三種工作方式1.1.方式方式0 0基本的輸入基本的輸入/ /輸出方式。輸出方式。外設(shè)的外設(shè)的I/OI/O數(shù)據(jù)可在數(shù)據(jù)可在82C5582C55的各端口得到鎖存和緩沖的各端口得到鎖存和緩沖AT89C51AT89C51可對可對82C5582C55進行數(shù)據(jù)的進行數(shù)據(jù)的無條件傳送無條件傳送 例如例如: :從口線從口線讀入一組開關(guān)狀態(tài)讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,向端口輸出數(shù)字量,控制控制一組指示燈的亮、滅。一組指示燈的亮、滅。不需要聯(lián)絡(luò)信號不需要聯(lián)絡(luò)信號,基本功能為:基本功能為:(1 1)
19、具有兩個)具有兩個8 8位端口(位端口(A A、B B)和兩個)和兩個4 4位端口(位端口(C C的上半部的上半部分和下半部分)。分和下半部分)。(2 2)任一個端口都可以設(shè)定為輸入或輸出,各端口的輸入、)任一個端口都可以設(shè)定為輸入或輸出,各端口的輸入、輸出可構(gòu)成輸出可構(gòu)成1616種組合。種組合。(3 3)數(shù)據(jù)輸出鎖存,輸入不鎖存。)數(shù)據(jù)輸出鎖存,輸入不鎖存。例例9-39-3 假設(shè)假設(shè)82C5582C55的的控制字寄存器地址控制字寄存器地址為為FF7FHFF7FH,則令,則令A(yù) A口和口和 C C口的高口的高4 4位工作在方式位工作在方式0 0輸出,輸出, B B口和口和C C口的低口的低4
20、4位工位工 作于方式作于方式0 0輸入輸入,初始化程序:初始化程序:MOV DPTRMOV DPTR,#0FF7FH #0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H #83H ;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A ;83H83H送控制字寄存器送控制字寄存器2. 2. 方式方式1 1 選通輸入選通輸入/ /輸出工作方式。輸出工作方式。A A口和口和B B口通常用于口通常用于I/OI/O數(shù)據(jù)傳送,數(shù)據(jù)傳送,C C口用作口用作A A口和口和B B口的聯(lián)絡(luò)線,以中斷方式傳送數(shù)據(jù)??诘穆?lián)絡(luò)線
21、,以中斷方式傳送數(shù)據(jù)。 (1) (1) 方式方式1 1輸入輸入 控制聯(lián)絡(luò)信號如控制聯(lián)絡(luò)信號如圖圖9-59-5所示,所示,STBSTB* *與與IBFIBF構(gòu)成了一對應(yīng)答聯(lián)構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號絡(luò)信號,聯(lián)絡(luò)信號的功能如下:聯(lián)絡(luò)信號的功能如下:圖圖9-5STBSTB* *:選通輸入,是由輸入外設(shè)送來的輸入信號。選通輸入,是由輸入外設(shè)送來的輸入信號。IBFIBF:輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入 8255A8255A的輸入鎖存器,它由的輸入鎖存器,它由STBSTB* *信號的下降沿置信號的下降沿置 位,由信號的上升沿使其復(fù)位位,由信號的上升沿使其復(fù)位I
22、NTRINTR:中斷請求信號,高電平有效。由中斷請求信號,高電平有效。由8255A8255A輸出,輸出, 向單片機發(fā)中斷請求。向單片機發(fā)中斷請求。INTE AINTE A:A A口中斷允許,由口中斷允許,由PC4PC4控制,控制, INTE BINTE B:B B口中斷允許,由口中斷允許,由PC2PC2控制。控制。A A口的方式口的方式1 1輸入輸入工作方式見工作方式見圖圖9-69-6。圖圖9-6(2 2)方式)方式1 1輸出輸出 如如圖圖9-79-7所示。所示。OBFOBF* *與與ACKACK* *構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號構(gòu)成了一對應(yīng)答聯(lián)絡(luò)信號,各各信號的功能如下:信號的功能如下:OBFOB
23、F* *:輸出緩沖器滿信號,輸出緩沖器滿信號,82C5582C55給外設(shè)的聯(lián)絡(luò)信號,外設(shè)可給外設(shè)的聯(lián)絡(luò)信號,外設(shè)可以將數(shù)據(jù)取走。以將數(shù)據(jù)取走。ACKACK* *:外設(shè)的響應(yīng)信號,外設(shè)已將數(shù)據(jù)取走。外設(shè)的響應(yīng)信號,外設(shè)已將數(shù)據(jù)取走。INTRINTR* *:中斷請求信號。表示該數(shù)據(jù)已被外設(shè)取走,中斷請求信號。表示該數(shù)據(jù)已被外設(shè)取走, 請求單片機繼續(xù)輸出下一個數(shù)據(jù)。請求單片機繼續(xù)輸出下一個數(shù)據(jù)。INTE AINTE A:中斷允許,由:中斷允許,由PC6PC6控制。控制。INTE BINTE B:中斷允許,由:中斷允許,由PC2PC2控制??刂啤D圖9-7B B口的口的方式方式1 1輸出輸出如如圖圖9
24、-89-8所示:所示:圖圖9-83.3.方式方式2 2只有只有A A口才能設(shè)定為方式口才能設(shè)定為方式2 2。圖圖9-99-9為方式為方式2 2工作示意圖。工作示意圖。在方式在方式2 2下,下,PA7PA7PA0PA0為雙向為雙向I/OI/O總線。總線。 當當輸入輸入時,時,PA7PA7PA0PA0受受STBASTBA* *和和IBFAIBFA控制,其工作過程和控制,其工作過程和方式方式1 1輸入時相同;輸入時相同; 當當輸出輸出時,時,PA7PA7PA0PA0受受OBFAOBFA* *、ACKAACKA* *控制,其工作過程和方控制,其工作過程和方式式1 1輸出時相同。輸出時相同。圖圖9-99
25、.2.4 AT89C519.2.4 AT89C51單片機和單片機和82C5582C55的接口的接口1.1.硬件接口電路硬件接口電路 如如圖圖9-109-10是是80318031擴展擴展1 1片片8255A8255A的電路圖。的電路圖。74LS37374LS373是地是地址鎖存器,址鎖存器,P0.1P0.1、P0.0P0.0經(jīng)經(jīng)74LS37374LS373與與8255A8255A的地址線的地址線A1A1、A0A0連接;連接; P0.7P0.7經(jīng)經(jīng)74LS37374LS373與片選端相連,其他地址線懸空。與片選端相連,其他地址線懸空。2.2.確定確定82C5582C55端口地址端口地址圖圖9-10
26、9-10中中82C5582C55各端口寄存器的地址為:各端口寄存器的地址為:A A口:口: FF7CHFF7CHB B口:口: FF7DHFF7DHC C口:口: FF7EHFF7EH控制寄存器:控制寄存器: FF7FHFF7FH圖圖9-103.3.軟件編程軟件編程例例9-49-4 要求要求82C5582C55工作在方式工作在方式0 0,且,且A A口作為輸入,口作為輸入,B B口、口、 C C口作為輸出,口作為輸出,程序如下:程序如下:MOV MOV A,#90H A,#90H ;A A口方式口方式0 0輸入,輸入,B B口、口、 ;C C口輸出的控制字送口輸出的控制字送A AMOVMOVD
27、PTR,#0FF7FH DPTR,#0FF7FH ;控制寄存器地址;控制寄存器地址DPTRDPTRMOVX DPTR,AMOVX DPTR,A ;方式控制字;方式控制字控制寄存器控制寄存器MOVMOVDPTR,#0FF7CH DPTR,#0FF7CH ;A A口地址口地址DPTRDPTRMOVX A,DPTRMOVX A,DPTR ;從;從A A口讀數(shù)據(jù)口讀數(shù)據(jù)MOV DPTR,#0FF7DH MOV DPTR,#0FF7DH ;B B口地址口地址DPTRDPTRMOV MOV A,#DATA1A,#DATA1 ;要輸出的數(shù)據(jù);要輸出的數(shù)據(jù)DATA1ADATA1AMOVX DPTR,A MOV
28、X DPTR,A ;將;將DATA1DATA1送送B B口輸出口輸出MOV DPTR,#0FF7EH MOV DPTR,#0FF7EH ;C C口地址口地址DPTRDPTRMOV A,#DATA2MOV A,#DATA2 ;DATA2ADATA2AMOVX DPTR,AMOVX DPTR,A ;將數(shù)據(jù);將數(shù)據(jù)DATA2DATA2送送C C口輸出口輸出例例9-59-5 對端口對端口C C的置位的置位/ /復(fù)位。復(fù)位。把把PC5PC5置位,控制字為置位,控制字為0BH 0BH MOV R1,#7FH MOV R1,#7FH ;控制口地址;控制口地址R1R1 MOVMOV A,#0BH A,#0BH
29、 ;控制字;控制字A AMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=1PC5=1把把PC5PC5復(fù)位,控制字為復(fù)位,控制字為0AH0AHMOV R1,#7FH MOV R1,#7FH ;控制口地址;控制口地址R1R1 MOV A,#0AH MOV A,#0AH ;控制字;控制字A AMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=0PC5=09.3 89C519.3 89C51與可編程與可編程RAM/IORAM/IO芯片芯片81C5581C55的接口的接口 Intel 81C55Intel 81C55芯片包含芯片包含256B2
30、56B的的RAMRAM存儲器存儲器(靜態(tài)),(靜態(tài)),RAMRAM的存的存取時間為取時間為400ns400ns,兩個可編程的兩個可編程的8 8位并行口位并行口PAPA和和PBPB,一個可,一個可編程的編程的6 6位并行口位并行口PCPC,以及一個,以及一個1414位的位的減減1 1計數(shù)器計數(shù)器。PAPA口和口和PBPB口可工作于基本輸入口可工作于基本輸入/ /輸出方式(同輸出方式(同82C5582C55的方式的方式0 0)或選通輸入或選通輸入/ /輸出方式(同輸出方式(同82C5582C55的方式的方式1 1)。)。81C5581C55可直接與可直接與AT89C51AT89C51單片機相連,不
31、需要增加任何硬件邏單片機相連,不需要增加任何硬件邏輯電路。輯電路。由于由于81C5581C55片內(nèi)集成有片內(nèi)集成有I/OI/O口、口、RAMRAM和減和減1 1計數(shù)器,計數(shù)器,因而是因而是AT89C51AT89C51單片機系統(tǒng)中經(jīng)常被選用的單片機系統(tǒng)中經(jīng)常被選用的I/OI/O接口芯片之接口芯片之一。一。9.3.1 81C559.3.1 81C55芯片介紹芯片介紹1.1.8155H8155H的結(jié)構(gòu)的結(jié)構(gòu)如如圖圖9-119-11所示。所示。圖圖9-112.8155H2.8155H的引腳功能的引腳功能8155H8155H的引腳功能的引腳功能(1 1)AD7AD7AD0AD0(8 8條)條)(2 2)
32、I/OI/O總線總線(2222條)條)(3 3)控制總線()控制總線(8 8條)條) RESETRESET:復(fù)位輸入線復(fù)位輸入線 CECE* *和和IO/MIO/M* * RD RD* *和和WRWR* * ALE ALE:地址鎖存允許地址鎖存允許 TIMERINTIMERIN和和TIMEROUTTIMEROUT* *:(4 4)電源線()電源線(2 2條)條) VccVcc:+5V+5V電源電源 VssVss:地地圖圖9-12CECE* *IO/MIO/M* *A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0所選的端口所選的端口0 01 10 00 00 0命令命令/ /狀態(tài)
33、寄存器狀態(tài)寄存器0 01 10 00 01 1A A口口0 01 10 01 10 0B B口口0 01 10 01 11 1C C口口0 01 11 10 00 0計數(shù)器低計數(shù)器低8 8位位0 01 11 10 01 1計數(shù)器高計數(shù)器高6 6位位0 00 0RAMRAM單元單元3.CPU3.CPU對對81C55 I/O81C55 I/O端口的控制端口的控制(1)(1)8155H8155H各端口地址分配,見表各端口地址分配,見表9-29-2表表9-29-2(2 2)8155H8155H的控制字的控制字圖圖9-13(3 3)8155H8155H的狀態(tài)字的狀態(tài)字圖圖9-149.3.2 81C559
34、.3.2 81C55的工作方式的工作方式1.1.存儲器方式存儲器方式 對片內(nèi)對片內(nèi)RAMRAM單元進行讀寫,若單元進行讀寫,若IO/MIO/M* *=0=0和和CECE* *=0=0,則通過,則通過AD7AD7AD0AD0上的地址對上的地址對RAMRAM存儲器任一單元讀寫。存儲器任一單元讀寫。2.I/O2.I/O方式方式 8155H 8155H的的I/OI/O方式分為方式分為基本基本I/OI/O和和選通選通I/OI/O兩種工作方式,兩種工作方式,如表如表9-39-3所示??蓪ζ瑑?nèi)任一寄存器讀寫,端口地址由所示??蓪ζ瑑?nèi)任一寄存器讀寫,端口地址由A2A2、A1A1、A0A0三位決定(見表三位決定
35、(見表9-29-2)。)。C C口口通用通用I/OI/O方式方式選通選通I/OI/O方式方式ALT1ALT1ALT2ALT2ALT3ALT3ALT4ALT4PC0PC0輸入輸入輸出輸出AINTRAINTR(A A口口中斷)中斷)AINTRAINTR(A A口中斷)口中斷)PC1PC1輸入輸入輸出輸出ABFABF(A A口緩口緩沖器滿)沖器滿)ABFABF(A A口緩沖器滿)口緩沖器滿)PC2PC2輸入輸入輸出輸出ASTBASTB* * (A A口選通)口選通)ASTBASTB* * (A A口選通)口選通)PC3PC3輸入輸入輸出輸出輸出輸出BINTRBINTR(B B口中斷)口中斷)PC4P
36、C4輸入輸入輸出輸出輸出輸出BBFBBF(B B口緩沖器滿)口緩沖器滿)PC5PC5輸入輸入輸出輸出輸出輸出BSTBBSTB* * (B B口選通)口選通)表表9-3 C9-3 C口在兩種口在兩種I/OI/O工作方式下各位定義工作方式下各位定義 (1 1)基本)基本I/OI/O方式方式(2 2)選通)選通I/OI/O方式方式 ( (見右圖)見右圖) a.a.選通選通I/OI/O輸入輸入b.b.選通選通I/OI/O輸出輸出圖圖9-153. 3. 內(nèi)部定時器內(nèi)部定時器/ /計數(shù)器及使用計數(shù)器及使用 14 14位的減位的減1 1定時器定時器/ /計數(shù)器計數(shù)器,計數(shù)長度計數(shù)長度和和計數(shù)方式計數(shù)方式由寫
37、入計由寫入計數(shù)寄存器的控制字來確定。數(shù)寄存器的控制字來確定。計數(shù)器的兩個寄存器的格式如計數(shù)器的兩個寄存器的格式如圖圖9-169-16。T13T13 T0:T0:計數(shù)器長度計數(shù)器長度M2M2、M1:M1:設(shè)置定時器的設(shè)置定時器的4 4種工作方式種工作方式4 4種工作方式及相應(yīng)輸出波形種工作方式及相應(yīng)輸出波形如圖如圖9-179-17。圖圖9-17 若寫入計數(shù)器的初值為奇數(shù),若寫入計數(shù)器的初值為奇數(shù), 引腳的方波引腳的方波輸出是不對稱的。輸出是不對稱的。例如例如,初值為初值為9 9時,計數(shù)器的輸出,在時,計數(shù)器的輸出,在5 5個個計數(shù)脈沖周期內(nèi)為高電平,計數(shù)脈沖周期內(nèi)為高電平,4 4個計數(shù)脈沖周期內(nèi)
38、為低電平,如個計數(shù)脈沖周期內(nèi)為低電平,如圖圖9-189-18所示。所示。 TIMEROUT圖圖9-189.3.3 9.3.3 AT89C51單片機與單片機與81C55的接口設(shè)計及軟件編程的接口設(shè)計及軟件編程 1.1.硬件接口電路硬件接口電路圖圖9-1981C5581C55的各端口以及的各端口以及RAMRAM單元的地址編碼,見單元的地址編碼,見表表9-49-4。2 281C5581C55的編程的編程8155H8155H初始化程序設(shè)計初始化程序設(shè)計例例9-69-6 若若A A口定義為基本輸入方式,口定義為基本輸入方式,B B口定義為基本輸出方口定義為基本輸出方 式,對輸入脈沖進行式,對輸入脈沖進行
39、2424分頻,初始化程序如下:分頻,初始化程序如下:START:MOV DPTR, START:MOV DPTR, 7F04H 7F04H ;指針指向定時器低;指針指向定時器低8 8位位MOV A,MOV A,18H18H ;計數(shù)初值;計數(shù)初值2424送送A,A, MOVX DPTR,AMOVX DPTR,A ;計數(shù)初值低;計數(shù)初值低8 8位裝入定時器位裝入定時器INC DPTR INC DPTR ;指針指向定時器高;指針指向定時器高8 8位位MOV A,MOV A,40H 40H ;設(shè)定時器連續(xù)方波輸出;設(shè)定時器連續(xù)方波輸出MOVX DPTR,AMOVX DPTR,A ;計數(shù)初值高;計數(shù)初值
40、高6 6位裝入定時器位裝入定時器MOV DPTR,MOV DPTR,7F00H 7F00H ;指向命令;指向命令/ /狀態(tài)口狀態(tài)口MOV A,#0C2HMOV A,#0C2H ;設(shè)定命令控制字;設(shè)定命令控制字MOVX DPTR,AMOVX DPTR,A ;A A口輸入,口輸入,B B口輸出口輸出, ,開定時器開定時器例例9-79-7 讀讀81C5581C55的的7EF1H7EF1H單元。程序如下:單元。程序如下:MOVMOVDPTR,#7EF1HDPTR,#7EF1H;DPTRDPTR數(shù)據(jù)指針指向數(shù)據(jù)指針指向;81C5581C55的的7EF1H7EF1H單元單元MOVX A,DPTRMOVX
41、A,DPTR;7EF1H7EF1H單元內(nèi)容單元內(nèi)容A A例例9-89-8將立即數(shù)將立即數(shù)41H41H寫入寫入81C55 RAM81C55 RAM的的7E20H7E20H單元。程序如下:單元。程序如下:MOV MOV A,#41HA,#41H; ;立即數(shù)立即數(shù)A AMOV MOV DPTR,#7E20HDPTR,#7E20H;DPTR;DPTR數(shù)據(jù)指針指向數(shù)據(jù)指針指向81C5581C55;的;的7E20H7E20H單元單元MOVX MOVX DPTR,ADPTR,A; ;立即數(shù)立即數(shù)41H41H送到送到81C55 81C55 ;RAMRAM的的7E20H7E20H單元單元81C5581C55既有
42、既有RAMRAM又有又有I/OI/O口口,此外,此外,還有計數(shù)器還有計數(shù)器。在同時需要。在同時需要擴展擴展RAM RAM 、I/OI/O和計數(shù)器的系統(tǒng)中,選用和計數(shù)器的系統(tǒng)中,選用81C5581C55特別經(jīng)濟。特別經(jīng)濟。是單片機應(yīng)用系統(tǒng)中是單片機應(yīng)用系統(tǒng)中常用的常用的外圍接口芯片之一。外圍接口芯片之一。9.4 9.4 用用74LSTTL74LSTTL電路擴展并行電路擴展并行I/OI/O口口 利用利用74LS27374LS273和和74LS24474LS244,將,將P0P0口擴展成簡單的輸入、輸出口擴展成簡單的輸入、輸出口的電路口的電路。 74LS27374LS273輸出端接輸出端接8 8個個
43、LEDLED發(fā)光二極管,以發(fā)光二極管,以顯示顯示8 8個個按鈕開關(guān)狀態(tài)按鈕開關(guān)狀態(tài),某位低電平時二極管發(fā)光。,某位低電平時二極管發(fā)光。 74LS24474LS244是緩沖驅(qū)動器,擴展輸入口,是緩沖驅(qū)動器,擴展輸入口,接接8 8個按鈕開關(guān)。個按鈕開關(guān)。 74LS27374LS273和和74LS24474LS244的工作受的工作受80318031的的P2.0P2.0、RDRD* *、WRWR* *三條控三條控制線控制。制線控制。電路的工作原理如下電路的工作原理如下: : 當當P2.0=0,WRP2.0=0,WR* *=0(RD=0(RD* *= =) )選中寫選中寫74LS27374LS273,
44、AT89C51AT89C51通過通過P0P0口輸出數(shù)據(jù)到口輸出數(shù)據(jù)到74LS27374LS273,;,; 當當P2.0=0,RDP2.0=0,RD* *=0(WR=0(WR* *=1)=1)時選中讀時選中讀74LS244,74LS244, 某開關(guān)按下時某開關(guān)按下時則對應(yīng)位輸入為則對應(yīng)位輸入為“0”0”。 圖圖9-20輸出程序段:輸出程序段:MOV A,#data MOV A,#data ;數(shù)據(jù);數(shù)據(jù)A AMOV DPTR,#0FEFFHMOV DPTR,#0FEFFH;I/OI/O地址地址DPTRDPTRMOVX DPTR,A MOVX DPTR,A ;WRWR* *為低,數(shù)據(jù)經(jīng)為低,數(shù)據(jù)經(jīng)7
45、4LS27374LS273口輸出口輸出輸入程序段:輸入程序段: MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;I/OI/O地址地址DPTRDPTR MOVX A,DPTR MOVX A,DPTR;RDRD* *為低,為低,74LS24474LS244口口 ;數(shù)據(jù)讀入內(nèi)部;數(shù)據(jù)讀入內(nèi)部RAMRAM例例9-99-9 編寫程序把按鈕開關(guān)狀態(tài)通過圖編寫程序把按鈕開關(guān)狀態(tài)通過圖9-209-20中的發(fā)光二極管中的發(fā)光二極管顯示出來。顯示出來。程序如下:程序如下:DDIS:DDIS: MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;輸入口地址;輸入口地址DPTRDPTRLP:LP:MOVX A,DPTR MOVX A,DPTR ;按鈕開關(guān)狀態(tài)讀入;按鈕開關(guān)狀態(tài)讀入A A中中MOVX DP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版木門品牌授權(quán)與區(qū)域代理合同4篇
- 2025年模具設(shè)計軟件授權(quán)使用合同2篇
- 2025年度沿街商品房租賃與品牌孵化服務(wù)合同4篇
- 2025年度智能穿戴設(shè)備銷售與維護合同2篇
- 二零二五年度蜜蜂產(chǎn)業(yè)扶貧項目投資合同4篇
- 二零二五年度砂石市場預(yù)測與采購合同范本3篇
- 2025年度冷鏈食品加工基地1#生產(chǎn)線冷鏈物流配送服務(wù)合同4篇
- 2025版智能安防系統(tǒng)設(shè)計安裝合同4篇
- 二零二五版模具開模與快速原型制造合同3篇
- 2025年度個人意外傷害保險連帶責任保證合同3篇
- 2024年湖南高速鐵路職業(yè)技術(shù)學院高職單招數(shù)學歷年參考題庫含答案解析
- 2024年國家工作人員學法用法考試題庫及參考答案
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 同等學力英語申碩考試詞匯(第六版大綱)電子版
- 人教版五年級上冊遞等式計算100道及答案
- 墓地個人協(xié)議合同模板
- 2024年部編版初中語文各年級教師用書七年級(上冊)
- 2024年新課標全國Ⅰ卷語文高考真題試卷(含答案)
- 湖南省退休人員節(jié)日慰問政策
- QB/T 5998-2024 寵物尿墊(褲)(正式版)
評論
0/150
提交評論