第09章 MCS-51擴展IO接口的設計 55頁_第1頁
第09章 MCS-51擴展IO接口的設計 55頁_第2頁
第09章 MCS-51擴展IO接口的設計 55頁_第3頁
第09章 MCS-51擴展IO接口的設計 55頁_第4頁
第09章 MCS-51擴展IO接口的設計 55頁_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第第9 9章章 MCS-51MCS-51擴展擴展I/OI/O接口的設計接口的設計9.1 I/O9.1 I/O接口擴展概述接口擴展概述I/O (I/O (輸入輸入/ /輸出輸出) )接口是接口是MCS-51MCS-51與外設交換數(shù)字信與外設交換數(shù)字信 息的息的橋梁橋梁。I/OI/O擴展擴展也屬于系統(tǒng)擴展的一部分也屬于系統(tǒng)擴展的一部分。真正用作真正用作I/OI/O口線的口線的只有只有P1P1口的口的8 8位位I/OI/O線和線和P3P3口的某些口的某些 位線位線。在多數(shù)應用系統(tǒng)中,在多數(shù)應用系統(tǒng)中,MCS-51MCS-51單片機都需要外擴單片機都需要外擴I/OI/O接接 口電路。口電路。9.1.1

2、 I/O9.1.1 I/O接口的功能接口的功能I/OI/O接口電路應滿足以下要求:接口電路應滿足以下要求:1.1.實現(xiàn)和不同外設的速度匹配實現(xiàn)和不同外設的速度匹配 大多數(shù)的外設的速度很慢,無法和大多數(shù)的外設的速度很慢,無法和s s量級的單片機量級的單片機速度相比速度相比。 單片機只有在單片機只有在確認確認外設已為數(shù)據(jù)傳送做好準備的前提外設已為數(shù)據(jù)傳送做好準備的前提下才能進行下才能進行I/OI/O操作。操作。 想知道外設是否準備好想知道外設是否準備好,需需I/OI/O接口電路與外設之接口電路與外設之間傳送狀態(tài)信息。間傳送狀態(tài)信息。2. 2. 輸出數(shù)據(jù)鎖存輸出數(shù)據(jù)鎖存 由于由于單片機工作速度快,單

3、片機工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保留的時數(shù)據(jù)在數(shù)據(jù)總線上保留的時間十分短暫,間十分短暫,無法滿足慢速外設的數(shù)據(jù)接收無法滿足慢速外設的數(shù)據(jù)接收。I/OI/O電路電路應具有數(shù)據(jù)鎖存器,以保證接收設備接收。應具有數(shù)據(jù)鎖存器,以保證接收設備接收。3. 3. 輸入數(shù)據(jù)三態(tài)緩沖輸入數(shù)據(jù)三態(tài)緩沖 輸入設備向單片機輸入數(shù)據(jù)時,但輸入設備向單片機輸入數(shù)據(jù)時,但數(shù)據(jù)總線上面可數(shù)據(jù)總線上面可能能“掛掛”有多個數(shù)據(jù)源有多個數(shù)據(jù)源,為不發(fā)生沖突,為不發(fā)生沖突,只允許當前正只允許當前正在進行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的應處在進行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的應處于隔離狀態(tài)。于隔離狀態(tài)。9.1.2 I/O9.

4、1.2 I/O端口的編址端口的編址首先清楚首先清楚I/OI/O接口接口(InterfaceInterface)和)和I/OI/O端口端口(PortPort)的概念的概念。I/OI/O端口:端口:簡稱簡稱I/OI/O口口,指具有端口地址的寄存器或,指具有端口地址的寄存器或 緩沖器。緩沖器。I/OI/O接口:接口:是指單片機與外設間的是指單片機與外設間的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接口中的寄存器

5、接口中的寄存器編址編址。I/OI/O端口編址兩種方式端口編址兩種方式:獨立編址獨立編址與與統(tǒng)一編址統(tǒng)一編址。1 1獨立編址方式獨立編址方式 I/O I/O寄存器地址空間和存儲器地址空間寄存器地址空間和存儲器地址空間分開編址分開編址,但,但需專門讀寫需專門讀寫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操作,簡單、方便且功能強。操作,簡單、方便

