第5章 可編程并行接口8255A.ppt_第1頁(yè)
第5章 可編程并行接口8255A.ppt_第2頁(yè)
第5章 可編程并行接口8255A.ppt_第3頁(yè)
第5章 可編程并行接口8255A.ppt_第4頁(yè)
第5章 可編程并行接口8255A.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余48頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 可編程并行接口8255A 5.1 8255A芯片引腳和內(nèi)部結(jié)構(gòu) 5.1.1項(xiàng)目1:開(kāi)關(guān)狀態(tài)顯示 5.1.2 知識(shí)講解 5.2 8255A控制字 5.2.1項(xiàng)目2:8255A控制LED燈左循環(huán)亮 5.2.2 知識(shí)講解 5.3 8255A的工作方式 5.3.1項(xiàng)目3:用8255A控制LED燈左右循環(huán)亮 5.3.2 知識(shí)講解 5.4 項(xiàng)目擴(kuò)展與工程應(yīng)用 5.4.1項(xiàng)目4:用8255A控制繼電器 5.4.2項(xiàng)目5:用8255A端口控制步進(jìn)電機(jī),5.1 8255A芯片引腳和內(nèi)部結(jié)構(gòu) 5.1.1項(xiàng)目1:開(kāi)關(guān)狀態(tài)顯示 1項(xiàng)目要求與目的 (1)項(xiàng)目要求:設(shè)定8255A的PB口為開(kāi)關(guān)量輸入,PC口為開(kāi)關(guān)

2、量輸出,編寫(xiě)程序?qū)崿F(xiàn)能隨時(shí)將PB口的開(kāi)關(guān)狀態(tài)通過(guò)PC口的發(fā)光二極管顯示出來(lái)。 (2)項(xiàng)目目的: 了解8255A芯片引腳和內(nèi)部結(jié)構(gòu)。 了解8255A輸入/輸出實(shí)驗(yàn)方法。 2項(xiàng)目電路連接與說(shuō)明 (1)項(xiàng)目電路連接:將K0K7用導(dǎo)線連接至8255A的PB0PB7端口,將LED0LED7用導(dǎo)線連至8255A的PC0PC7端口,8255A的片選cs用導(dǎo)線連至地址譯碼處的200207插孔。 (2)項(xiàng)目說(shuō)明:可編程通用接口芯片8255A有3個(gè)8位的并行I/O口,它有三種工作方式。本項(xiàng)目采用8255A工作于方式0,PB口為輸入,PC口為輸出,輸入量為開(kāi)關(guān)量,通過(guò)8255A可實(shí)時(shí)顯示在LED燈上。 3項(xiàng)目電路原

3、理框圖 開(kāi)關(guān)狀態(tài)顯示電路原理框圖如圖5-1所示。電路由8086CPU芯片、8255A芯片、74LS245驅(qū)動(dòng)芯片、8只開(kāi)關(guān)K0K7和8個(gè)發(fā)光二極管LED0LED7組成。,74LS245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。 74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。 當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由 B 向 A 傳輸;(接收) DIR=“1”,信號(hào)由 A 向 B 傳輸;(發(fā)送)當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。,4項(xiàng)目程序設(shè)計(jì) (1)程序流程圖 8255A的PB口為開(kāi)關(guān)量輸入,PC口為開(kāi)關(guān)量輸出,

4、要求能隨時(shí)將PB口的開(kāi)關(guān)狀態(tài)通過(guò)PC口的發(fā)光二極管顯示出來(lái)的程序流程圖如圖5-2所示。,圖5-2 開(kāi)關(guān)狀態(tài)顯示程序流程圖,(2)程序清單 開(kāi)關(guān)狀態(tài)顯示程序清單如下所示。 CODE SEGMENT ASSUME CS:CODE START: MOV DX,203H ;8255A控制口地址 MOV AL,82H ;控制字10000010B (PC口輸出,PB口輸入,方式0) OUT DX,AL BG:MOV DX,201H ;PB口地址 IN AL,DX ;讀開(kāi)關(guān)狀態(tài) MOV DX,202H ;PC口地址 OUT DX,AL ;輸出開(kāi)關(guān)狀態(tài) JMP BG ;循環(huán) CODE ENDS END STA

