版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第9章 51單片機(jī)擴(kuò)展 I/O接口的設(shè)計(jì)2 2 第第9章章 目錄目錄內(nèi)容概要內(nèi)容概要9.1 并行I/O接口電路與編址9.2 可編程8255并行I/O接口芯片的擴(kuò)展 9.2.1 8255芯片簡(jiǎn)介 9.2.2 8255的工作方式 9.2.3 8255與51單片機(jī)的接口及應(yīng)用9.3 可編程8155并行I/O接口芯片的擴(kuò)展 9.3.1 8155芯片介紹 9.3.2 8155的I/O端口的工作方式 9.3.3 8155與51單片機(jī)的接口及應(yīng)用習(xí)題3 3 內(nèi)容概要內(nèi)容概要 51單片機(jī)有4個(gè)8位并行輸入/輸出(I/O)端口,在實(shí)際的單片機(jī)應(yīng)用系統(tǒng)中,如果需要擴(kuò)展存儲(chǔ)器或其它接口芯片,則只有P1口能夠作為通
2、用的I/O口使用。在設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)時(shí),雖然能夠選擇增強(qiáng)型51單片機(jī),盡可能的避免擴(kuò)展單片機(jī)的外部接口芯片,但對(duì)于功能較為復(fù)雜的單片機(jī)應(yīng)用系統(tǒng),仍然會(huì)需要擴(kuò)展I/O接口芯片,其接口電路設(shè)計(jì)與編程應(yīng)用是設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的基本技能之一。本章主要介紹并行并行I/O接口芯片接口芯片8255和和8155與與51單片單片機(jī)的接口電路與編程方法機(jī)的接口電路與編程方法。49.1 9.1 并行并行I/OI/O接口電路與編址接口電路與編址1. I/O1. I/O接口功能接口功能 (1) (1) 實(shí)現(xiàn)實(shí)現(xiàn)CUPCUP與外設(shè)速度匹配與外設(shè)速度匹配 由于外部設(shè)備外部設(shè)備(如打印機(jī)等)的工作速度慢工作速度慢,與單片機(jī)
3、微秒級(jí)速度相差甚遠(yuǎn)微秒級(jí)速度相差甚遠(yuǎn),單片機(jī)只有在確認(rèn)外設(shè)已為數(shù)據(jù)傳確認(rèn)外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備的前提下才能進(jìn)行數(shù)據(jù)傳送送做好準(zhǔn)備的前提下才能進(jìn)行數(shù)據(jù)傳送。而要知道外設(shè)是否準(zhǔn)備好,就需要I/O接口電路與外設(shè)之間傳送狀態(tài)信息,以實(shí)現(xiàn)單片機(jī)與外設(shè)之間的速度匹配速度匹配。45 1. I/O 1. I/O接口功能接口功能 (2) (2) 輸出數(shù)據(jù)鎖存輸出數(shù)據(jù)鎖存 與外設(shè)相比,由于單片機(jī)的工作速度快,數(shù)據(jù)在數(shù)據(jù)總線數(shù)據(jù)在數(shù)據(jù)總線上保留的時(shí)間十分短暫短暫,無(wú)法滿足慢速外設(shè)的數(shù)據(jù)接收。所以在擴(kuò)展的I/O接口電路中應(yīng)有輸出數(shù)據(jù)鎖存器輸出數(shù)據(jù)鎖存器,以保證輸出數(shù)據(jù)能為慢速的接收設(shè)備接收后能夠保存能夠保存。 (3
4、) (3) 輸入數(shù)據(jù)三態(tài)緩沖輸入數(shù)據(jù)三態(tài)緩沖 單片機(jī)需要經(jīng)過數(shù)據(jù)總線從外設(shè)輸入數(shù)據(jù),但數(shù)據(jù)總線上可能“掛”有多個(gè)數(shù)據(jù)源,為使傳送數(shù)據(jù)傳送數(shù)據(jù)時(shí)不發(fā)生沖突不發(fā)生沖突,只允許當(dāng)前時(shí)刻正在輸出或輸入數(shù)據(jù)的外部接口芯片使用數(shù)據(jù)總線,其它外部接口芯片應(yīng)處于隔離狀態(tài)隔離狀態(tài),為此要求與數(shù)據(jù)總線連接的外部接口芯片的電路向單片機(jī)輸出數(shù)據(jù)的部件必須具有三態(tài)緩沖功能三態(tài)緩沖功能。562. I/O2. I/O接口電路的編址接口電路的編址I/OI/O接口:接口:是單片機(jī)與外設(shè)間的連接電路的總稱連接電路的總稱。I/OI/O端口端口(簡(jiǎn)稱I/O口):是指I/O接口電路中具有單單元地址元地址的寄存器或緩沖器。一個(gè)I/O接口
5、芯片可以有多個(gè)I/O端口,如數(shù)據(jù)口,命令口,狀態(tài)口數(shù)據(jù)口,命令口,狀態(tài)口。當(dāng)然,并不是所有的外設(shè)都一定需要3種端口齊全的I/O接口。每個(gè)I/OI/O接口中的端口接口中的端口都要有地址都要有地址,以便51單片機(jī)通過讀寫端口來(lái)和外設(shè)交換信息和外設(shè)交換信息。常用的I/OI/O端口編址端口編址有兩種方式,獨(dú)立編址方式獨(dú)立編址方式與統(tǒng)一編址方式統(tǒng)一編址方式。67 (1) (1) 獨(dú)立編址獨(dú)立編址 I/O端口地址空間和存儲(chǔ)器地址空間分開編址分開編址。優(yōu)點(diǎn)是I/O地址空間和存儲(chǔ)器地址空間相互獨(dú)立,界限分明。但需要設(shè)置一套專專門的讀寫門的讀寫I/OI/O端口的指令和控制信號(hào)端口的指令和控制信號(hào)。 (2) (2
6、) 統(tǒng)一編址統(tǒng)一編址 把I/O端口與外部數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)單元同等對(duì)待。I/O端口和外部數(shù)據(jù)存儲(chǔ)器RAM統(tǒng)一編址統(tǒng)一編址。因此外部數(shù)據(jù)存儲(chǔ)器的地址空間和I/O端口的地址空間屬于同一個(gè)地址空間同一個(gè)地址空間。優(yōu)點(diǎn)是不需專門的I/O指令。缺點(diǎn)是需要把數(shù)據(jù)存儲(chǔ)器單元地址與數(shù)據(jù)存儲(chǔ)器單元地址與I/OI/O端口地址進(jìn)行地址端口地址進(jìn)行地址配置,劃分清楚,避免數(shù)據(jù)沖突配置,劃分清楚,避免數(shù)據(jù)沖突。5151單片機(jī)單片機(jī)采用采用的是統(tǒng)一編址的方的是統(tǒng)一編址的方式式。783. I/O3. I/O并行接口的特點(diǎn)并行接口的特點(diǎn) 能夠用于I/O接口的芯片主要分為兩種分為兩種:一是應(yīng)用不可編程的不可編程的鎖存器集成芯片鎖
7、存器集成芯片,比如74LS373作為8位輸出口擴(kuò)展,74LS244作為8位輸入口擴(kuò)展,每一個(gè)每一個(gè)I/OI/O口都必須編址口都必須編址,在51單片機(jī)的 信號(hào)的控制下完成數(shù)據(jù)的輸入/輸出。對(duì)擴(kuò)展的I/O口的操作只能夠使用MOVXMOVX類型的數(shù)據(jù)傳輸指令。用于擴(kuò)展8位輸入口的芯片與51單片機(jī)數(shù)據(jù)總線連接的8位端口必須具有三態(tài)功能三態(tài)功能,在選擇擴(kuò)展8位數(shù)據(jù)輸入接口芯片時(shí)尤其要注意這一點(diǎn)。二是應(yīng)用多功能可編程并行多功能可編程并行I/OI/O接口芯片接口芯片,其特點(diǎn)是能夠直接與51單片機(jī)的總線連接,有多個(gè)工作方式多個(gè)工作方式可以選選擇擇,在任何時(shí)刻任何時(shí)刻,只能工作于其中的一種工作方式只能工作于其中
8、的一種工作方式,工作方式的選擇通過編程設(shè)置命令寄存器的每一位的狀態(tài)來(lái)實(shí)現(xiàn)。899.2 9.2 可編程可編程82558255并行并行I/OI/O接口芯片的擴(kuò)展接口芯片的擴(kuò)展9.2.1 82559.2.1 8255芯片簡(jiǎn)介芯片簡(jiǎn)介 82558255(82C5582C55)是Intel公司生產(chǎn)的通用可編程并行輸通用可編程并行輸入入/ /輸出接口芯片輸出接口芯片,能夠直接與單片機(jī)應(yīng)用系統(tǒng)的總線連總線連接接,它有1 1個(gè)命令寄存器個(gè)命令寄存器,3 3個(gè)個(gè)8 8位并行輸入輸出端口位并行輸入輸出端口,有3 3種工作方式種工作方式,對(duì)命令寄存器進(jìn)行設(shè)置選擇其工作方式。8255使用方便,通用性強(qiáng),獲得廣泛的應(yīng)用
9、。91010111 1引腳說明引腳說明共4040個(gè)引腳個(gè)引腳,引腳功能如下引腳功能如下:D7D7D0D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)的P0口連接,用來(lái)與單片機(jī)之間傳送數(shù)據(jù)信息。 :片選信號(hào)線,低有效,表示本芯片被選中。 :讀信號(hào)線,低有效,讀8255端口數(shù)據(jù)的控制信號(hào)。 :寫信號(hào)線,低電平有效,用來(lái)向8255寫入端口數(shù)據(jù)的控制信號(hào)。 V VCCCC:+5V電源。11CSRDWR12PA7PA7PA0PA0:端口A輸入/輸出線。PB7PB7PB0PB0:端口B輸入/輸出線。PC7PC7PC0PC0:端口C輸入/輸出線。A1A1、A0A0:地址線,用來(lái)選擇82C55內(nèi)部的4個(gè)端口。RESETRESE
10、T:復(fù)位引腳,高電平有效。2 282558255內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 如圖圖9-29-2所示所示,3 3個(gè)并行數(shù)據(jù)輸入個(gè)并行數(shù)據(jù)輸入/ /輸出端口輸出端口,兩組控兩組控制電路制電路,1個(gè)讀/寫控制邏輯電路和1個(gè)8位數(shù)據(jù)總線緩沖器。部件的功能如下:1213 (1)(1) I/O I/O端口的端口端口的端口A A、端口、端口B B和端口和端口C C 端口A、端口B和端口C都是8位端口,可以選擇作為輸入或輸出口。端口端口C C還可分開設(shè)置分開設(shè)置為高高4 4位位和低低4 4位位的兩個(gè)兩個(gè)4 4位端位端口口,分別作為端口A、端口B在選通工作方式操作時(shí)的狀態(tài)控制信號(hào)。 (2)(2) 內(nèi)部控制邏輯電路內(nèi)部控制
11、邏輯電路 兩組內(nèi)部控制邏輯電路包括A A組控制組控制與B B組控制組控制兩部分。 A A組控制邏輯組控制邏輯:控制端口A(PA口)的PA7PA0和端口C(PC口)的高4位PC7PC4; B B組控制邏輯組控制邏輯:控制端口B(PB口)的PB7PB0和端口C(PC口)的低4位PC3PC0。 命令寄存器命令寄存器:設(shè)置A組控制和B組控制的功能,還可以對(duì)端口端口C C實(shí)現(xiàn)按位置位按位置位或按位復(fù)位按位復(fù)位的操作。1314 (4) (4) 讀讀/ /寫控制邏輯電路寫控制邏輯電路 接收接收5151單片機(jī)發(fā)來(lái)單片機(jī)發(fā)來(lái)的控制信號(hào)控制信號(hào) 、 、RESETRESET、地址信號(hào)地址信號(hào)A1A1、A0A0等,然
12、后根據(jù)控制信號(hào)的要求,端口數(shù)據(jù)被51單片機(jī)讀出,或者將51單片機(jī)送來(lái)的數(shù)據(jù)寫入端口。 各端口工作狀態(tài)與控制信號(hào)的關(guān)系見表表9-19-1。14RDWR (3) 數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是一個(gè)8位三態(tài)數(shù)據(jù)緩沖器,作為8255與單片機(jī)系統(tǒng)總線之間的接口,用來(lái)傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。1515RDWRCS169.2.2 82559.2.2 8255工作方式工作方式1 1工作方式選擇控制字工作方式選擇控制字8255有3 3種種基本工作方式:(1) (1) 方式方式0 0基本輸入/輸出;(2) (2) 方式方式1 1選通輸入/輸出;(3) (3) 方式方式2 2雙向傳送(僅PA口有此
13、工作方式)。3種工作方式由命令寄存器的方式控制字來(lái)決定。格式格式如圖圖9-39-3所示所示。最高位D7=1D7=1,為本方式控制字的標(biāo)志標(biāo)志,以便與另一控制字相區(qū)別(最高位D7 = 0)。161717圖圖9-3 82C55的方式控制字格式的方式控制字格式 PC PC口分兩部分口分兩部分,隨,隨PAPA口口稱為稱為A A組組,隨,隨PBPB口口稱為稱為B B組組。其中。其中PAPA口口可工作于方式可工作于方式0 0、1 1和和2 2,而,而PBPB口口只能工作在只能工作在方式方式0 0和和1 1。18 例例9191 設(shè)8255命令寄存器的地址為FF7FH,試編寫其初始化程序,使PA口工作于方式0
14、輸出,PB口工作于方式0輸入,PC口的PC7PC4為輸出,PC口的PC3PC0為輸入。 依題意,按照?qǐng)D93,設(shè)置命令寄存器設(shè)置命令寄存器的D7=1,D6D5=00,D4=D3=0,D2=0,D1=D0=1;則8255的控制字為:10000011B=83H,初始化程序如下:MOV DPTR, #0FF7FH ;命令寄存器的地址FF7FHDPTRMOV A, #87H ;方式控制字83H送AMOVXDPTR, A ;方式控制字送命令寄存器18192 2PCPC口按位置位口按位置位/ /復(fù)位控制字復(fù)位控制字 8255的PC口具有對(duì)任意一位任意一位的位控位控功能,即單片機(jī)向8255命令寄存器寫入一個(gè)按
15、位置位/復(fù)位控制字對(duì)PC口的某一位進(jìn)行置1或復(fù)0,而PC口的其它位狀態(tài)不變。PC口按位置位/復(fù)位控制字格式如圖94所示。 例例9 92 2 設(shè)8255命令寄存器的地址為FF7FH,編寫8255初始化程序,使PC口的PC2引腳置成高電平輸出,其它位不變。 依題意,按照?qǐng)D94,控制字設(shè)置為00000101B= 05H,初始化程序段為:MOVDPTR, #0FF7FH MOVA, #05H ;控制字05H累加器AMOVXDPTR, A ;控制字05H命令寄存器,PC2置1192020圖圖9-4 PC口按位置位口按位置位/復(fù)位控制字格式復(fù)位控制字格式213. 82553. 8255的的3 3種工作方式
16、種工作方式 (1)(1) 方式方式0 0 基本輸入基本輸入/ /輸出方式輸出方式 8255工作于方式0和外設(shè)交換數(shù)據(jù)時(shí),無(wú)須選通信號(hào)無(wú)須選通信號(hào)。如果設(shè)置命令寄存器D6D5=00D6D5=00,則PA口和PC口的PC7PC4設(shè)置成設(shè)置成基本輸入基本輸入/ /輸出方式輸出方式;如果D2=0D2=0,則PB口和PC口的PC3PC0設(shè)置設(shè)置成基本輸入成基本輸入/ /輸出方式輸出方式,基本輸入/輸出方式適用于同步或無(wú)條件數(shù)據(jù)傳送應(yīng)用場(chǎng)合。若作為輸出端口,輸出數(shù)據(jù)被鎖存;若作為輸入端口,輸入數(shù)據(jù)沒有鎖存僅有緩沖。 (2)(2) 方式方式1 1 選通輸入輸出方式選通輸入輸出方式 方式方式1 1:采用應(yīng)答聯(lián)
17、絡(luò)應(yīng)答聯(lián)絡(luò)的輸入輸入/ /輸出工作方式輸出工作方式,只有PA口和PB口可工作于這種方式,可以設(shè)置為輸入或輸出。選通輸入輸出方式能夠?qū)崿F(xiàn)中斷方式向單片機(jī)傳送I/O數(shù)據(jù)。2122 (1) (1) 方式方式1 1輸入輸入 方式1輸入應(yīng)答聯(lián)絡(luò)信號(hào)如圖圖9-59-5所示所示。其中 與IBFIBF為一對(duì)一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào)。各應(yīng)答聯(lián)絡(luò)信號(hào)應(yīng)答聯(lián)絡(luò)信號(hào)的功能功能如下。n :是由輸入外設(shè)輸入外設(shè)發(fā)給8255的選通輸入信號(hào)選通輸入信號(hào),低有效。nIBFIBF:輸入緩沖器滿,應(yīng)答信號(hào)。8255通知外設(shè)已收到外設(shè)發(fā)來(lái)的且已進(jìn)入輸入緩沖器的數(shù)據(jù),高有效。nINTRINTR:由8255向單片機(jī)發(fā)出的中斷請(qǐng)求信號(hào),高有效。n
18、INTEINTEA A:控制PAPA口是否允許中斷口是否允許中斷的控制信號(hào),由PC4PC4的置位/復(fù)位來(lái)控制。22STBSTB23nINTEINTEB B:控制PB口是否允許中斷的控制信號(hào),由PC2PC2的置位/復(fù)位來(lái)控制。方式方式1 1輸入的工作過程輸入的工作過程: : 當(dāng)外設(shè)向8255輸入一個(gè)數(shù)據(jù)并送到PA7PA0時(shí),外設(shè)自動(dòng)在 上向8255發(fā)送一個(gè)低電平選通信號(hào)。 8255收到 后,先把PA7PA0輸入的數(shù)據(jù)存入存入PA口的輸入數(shù)據(jù)緩沖/鎖存器,然后使輸出應(yīng)答線IBFIBF變?yōu)楦?,通知輸入外設(shè),PA口已收到它送來(lái)的數(shù)據(jù)。 8255檢測(cè)到 由低電平變?yōu)楦唠娖?、IBFA(PC5)為“1”狀態(tài)
19、和中斷允許INTEA(PC4)=1時(shí),使INTRINTRA A(PC3PC3)變?yōu)楦唠娖剑┳優(yōu)楦唠娖剑騿纹瑱C(jī)發(fā)出中斷請(qǐng)求。23STBSTBSTB24INTEA的狀態(tài)可由用戶通過指令對(duì)PC4PC4的單一置位/復(fù)位控制字來(lái)控制。 單片機(jī)響應(yīng)中斷后,進(jìn)入中斷服務(wù)子程序進(jìn)入中斷服務(wù)子程序來(lái)讀取讀取PAPA口的外設(shè)發(fā)來(lái)的輸入數(shù)據(jù)口的外設(shè)發(fā)來(lái)的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被單片機(jī)讀走后,8255撤銷撤銷INTRINTRA A上的中斷請(qǐng)求上的中斷請(qǐng)求,并使IBFIBFA A變低低,通知輸入外通知輸入外設(shè)設(shè)可傳送下一個(gè)輸入數(shù)據(jù)。242525262627 方式方式1 1輸出工作過程輸出工作過程方式1輸出時(shí),應(yīng)答聯(lián)絡(luò)信
20、號(hào)如圖圖9-79-7所示所示。 與與 構(gòu)成一對(duì)一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào)應(yīng)答聯(lián)絡(luò)信號(hào),應(yīng)答聯(lián)絡(luò)信號(hào)功能如下。n :端口輸出緩沖器滿信號(hào),低有效,它是8255發(fā)給外設(shè)的聯(lián)絡(luò)信號(hào),表示外設(shè)可以將數(shù)據(jù)取走。n :外設(shè)應(yīng)答信號(hào),低有效。表示外設(shè)已把8255發(fā)出的數(shù)據(jù)取走。nINTRINTR:中斷請(qǐng)求信號(hào),高有效。表示該數(shù)據(jù)已被外設(shè)取走,向單片機(jī)單片機(jī)發(fā)出中斷請(qǐng)求,如果51單片機(jī)響應(yīng)該中斷,在中斷服務(wù)子程序中向8255寫入要輸出的下一數(shù)據(jù)。27OBFACKOBFACK28nINTEINTEA A控制PA口是否允許中斷,由PC6PC6控制。nINTEINTEB B控制PB口是否允許中斷,由PC2PC2控制。方式1輸
21、出工作示意如圖圖9-89-8所示所示。以PBPB口的方式口的方式1 1輸出輸出為例,介紹工作過程。 51單片機(jī)可以通過“MOVX RMOVX Ri i,A A”指令把輸出數(shù)據(jù)送到B口的輸出數(shù)據(jù)鎖存器,8255收到后便令輸出緩沖器滿引腳 (PC1)變低,以通知輸出設(shè)備輸出的數(shù)據(jù)已在PB口的PB7PB0上。 輸出外設(shè)收到 上低電平后,先從PB7PB0上取走輸出數(shù)據(jù),然后使 B B 變低電平,以通知8255輸出外設(shè)已收到8255輸出的數(shù)據(jù)。28OBFACKOBF2929303031 8255從應(yīng)答輸入線 B B收到低電平后就對(duì) B B 和中斷允許控制位INTEINTEB B狀態(tài)進(jìn)行檢測(cè),若皆為高電平
22、,則INTRINTRB B變?yōu)楦唠娖阶優(yōu)楦唠娖蕉騿纹瑱C(jī)請(qǐng)求中斷。 單片機(jī)響應(yīng)響應(yīng)INTRINTRB B上中斷請(qǐng)求后便可通過中斷服務(wù)程序把下一個(gè)輸出數(shù)據(jù)下一個(gè)輸出數(shù)據(jù)送到PB口的輸出數(shù)據(jù)鎖存器。重復(fù)上述過程,完成數(shù)據(jù)的輸出。 (3)(3) 方式方式2 2 選通雙向輸入輸出方式選通雙向輸入輸出方式 只有PA口才有方式2。方式方式2 2是是方式方式1 1輸入輸入和和輸出輸出組合組合。PA7PA7PA0PA0為雙向I/O總線。當(dāng)作為輸入口使用,PA7PA0受STBSTBA A 和IBFIBFA A控制;當(dāng)作輸出端口輸出端口使用,PA7PA0受 A A 、 A A 控制。31ACKOBFACKOBF3
23、2 方式方式2 2特別適用于像鍵盤、顯示器一類的外部設(shè)備特別適用于像鍵盤、顯示器一類的外部設(shè)備,因?yàn)橛袝r(shí)需要把鍵盤上輸入的編碼信號(hào)通過PA口送給單片機(jī),有時(shí)又需把單片機(jī)發(fā)出的數(shù)據(jù)通過PA口送給顯示器顯示。9.2.3 82559.2.3 8255與與5151單片機(jī)的接口及應(yīng)用單片機(jī)的接口及應(yīng)用1 1硬件接口電路硬件接口電路 如圖圖9-99-9為51單片機(jī)擴(kuò)展一片8255的電路。P0.1P0.1、P0.0P0.0經(jīng)經(jīng)74LS37374LS373與與82C5582C55的的A1A1、A0A0連接連接;P0.7經(jīng)74LS373與8255片選端 相連,其它地址線懸空;8255的控制線 、 直接與單片機(jī)
24、和和 端相連;單片機(jī)數(shù)據(jù)總線P0.0P0.7與8255數(shù)據(jù)線D0D7連接。32CSRDWRRDWR332 2確定確定82558255端口地址端口地址 圖圖9-99-9中中82558255只有只有3 3條線與條線與5151單片機(jī)地址線相接,片單片機(jī)地址線相接,片選端選端 、端口地址選擇端、端口地址選擇端A1A1、A0A0,分別接于,分別接于P0.7P0.7、P0.1P0.1和和P0.0P0.0,其他地址線全懸空。顯然只要保證,其他地址線全懸空。顯然只要保證P0.7P0.7為低為低電平時(shí),電平時(shí),即可選中即可選中82558255;若;若P0.1P0.1、P0.0P0.0再為再為“0000”,則選,
25、則選中中82558255的的PAPA口。同理口。同理P0.1P0.1、P0.0P0.0為為“0101”、“1010”、“1111”分別選中分別選中PBPB口、口、PCPC口及控制口??诩翱刂瓶?。 若端口地址用若端口地址用1616位表示,其他無(wú)用端全設(shè)為位表示,其他無(wú)用端全設(shè)為“1 1”(也可把無(wú)用端全設(shè)為(也可把無(wú)用端全設(shè)為“0 0”),則),則82558255的的A A、B B、C C及控制及控制口口地址地址分別為分別為FF7CHFF7CH、FF7DHFF7DH、FF7EHFF7EH、FF7FHFF7FH。33CS343435 例例9393 根據(jù)圖99電路,要求從8255的PC口的PC3輸出
26、一個(gè)正脈沖,試編寫該功能的子程序。 分析分析:假設(shè)單片機(jī)應(yīng)用系統(tǒng)外部擴(kuò)展使用了16位地址線,PC3輸出低電平的控制字為:06H=00000110B;PC3輸出高電平的控制字為07H=00000111B,子程序如下:MAICH:MOV DPTR, # 0FF7FH MOV A, #06H MOVX DPTR, A MOV A, #07 MOVX DPTR, A MOV A, #06H MOVX DPTR,A RET3536 例例9494 根據(jù)圖99電路,假設(shè)PA口接一組開關(guān),PB口接一組指示燈,將單片機(jī)工作寄存器R7的內(nèi)容送指示燈,將開關(guān)狀態(tài)讀入工作寄存器R2,試編寫實(shí)現(xiàn)該功能的子程序。 分析分
27、析:依題意,PA口、PB口均為不需應(yīng)答聯(lián)絡(luò)信號(hào)的基本輸入/輸出,故可初始化8255的PA口為方式0輸入,PB口為方式0輸出,PC口的輸入/輸出方式?jīng)]有要求,控制字相應(yīng)位置0,因此8255工作方式控制字為10010000B=90H。假設(shè)單片機(jī)應(yīng)用系統(tǒng)外部擴(kuò)展只使用了8位地址線,編制的子程序如下:ZHSHD: MOV R0, #7FH ;命令寄存器地址R0MOV A, #90H ;8255工作方式控制字90H累加器AMOVX R0, A ;方式控制字寫入8255命令寄存器MOV R0, #7CH ;PA口地址R0MOVX A, R0 ;讀PA口開關(guān)狀態(tài)MOV R2, A ;將PA口內(nèi)容R2MOV
28、R0, #7DH ;PB口地址R0MOV A, R7MOVX R0, A ;將R7內(nèi)容PB口RET36379.3 9.3 可編程8155并行I/O接口芯片的擴(kuò)展37 9.3.1 8155芯片介紹芯片介紹 8155(81C55)是Intel公司生產(chǎn)的可編程接口芯片,具有40個(gè)引腳,與單片機(jī)的接口簡(jiǎn)單,功能較強(qiáng),是單片機(jī)應(yīng)用系統(tǒng)中廣泛使用的I/O接口芯片。 18155的結(jié)構(gòu)的結(jié)構(gòu) 邏輯結(jié)構(gòu)如圖圖9-10。38 8155芯片的內(nèi)部邏輯結(jié)構(gòu)主要由以下三部分構(gòu)成三部分構(gòu)成: (1) I/O(1) I/O接口接口:兩個(gè)可編程兩個(gè)可編程的8 8位并行位并行I/OI/O端口端口A A(A口:PA7PA0)、端
29、口端口B B(B口:PB7PB0)和一個(gè)可編程的6 6位并行位并行I/OI/O端口端口C C(C口:PC5PC0) (2) (2) 隨機(jī)存儲(chǔ)器:隨機(jī)存儲(chǔ)器:256字節(jié)的靜態(tài)RAM。 (3)(3) 定時(shí)定時(shí)/ /計(jì)數(shù)器:計(jì)數(shù)器:1個(gè)14位二進(jìn)制減法計(jì)數(shù)器,可以用于定時(shí)、計(jì)數(shù)或分頻。 8155內(nèi)部還有一個(gè)命令/狀態(tài)寄存器,命令寄存器只命令寄存器只能夠?qū)懭肽軌驅(qū)懭耄瑺顟B(tài)寄存器只能夠讀出狀態(tài)寄存器只能夠讀出。38392 281558155的引腳功能的引腳功能40引腳,采用雙列直插式封裝,如圖圖9-119-11所示所示。39圖圖9-11 8155的引腳圖的引腳圖40 (1)(1) AD7 AD7AD0A
30、D0:地址地址/ /數(shù)據(jù)線數(shù)據(jù)線,與51單片機(jī)的P0口相連,用于分時(shí)傳送地址/數(shù)據(jù)信息。 (2)(2) I/O I/O總線(總線(2222條):條): PA7 PA7PA0PA0:8 8位通用位通用I/OI/O端口端口,數(shù)據(jù)傳送方向由寫入8155的命令字決定; PB7 PB7PB0PB0: 8 8位通用位通用I/OI/O端口端口,用于傳送PB口上的外設(shè)數(shù)據(jù),數(shù)據(jù)傳送方向也由寫入8155的控制字決定。 PC5 PC5PC0PC0: 6 6位通用位通用I/OI/O端口、端口、數(shù)據(jù)數(shù)據(jù)/ /控制線控制線。通用I/O方式:傳送I/O數(shù)據(jù);選通I/O方式:用作傳送命令/狀態(tài)信息。4041 (3) (3)
31、 控制引腳控制引腳nRESETRESET:復(fù)位輸入線復(fù)位輸入線,在RESET線上輸入一個(gè)大于600ns寬的正脈沖時(shí),8155即可處于復(fù)位狀態(tài),PA、PB、PC三口也定義為輸入方式。n 、IO/ IO/ : 為片選線,若 =0,則51單片機(jī)選中本8155工作;否則,本8155未被選中。IOIO/ 為I/O端口或RAM存儲(chǔ)器選擇線,若IO/ IO/ =0:選中8155片內(nèi)的RAM存儲(chǔ)器;若IO/ IO/ =1:選中8155的某一I/O端口。n 和和 :當(dāng) =0且 =1時(shí),8155被讀出數(shù)據(jù)狀態(tài);當(dāng) =1且 = 0時(shí),8155被寫入數(shù)據(jù)。41CEMCECEMMRDWRRDWRRDWRM42nALEA
32、LE:允許地址輸入線允許地址輸入線,8155內(nèi)部設(shè)有地址鎖存器,在ALE的下降沿將單片機(jī)P0P0口輸出口輸出的低低8 8位地址位地址信息、片選信號(hào) 及IO/ 信號(hào)都鎖存到8155內(nèi)部鎖存器。 nTIMERINTIMERIN和和 :TIMERINTIMERIN是計(jì)數(shù)器脈沖輸入線脈沖輸入線,輸入的脈沖上跳沿用于對(duì)8155片內(nèi)的14位計(jì)數(shù)器減1。 :計(jì)數(shù)器輸出線計(jì)數(shù)器輸出線,當(dāng)14位計(jì)數(shù)器減為0時(shí)就 可以在該引線上輸出脈沖或方波輸出脈沖或方波,輸出脈沖或方波與所選的計(jì)數(shù)器工作方式有關(guān)。 (4)(4) 電源線電源線。V VCCCC為+5V電源輸入線,V VSSSS接地。42TIMEROUTTIMERO
33、UTCEM4343, 3 381558155端口及端口及RAMRAM單元地址編碼單元地址編碼 8155內(nèi)部共有6個(gè)端口,需要單片機(jī)低8位地址中的A2A0的不同組合的編碼來(lái)加以區(qū)分,8155端口低8位地址由AD7AD0確定。 表表9-29-2為端口地址分配以及RAM單元的選擇。44449.3.2 81559.3.2 8155的的I/OI/O端口的工作方式端口的工作方式 8155 8155的控制字的控制字(1)(1) TM2(D7)TM2(D7)、TM1(D6)TM1(D6)位:設(shè)置定時(shí)設(shè)置定時(shí)/ /計(jì)數(shù)器的操作計(jì)數(shù)器的操作。TM2、TM1=0000:空操作,不影響計(jì)數(shù)操作TM2、TM1=0101
34、:停止定時(shí)/計(jì)數(shù)器計(jì)數(shù)TM2、TM1=1010:若定時(shí)/計(jì)數(shù)器正在計(jì)數(shù),計(jì)數(shù)值減為0時(shí)停止計(jì)數(shù) TM2、TM1=1111:裝入方式和計(jì)數(shù)值后,立即啟動(dòng)定時(shí)/計(jì)數(shù)器,若 定時(shí)/計(jì)數(shù)器正在運(yùn)行,則達(dá)到計(jì)數(shù)值后,按新的 方式和計(jì)數(shù)初值予以啟動(dòng)。45 (2) (2) IEB(D5) IEB(D5)位位:確定端口B以選通輸入/輸出方式工作時(shí)是否允許中 斷請(qǐng)求,“0” 禁止;“1” 允許。 (3) (3) IEA(D4) IEA(D4)位位:確定端口A以選通輸入/輸出方式工作時(shí)是否允許中 斷請(qǐng)求,“0” 禁止;“1” 允許。 (4)(4) PC2(D3) PC2(D3)、PC1(D2)PC1(D2)位位:
35、設(shè)置端口A、B、C的工作方式。 PC2PC2、PC1=00PC1=00:方式方式1 1,A口、B口作為基本輸入基本輸入/ /輸出輸出,C C口口 作為輸入作為輸入; PC2PC2、PC1=11PC1=11:方式方式2 2,A口、B口作為基本輸入基本輸入/ /輸出輸出,C C口口 作為輸出作為輸出。45 PC2PC2、PC1=01PC1=01:方式方式3 3,A口:選通輸入/輸出,B口:基本輸 入/輸出;PC0:A口中斷信號(hào)線(AINTR); PC1:A口緩沖器滿信號(hào)線(ABF);PC2:A口 選通信號(hào)線,PC5PC3作為輸出。46 PC2PC2,PC1=10PC1=10:方式4,A口、B口作為
36、選通輸入/輸出,PC0作為 A口中斷信號(hào)線(AINTR),PC1作為A口緩沖器滿信號(hào)線(ABF), PC2作為A口選通信號(hào)線;PC3作為B口中斷信號(hào)線(BINTR),PC4 作為B口緩沖器滿信號(hào)線(BBF),PC5作為B口選通信號(hào)線。 (5) (5) PB(D1) PB(D1):設(shè)置端口端口B B的輸入輸出工作方式,“0 0” 輸入輸入; “1 1” 輸出輸出 (6)(6) PA(D0) PA(D0):設(shè)置端口端口A A的輸入輸出工作方式,“0 0” 輸入輸入; “1 1” 輸出輸出46472. 81552. 8155狀態(tài)字格式狀態(tài)字格式(1)(1) TIMER(D6) TIMER(D6)位:
37、位:定時(shí)/計(jì)數(shù)器中斷標(biāo)志,“0” 在讀狀態(tài)字后或 硬件復(fù)位后,“1” 定時(shí)/計(jì)數(shù)器溢出,中斷發(fā)生。(2)(2) INTEB(D5) INTEB(D5)位:位:B口允許中斷標(biāo)志,“0” 禁止,“1” 允許(3)(3) BBF(D4) BBF(D4)位:位:B口緩沖器狀態(tài)標(biāo)志,“0” 空,“1” 滿(4)(4) INTRB(D3) INTRB(D3)位:位:B口中斷請(qǐng)求標(biāo)志,“0” 無(wú)中斷請(qǐng)求, “1” 有中斷請(qǐng)求(5)(5) INTEA(D2) INTEA(D2)位:位:A口允許中斷標(biāo)志,“0” 禁止,“1” 允許(6)(6) ABF(D1) ABF(D1)位:位:A口緩沖器狀態(tài)標(biāo)志,“0” 空
38、,“1” 滿(7)(7) INTRA(D0) INTRA(D0)位:位:A口中斷請(qǐng)求標(biāo)志,“0” 無(wú)中斷請(qǐng)求, “1” 有中斷請(qǐng)求47483. 81553. 8155工作方式工作方式8155可工作于存儲(chǔ)器方式和I/O方式。(1) (1) 存儲(chǔ)器方式存儲(chǔ)器方式 , :8155工作于存儲(chǔ)器方式,用于對(duì)8155片內(nèi)RAM的256個(gè)單元進(jìn)行讀/寫操作,單片機(jī)可通過AD7AD0上的地址選擇RAM存儲(chǔ)器中的任意單元進(jìn)行讀和寫。(2) (2) 輸入輸入/ /輸出方式輸出方式 , :8155工作于工作于I/OI/O方式方式,I/O方式分為基本輸入/輸出和選通輸入/輸出兩種方式。在I/O方式下,8155可選擇片
39、內(nèi)任意端口寄存器進(jìn)行讀/寫,端口地址端口地址由A2A2、A1A1、A0A0三位決定。 基本基本I/OI/O方式方式。端口A、端口B、端口C均用作輸入/輸出,通過設(shè)置控制字決定。例如,若把00001101B=0DH的控制字寫入8155命令寄存器,則8155的B口設(shè)定為輸入方式,A口和C口設(shè)定為輸出方式。48/0IO M =0CE/1IO M =0CE49 選通選通I/OI/O方式方式。A口和B口都可獨(dú)立工作于這種方式,常用作數(shù)據(jù)口,C口用作A口和B口的應(yīng)答聯(lián)絡(luò)信號(hào)控制。C口各位應(yīng)答聯(lián)絡(luò)信號(hào)線的定義如表95所示。選通選通I/OI/O方式又方式又可分為可分為選通選通I/OI/O數(shù)據(jù)輸入數(shù)據(jù)輸入和和選
40、通選通I/OI/O數(shù)據(jù)輸出數(shù)據(jù)輸出兩種方式兩種方式。495050ASTBASTBBSTB a. 選通I/O數(shù)據(jù)輸入 A口口和B口都可設(shè)定為選通數(shù)據(jù)輸入工作方式口都可設(shè)定為選通數(shù)據(jù)輸入工作方式。若設(shè)置控制字中D0(PA)=0且D3(PC2)、D2(PC1)=01(工作方式3)或10(工作方式4),則A口設(shè)定為該工作方式;若控制字中D1(PB)=0且D3、D2=10(工作方式4),則B口設(shè)定為該工作方式。以A口為例,說明8155選通I/O數(shù)據(jù)輸入工作過程,A口選通數(shù)據(jù)輸入工作過程示意圖如圖912所示。51 (1)(1) 當(dāng)外設(shè)向8155的A口發(fā)送一個(gè)數(shù)據(jù)時(shí),外設(shè)自動(dòng)在 上向8155發(fā)送一個(gè)低電平選
41、通信號(hào)。 (2) (2) 8155收到 低電平信號(hào)后,把輸入的數(shù)據(jù)存入到A口的輸入數(shù)據(jù)緩沖/鎖存器,然后使輸出應(yīng)答線ABF變?yōu)楦唠娖?,通知外設(shè)A口已收到數(shù)據(jù)。 (3) (3) 由低電平變?yōu)楦唠娖?,AINTR(PC0)被置為高電平,向單片機(jī)發(fā)出中斷請(qǐng)求。 (4) (4) 單片機(jī)響應(yīng)8155的中斷請(qǐng)求后,讀取A口的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被單片機(jī)讀走后,8155撤銷AINTR上的中斷請(qǐng)求,并使ABF變低,通知外設(shè)可傳送下一個(gè)輸入數(shù)據(jù)。51ASTBASTBASTB52b. b. 選通選通I/OI/O數(shù)據(jù)輸出數(shù)據(jù)輸出 A A口口和B B口都可設(shè)定為選通數(shù)據(jù)輸出工作方式口都可設(shè)定為選通數(shù)據(jù)輸出工作方式。若設(shè)
42、置控制字中D0(PA)=1且D3(PC2)、D2(PC1)=01(工作方式3)或10(工作方式4),則A口設(shè)定為該工作方式;若控制字中D1(PB)= 1且D3、D2=10(工作方式4),則B口設(shè)定為該工作方式。以A口為例,說明8155選通I/O數(shù)據(jù)輸出工作過程,A口選通數(shù)據(jù)輸出工作過程示意圖如圖913所示。5253 (1) (1) 單片機(jī)向8155端口A發(fā)送數(shù)據(jù),8155收到后置ABF=1,通知外設(shè)數(shù)據(jù)已在A口的PA7PA0上。 (2) (2) 外設(shè)收到ABF高電平信號(hào)后,從A口取走數(shù)據(jù),并置 =0,通知8155外設(shè)已收到數(shù)據(jù)。 (3) (3) 由低電平變?yōu)楦唠娖剑?155將AINTR(PC0
43、)置為高電平,向單片機(jī)發(fā)出中斷請(qǐng)求。 (4) (4) 單片機(jī)響應(yīng)8155中斷請(qǐng)求后便可通過中斷服務(wù)程序把下一個(gè)輸出數(shù)據(jù)送到A口。重復(fù)上述過程,完成所有數(shù)據(jù)的輸出。53ASTBASTB544. 81554. 8155的定時(shí)的定時(shí)/ /計(jì)數(shù)器計(jì)數(shù)器 8155內(nèi)部的定時(shí)/計(jì)數(shù)器是一個(gè)1414位的減法計(jì)數(shù)器位的減法計(jì)數(shù)器,它對(duì)TIMER INTIMER IN端輸入脈沖進(jìn)行減端輸入脈沖進(jìn)行減1 1計(jì)數(shù)計(jì)數(shù),當(dāng)計(jì)數(shù)結(jié)束計(jì)數(shù)結(jié)束(即減1計(jì)數(shù)至“0”)時(shí),由TIMER OUTTIMER OUT端輸出方波或脈沖端輸出方波或脈沖。TIMER IN接外部脈沖:計(jì)數(shù)方式計(jì)數(shù)方式; TIMER IN連接振蕩時(shí)鐘信號(hào):定
44、時(shí)方式定時(shí)方式。 定時(shí)/計(jì)數(shù)器由兩個(gè)8位定時(shí)/計(jì)數(shù)器的寄存器寄存器T TL L 和T TH H構(gòu)成, TL 和TH 的低低1414位組成位組成1414位位11計(jì)數(shù)器計(jì)數(shù)器, 剩下的兩個(gè)高位兩個(gè)高位(M2,M1)用于定義輸出方式定義輸出方式。其格式如表96和表97所示。 T13T0:計(jì)數(shù)器的計(jì)數(shù)位計(jì)數(shù)器的計(jì)數(shù)位; M2、M1:設(shè)置設(shè)置8155定時(shí)/計(jì)數(shù)器的輸出方式輸出方式,共有4 4種工作種工作方式方式,其對(duì)應(yīng)的引腳輸出波形如圖914所示。545555569.3.3 81559.3.3 8155與與5151單片機(jī)的接口及應(yīng)用單片機(jī)的接口及應(yīng)用 8155可以直接與51單片機(jī)總線連接,接口電路如圖9
45、15所示。根據(jù)圖915可知,假設(shè)8155未用的無(wú)關(guān)地址位無(wú)關(guān)地址位置為置為1 1,則8155的命令/狀態(tài)寄存器口地址口地址:7FF8H;A A口、口、B B口、口、C C口地址口地址分別為:7FF9H、7FFAH、7FFBH;RAMRAM地址空間范圍地址空間范圍:7E00H7EFFH,定時(shí)/計(jì)數(shù)器低8位和高8位地址:7FFCH和7FFDH。56575758 例例9595 根據(jù)圖915電路,將51單片機(jī)片內(nèi)RAM 30H3FH單元的內(nèi)容,按照地址順序傳送到8155片內(nèi)RAM的7E40H7E4FH單元中。設(shè)置8155的A口為基本輸入方式,B口為基本輸出方式,C口為輸入方式,定時(shí)/計(jì)數(shù)器對(duì)輸入脈沖進(jìn)行48分頻,輸出方波。 設(shè)置8155的控制字如表98,控制字為11000010B=C2H。 分析分析:根據(jù)8155定時(shí)/計(jì)數(shù)器的計(jì)數(shù)與控制輸出方式格式,48分頻的計(jì)數(shù)初值為48=0030H,還需要在最高兩位(M2、M1)加上控制定時(shí)/計(jì)數(shù)器輸出方式的01(連續(xù)方波),則定時(shí)/計(jì)數(shù)器的計(jì)數(shù)初值及控制定時(shí)/計(jì)數(shù)器輸出方式的16位
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣東惠州市龍門縣教育局赴高校招聘急需緊缺學(xué)科教師招聘60人(江西師范大學(xué)場(chǎng)編制)備考筆試題庫(kù)及答案解析
- 2025廣西百色平果市發(fā)展和改革局城鎮(zhèn)公益性崗位人員招聘1人參考考試題庫(kù)及答案解析
- 2025北京市首都公路發(fā)展集團(tuán)有限公司招聘?jìng)淇脊P試試題及答案解析
- 2025新余燃?xì)庥邢薰就顿Y開發(fā)崗面向校園招聘1人參考考試題庫(kù)及答案解析
- 小鳥之家課件
- 小馬課件教學(xué)課件
- 車間生產(chǎn)效率提升關(guān)鍵措施
- 小青蛙跳荷葉課件
- 培訓(xùn)機(jī)構(gòu)家長(zhǎng)接待流程指南
- 智能制造業(yè)技術(shù)人才培訓(xùn)方案
- 美容行業(yè)盈利分析
- 小班化教學(xué)和合作學(xué)習(xí)
- 《繼發(fā)性高血壓》課件
- 垃圾中轉(zhuǎn)站運(yùn)營(yíng)管理投標(biāo)方案
- 數(shù)字媒體與數(shù)字廣告
- 綜合樓裝飾裝修維修改造投標(biāo)方案(完整技術(shù)標(biāo))
- 中藥現(xiàn)代化生產(chǎn)技術(shù)課件
- 醫(yī)學(xué)專家談靈芝孢子粉課件
- 商業(yè)廣場(chǎng)經(jīng)營(yíng)管理及物業(yè)管理服務(wù)方案
- GB/T 20641-2006低壓成套開關(guān)設(shè)備和控制設(shè)備空殼體的一般要求
- GB/T 11586-2018船舶與海上技術(shù)船舶系泊和拖帶設(shè)備巴拿馬導(dǎo)纜孔
評(píng)論
0/150
提交評(píng)論