6、且功能強。MCS-51MCS-51使用統(tǒng)一編址的方使用統(tǒng)一編址的方式式 每一接口芯片中的一個功能寄存器(端口)的地址每一接口芯片中的一個功能寄存器(端口)的地址就相當于一個就相當于一個RAMRAM單元。單元。9.1.3 I/O9.1.3 I/O數(shù)據(jù)的幾種傳送方式數(shù)據(jù)的幾種傳送方式 為實現(xiàn)和不同的外設的速度匹配,為實現(xiàn)和不同的外設的速度匹配,I/OI/O接口必須接口必須根據(jù)不同外設選擇恰當?shù)母鶕?jù)不同外設選擇恰當?shù)腎/OI/O數(shù)據(jù)傳送方式。數(shù)據(jù)傳送方式。 I/O I/O數(shù)據(jù)傳送的幾種傳送方式是:數(shù)據(jù)傳送的幾種傳送方式是:(1 1)同步傳送()同步傳送(2 2)異步傳送()異步傳送(3 3)中斷傳送

7、。)中斷傳送。1.1.同步傳送方式同步傳送方式(無條件傳送)(無條件傳送) 當外設速度和單片機的速度相比擬時,常采用同步傳當外設速度和單片機的速度相比擬時,常采用同步傳送方式,最典型的同步傳送就是單片機和外部數(shù)據(jù)存儲送方式,最典型的同步傳送就是單片機和外部數(shù)據(jù)存儲器之間的數(shù)據(jù)傳送。器之間的數(shù)據(jù)傳送。2.2.查詢傳送方式查詢傳送方式(條件傳送,異步式傳送)(條件傳送,異步式傳送)查詢外設查詢外設“準備好準備好”后,再進行數(shù)據(jù)傳送。后,再進行數(shù)據(jù)傳送。優(yōu)點:優(yōu)點:通用性好,硬件連線和查詢程序十分簡單,通用性好,硬件連線和查詢程序十分簡單,缺點:缺點:效率不高。效率不高。為提高效率,通常采用中斷傳送

8、方式。為提高效率,通常采用中斷傳送方式。3.3.中斷傳送方式中斷傳送方式. . 外設準備好后,發(fā)中斷請求,單片機進入與外設數(shù)外設準備好后,發(fā)中斷請求,單片機進入與外設數(shù)據(jù)傳送的中斷服務程序,進行數(shù)據(jù)的傳送。中斷服務據(jù)傳送的中斷服務程序,進行數(shù)據(jù)的傳送。中斷服務完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。完成后又返回主程序繼續(xù)執(zhí)行。工作效率高。9.1.4 I/O9.1.4 I/O接口電路接口電路 如何實現(xiàn)如何實現(xiàn)I/OI/O接口的擴展。接口的擴展。IntelIntel公司公司的的配套可編程配套可編程I/OI/O接口芯片接口芯片的種類齊全,為擴展的種類齊全,為擴展I/OI/O接口提供了很大接口提供了很