5、RT,5.1.2 知識(shí)講解 1. 概述 計(jì)算機(jī)系統(tǒng)的信息交換有兩種形式:并行數(shù)據(jù)傳輸方式和串行數(shù)據(jù)傳輸方式。并行數(shù)據(jù)傳輸是以計(jì)算機(jī)的字長(zhǎng),通常是8位、16位或32位為傳輸單位,一次傳送個(gè)字長(zhǎng)的數(shù)據(jù)。并行接口的“并行”含義不是指接口與系統(tǒng)總線一側(cè)的并行數(shù)據(jù)而言,而是指接口與I/O設(shè)備或控制對(duì)象一側(cè)的并行數(shù)據(jù)線。8255A是Intel公司生產(chǎn)的通用可編程并行接口芯片,8255A采用40腳雙列直插封裝,單一+5V電源,全部輸入/輸出與TTL電平兼容。用8255A連接外部設(shè)備時(shí),通常不需要再附加其他電路,給使用帶來(lái)很大方便。它有三個(gè)輸入/輸出端口:端口A、端口B、端口C。每個(gè)端口都可通過(guò)編程設(shè)定為輸入

6、端口或輸出端口,但有各自不同的方式和特點(diǎn)。端口C可作為一個(gè)獨(dú)立的端口使用,但通常是配合端口A和端口B的工作,為這兩個(gè)端口的輸入/輸出提供控制聯(lián)絡(luò)信號(hào)。 2. 8255A芯片引腳 8255A芯片引腳如圖5-3(a)所示,8255A芯片有40根引腳,可分為如下三類(lèi)。 (1)電源與地線2根:Vcc(26腳)、GND(7腳)。 (2)與外設(shè)相連的共24根,它們?nèi)缦滤尽?PA7PA0:端口A數(shù)據(jù)信號(hào)(8根)。 PB7PB0:端口B數(shù)據(jù)信號(hào)(8根)。 PC7PC0:端口C數(shù)據(jù)信號(hào)(8根)。,(3)與CPU相連的共14根。 RESET(35腳):復(fù)位信號(hào),高電平有效。當(dāng)RESET信號(hào)有效時(shí),內(nèi)部所有寄存器

7、都被清零。同時(shí),3個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)置為輸入端口。 D7D0:三態(tài)雙向數(shù)據(jù)線,在8086系統(tǒng)中,采用16位數(shù)據(jù)總線,8255A的D7D0通常是接在16位數(shù)據(jù)總線的低8位上。 cs(6腳):片選信號(hào),低電平有效。該信號(hào)來(lái)自譯碼器的輸出,只有當(dāng)cs有效時(shí),讀信號(hào)RD和寫(xiě)信WR號(hào)才對(duì)8255A有效。 RD(5腳):讀信號(hào),低電平有效。它控制從8255A讀出數(shù)據(jù)或狀態(tài)信息。 WR(36腳):寫(xiě)信號(hào),低電平有效。它控制把數(shù)據(jù)或控制命令字寫(xiě)入8255A。 A1、A0(8、9腳):端口選擇信號(hào)。8255A內(nèi)部共有4個(gè)端口(即寄存器):3個(gè)數(shù)據(jù)端口(端口A、端口B、端口C)和1個(gè)控制端口,當(dāng)片選信號(hào)CS有效時(shí)

