擴展輸入輸出ppt課件_第1頁
擴展輸入輸出ppt課件_第2頁
擴展輸入輸出ppt課件_第3頁
擴展輸入輸出ppt課件_第4頁
擴展輸入輸出ppt課件_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第9 9章章 AT89S51AT89S51單片機單片機 的的I/OI/O擴展擴展1 12 第第9章章 目錄目錄9.1 I/O接口擴展概述接口擴展概述 9.1.1 擴展的I/O接口功能 9.1.2 I/O端口的編址 9.1.3 I/O數(shù)據(jù)的傳送方式 9.1.4 I/O接口電路9.2 AT89S51擴展擴展I/O接口芯片接口芯片82C55的設(shè)計的設(shè)計 9.2.1 82C55芯片簡介 9.2.2 工作方式選擇控制字及端口PC置位/復(fù)位控制字 9.2.3 82C55的3種工作方式 9.2.4 AT89S51單片機與82C55的接口設(shè)計29.3 AT89S51擴展擴展I/O接口芯片接口芯片81C55的

2、設(shè)計的設(shè)計 9.3.1 81C55芯片介紹 9.3.2 81C55的工作方式 9.3.3 AT89S51單片機與81C55的接口設(shè)計及軟件編程9.4 利用利用74LSTTL電路擴展并行電路擴展并行I/O口口9.5 用用AT89S51單片機的串行口擴展并行口單片機的串行口擴展并行口 9.5.1 用74LS165擴展并行輸入口 9.5.2 用74LS164擴展并行輸出口9.6 用用I/O口控制的聲音報警接口口控制的聲音報警接口 9.6.1 蜂鳴音報警接口 9.6.2 音樂報警接口39.1 I/O接口擴展概述接口擴展概述擴展I/O接口與擴展存儲器一樣,都屬于系統(tǒng)擴展系統(tǒng)擴展的內(nèi)容。擴展的I/O接口應(yīng)

3、該具有哪些功能?9.1.1 擴展的擴展的I/O接口功能接口功能擴展的I/O接口電路主要應(yīng)滿足以下功能要求。1實現(xiàn)和不同外設(shè)的速度匹配實現(xiàn)和不同外設(shè)的速度匹配 大多數(shù)外設(shè)大多數(shù)外設(shè)的速度很慢速度很慢,無法和s量級的單片機速度量級的單片機速度相比。單片機在與外設(shè)間進行數(shù)據(jù)傳送時,只有在確認外設(shè)已為數(shù)據(jù)傳送做好準備做好準備的前提下才能進行數(shù)據(jù)傳送才能進行數(shù)據(jù)傳送。外設(shè)是否準備好,就需要I/O接口電路與外設(shè)之間傳送狀態(tài)傳送狀態(tài)信息信息,以實現(xiàn)單片機與外設(shè)之間的速度匹配。4 42單片機輸出數(shù)據(jù)鎖存單片機輸出數(shù)據(jù)鎖存與外設(shè)比,單片機的工作速度快,與外設(shè)比,單片機的工作速度快,數(shù)據(jù)在數(shù)據(jù)總線上保數(shù)據(jù)在數(shù)據(jù)總

4、線上保留的時間十分短暫留的時間十分短暫,無法滿足慢速外設(shè)的數(shù)據(jù)接收。所以,無法滿足慢速外設(shè)的數(shù)據(jù)接收。所以在擴展的在擴展的I/O接口電路中接口電路中應(yīng)有輸出數(shù)據(jù)鎖存器應(yīng)有輸出數(shù)據(jù)鎖存器,以保證輸,以保證輸出數(shù)據(jù)能出數(shù)據(jù)能為慢速的接收設(shè)備為慢速的接收設(shè)備所接收。所接收。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ù)的I/O接口接口使用數(shù)據(jù)總線使用數(shù)據(jù)總線,其余的其余的I/O接口接口應(yīng)處于隔離狀態(tài)應(yīng)處于隔離狀態(tài),為此要,為此要求