9、大的方便。的方便。常用的外圍常用的外圍I/OI/O接口芯片有:接口芯片有:(1 1)8255A8255A:可編程的通用并行接口電路(:可編程的通用并行接口電路(3 3個個8 8位位I/OI/O口)??冢?。(2 2)8155H8155H:可編程的:可編程的IO/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可與MCS-51MCS-51單片機單片機直接連接直接連接,接口邏輯十分簡單,接口邏輯十分

10、簡單 此外,此外,74LS74LS系列的系列的TTLTTL電路電路也可以作為也可以作為MCS-51MCS-51的擴展的擴展I/OI/O口,如口,如74LS24474LS244、 74LS27374LS273等。等。最后介紹利用最后介紹利用串行口串行口來擴展并行來擴展并行I/OI/O口???。9.2 MCS-519.2 MCS-51與可編程并行與可編程并行I/OI/O芯片芯片8255A8255A的接口的接口9.2.1 8255A9.2.1 8255A芯片介紹芯片介紹 8255A 8255A是是IntelIntel公司生產(chǎn)的公司生產(chǎn)的可編程可編程并行并行I/OI/O接口芯片,接口芯片,具有具有3 3

11、個個8 8位的并行位的并行I/OI/O口,口,3 3種工作方式種工作方式,可通過編,可通過編程改變其功能,因而程改變其功能,因而使用靈活方便,通用性強使用靈活方便,通用性強。1.1.引腳說明引腳說明4040只引腳,雙列直插式封裝,引腳功能如下:只引腳,雙列直插式封裝,引腳功能如下:D7D7D0D0:三態(tài)雙向數(shù)據(jù)線,與單片機數(shù)據(jù)總線連接三態(tài)雙向數(shù)據(jù)線,與單片機數(shù)據(jù)總線連接CSCS* *:片選信號線,低電平有效,表示本芯片被選中片選信號線,低電平有效,表示本芯片被選中RDRD* *:讀出信號線,控制讀出信號線,控制8255A8255A中數(shù)據(jù)的讀出高中數(shù)據(jù)的讀出高WRWR* *:寫入信號線,控制向?qū)?/p>

12、入信號線,控制向8255A8255A數(shù)據(jù)的寫入。數(shù)據(jù)的寫入。VccVcc:+5V+5V電源。電源。PA7PA7PA0PA0:A A口輸入口輸入/ /輸出線。輸出線。PB7PB7PB0PB0:B B口輸入口輸入/ /輸出線。輸出線。PC7PC7PC0PC0:C C口輸入口輸入/ /輸出線。輸出線。A1A1、A0A0:地址線,用來選擇地址線,用來選擇8255A8255A內(nèi)部的內(nèi)部的4 4個端口。個端口。2.2.內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)(1 1)端口)端口A A、B B、C C功能和結(jié)構(gòu)上有些差異功能和結(jié)構(gòu)上有些差異 PA PA口口:輸出鎖存和緩沖;輸入鎖存:輸出鎖存和緩沖;輸入鎖存 PB PB口口:輸出鎖

13、存和緩沖;輸入緩沖:輸出鎖存和緩沖;輸入緩沖 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 B組:組:PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0), ,可根據(jù)可根據(jù)“命命 令字令字”對對PCPC口口按位按位“置置1”1”

14、或或“清清0”0”。(3)(3)數(shù)據(jù)總線緩沖器線線數(shù)據(jù)總線緩沖器線線 三態(tài)雙向,作為三態(tài)雙向,作為8255A8255A與單片機數(shù)據(jù)線之間接口,與單片機數(shù)據(jù)線之間接口,傳送數(shù)據(jù)、指令、控制命令及外部狀態(tài)信息。傳送數(shù)據(jù)、指令、控制命令及外部狀態(tài)信息。(4)(4)讀讀/ /寫控制邏輯電路線寫控制邏輯電路線 該電路接收該電路接收CPUCPU發(fā)來的控制信號、發(fā)來的控制信號、RESETRESET、地址信、地址信號號A1A1、A0A0等。對端口進行讀寫。等。對端口進行讀寫。各端口的工作狀態(tài)與控制信號的關(guān)系各端口的工作狀態(tài)與控制信號的關(guān)系如表如表9-19-1所示。所示。表表9-1 8255A9-1 8255A