8、,規(guī)定A1、A0為00、01、10、11時(shí),分別選中端口A、端口B、端口C和控制端口。 CS、RD、WR、A1、A0這五個(gè)信號(hào)的組合決定了對(duì)3個(gè)數(shù)據(jù)端口和1個(gè)控制端口的讀寫(xiě)操作,如表5-1所示。,表5-1 8255A端口選擇和基本操作,3. 8255A內(nèi)部結(jié)構(gòu) 8255A的內(nèi)部結(jié)構(gòu)如圖5-3(b)所示。它包括四個(gè)部分:數(shù)據(jù)總線緩沖器、讀寫(xiě)控制邏輯、A組控制器(包括端口A和端口C的上半部)和B組控制器(包括端口B和端口C的下半部)。 (1)端口A、端口B和端口C 8255A芯片內(nèi)部有三個(gè)8位端口,分別為A口、B口和C口。這三個(gè)端口可與外部設(shè)備相連接,可用來(lái)與外設(shè)進(jìn)行數(shù)據(jù)信息、控制信息和狀態(tài)信息的

9、交換。 端口A包含一個(gè)8位數(shù)據(jù)輸出鎖存器緩沖器和一個(gè)8位數(shù)據(jù)輸入鎖存器。所以用端口A作為輸入端口或輸出端口時(shí),數(shù)據(jù)均被鎖存。 端口B包含一個(gè)8位數(shù)據(jù)輸出鎖存器緩沖器和一個(gè)8位數(shù)據(jù)輸入鎖存器。所以用端口B作為輸入端口或輸出端口時(shí),數(shù)據(jù)均被鎖存。 端口C包含一個(gè)8位數(shù)據(jù)輸入緩沖器和一個(gè)8位的數(shù)據(jù)輸出鎖存器緩沖器。所以端口C作為輸入端口時(shí)不能對(duì)數(shù)據(jù)進(jìn)行鎖存,作為輸出端口時(shí)能對(duì)數(shù)據(jù)進(jìn)行鎖存。端口C可以分成兩個(gè)4位端口,分別可以定義為輸入端口或輸出端口,還可定義為控制、狀態(tài)端口,配合端口A和端口B工作。,(2)A組和B組 端口A和端口C的高4位(PC7PC4)構(gòu)成A組,由A組控制部件來(lái)對(duì)它進(jìn)行控制;端口

10、B和端口C的低4位(PC3PC0)構(gòu)成B組,由B組控制部件對(duì)它進(jìn)行控制。這兩個(gè)控制部件各有一個(gè)控制單元,接收來(lái)自數(shù)據(jù)總線送來(lái)的控制字,并根據(jù)控制字確定各端口的工作狀態(tài)和工作方式。 (3)數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是一個(gè)雙向三態(tài)的8位緩沖器,它與CPU系統(tǒng)數(shù)據(jù)總線相連,是8255A與CPU之間傳輸數(shù)據(jù)的必經(jīng)之路。輸入數(shù)據(jù)、輸出數(shù)據(jù)、控制命令字都是通過(guò)數(shù)據(jù)總線緩沖器進(jìn)行傳送的。 (4)讀寫(xiě)控制邏輯 讀寫(xiě)控制邏輯接收來(lái)自CPU地址總線的信號(hào)和控制信號(hào),并發(fā)出命令到A組和B組,把CPU發(fā)出的控制命令字或輸出的數(shù)據(jù)通過(guò)數(shù)據(jù)總線緩沖器送到相應(yīng)的端口,或者把外設(shè)的狀態(tài)或輸入的數(shù)據(jù)從相應(yīng)的端口通過(guò)數(shù)據(jù)總線

11、緩沖器送到CPU。 8255A接口芯片的地址譯碼電路設(shè)計(jì)需考慮的問(wèn)題是:對(duì)于8086系統(tǒng),由于采用16位數(shù)據(jù)總線,CPU在進(jìn)行數(shù)據(jù)傳送時(shí),總是將低8位數(shù)據(jù)送往偶地址端口,而將高8位數(shù)據(jù)送往奇地址端口;反過(guò)來(lái),從偶地址端口取得數(shù)據(jù)總是通過(guò)低8位數(shù)據(jù)線傳送到CPU,從奇地址端口取得數(shù)據(jù)總是通過(guò)高8位數(shù)據(jù)線傳送到CPU。 在微機(jī)80386以上的32位外部數(shù)據(jù)總線的系統(tǒng)中,則應(yīng)將8255A的A1端與地址總線的A3相連,將8255A的A0端與地址總線A2相連,并使CPU訪問(wèn)8255A時(shí)地址總線的A1、A0兩位總是為00。,5.2 8255A控制字及狀態(tài)字 5.2.1項(xiàng)目2:8255A控制LED燈左循環(huán)亮