5、求I/O接口電路能為數(shù)據(jù)輸入提供三態(tài)緩沖功能。接口電路能為數(shù)據(jù)輸入提供三態(tài)緩沖功能。5 59.1.2 I/O端口的編址端口的編址I/O接口和接口和I/O端口的概念端口的概念。 I/O接口:接口:是單片機與外設(shè)間的連接電路的總稱。 I/O端口端口: 簡稱I/O口,是指I/O接口電路中具有單元地 址的寄存器或緩沖器。 一個I/O接口芯片可以有多個I/O端口,如 數(shù)據(jù)口,命令口,狀態(tài)口數(shù)據(jù)口,命令口,狀態(tài)口。 I/O端口的編址端口的編址: 每個I/O接口中的端口接口中的端口都要有地址都要有地址,以便AT89S51通 過讀寫端口來和外設(shè)交換信息和外設(shè)交換信息。常用的I/O端口編址端口編址有兩 種方式,

6、獨立編址方式獨立編址方式與統(tǒng)一編址方式統(tǒng)一編址方式。6 61獨立編址獨立編址 I/O端口地址空間和存儲器地址空間分開編址。 優(yōu)點: I/O地址空間和存儲器地址空間相互獨立,界限分明。 不足:不足:但要設(shè)置一套專門的讀寫I/O端口的指令和控制信號。2統(tǒng)一編址統(tǒng)一編址 I/O端口和外部數(shù)據(jù)存儲器RAM統(tǒng)一編址統(tǒng)一編址。 優(yōu)點優(yōu)點:不需專門的I/O指令。 缺點缺點:需要把數(shù)據(jù)存儲器單元地址與需要把數(shù)據(jù)存儲器單元地址與I/O端口的地址劃分清端口的地址劃分清 楚楚, 避免數(shù)據(jù)沖突。7 79.1.3 I/O數(shù)據(jù)的傳送方式數(shù)據(jù)的傳送方式為了實現(xiàn)和不同外設(shè)的速度匹配速度匹配,必須根據(jù)不同外設(shè)選擇恰當?shù)腎/O數(shù)

7、據(jù)傳送方式數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送方式有:同步傳送、異步傳送和中斷傳送。1同步傳送同步傳送(無條件傳送)(無條件傳送) 當外設(shè)速度和單片機的速度相比擬時,常采用同步傳 送方式,典型的同步傳送是單片機和外部數(shù)據(jù)存儲器單片機和外部數(shù)據(jù)存儲器 之間之間的數(shù)據(jù)傳送數(shù)據(jù)傳送。2查詢傳送查詢傳送(有條件傳送、異步傳送) 通過查詢外設(shè)“準備好”后,再進行數(shù)據(jù)傳送。 優(yōu)點:通用性好,硬件連線和查詢程序簡單,但工作效 率不高。8 83中斷傳送中斷傳送 為了提高提高單片機對外設(shè)的工作效率工作效率,通常采用中斷傳送方式,來實現(xiàn)I/O數(shù)據(jù)的傳送。 單片機只有在外設(shè)準備好后,才中斷主程序的執(zhí)行只有在外設(shè)準備好后,才

8、中斷主程序的執(zhí)行,進入與中斷服務(wù)子程序,進行數(shù)據(jù)傳送。 中斷服務(wù)完成后又返回主程序斷點處繼續(xù)執(zhí)行。采用中斷方式可大大提高工作效率提高工作效率。9 99.1.4 I/O接口電路接口電路常用的外圍I/O接口芯片:(1)82C55:可編程通用并行接口(3個8位I/O口)。(2)81C55:可編程的IO/RAM擴展接口電路(2個8 位I/O口,1個6位I/O口,256RAM單元, 1個14位的減法計數(shù)器)。 接口設(shè)計接口設(shè)計:可以和AT89S51直接連接,接口邏輯簡單。10109.3 AT89S51擴展擴展I/O接口芯片接口芯片81C55的設(shè)計的設(shè)計 81C55可直接與AT89S51相連,不需增加任何

9、硬件邏輯電路。11256B的SRAM,81C55存取時間400ns兩個可編程的兩個可編程的8位并行口位并行口PA和和PB可工作于可工作于基本基本和和選通選通兩種工作方式兩種工作方式一個可編程的一個可編程的6位并行口位并行口PC一個一個14位的減位的減1計數(shù)器計數(shù)器11181C55的結(jié)構(gòu)的結(jié)構(gòu)邏輯結(jié)構(gòu)如圖圖9-11。 圖圖9-11 81C55的邏輯結(jié)構(gòu)9.3.1 81C55芯片介紹芯片介紹12281C55的引腳功能的引腳功能40引腳,采用雙列直插式封裝,如圖圖9-12所示所示。 圖圖9-12 81C55的引腳圖的引腳圖1313引腳說明:(1)AD7AD0,為地址/數(shù)據(jù)線,與AT89S51單片機的