15、端口工作狀態(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 B:總線數(shù)據(jù):總線數(shù)據(jù)B B口口寫端口寫端口C C:總線數(shù)據(jù):總線數(shù)據(jù)C C口口寫控制字:總線數(shù)據(jù)寫控制字:總線數(shù)據(jù)控制字寄控制字寄存器存器0 0

16、1 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口置位口置位/ /復位控制字復位控制字8255A8255A有三種工作方式:有三種工作方式: (1) (1) 方式方式0 0:基本輸入輸出;基本輸入輸出;(2) (2) 方式方式1 1:選通輸入輸出;選通輸入輸出;(3) (3) 方式方式2 2:雙向傳送(僅雙向傳送(僅A A口有)??谟校?。1.1.工作方式選擇控制字工作

17、方式選擇控制字三種工作方式由方式控制字來決定。三種工作方式由方式控制字來決定??刂谱指袷饺缦隆?刂谱指袷饺缦?。C 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。例如:例如:寫入工作方式寫入工作方式控制字控制字95H95H可將可將8255A8255A編程為:編程為:A A口口方式方式0 0輸入輸入,B B口口方式方式1 1輸出輸出

18、,C C口的上半部分(口的上半部分(PC7PC7 PC4PC4)輸出,)輸出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)輸入。)輸入。2. C2. C口按位置位口按位置位/ /復位控制字復位控制字可對可對C C口口8 8位中的任一位置位中的任一位置“1”1”或清或清“0”0”。用于。用于位控位控。例如:例如:控制字控制字07H07H寫入控制口,置寫入控制口,置“1” PC31” PC3; 08H08H寫入控制口,清寫入控制口,清“0” PC40” PC4。9.2.3 8255A9.2.3 8255A的三種工作方式的三種工作方式1.1.方式方式0 0基本的輸入基本的輸入/ /輸出

19、方式。輸出方式。外設的外設的I/OI/O數(shù)據(jù)可在數(shù)據(jù)可在8255A8255A的各端口得到鎖存和緩沖的各端口得到鎖存和緩沖MCS-51MCS-51可對可對8255A8255A進行數(shù)據(jù)的進行數(shù)據(jù)的無條件傳送無條件傳送 例如例如: :從口線從口線讀入一組開關(guān)狀態(tài)讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字,向端口輸出數(shù)字量,量,控制一組指示燈的亮、滅。控制一組指示燈的亮、滅。不需要聯(lián)絡信號不需要聯(lián)絡信號,基本功能為:基本功能為:(1 1)具有兩個)具有兩個8 8位端口(位端口(A A、B B)和兩個)和兩個4 4位端口(位端口(C C的上半部分和下半部分)。的上半部分和下半部分)。(2 2)任一個端口都可以設定

20、為輸入或輸出,各端口)任一個端口都可以設定為輸入或輸出,各端口的輸入、輸出可構(gòu)成的輸入、輸出可構(gòu)成1616種組合。種組合。(3 3)數(shù)據(jù)輸出鎖存,輸入不鎖存。)數(shù)據(jù)輸出鎖存,輸入不鎖存。例例 假設假設8255A8255A的的控制字寄存器地址控制字寄存器地址為為FF7FHFF7FH,則令,則令A A口口和和C C口的高口的高4 4位工作在方式位工作在方式0 0輸出,輸出, B B口和口和C C口的低口的低4 4位位工作于方式工作于方式0 0輸入輸入,初始化程序:初始化程序:MOV DPTRMOV DPTR,#0FF7FH #0FF7FH ;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR

21、 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ù)數(shù)據(jù)傳送,據(jù)傳送,C C口用作口用作A A口和口和B B口的聯(lián)絡線,以中斷方式傳口的聯(lián)絡線,以中斷方式傳送數(shù)據(jù)。送數(shù)據(jù)。 (1) (1) 方式方式1 1輸入輸入 控制聯(lián)絡信號如圖控制聯(lián)絡信號如圖9-59-5所示,所示,STBSTB* *與與IBFIBF構(gòu)成了一構(gòu)成了一對應答聯(lián)絡信號對應答聯(lián)