12、 1. 項(xiàng)目要求與目的 (1)項(xiàng)目要求:根據(jù)開(kāi)關(guān)的狀態(tài),用8255的PA端口控制8只LED發(fā)光二極管,PB口接1只開(kāi)關(guān),編寫(xiě)程序?qū)崿F(xiàn)K0閉合,LED燈左循環(huán)亮。 (2)項(xiàng)目目的: 了解8255控制方式的設(shè)置。 掌握8255的初始化及編程方法。 2項(xiàng)目電路連接與說(shuō)明 (1)項(xiàng)目電路連接:8255A的片選CS孔用導(dǎo)線接至譯碼處200H207H插孔,8255A的PA0-PA7用導(dǎo)線接至LED0-LED7,PB0用導(dǎo)線接至開(kāi)關(guān)K0。 (2)項(xiàng)目說(shuō)明: Intel 8255A是常用的并行可編程接口芯片,它有3個(gè)8位并行輸入/輸出端口,可利用編程方法設(shè)置3個(gè)端口是作為輸入端口還是作為輸出端口,在使用時(shí),要

13、對(duì)8255進(jìn)行初始化。本項(xiàng)目PA口作為輸出口,PB口作為輸入口,工作于方式0。當(dāng)開(kāi)關(guān)K0閉合,LED燈左循環(huán)亮。,3項(xiàng)目電路原理框圖 用8255A控制LED燈左循環(huán)亮電路框圖如圖5-4所示。電路由8086CPU芯片、8255A芯片、8只LED發(fā)光二極管和1只開(kāi)關(guān)K0等組成。,圖5-4 8255A控制LED燈左循環(huán)亮電路原理框圖,4項(xiàng)目程序設(shè)計(jì) (1)程序流程圖 用8255A控制LED燈左循環(huán)亮程序流程圖如圖5-5所示。,圖5-5 8255A控制LED燈左循環(huán)亮程序流程圖,(2)程序清單 用8255A控制LED燈左循環(huán)亮程序清單如下所示。 CODE SEGMENT ASSUME CS:CODE

14、START: MOV DX,203H ;8255控制端口 MOV AL,82H;PA輸出,PB輸入 OUT DX,AL MOV DX,200H ;PA端口地址 MOV AH,0FEH; ;置LED0亮初始值 BG: MOV AL,AH OUT DX,AL ; 點(diǎn)亮LED燈 CALL DELAY;調(diào)延時(shí)子程序 MOV DX,201H;PB端口地址 IN AL,DX ;讀開(kāi)關(guān)的狀態(tài) TEST AL,01H;PB0=0嗎?(K0閉合嗎) JNZ BG ;PB00,轉(zhuǎn)移 ROL AH,1 ; PB0=0,左移 MOV DX,200H JMP BG,DELAY PROC NEAR ;延時(shí)子程序 MOV

15、BL,100 DELAY2: MOV CX,374 DELAY1: NOP NOP LOOP DELAY1 DEC BL JNZ DELAY2 RET DELAY ENDP CODE ENDS END START,5.2.2 知識(shí)講解 8255A是可編程并行接口芯片??删幊叹褪怯弥噶畹姆椒ㄏ葘?duì)芯片進(jìn)行初始化,設(shè)置芯片的端口是處于輸入數(shù)據(jù)狀態(tài)還是處于輸出數(shù)據(jù)狀態(tài),以及每個(gè)端口的工作方式。要使8255A工作,必須把工作命令控制字寫(xiě)入8255A的控制字寄存器。8255A共有兩種控制字: 工作方式選擇控制字,可使8255A的3個(gè)數(shù)據(jù)端口工作在不同的方式。 端口C按位置位/復(fù)位控制字,它可使C端口中的任