10、P0 口相連,用于分時傳送地址/數(shù)據(jù)信息。(2)I/O總線(總線(22條)條) PA7PA0為通用I/O線,數(shù)據(jù)傳送方向傳送方向/工作方式工作方式由寫入 81C55 的命令字決定; PB7PB0為通用I/O線,用于傳送PB口上的外設(shè)數(shù)據(jù), 數(shù)據(jù)傳送方向傳送方向/工作方式工作方式也由寫入81C55的控制字決定。 PC5PC0為數(shù)據(jù)/控制線,共有6條,在通用I/O方式下 ,用作傳送I/O數(shù)據(jù);在選通I/O方式下,用作傳送命令/ 狀態(tài)信息 。1414(3)控制引腳)控制引腳nRESET:復(fù)位輸入線,在RESET線上輸入一個大于600ns寬的正脈沖時,81C55即可處于復(fù)位狀態(tài),PA、PB、PC三口也

11、定義為輸入方式。三口也定義為輸入方式。n 、IO/ : 為片選線,若 =0,單片機選中本81C55工作;否則,本81C55未被選中。 IO/ 為I/O端口或RAM存儲器選擇線,若IO/ =0,則單片機選中81C55片內(nèi)的RAM存儲器;若IO/ =1,則AT89S51單片機選中81C55的某一I/O端口。n 和和 :當 =0且 =1時,81C55被讀出數(shù)據(jù)狀態(tài);當 =1且 = 0時,81C55被寫入數(shù)據(jù)狀態(tài)。15CEMCECEMMRDWRRDWRRDWRM15nALE:允許地址輸入線,高有效。81C55的ALE常和 AT89S51的ALE相連。nTIMERIN和和 : TIMERIN是計數(shù)器脈沖

12、輸入線,輸入的脈沖上跳沿上跳沿用于對81C55片內(nèi)的14位計數(shù)器減1。 為計數(shù)器輸出線計數(shù)器輸出線,當14位計數(shù)器減為0時就可以在該引線上輸出脈沖或方波輸出脈沖或方波,輸出脈沖或方波與所選的計數(shù)器工作方式有關(guān)。(4)電源線。VCC為+5V電源輸入線,VSS接地。16TIMEROUTTIMEROUT163CPU對對81C55 I/O端口的控制端口的控制 對對I/O口兩種工作方式的認識:口兩種工作方式的認識: 基本方式:基本方式: 輸出:輸出: 輸入:輸入:01010101地址數(shù)據(jù)控制01010101PA口01010101地址控制數(shù)據(jù)01010101PA口17選通方式:選通方式: 輸出:輸出: 輸

13、入:輸入:01010101地址數(shù)據(jù)控制01010101PA口PC口選通中斷滿提示01010101地址控制數(shù)據(jù)01010101PA口PC口選通中斷滿提示18 (1)81C55各端口及各端口及RAM單元的地址分配單元的地址分配 內(nèi)部有7個端口個端口,需要3位地址位地址A2A0上的不同組合 代碼來加以區(qū)分。19IO/A7A6A5A4A3A2A1A0 選中的端口選中的端口01000控制/狀態(tài)寄存器01001PA口01010PB口01011PC口01100計數(shù)器低8位101計數(shù)器高8位CEM19 圖圖9-13 81C55的控制字格式的控制字格式20(2)81C55的控制字的控制字20(3)81C55的狀