22、絡信號,聯(lián)絡信號的功能如下圖:聯(lián)絡信號的功能如下圖:STBSTB* *:選通輸入,是由輸入外設送來的輸入信號。選通輸入,是由輸入外設送來的輸入信號。IBFIBF:輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入 8255A8255A的輸入鎖存器,它由的輸入鎖存器,它由STBSTB* *信號的下降沿置信號的下降沿置 位,由信號的上升沿使其復位位,由信號的上升沿使其復位INTRINTR:中斷請求信號,高電平有效。由中斷請求信號,高電平有效。由8255A8255A輸出,輸出, 向單片機發(fā)中斷請求。向單片機發(fā)中斷請求。INTE AINTE A:A A口中斷允許,由口中斷

23、允許,由PC4PC4控制,控制, INTE BINTE B:B B口中斷允許,由口中斷允許,由PC2PC2控制??刂啤 A口的方式口的方式1 1輸入輸入工作方式見圖工作方式見圖9-69-6。(2 2)方式)方式1 1輸出輸出 如圖如圖9-79-7所示。所示。OBFOBF* *與與ACKACK* *構(gòu)成了一對應答聯(lián)絡構(gòu)成了一對應答聯(lián)絡信號信號,各信號的功能如下:各信號的功能如下:OBFOBF* *:輸出緩沖器滿信號,輸出緩沖器滿信號,8255A8255A給外設的聯(lián)絡信號,給外設的聯(lián)絡信號,外設可以將數(shù)據(jù)取走。外設可以將數(shù)據(jù)取走。ACKACK* *:外設的響應信號,外設已將數(shù)據(jù)取走。外設的響應信

24、號,外設已將數(shù)據(jù)取走。INTRINTR* *:中斷請求信號。表示該數(shù)據(jù)已被外設取走,中斷請求信號。表示該數(shù)據(jù)已被外設取走, 請求單片機繼續(xù)輸出下一個數(shù)據(jù)。請求單片機繼續(xù)輸出下一個數(shù)據(jù)。INTE AINTE A:中斷允許,由:中斷允許,由PC6PC6控制。控制。INTE BINTE B:中斷允許,由:中斷允許,由PC2PC2控制控制。B B口的口的方式方式1 1輸出輸出如圖如圖9-89-8所示:所示:3.3.方式方式2 2只有只有A A口才能設定為方式口才能設定為方式2 2。圖圖9-99-9為方式為方式2 2工作示意圖。工作示意圖。在方式在方式2 2下,下,PA7PA7PA0PA0為雙向為雙向I

25、/OI/O總線??偩€。 當當輸入輸入時,時,PA7PA7PA0PA0受受STBASTBA* *和和IBFAIBFA控制,其工作控制,其工作過程和方式過程和方式1 1輸入時相同;輸入時相同; 當當輸出輸出時,時,PA7PA7PA0PA0受受OBFAOBFA* *、ACKAACKA* *控制,其工作控制,其工作過程和方式過程和方式1 1輸出時相同。輸出時相同。9.2.4 MCS-519.2.4 MCS-51單片機和單片機和8255A8255A的接口的接口1.1.硬件接口電路硬件接口電路 如圖如圖9-109-10是是80318031擴展擴展1 1片片8255A8255A的電路圖。的電路圖。74LS3

26、7374LS373是地是地址鎖存器,址鎖存器,P0.1P0.1、P0.0P0.0經(jīng)經(jīng)74LS37374LS373與與8255A8255A的地址線的地址線A1A1、A0A0連接;連接; P0.7P0.7經(jīng)經(jīng)74LS37374LS373與片選端相連,其他地址線懸空。與片選端相連,其他地址線懸空。2.2.端口地址確定端口地址確定圖圖9-109-10中中8255A8255A各端口寄存器的地址為:各端口寄存器的地址為:A A口:口: FF7CHFF7CHB B口:口: FF7DHFF7DHC C口:口: FF7EHFF7EH控制寄存器:控制寄存器: FF7FHFF7FH3.3.軟件編程軟件編程例例9-1