16、何一位進(jìn)行置位或復(fù)位。,1. 工作方式選擇控制字 8255A的3種基本工作方式:由方式選擇控制字來(lái)決定。 方式0:基本的輸入/輸出方式。 方式1:選通的輸入/輸出方式。 方式2:雙向的傳輸方式。 端口A可以工作于方式0、方式1、方式2共三種工作方式,可以作為輸入端口或輸出端口。 端口B可以工作于方式0、方式1兩種工作方式,可以作為輸入端口或輸出端口。 端口C分成高4位(PC7PC4)和低4位(PC3PC0),可分別設(shè)置成輸入端口或輸出端口;端口C的高4位與端口A配合組成A組,端口C的低4位與端口B配合組成B組。 D71(特征位)表明是設(shè)定方式選擇控制字。,通過(guò)對(duì)8255A工作方式控制字的設(shè)置可

17、將PA、PB和PC 3個(gè)端口分別定義為3種不同工作方式的組合,工作方式選擇控制字格式及各位含義如圖5-6所示。,在使用8255A芯片前,必須先對(duì)其進(jìn)行初始化。初始化的程序很簡(jiǎn)單,只要CPU執(zhí)行一條輸出指令,把控制字寫(xiě)入控制寄存器就可以了。,圖5-6 8255A的工作方式選擇控制字,【例5-1】 按下述要求對(duì)8255A進(jìn)行初始化。要求A口設(shè)定為輸出數(shù)據(jù),工作方式為方式0;B口設(shè)定為輸入數(shù)據(jù),工作方式為方式1;C口設(shè)定為高四位輸入,低四位輸出。 (地址為200H203H) MOV DX , 203H ;8255控制口地址送DX MOV AL ,8EH ;寫(xiě)工作方式控制字10001110B OUT

18、DX , AL ;控制字送到控制口 需要注意的是,C端口高四位和低四位的數(shù)據(jù)傳輸方向可以相同,也可以不同,無(wú)論是哪一種情況,IN/OUT指令總是把C端口當(dāng)作一個(gè)整體對(duì)其進(jìn)行讀寫(xiě)操作。,2. 端口C按位置位復(fù)位控制字 端口C按位置位復(fù)位控制字可實(shí)現(xiàn)對(duì)端口C的每一位進(jìn)行控制。置位是使該位為1,復(fù)位是使該位為0??刂谱值母袷郊案魑缓x如圖5-7所示。, D7位是特征位,用來(lái)區(qū)分該控制字是工作方式控制字還是對(duì)端口C按位置位復(fù)位控制字。D71,為工作方式控制字;D70為端口C按位置位復(fù)位控制字。 D6、D5、D4三位無(wú)意義,可為任意值。 D3、D2、D1按二進(jìn)制編碼,用來(lái)選擇對(duì)端口C的哪一位進(jìn)行操作。選擇的位將由D0位規(guī)定是置位(D0=1)還是復(fù)位(D0=0)。 D0位用來(lái)選擇對(duì)所選定的端口C的哪一位是置位(D0=1)還是復(fù)位(D0=0)。 需要注意如下三點(diǎn): 端口C按位置位復(fù)位控制字,必須寫(xiě)入控制寄存器,而不是寫(xiě)入端口C。 當(dāng)C端口被設(shè)置為輸出時(shí),端口C按位置位復(fù)位控制字,可以對(duì)C口的某一根端口線按位操作,也就是說(shuō),使C口某一根端口線輸出高低電平,而不影響其他端口線輸出高低電平。 當(dāng)A端口工作在方式1或方式2,B

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論