14、態(tài)字的狀態(tài)字 狀態(tài)標志寄存器,用來存入PA口和PB口的狀態(tài)標志。它的地址地址與控制寄存器地址相同與控制寄存器地址相同,只能對其讀出,不能寫入只能對其讀出,不能寫入。 圖圖9-14 81C55狀態(tài)字格式狀態(tài)字格式211存儲器方式存儲器方式存儲器方式用于對片內(nèi)256B RAM單元進行讀/寫,若IO/ =0且 =0,則AT89S51可通過AD7AD0上的地址選擇RAM存儲器中任意單元讀/寫。2I/O方式方式 分基本基本I/O和選通選通I/O兩種方式。 在I/O方式下,81C55可選擇片內(nèi)任意端口寄存器讀/寫,端口地址由A2、A1、A0三位決定。(1)基本)基本I/O方式方式。 當控制字的D3、D2為

15、為00或或11時,時, PA、PB、PC用作 基本I/O方式。00時時PC為輸入,為輸入,11時時PC為輸出。為輸出。 22MCE9.3.2 81C55的工作方式的工作方式22 PA、PB口是輸入還是輸出由控制字的D0和D1位決定。例例: 若把02H的命令字送到81C55命令寄存器,則81C55的 PA口和PC口各位設(shè)定為輸入方式(D0=0,D2D3=00) ,PB口設(shè)定為輸出方式(D1=1)。 (2)選通)選通I/O方式。方式。 D3D2=01,僅PA口為選通方式(數(shù)據(jù)口),PC口低三位 做聯(lián)絡(luò)應(yīng)答信號線。 D3D2=10, PA口、PB口均為選通方式(數(shù)據(jù)口), PC 口做聯(lián)絡(luò)應(yīng)答信號線。

16、 PC口各位應(yīng)答聯(lián)絡(luò)線的定義是在設(shè)計81C55時規(guī)定的,其 分配和命名見表表9-3。232324ASTBASTBBSTB 選通I/O方式下PA口和PB口的輸入、輸出選擇依然是由控制字的D0和D1位決定。 選通選通I/O數(shù)據(jù)輸入數(shù)據(jù)輸入 PA口和口和PB口口都可設(shè)定為本方式。若命令字中D0=0且D3、D2=01,則僅PA口設(shè)定為選通輸入工作方式;24若命令字中若命令字中D1D0= 00且D3D2=10,則PA、PB口均設(shè)定為選通輸入工作方式。252526 選通選通I/O數(shù)據(jù)輸出數(shù)據(jù)輸出PA口和口和PB口口都可設(shè)定為本方式。命令字命令字D0=1且且D3D2=01,則僅PA口設(shè)定為本工作方式;命令字

17、命令字D1D0=11且D3D2=10,則PA、PB口均設(shè)定為本工作方式。263內(nèi)部計數(shù)器內(nèi)部計數(shù)器/計數(shù)器及使用計數(shù)器及使用計數(shù)器的格式如圖:圖: 圖圖9-16 81C55計數(shù)器的格式計數(shù)器的格式其中,T13T0為計數(shù)器的計數(shù)位,通過對計數(shù)位的賦初值可設(shè)定計數(shù)器的計數(shù)長度;M2、M1用來設(shè)置計數(shù)器的輸出方式。81C55計數(shù)器的4種工作方式種工作方式及對應(yīng)的引腳輸出波形引腳輸出波形如圖圖9-17所示。272728圖圖9-17 81C55計數(shù)器工作方式及計數(shù)器工作方式及 引腳輸出波形引腳輸出波形28計數(shù)初值與輸出波形的關(guān)系:計數(shù)初值與輸出波形的關(guān)系:方波輸出:方波輸出: 計數(shù)值的前一半輸出高電平,

18、后一半輸出低電平; 注意:若寫入計數(shù)器的初值為初值為奇數(shù)奇數(shù), 引腳的方波輸出方波輸出是 不對稱不對稱的。 例如例如:初值為初值為9時,計數(shù)器的輸出,在5個計數(shù)脈 沖周期內(nèi)為高電平高電平,4個計數(shù)脈沖周期內(nèi)為 低電平。僅在一個計數(shù)周期的最后一個計數(shù)值時輸出寬度為 一個計數(shù)脈沖周期的低電平。29計數(shù)初值的設(shè)定及計數(shù)器啟動:計數(shù)初值的設(shè)定及計數(shù)器啟動: 任何時候任何時候都可設(shè)置計數(shù)器初值初值和工作方式,工作方式,將控制字寫入定時器寄存器TL、TH即可。 若計數(shù)器沒有計數(shù)若計數(shù)器沒有計數(shù),則寫入啟動命令(控制字高兩 位TM2TM1=11),則計數(shù)器按設(shè)定開始計數(shù); 若計數(shù)器正在計數(shù)若計數(shù)器正在計數(shù),