27、9-1 要求要求8255A8255A工作在方式工作在方式0 0,且,且A A口作為輸入,口作為輸入,B B口、口、 C C口作為輸出,口作為輸出,程序如下:程序如下:MOV MOV A,#90H A,#90H ;A A口方式口方式0 0輸入,輸入,B B口、口、 ;C C口輸出的控制字送口輸出的控制字送A AMOVMOVDPTR,#0FF7FH DPTR,#0FF7FH ;控制寄存器地址;控制寄存器地址DPTRDPTRMOVX DPTR,AMOVX DPTR,A ;方式控制字;方式控制字控制寄存器控制寄存器MOVMOVDPTR,#0FF7CH DPTR,#0FF7CH ;A A口地址口地址DP

28、TRDPTRMOVX 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 MOVX DPTR,A ;將;將DATA1DATA1送送B B口輸出口輸出MOV DPTR,#0FF7EH MOV DPTR,#0FF7EH ;C C口地址口地址DPTRDPTRMOV A,#DATA2MOV A,#DATA2 ;DATA2ADATA2AMOVX DPTR,AMOV

29、X DPTR,A ;將數(shù)據(jù);將數(shù)據(jù)DATA2DATA2送送C C口輸出口輸出例例9-29-2 對端口對端口C C的置位的置位/ /復位。復位。把把PC5PC5置位,控制字為置位,控制字為0BH 0BH MOV R1,#7FH MOV R1,#7FH ;控制口地址;控制口地址R1R1 MOVMOV A,#0BH A,#0BH ;控制字;控制字A AMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=1PC5=1把把PC5PC5復位,控制字為復位,控制字為0AH0AHMOV R1,#7FH MOV R1,#7FH ;控制口地址;控制口地址R1R1 MOV A,#0AH

30、MOV A,#0AH ;控制字;控制字A AMOVX R1,A MOVX R1,A ;控制字;控制字控制口,控制口,PC5=0PC5=09.3 MCS-519.3 MCS-51單片機與單片機與8155H8155H的接口的接口9.3 .1 8155H9.3 .1 8155H芯片介芯片介紹紹1.8155H1.8155H的邏輯結(jié)構(gòu)的邏輯結(jié)構(gòu)如圖如圖9-119-11所示。所示。2.8155H2.8155H的引腳功能的引腳功能8155H8155H的引腳功能的引腳功能(1 1)AD7AD7AD0AD0(8 8條)條)(2 2)I/OI/O總線總線(2222條)條)(3 3)控制總線()控制總線(8 8條)

31、條) RESETRESET:復位輸入線復位輸入線 CECE* *和和IO/MIO/M* * RD RD* *和和WRWR* * ALE ALE:地址鎖存允許地址鎖存允許 TIMERINTIMERIN和和TIMEROUTTIMEROUT* *:(4 4)電源線()電源線(2 2條)條) VccVcc:+5V+5V電源電源 VssVss:地地CECE* *IO/MIO/M* *A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0所選的端口所選的端口0 01 10 00 00 0命令命令/ /狀態(tài)寄存器狀態(tài)寄存器0 01 10 00 01 1A A口口0 01 10 01 10 0B B

32、口口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對對8155H I/O8155H I/O端口的控制端口的控制(1) 8155H(1) 8155H各端口地址分配各端口地址分配(2 2)8155H8155H的命令字的命令字(3 3)8155H8155H的狀態(tài)字的狀態(tài)字9.3.2 8155H9.3.2 8155H的工作方式的工作方式1.1.存儲器方式存儲器方式 對片內(nèi)對片內(nèi)RAMRAM單元進行讀寫,若單元進行讀寫,若IO/MIO/M* *=0

33、=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三位決定(見表三位決定(見表9-29-2)。)。C C口口通用通用I/OI/O方式方式選通選通I/OI/O方式方式ALT1ALT1ALT2ALT2ALT3ALT3ALT4AL