19、在寫入啟動命令后,并且當前計數(shù)完成后,計數(shù)器接收新計數(shù)長度并按新的工作方式計數(shù)。注意:注意:81C55計數(shù)初值的范圍是計數(shù)初值的范圍是02H3FFFH.若將若將0、1 作為初值,則與將初值送作為初值,則與將初值送2的結(jié)果一樣。的結(jié)果一樣。 30309.3.3 AT89S51單片機與單片機與81C55的接口設(shè)計及軟件編程的接口設(shè)計及軟件編程1硬件接口電路硬件接口電路直接連接不需外加器件。 31A15(P2.7) A8(P2.0) A7-A00000-FFH A14-A9111111A15(P2.7) A8(P2.0) A7-A30100000 A14-A9111111 A2-A00-531323

20、2281C55的編程的編程 初始化程序設(shè)計。初始化程序設(shè)計。【例例9-6】若PA口定義為基本輸入方式,PB口定義為基本輸出方式,對輸入脈沖進行24分頻(81C55計數(shù)器的最高最高計數(shù)頻率計數(shù)頻率為4MHz),則81C55的初始化程序初始化程序如下:分析:分析:向計數(shù)器高八位寫40H,即TH的M2M1=01H,即 連續(xù)方波輸出方式; 向控制寄存器寫C2H,寄存器各位取值如下:331 1 0 0 0 0 1 033INC DPTR;指向計數(shù)器高;指向計數(shù)器高8位位MOV A,40H;計數(shù)器為連續(xù)方波輸出;計數(shù)器為連續(xù)方波輸出MOVX DPTR,A;計數(shù)初值高;計數(shù)初值高6位裝入計數(shù)器位裝入計數(shù)器M

21、OV DPTR,7F00H;指向命令;指向命令/狀態(tài)口狀態(tài)口MOV A,#0C2H;設(shè)定命令控制字;設(shè)定命令控制字MOVX DPTR,A;A口基本輸入,口基本輸入,B口基本輸出,開啟計數(shù)口基本輸出,開啟計數(shù) START: MOV DPTR,7F04H;DPTR指針指向計數(shù)器低指針指向計數(shù)器低8位位 MOV A,18H ;計數(shù)初值;計數(shù)初值24送送A MOVX DPTR,A;計數(shù)初值低;計數(shù)初值低8位裝入計數(shù)器位裝入計數(shù)器34【例例9-7】讀81C55的7EF1H單元。程序如下:程序如下: MOV DPTR,#7EF1H;DPTR指針指向 81C55的7EF1H單元 MOVX A,DPTR ;7

22、EF1H單元內(nèi)容A【例例9-8】將立即數(shù)41H寫入81C55 RAM的7E20H單元。程序 如下: MOV A,#41H ;立即數(shù);立即數(shù)A MOV DPTR,#7E20H ;DPTR指針指向指針指向 ; 81C55的的7E20H單元單元 MOVX DPTR,A ;立即數(shù);立即數(shù)41H送送81C55 ; RAM的的7E20H單元單元359.4 利用利用74LSTTL電路擴展并行電路擴展并行I/O口口36輸出輸出輸入輸入輸出端口地址:輸出端口地址:FEFFH(只寫(只寫)輸入端口地址:輸入端口地址:FEFFH(只讀(只讀)36當某條輸入口線的按鈕開關(guān)按下時,該輸入口線為低電為低電平平,讀入單片機后,其相應(yīng)位為“0”,然后再將口線的狀態(tài)經(jīng)74LS273輸出,某位低電平時二極管發(fā)光,從而顯示出按下的按鈕開關(guān)的位置。該電路的工作原理電路的工作原理如下。當P2.0=0, =0( =1)時,選中74LS244芯片,此時若無按鈕開關(guān)按下,輸入全為高電平。當某開關(guān)按下時則對應(yīng)位輸入為“0”,74LS244的輸入端不全為“1”,其輸入狀態(tài)通過P0口數(shù)據(jù)線被讀入AT89S51片內(nèi)。37RDWR37當P2.

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論