34、T4PC0PC0輸入輸入輸出輸出AINTRAINTR(A A口口中斷)中斷)AINTRAINTR(A A口中斷)口中斷)PC1PC1輸入輸入輸出輸出ABFABF(A A口緩口緩沖器滿)沖器滿)ABFABF(A A口緩沖器滿)口緩沖器滿)PC2PC2輸入輸入輸出輸出ASTBASTB* * (A A口選通)口選通)ASTBASTB* * (A A口選通)口選通)PC3PC3輸入輸入輸出輸出輸出輸出BINTRBINTR(B B口中斷)口中斷)PC4PC4輸入輸入輸出輸出輸出輸出BBFBBF(B B口緩沖器滿)口緩沖器滿)PC5PC5輸入輸入輸出輸出輸出輸出BSTBBSTB* * (B B口選通)口選

35、通)表表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輸出輸出3. 3. 內(nèi)部定時器內(nèi)部定時器/ /計數(shù)器及使用計數(shù)器及使用 14 14位的減位的減1 1定時器定時器/ /計數(shù)器計數(shù)器,計數(shù)長度計數(shù)長度和和計數(shù)方式計數(shù)方式由寫入計數(shù)寄存器的控制字來確定。由寫入計數(shù)寄存器的控制字來確定。計數(shù)器的兩個寄存器的格式如圖計數(shù)器的兩個寄存器的格式如圖9-169-16。T13T13 T0:T0:計數(shù)

36、器長度計數(shù)器長度M2M2、M1:M1:設置定時器的設置定時器的4 4種工作方式種工作方式4 4種工作方式及相應輸出波形種工作方式及相應輸出波形如圖如圖9-179-17。9.3.3 MCS-519.3.3 MCS-51與與8155H8155H接口及軟件編程接口及軟件編程1.MCS-511.MCS-51與與8155H8155H的硬件接口電路的硬件接口電路2. 8155H2. 8155H的編程舉例的編程舉例8155H8155H( (1) 1) 初始化程序設計初始化程序設計例例9-39-3 若若A A口定義為基本輸入方式,口定義為基本輸入方式,B B口定義為基本輸出方口定義為基本輸出方 式,對輸入脈沖

37、進行式,對輸入脈沖進行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 ;設定時器連續(xù)方波輸出;設定時器連續(xù)方波輸出MOVX DPTR,AMOVX DPTR,A

38、;計數(shù)初值高;計數(shù)初值高6 6位裝入定時器位裝入定時器MOV DPTR,MOV DPTR,7F00H 7F00H ;指向命令;指向命令/ /狀態(tài)口狀態(tài)口MOV A,#0C2HMOV A,#0C2H ;設定命令控制字;設定命令控制字MOVX DPTR,AMOVX DPTR,A ;A A口輸入,口輸入,B B口輸出口輸出, ,開定時器開定時器9.4 9.4 用用74LSTTL74LSTTL電路擴展并行電路擴展并行I/OI/O口口 利用利用74LS27374LS273和和74LS24474LS244,將,將P0P0口擴展成簡單的輸入、口擴展成簡單的輸入、輸出口的電路輸出口的電路。 74LS27374

39、LS273輸出端接輸出端接8 8個個LEDLED發(fā)光二極管,以顯示發(fā)光二極管,以顯示8 8個按個按鈕開關(guān)狀態(tài),某位低電平時二極管發(fā)光。鈕開關(guān)狀態(tài),某位低電平時二極管發(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* *= =) )選中寫選

40、中寫74LS27374LS273, 80318031通過通過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)按下時則對應位輸入為“0”0”。輸出程序段:輸出程序段: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)為低

41、,數(shù)據(jù)經(jīng)74LS27374LS273口輸出口輸出輸入程序段:輸入程序段: 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-69-6 編寫程序把按鈕開關(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 DPTR,AMOVX DPTR,A ;A A中數(shù)據(jù)送輸出口中數(shù)據(jù)送輸出口SJMP LP SJMP LP ;反復連續(xù)執(zhí)行;反復連續(xù)執(zhí)行9.5 9.5 用用MCS-51MCS-51的串行口擴展并行口的串行口擴展并行口9.5.1 9.5.1 用用74LS16574

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論