




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7 7章章 可編程接口芯片可編程接口芯片 n可編程接口的概念n可編程并行輸入輸出接口芯片可編程并行輸入輸出接口芯片8255An可編程定時(shí)計(jì)數(shù)器接口芯片可編程定時(shí)計(jì)數(shù)器接口芯片8253 n可編程接口的概念可編程接口的概念 一個(gè)簡(jiǎn)單的具有輸入功能和輸出功能的可編程接口電路如下圖,它包括一個(gè)輸入接口,其組成主要是八位的三態(tài)門;一個(gè)輸出接口,其組成主要是八位的鎖存器;另外還有八位的多路轉(zhuǎn)換開關(guān)及控制這個(gè)開關(guān)的寄存器FF。輸入接口輸出接口寄存器FF多路轉(zhuǎn)換開關(guān)I/O線數(shù)據(jù)總線8888 用戶對(duì)寄存器FF寫入的內(nèi)容稱為命令字或方式控制字,而寄存器FF稱為命令寄存器,相應(yīng)的端口稱為命令端口或控制端口。對(duì)可
2、編程芯片初始化過程實(shí)際上就是對(duì)可編程芯片初始化過程實(shí)際上就是對(duì)芯片的控制端口寫入各種命令字的操對(duì)芯片的控制端口寫入各種命令字的操作過程。作過程。 n 將要學(xué)習(xí)的可編程接口芯片如下:n8255A 并行I/O接口n8253 計(jì)數(shù)器/定時(shí)器n8251 串行I/On8259A 中斷控制器 7.1 可編程并行輸入輸出接口芯片可編程并行輸入輸出接口芯片8255A一、功能一、功能 8255A是一種通用的可編程并行IO接口芯片,廣泛用于幾乎所有系列的微型機(jī)系統(tǒng)中,如8086、MCS51、Z80CPU系統(tǒng)等。8255A具有3個(gè)帶鎖存或緩沖的雙向數(shù)據(jù)端口,可與外設(shè)并行進(jìn)行數(shù)據(jù)交換。用戶可用程序來選擇多種操作方式,
3、通用性強(qiáng)。使用靈活,可為CPU與外設(shè)之間提供并行輸入輸出通道。 二、二、 8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) n數(shù)據(jù)端口數(shù)據(jù)端口A、B、Cn端口An端口Bn端口CnA組控制和組控制和B組控制組控制n讀讀/寫控制邏輯電路寫控制邏輯電路n數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器通常使用方法:1、A、B、C三個(gè)端口各自獨(dú)立工作。2、端口A、B作為獨(dú)立的輸入或者輸出端口端口C配合端口A、B 三、三、 8255A的管腳分配的管腳分配 數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器內(nèi)部控制線內(nèi)部控制線內(nèi)部數(shù)據(jù)線內(nèi)部數(shù)據(jù)線D0D7A組組控制控制A組組端口端口C上部上部B組組控制控制B組組端口端口BB組組端口端口C下部下部讀寫讀寫控制控制邏輯
4、邏輯PC0PC3CL口口PB0PB7B口口PC4PC7CH口口PA0PA7A口口-RD-WRA0A1-CSRESETA組組端口端口A 1、與外設(shè)連接的管腳、與外設(shè)連接的管腳 我們已經(jīng)知道我們已經(jīng)知道8255A8255A有三個(gè)數(shù)據(jù)端口,每個(gè)有三個(gè)數(shù)據(jù)端口,每個(gè)端口是端口是8 8位的,由此可推算與外設(shè)相連接的管位的,由此可推算與外設(shè)相連接的管腳共有腳共有2424位。位。其中其中A A口有口有PAPA7 7PAPA0 0八個(gè)八個(gè)I/OI/O引腳,引腳,B B口有口有PBPB7 7PBPB0 0八個(gè)八個(gè)I/OI/O引腳,引腳,C C口有口有PCPC7 7PCPC0 0八個(gè)八個(gè)I/OI/O引腳。特別地對(duì)
5、于引腳。特別地對(duì)于PCPC7 7PCPC0 0,其中可有若干根,其中可有若干根復(fù)用線可用于復(fù)用線可用于“聯(lián)絡(luò)聯(lián)絡(luò)”信號(hào)或狀態(tài)信號(hào),其具信號(hào)或狀態(tài)信號(hào),其具體定義與端口的工作方式有關(guān)。體定義與端口的工作方式有關(guān)。 2、與、與CPU連接的管腳連接的管腳 包括數(shù)據(jù)線包括數(shù)據(jù)線D D7 7D D0 0,讀寫控制線和,讀寫控制線和,復(fù)位線復(fù)位線RESETRESET,以及和,以及和CPUCPU地址線相連接地址線相連接的片選信號(hào)、端口地址控制線的片選信號(hào)、端口地址控制線A A0 0和和A A1 1。 CS A1 A0I/O地址地址讀操作讀操作RD寫操作寫操作WR0 0 00 0 10 1 00 1 160H
6、61H62H63H讀端口讀端口A讀端口讀端口B讀端口讀端口C非法非法寫端口寫端口A寫端口寫端口B寫端口寫端口C寫方式字和位控字寫方式字和位控字 3、電源線和地線、電源線和地線8255A8255A的電源引腳為的電源引腳為V VCCCC和和GNDGND。V VCCCC為電源為電源線,一般取線,一般取5V 5V 。GNDGND為電源地線。為電源地線。四、四、 8255A的編程的編程 所謂所謂8255A8255A編程,就是用戶在使用編程,就是用戶在使用82558255前,用戶可用軟件來定義端口的工前,用戶可用軟件來定義端口的工作方式,選擇所需要的功能。作方式,選擇所需要的功能。 8255A的控制字 控
7、制字分為兩類:n各端口的方式選擇控制字nC端口按位置1/清0控制字 (1)方式選擇控制字方式選擇控制字 有三種基本工作方式:有三種基本工作方式: 方式0基本的輸入/輸出方式 方式1選通的輸入/輸出方式 方式2雙向傳輸方式 只有端口A能工作在方式2 同一組的兩端口可分別工作在輸入和輸出方式 方式選擇控制字的格式方式選擇控制字的格式 向控制口寫方式字向控制口寫方式字示例示例n要求:nA口:方式1輸入nCH口:輸出nCL口:輸入nB口:方式0輸出n方式控制字:1 0110 001 B或B1Hn初始化的程序段:mov dx,0fffeh;假設(shè)控制端口為FFFEHmov al,0b1h;方式控制字out
8、 dx,al;送到控制端口(2).C口置口置“1”清清“0”控制字控制字 置置“1”又稱為置位操作,而清又稱為置位操作,而清“0”稱為復(fù)位操作。稱為復(fù)位操作。 (1)方式)方式0:基本輸入輸出方式:基本輸入輸出方式特點(diǎn):特點(diǎn):24條條I/O線由用戶自定義使用,無固定的聯(lián)絡(luò)線由用戶自定義使用,無固定的聯(lián)絡(luò)信號(hào)線。信號(hào)線。應(yīng)用:無條件輸入輸出應(yīng)用:無條件輸入輸出 查詢輸入輸出查詢輸入輸出五、五、8255A的的三種工作方式及舉例三種工作方式及舉例 8255方式0應(yīng)用舉例(簡(jiǎn)單輸入輸出)PB7PB0PA7PA08 位開關(guān)8 位 LED指示燈RESET 接系統(tǒng)RESET 信號(hào)線蜂鳴片按鈕8255APC0
9、PC4數(shù)據(jù)總線D7D0CS218255方式0應(yīng)用舉例(簡(jiǎn)單輸入輸出)例:請(qǐng)用8255和24個(gè)發(fā)光二極管,制作一個(gè)節(jié)日彩燈,設(shè)計(jì)方案,畫出硬件連接圖并寫出初始化程序和驅(qū)動(dòng)程序。初始化程序: MOV AL,80H 10000000 OUT 87H,AL驅(qū)動(dòng)程序:LIGHT: MOV AL,00H OUT 84H,AL OUT 85H,AL OUT 86H,AL228255方式0應(yīng)用舉例(簡(jiǎn)單輸入輸出) MOV AL,F(xiàn)FH OUT 84H,AL CALL DELAY MOV AL,00H OUT 84H,AL MOV AL,F(xiàn)FH OUT 85H,AL CALL DELAY MOV AL,00H
10、OUT 85H,AL MOV AL,F(xiàn)FH OUT 86H,AL238255方式0應(yīng)用舉例(簡(jiǎn)單輸入輸出) CALL DELAY MOV AL,00H OUT 86H,AL JMP LIGHT 例例1:8255A8255A的的A A口和口和B B口工作在方式口工作在方式0 0,A A口為輸入端口,接有四個(gè)開關(guān)??跒檩斎攵丝?,接有四個(gè)開關(guān)。B B口為口為輸出端,接有一個(gè)七段發(fā)光二極管,連輸出端,接有一個(gè)七段發(fā)光二極管,連接電路如圖所示。試編一程序要求七段接電路如圖所示。試編一程序要求七段發(fā)光二極管顯示開關(guān)所撥通的數(shù)字。發(fā)光二極管顯示開關(guān)所撥通的數(shù)字。 agDPfedbc電路LED數(shù)碼管段碼表 m
11、ov al,90h;設(shè)置8255方式字mov dx,ctrl_portout dx , almov dx,a_portin al,dx;取鍵盤信息and al,0fh;屏蔽高4位mov bx,offset tab1;取段碼表首地址xlat;查表得段碼mov dx,b_port;輸出顯示out dx,al(2)方式)方式1:選通輸入輸出方式:選通輸入輸出方式特點(diǎn):特點(diǎn):24條條I/O線中有固定的聯(lián)絡(luò)信號(hào)線(線中有固定的聯(lián)絡(luò)信號(hào)線(C口口提供),被規(guī)定的聯(lián)絡(luò)信號(hào)線用戶不能隨便使提供),被規(guī)定的聯(lián)絡(luò)信號(hào)線用戶不能隨便使用;用;A、B口作為數(shù)據(jù)端口,口作為數(shù)據(jù)端口,C口提供固定的聯(lián)口提供固定的聯(lián)絡(luò)信號(hào)
12、線。絡(luò)信號(hào)線。應(yīng)用:可用于查詢方式或中斷方式。應(yīng)用:可用于查詢方式或中斷方式。方式1輸入引腳:端口APC4PC5PC3PA7PA0INTEAIBFAINTRA-STBA中斷允許觸發(fā)器中斷允許觸發(fā)器輸入緩沖器滿信號(hào)輸入緩沖器滿信號(hào)表示表示A口已經(jīng)接收數(shù)據(jù)口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號(hào)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)請(qǐng)求請(qǐng)求CPU接收數(shù)據(jù)接收數(shù)據(jù)外設(shè)數(shù)據(jù)外設(shè)數(shù)據(jù)征用征用C口口3引腳引腳-RD方式1輸入引腳:端口BPC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB中斷允許觸發(fā)器中斷允許觸發(fā)器輸入緩沖器滿信號(hào)輸入緩沖器滿信號(hào)表示表示B口已經(jīng)接
13、收數(shù)據(jù)口已經(jīng)接收數(shù)據(jù)數(shù)據(jù)選通信號(hào)數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)請(qǐng)求請(qǐng)求CPU接收數(shù)據(jù)接收數(shù)據(jù)外設(shè)數(shù)據(jù)外設(shè)數(shù)據(jù)征用征用C口口3引腳引腳-RD方式1中斷控制n8255A的中斷由中斷允許觸發(fā)器INTE控制n置位允許中斷,復(fù)位禁止中斷n對(duì)INTE的操作通過寫入端口C的對(duì)應(yīng)位實(shí)現(xiàn),INTE觸發(fā)器對(duì)應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號(hào)的輸入信號(hào)的哪一位,只要對(duì)那一位置位/復(fù)位就可以控制INTE觸發(fā)器n選通輸入方式下n端口A的INTEA對(duì)應(yīng)PC4n端口B的INTEB對(duì)應(yīng)PC2讀入狀態(tài)字讀入狀態(tài)字 當(dāng)當(dāng)8255A8255A由程序設(shè)定在方式由程序設(shè)定在方式1 1或方式或
14、方式2 2工作工作時(shí),時(shí),C C口就根據(jù)不同的情況,產(chǎn)生或接收口就根據(jù)不同的情況,產(chǎn)生或接收“聯(lián)絡(luò)聯(lián)絡(luò)”信號(hào)。如果這時(shí)我們對(duì)信號(hào)。如果這時(shí)我們對(duì)C C口進(jìn)行讀操口進(jìn)行讀操作,則讀出的內(nèi)容就包含兩部分內(nèi)容,一部作,則讀出的內(nèi)容就包含兩部分內(nèi)容,一部分是那些作為分是那些作為I/OI/O線上的內(nèi)容,另一部分是線上的內(nèi)容,另一部分是與與“聯(lián)絡(luò)聯(lián)絡(luò)”狀態(tài)有關(guān)的內(nèi)容。狀態(tài)有關(guān)的內(nèi)容。 D7D6D5D4D3D2D1D0方式方式1 輸入(輸入( A口、口、B口)口)I/OI/OIBFAINTEA INTRAINTEBIBFBINTRB方式方式1 輸出(輸出( A口、口、B口)口)OBFAINTEAI/OI/O
15、INTRAINTEBOBFBINTRB方式方式2 雙向(雙向(A口)口)OBFAINTE1IBFAINTE2INTRA從端口C讀到狀態(tài)字A組控制組控制B組控制組控制方式1輸出引腳:端口APC6PC7PC3PA7PA0INTEAOBFAINTRAACKA輸出緩沖器滿信號(hào)輸出緩沖器滿信號(hào)表示表示CPU已經(jīng)輸出了數(shù)據(jù)已經(jīng)輸出了數(shù)據(jù)外設(shè)響應(yīng)信號(hào)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)請(qǐng)求請(qǐng)求CPU再次輸出數(shù)據(jù)再次輸出數(shù)據(jù)征用征用C口口3引腳引腳中斷允許觸發(fā)器中斷允許觸發(fā)器通過位控通過位控PC6 設(shè)置設(shè)置INTEA輸出數(shù)據(jù)輸出數(shù)據(jù)-WR方式1輸出引腳:端口BPC2
16、PC1PC0PB7PB0INTEBOBFBINTRBACKB輸出緩沖器滿信號(hào)輸出緩沖器滿信號(hào)表示表示CPU已經(jīng)輸出了數(shù)據(jù)已經(jīng)輸出了數(shù)據(jù)外設(shè)響應(yīng)信號(hào)外設(shè)響應(yīng)信號(hào)表示外設(shè)已經(jīng)接收到數(shù)據(jù)表示外設(shè)已經(jīng)接收到數(shù)據(jù)中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)請(qǐng)求請(qǐng)求CPU再次輸出數(shù)據(jù)再次輸出數(shù)據(jù)征用征用C口口3引腳引腳中斷允許觸發(fā)器中斷允許觸發(fā)器通過位控通過位控PC2設(shè)置設(shè)置INTEB輸出數(shù)據(jù)輸出數(shù)據(jù)-WR方式1時(shí)輸出端口對(duì)應(yīng)的控制信號(hào)和狀態(tài)信號(hào) nOBF輸出緩沖器滿信號(hào),低電平有效n8255A輸出給外設(shè)的一個(gè)控制信號(hào),當(dāng)其有效時(shí),表示CPU已將輸出數(shù)據(jù)鎖存在8255A指定的端口,外設(shè)可以來取nACK響應(yīng)信號(hào),低電平有效n外
17、設(shè)提供的響應(yīng)信號(hào),通知8255A其端口數(shù)據(jù)已被外設(shè)接收nINTR中斷請(qǐng)求信號(hào),高有效n當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號(hào)向CPU提出中斷請(qǐng)求,要求CPU繼續(xù)提供數(shù)據(jù)端口端口A的的INTEA對(duì)應(yīng)對(duì)應(yīng)PC6,端口端口B的的INTEB對(duì)應(yīng)對(duì)應(yīng)PC2例例2:8255A8255A的的A A口和口和B B口口分別工作在方式分別工作在方式1 1和方和方式式0 0,A A口為輸入端口口為輸入端口,接有,接有8 8個(gè)開個(gè)開關(guān)。關(guān)。B B口口為輸出端,接有為輸出端,接有8 8個(gè)發(fā)個(gè)發(fā)光二極管,連接電路光二極管,連接電路如圖所示?,F(xiàn)要求用如圖所示?,F(xiàn)要求用方式方式1 1把改變后的鍵信把改變后的鍵信息輸入到
18、息輸入到CPUCPU并通過并通過B B口顯示??陲@示。 8 82 25 55 5A AKK7K0PA0PA7PC4PB0PB7PC5LED0LED7LEDSTBAIBFA這個(gè)系統(tǒng)的工作過程如下:1、用戶通過改變K0K7,產(chǎn)生新的鍵信息;2、按下開關(guān)K,產(chǎn)生選通信號(hào),數(shù)據(jù)進(jìn)入A口的緩沖器, 此步驟實(shí)際上告訴CPU,8255的A口來了一個(gè)新數(shù)據(jù);3、IBFA有效使LED點(diǎn)亮。這里含有兩個(gè)信息,一個(gè)是8255A 通知CPU其A口來了一個(gè)新數(shù)據(jù),另一個(gè)是告訴用戶CPU尚未取走這個(gè)這個(gè)數(shù)據(jù),用戶不得再送其他數(shù)據(jù);4、CPU取走這個(gè)數(shù)據(jù),LED熄滅;5、轉(zhuǎn)步驟1。設(shè)8255的I/O地址分布為88H8EH,
19、相應(yīng)的程序段如下:(查詢方式查詢方式)mov al,10111001b;設(shè)置A口為方式1的輸入,out 8eh,alloop1: in al,8ch;取C口的狀態(tài)線test al,00100000b;測(cè)試IBFA信息jz loop1 ;等待用戶設(shè)定新的鍵值mov cx,0ffffh ;延時(shí),LED燈亮(相對(duì)于步驟3)loop2:loop loop2in al,88h;取數(shù)。LED燈滅(相對(duì)于步驟4)out 8ah,al ;更新B口的顯示jmp loop1 ;重復(fù) 例例3:8255A的的A口工作在方式口工作在方式1的的輸出,接有輸出,接有8個(gè)發(fā)個(gè)發(fā)光二極管,現(xiàn)要求光二極管,現(xiàn)要求把內(nèi)存中的把內(nèi)存
20、中的10個(gè)個(gè)數(shù)數(shù),通過通過A口發(fā)送給口發(fā)送給發(fā)光二極管以二進(jìn)發(fā)光二極管以二進(jìn)制的形式供用戶抄制的形式供用戶抄錄。錄。8 82 25 55 5A AKPC7PA0PA7PC6LED0LED7LED+5VACKAOBFA這個(gè)系統(tǒng)的工作過程如下:這個(gè)系統(tǒng)的工作過程如下:1、 CPU把內(nèi)存中的一個(gè)數(shù)據(jù)寫入把內(nèi)存中的一個(gè)數(shù)據(jù)寫入A口;口;2、 LED燈亮,告訴用戶燈亮,告訴用戶LED顯示的是新數(shù)據(jù);顯示的是新數(shù)據(jù);3、 用戶抄錄數(shù)據(jù);用戶抄錄數(shù)據(jù);4、 用戶按下開關(guān)用戶按下開關(guān)K,發(fā),發(fā)ACK信號(hào),告訴信號(hào),告訴CPU數(shù)數(shù)據(jù)已取走;據(jù)已取走;轉(zhuǎn)第一步。轉(zhuǎn)第一步。 mov cx,10;送;送10個(gè)數(shù)個(gè)數(shù)m
21、ov bx,offset xx;數(shù)組指針?biāo)?;?shù)組指針?biāo)蚥xloop1: mov al,bx;取數(shù);取數(shù)out 88h,al;送數(shù)到;送數(shù)到A口口loop2:in al,8ch;??;取C口狀態(tài)線口狀態(tài)線anl al,80h;測(cè)試;測(cè)試OBFAjnz loop2 call delay ;用戶已抄錄數(shù)據(jù),;用戶已抄錄數(shù)據(jù),LED燈滅(對(duì)燈滅(對(duì);應(yīng)步;應(yīng)步 驟驟4)inc bx;準(zhǔn)備送下一個(gè)數(shù);準(zhǔn)備送下一個(gè)數(shù) loop loop1;循環(huán);循環(huán)10次次3. 方式2 n 方式2的特點(diǎn) n雙向的選通方式I/On只適用于端口An端口C用5個(gè)數(shù)位提供控制和狀態(tài)信號(hào) 如果設(shè)定某個(gè)如果設(shè)定某個(gè)8255A的的A口和
22、口和B口分口分別工作在方式別工作在方式2和方式和方式1下,則這個(gè)下,則這個(gè)8255A的的C口的口的I/O功能將不在存在。當(dāng)功能將不在存在。當(dāng)然如果然如果B口是工作在方式口是工作在方式0下,則下,則C口還口還有有3根線可作根線可作I/O線用。線用。A端口工作于方式2,B端口工作于方式0輸入情況 方式2的控制信號(hào) 方式2 雙向選通引腳PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2數(shù)據(jù)數(shù)據(jù)輸入中斷和輸出中斷輸入中斷和輸出中斷通過或門輸出通過或門輸出INTRA信號(hào)信號(hào)征用征用C口口5引腳引腳中斷允許觸發(fā)器中斷允許觸發(fā)器(控制中斷輸出)(控制中斷
23、輸出)通過位控通過位控PC6設(shè)置設(shè)置INTE1中斷允許觸發(fā)器中斷允許觸發(fā)器(控制中斷輸出)(控制中斷輸出)通過位控通過位控PC4設(shè)置設(shè)置INTE2六、8255應(yīng)用舉例1、與打印機(jī)接口 例例4:在某一8086系統(tǒng)中接有一個(gè)打印機(jī),8255A作為輸出接口。工作在方式0,試編一程序?qū)⒕彌_區(qū)BUFF內(nèi)的400H個(gè)字節(jié)的ACK碼送打印機(jī)打印。 打印機(jī)具體工作過程如下打印機(jī)具體工作過程如下:1、數(shù)據(jù)線D7D0出現(xiàn)有效數(shù)據(jù);2、STB有效,通知打印機(jī),接口給打印機(jī)一個(gè)數(shù)據(jù),數(shù)據(jù)從數(shù)據(jù)線進(jìn)入打印機(jī);3、BUSY有效,告訴接口,打印機(jī)正在打印數(shù)據(jù)。打印完畢,BUSY變?yōu)闊o效,表示打印結(jié)束。 8 82 25 55
24、 5A APA0PA7打打印印機(jī)機(jī)D0D7PC0PC4STBBUSYprint_data proc ;打印子程序,入口在dl中print1: in al,c_port;無條件讀C口數(shù)據(jù)test al, 00010000b;測(cè)試busy線jnz print1 ;busy有效,循環(huán)測(cè)試mov al,dl out a_port,al;打印數(shù)據(jù)進(jìn)入A口 mov al,00000000b;發(fā)選通信號(hào) out ctrl_port,almov al,00000001b out ctrl_port,alret;返回主程序print_datA endp2、人機(jī)交互接口動(dòng)態(tài)顯示 例5、常用的顯示稱為動(dòng)態(tài)顯示,它采
25、用掃描顯示技術(shù),可以使硬件開銷降低很多。對(duì)于一個(gè)8位數(shù)據(jù)顯示,它就需要兩個(gè)輸出端口就可以了。其電路如圖所示。在兩個(gè)輸出端口中,一個(gè)稱為段信號(hào)通道,它用來輸出要顯示數(shù)據(jù)的段碼;另一個(gè)稱為位信號(hào)通道,用來決定當(dāng)前要顯示數(shù)據(jù)的位置。 動(dòng)態(tài)顯示電路圖A A口口8255APA7|PA0B B口口8255APB7|PB0+5V段信號(hào)通道位信號(hào)通道段驅(qū)動(dòng)位驅(qū)動(dòng)LED6LED7n顯示系統(tǒng)的具體工作步驟如下:a、 設(shè)要顯示的初始位碼i0;b、 送第i位的段信號(hào);c、 送第i位的位信號(hào);d、 延時(shí);e、 i1if、 如果i小于8,轉(zhuǎn)bg、 8位數(shù)據(jù)顯示結(jié)束。n程序如下:a_port equ 80h;定義8255A
26、的四個(gè)端口b_port equ 82hc_port equ 84hctrl_port equ 86hdatasegment;定義數(shù)據(jù)段tab1db 3FH,06H,5BH,4FH,;定義段碼表dispbuffdb 2,0,0,2,0,8,2,2 ;定義顯示緩沖區(qū)dataends3、人機(jī)交互接口鍵盤掃描 例6、圖所示為矩陣式鍵盤電路,其特點(diǎn)是由按鍵組成一個(gè)矩陣,矩陣的行線和列線分別作為兩個(gè)傳輸方向相反的I/O接口信號(hào)線,比如行線作為輸入接口信號(hào)線,列線作為輸出接口信號(hào)線,或反之。 鍵盤掃描電路圖8255APC0PC1PC2PC3PC4PC5PC6PC7+5VK8K10K9K11K0K2K1K3K
27、4K6K5K7K12K14K13K15 在翻轉(zhuǎn)法中,行列線交換輸入、輸出,兩步就可獲取鍵位置信息??梢娺@種方法要比掃描法效率高。 雙機(jī)并行通信接口PA0PA7PC4PC08255A甲方(發(fā)送)甲方(發(fā)送)方式方式1 輸出輸出PA0PA7PC7PC68255A乙方(接收)乙方(接收)方式方式0 輸入輸入-OBF-ACKCPU查詢引腳輸入查詢引腳輸入有效時(shí),讀數(shù)據(jù)有效時(shí),讀數(shù)據(jù)并輸出應(yīng)答信號(hào)并輸出應(yīng)答信號(hào)兩機(jī)均采用查詢方式工作兩機(jī)均采用查詢方式工作CPU查詢查詢輸出緩沖器狀態(tài)輸出緩沖器狀態(tài)甲機(jī)的初始化mov dx,0fffehmov al,0a0h ;方式字方式字1 0100 000:A口方式口方
28、式1輸出輸出out dx,almov al,0ch ;令令I(lǐng)NTEA( PC6 )0,屏蔽中斷,屏蔽中斷out dx,al甲機(jī)發(fā)送程序mov dx,0fff8h;發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)mov al,ahout dx,altrsmt: mov dx,0fffch ;C口地址口地址in al,dx ;讀讀C口口and al,80h ;查詢查詢OBF(PC7)jz trsmt ;為為0,說明乙機(jī)未響應(yīng),繼續(xù)查,說明乙機(jī)未響應(yīng),繼續(xù)查乙機(jī)的初始化mov dx,0fffehmov al,98h ; 方式字方式字1 0011 000:A口方式口方式0輸入輸入out dx,almov al,01h ;令應(yīng)答信號(hào)(
29、令應(yīng)答信號(hào)( PC0 )1(初始無效)(初始無效)out dx,al乙機(jī):查詢接收receive:mov dx,0fffchin al,dx;讀讀C口口and al,10h ;查詢甲機(jī)的寫選通信號(hào)(查詢甲機(jī)的寫選通信號(hào)( PC4 )jnz receive ;為為1時(shí)無效(甲未發(fā)數(shù)據(jù)),時(shí)無效(甲未發(fā)數(shù)據(jù)),;繼續(xù)查詢繼續(xù)查詢 mov dx,0fff8h;接收數(shù)據(jù)接收數(shù)據(jù)in al,dxmov ah,al ;數(shù)據(jù)保存于數(shù)據(jù)保存于ah乙機(jī):接收響應(yīng)mov dx,0fffehmov al,00h ;應(yīng)答信號(hào)(應(yīng)答信號(hào)( PC0 )0(有效)(有效)out dx,alnop ;適當(dāng)延時(shí),產(chǎn)生一定寬度的
30、有效負(fù)脈沖適當(dāng)延時(shí),產(chǎn)生一定寬度的有效負(fù)脈沖nopmov al,01h ;應(yīng)答信號(hào)(應(yīng)答信號(hào)( PC0 )1(無效)(無效)out dx,aln例題(打印機(jī))一臺(tái)打印機(jī)通過并行接口8255輸出數(shù)據(jù),從內(nèi)存Buff單元開始緩沖中的250個(gè)字符送出打印(1)要求用查詢方式(2)用中斷方式66打印機(jī)n主機(jī)把數(shù)據(jù)送給引腳DATA0DATA7n同時(shí)送出數(shù)據(jù)選通信號(hào)-STROBEn打印期間,打印機(jī)在BUSY信號(hào)線上發(fā)出忙信號(hào)n打印機(jī)處理好輸入的數(shù)據(jù)時(shí)n撤消忙信號(hào)n同時(shí)又送出一個(gè)響應(yīng)信號(hào)-ACKBUSY DATA078255APC7PC2PA0PA7打印機(jī)打印機(jī)-STROBE8255方式0應(yīng)用舉例(應(yīng)答輸入
31、輸出)8255A的初始化mov dx,0fffeh;控制口地址:控制口地址:FFFEHmov al,1 0000 001B;方式控制字:方式控制字:81Hout dx,al;A口方式口方式0 輸出,輸出, CH輸出、輸出、 CL輸入輸入mov al,0 000 111 1B;位控字,令位控字,令PC71,即,即-STROBE無效無效out dx,al打印子程序:查詢printcprocpush axpush dxprn: mov dx,0fffch;讀取端口讀取端口Cin al,dx;查詢打印機(jī)狀態(tài)查詢打印機(jī)狀態(tài)and al,04h;測(cè)試測(cè)試PC2(BUSY)jnz prn ;為為1,打印機(jī)忙
32、,則循環(huán)等待,打印機(jī)忙,則循環(huán)等待打印子程序:輸出mov dx,0fff8h ;為為0,打印機(jī)不忙,則輸出數(shù)據(jù),打印機(jī)不忙,則輸出數(shù)據(jù)mov al,ahout dx,al ;將打印數(shù)據(jù)從端口將打印數(shù)據(jù)從端口A輸出輸出打印子程序:打印mov dx,0fffeh;從從PC7送出控制負(fù)脈沖送出控制負(fù)脈沖mov al,0 000 111 0B;置置-STROBE0(有效)(有效)out dx,alnop ;產(chǎn)生一定寬度的負(fù)脈沖產(chǎn)生一定寬度的負(fù)脈沖nopmov al,0 000 111 1B;置置-STROBE =1(無效)(無效)out dx,al ;打印機(jī)打印機(jī)-STROBE端輸入負(fù)脈沖端輸入負(fù)脈沖
33、打印子程序:返回pop dxpop axretprintcendp用8255A方式1與打印機(jī)接口(中斷)1000pf2K15321441LS123單穩(wěn)單穩(wěn)電路電路+5VDATA078255APC6INTRPC3PC7PA0PA7打印機(jī)打印機(jī)-ACK-ACK-OBF-STROBE調(diào)整調(diào)整-STROBE負(fù)脈沖的寬度負(fù)脈沖的寬度中斷方式主程序;MOV DX,303HMOV AL,A0H ;端口A方式1輸出OUT DX,ALMOV AL,0DH ;pc6 置1,中斷允許OUT DX,ALMOV AL,0FH ;pc7 置1,輸出緩沖器空OUT DX,ALSTI75中斷服務(wù)程序:MOV AL,SI ;輸
34、出數(shù)據(jù)首地址MOV DX,300H ;端口A地址OUT DX,ALMOV DX,303H MOV AL,0EH ;輸出緩沖器滿,并同時(shí)輸出給打印機(jī)負(fù)脈沖OUT DX,ALNOPMOV AL,0FHOUT DX,ALIRET8255A方式1與打印機(jī)接口時(shí)序配合PA0PA7(DATA07)-ACK-OBF-STROBE打印機(jī)在方式打印機(jī)在方式1 1工作時(shí)的時(shí)序工作時(shí)的時(shí)序8255端口A方式1查詢方式下的初始化mov dx,0fffehmov al,0a0h ;方式字方式字1 0100 000out dx,almov al,0ch ;位控字,令位控字,令I(lǐng)NTEA(PC6)為)為0,禁止中斷,禁止中
35、斷out dx,almov cx,counter;打印字節(jié)數(shù)送打印字節(jié)數(shù)送CXmov bx,offset buffer;取字符串首地址取字符串首地址call prints;調(diào)用打印子程序調(diào)用打印子程序打印子程序:輸出printsprocpush ax;保護(hù)寄存器保護(hù)寄存器push dxprint1:mov al,bx;取一個(gè)數(shù)據(jù)取一個(gè)數(shù)據(jù)mov dx,0fff8hout dx,al;從端口從端口A輸出輸出 打印子程序:查詢mov dx,0fffchprint2: in al,dxtest al,80h;檢測(cè)檢測(cè)PC7,即,即-OBFA狀態(tài)狀態(tài)jz print2;為為0,說明打印機(jī)方面未響應(yīng),說
36、明打印機(jī)方面未響應(yīng), ;繼續(xù)檢測(cè)繼續(xù)檢測(cè) 打印子程序:返回inc bx;為為1時(shí)打印機(jī)已接收數(shù)據(jù)時(shí)打印機(jī)已接收數(shù)據(jù)loop print1;準(zhǔn)備輸出下一個(gè)數(shù)據(jù)準(zhǔn)備輸出下一個(gè)數(shù)據(jù)pop dx;打印結(jié)束,恢復(fù)寄存器打印結(jié)束,恢復(fù)寄存器pop axret ;返回返回printsendp7. 2 可編程定時(shí)計(jì)數(shù)器接口芯片可編程定時(shí)計(jì)數(shù)器接口芯片8253n基礎(chǔ)是計(jì)數(shù)功能基礎(chǔ)是計(jì)數(shù)功能n關(guān)于定時(shí)信號(hào)關(guān)于定時(shí)信號(hào): :n軟件方法獲得n硬件方法獲得一、功能一、功能 定時(shí)和脈沖信號(hào)的處理與接口是完全有別于定時(shí)和脈沖信號(hào)的處理與接口是完全有別于并行信號(hào)的,其特點(diǎn)是信號(hào)形式簡(jiǎn)單但需要連并行信號(hào)的,其特點(diǎn)是信號(hào)形式簡(jiǎn)單
37、但需要連續(xù)檢測(cè),下面介紹的續(xù)檢測(cè),下面介紹的INTEL8253可編程定時(shí)可編程定時(shí)計(jì)數(shù)器就是可以實(shí)現(xiàn)所要求這方面功能。計(jì)數(shù)器就是可以實(shí)現(xiàn)所要求這方面功能。8253內(nèi)部有內(nèi)部有3個(gè)獨(dú)立的個(gè)獨(dú)立的16位定時(shí)計(jì)數(shù)器通位定時(shí)計(jì)數(shù)器通道。計(jì)數(shù)器可按照二進(jìn)制或十進(jìn)制計(jì)數(shù),計(jì)數(shù)道。計(jì)數(shù)器可按照二進(jìn)制或十進(jìn)制計(jì)數(shù),計(jì)數(shù)和定時(shí)范圍可在和定時(shí)范圍可在165535之間改變,每個(gè)通之間改變,每個(gè)通道有道有6種工作方式,計(jì)數(shù)頻率可高達(dá)種工作方式,計(jì)數(shù)頻率可高達(dá)2MHz以以上。上。n計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器的應(yīng)用:定時(shí)器的應(yīng)用:n在多任務(wù)的分時(shí)系統(tǒng)中作為中斷信號(hào)實(shí)現(xiàn)程序的切換。n可往I/O設(shè)備輸出精確的定時(shí)信號(hào)。n作為一
38、個(gè)可編程的波特率發(fā)生器。n實(shí)現(xiàn)時(shí)間延遲。n外部事件計(jì)數(shù)外部事件計(jì)數(shù) 8253的工作原理 二、二、8253的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 預(yù)置寄存器預(yù)置寄存器GATECLKOUT減減1計(jì)數(shù)器計(jì)數(shù)器輸出鎖存器輸出鎖存器計(jì)數(shù)初值存于計(jì)數(shù)初值存于預(yù)置寄存器預(yù)置寄存器;在計(jì)數(shù)過程中,在計(jì)數(shù)過程中,減法計(jì)數(shù)器減法計(jì)數(shù)器的值不斷遞減,的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器輸出鎖存器用于寫入鎖存命令時(shí),用于寫入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值鎖定當(dāng)前計(jì)數(shù)值地址由CS、A1、A0確定 8253的端口尋址及基本操作的端口尋址及基本操作 寫入計(jì)數(shù)器寫入計(jì)數(shù)器0的初始值的初始值寫入計(jì)數(shù)器寫入計(jì)數(shù)
39、器1的初始值的初始值寫入計(jì)數(shù)器寫入計(jì)數(shù)器2的初始值的初始值寫入控制寄存器控制字寫入控制寄存器控制字讀計(jì)數(shù)器讀計(jì)數(shù)器0的當(dāng)前值的當(dāng)前值讀計(jì)數(shù)器讀計(jì)數(shù)器1的當(dāng)前值的當(dāng)前值讀計(jì)數(shù)器讀計(jì)數(shù)器2的當(dāng)前值的當(dāng)前值CSRDA1WRA0端口操作端口操作11110000000111001100101010100000000計(jì)數(shù)器計(jì)數(shù)器0數(shù)器器數(shù)器器1計(jì)數(shù)器計(jì)數(shù)器2控制控制A1A0端口端口00110101三、三、 8253的管腳分配的管腳分配 通道管腳數(shù)據(jù)線通道選擇控制線四、四、 8253/8254的編程的編程 n控制字有兩類控制字有兩類n方式控制字n8254的讀出控制字?jǐn)?shù)制選擇數(shù)制選擇SC1SC0M2RL1RL
40、0 BCDM0M1D7 D6 D5 D4 D3 D2 D1 D0工作模式選擇工作模式選擇000 模式模式0001模式模式1X10模式模式2X11模式模式3100模式模式4101模式模式500 計(jì)數(shù)器鎖存命令計(jì)數(shù)器鎖存命令10 只讀只讀/寫高八位寫高八位01 只讀只讀/寫低八位寫低八位11 先讀先讀/寫低八位寫低八位 再讀再讀/寫高八位寫高八位00 選計(jì)數(shù)器選計(jì)數(shù)器001選計(jì)數(shù)器選計(jì)數(shù)器110 選計(jì)數(shù)器選計(jì)數(shù)器2讀讀/寫指示寫指示計(jì)數(shù)器選擇計(jì)數(shù)器選擇1BCD計(jì)計(jì)數(shù)數(shù)0二進(jìn)二進(jìn)制計(jì)數(shù)制計(jì)數(shù)9.3 82539.3 8253控制寄存器和控制字控制寄存器和控制字方式控制字方式控制字n8254讀出控制字
41、計(jì)數(shù)初值與輸入時(shí)鐘(計(jì)數(shù)初值與輸入時(shí)鐘(CLK)頻率及輸出波形()頻率及輸出波形(OUT)頻率有關(guān)系。頻率有關(guān)系。定時(shí)定時(shí):時(shí)間取決于:時(shí)間取決于CLK和計(jì)數(shù)初值(又叫和計(jì)數(shù)初值(又叫時(shí)間常數(shù)時(shí)間常數(shù)),), 定時(shí)時(shí)間定時(shí)時(shí)間=初值初值*計(jì)數(shù)時(shí)鐘周期計(jì)數(shù)時(shí)鐘周期初值初值=fclk/fout 或或= Tout / Tclk計(jì)數(shù)計(jì)數(shù):初值:初值=統(tǒng)計(jì)個(gè)數(shù)統(tǒng)計(jì)個(gè)數(shù)9.3.2 82539.3.2 8253計(jì)數(shù)初值計(jì)數(shù)初值n編程命令包括兩類編程命令包括兩類n寫入命令,包括n設(shè)置控制字命令設(shè)置控制字命令n設(shè)置初值命令設(shè)置初值命令n鎖存命令鎖存命令n讀出命令n讀取計(jì)數(shù)器當(dāng)前的值。讀取計(jì)數(shù)器當(dāng)前的值。n對(duì)對(duì)8
42、2548254,還可讀取狀態(tài)字,還可讀取狀態(tài)字n編程有編程有3 3條原則必須遵守:條原則必須遵守:n對(duì)計(jì)數(shù)器設(shè)置初始值前必須先寫控制字。n初始值設(shè)置時(shí),要符合控制字中的格式規(guī)定,即只寫低位字節(jié)還是只寫高位字節(jié),或高低位字節(jié)都寫,控制字中一旦規(guī)定,具體初始值設(shè)定時(shí)就要一致。n要讀取計(jì)數(shù)器的當(dāng)前值和狀態(tài)字,必須用控制字先鎖定,才能讀取。v例:選擇例:選擇2號(hào)計(jì)數(shù)器,工作在模式號(hào)計(jì)數(shù)器,工作在模式3,計(jì)數(shù)初值為,計(jì)數(shù)初值為533H( 2 個(gè) 字 節(jié) ) , 采 用 二 進(jìn) 制 計(jì) 數(shù) 。 端 口 地 址 分 配個(gè) 字 節(jié) ) , 采 用 二 進(jìn) 制 計(jì) 數(shù) 。 端 口 地 址 分 配304H307H
43、。其初始化程序段為。其初始化程序段為 MOV DX,307H ;命令口;命令口 MOV AL,10110110B ;2號(hào)計(jì)數(shù)器的初始化命令字號(hào)計(jì)數(shù)器的初始化命令字 OUT DX,AL ;寫入命令寄存器;寫入命令寄存器 MOV DX,306H ;2號(hào)計(jì)數(shù)器數(shù)據(jù)口號(hào)計(jì)數(shù)器數(shù)據(jù)口 MOV AX,533H ;計(jì)數(shù)初值;計(jì)數(shù)初值 OUT DX,AL ;選送低字節(jié)到;選送低字節(jié)到2號(hào)計(jì)數(shù)器號(hào)計(jì)數(shù)器 MOV AL,AH ;取高字節(jié)送;取高字節(jié)送AL OUT DX,AL ;后送高字節(jié)到;后送高字節(jié)到2號(hào)計(jì)數(shù)器號(hào)計(jì)數(shù)器n6種工作方式種工作方式n計(jì)數(shù)結(jié)束產(chǎn)生中斷n可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器n分頻器n方波發(fā)生器n軟件
44、觸發(fā)的選通信號(hào)發(fā)生器n硬件觸發(fā)的選通信號(hào)發(fā)生器五、五、 8253的工作方式的工作方式8253 的工作方式的基本規(guī)則n控制字寫入計(jì)數(shù)器之后,所有的控制邏輯控制字寫入計(jì)數(shù)器之后,所有的控制邏輯電路立即復(fù)位,輸出端電路立即復(fù)位,輸出端 OUT就進(jìn)入就進(jìn)入初始初始狀狀態(tài)(高電平或低電平)態(tài)(高電平或低電平)n計(jì)數(shù)值寫入后,要經(jīng)過一個(gè)計(jì)數(shù)值寫入后,要經(jīng)過一個(gè)CLK,計(jì)數(shù)執(zhí),計(jì)數(shù)執(zhí)行部件才開始計(jì)數(shù)行部件才開始計(jì)數(shù)n在時(shí)鐘在時(shí)鐘信號(hào)的上升沿,信號(hào)的上升沿,GATA信號(hào)被采集信號(hào)被采集;在時(shí)鐘在時(shí)鐘信號(hào)的下降沿,計(jì)數(shù)器作減信號(hào)的下降沿,計(jì)數(shù)器作減1 操作操作 8253芯片的每個(gè)計(jì)數(shù)器通道都有芯片的每個(gè)計(jì)數(shù)器通
45、道都有6種工作方式可供選種工作方式可供選用,由方式控制字確定。熟悉每種工作方式的特點(diǎn)用,由方式控制字確定。熟悉每種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問題,選擇正確的工作方式才能根據(jù)實(shí)際應(yīng)用問題,選擇正確的工作方式n每種工作方式的過程類似:每種工作方式的過程類似: 設(shè)定工作方式 設(shè)定計(jì)數(shù)初值 硬件啟動(dòng) 計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器 每輸入一個(gè)時(shí)鐘計(jì)數(shù)器減1的計(jì)數(shù)過程 計(jì)數(shù)過程結(jié)束9.5 8253的工作模式的工作模式1、方式、方式0計(jì)數(shù)結(jié)束中斷方式計(jì)數(shù)結(jié)束中斷方式 工作方式工作方式0有如下特點(diǎn):有如下特點(diǎn):a、門控信號(hào)、門控信號(hào)GATE必須為必須為1,計(jì)數(shù)器才能計(jì)數(shù);,計(jì)數(shù)器才能計(jì)數(shù);b、計(jì)數(shù)時(shí)通道輸出端、
46、計(jì)數(shù)時(shí)通道輸出端OUT一直為一直為0;c、通道計(jì)數(shù)器計(jì)數(shù)到、通道計(jì)數(shù)器計(jì)數(shù)到0后,后,OUT由由0到到1,同時(shí)計(jì)數(shù)器停,同時(shí)計(jì)數(shù)器停止工作。止工作。2 2、方式、方式1 1可編程序的單獨(dú)負(fù)脈沖可編程序的單獨(dú)負(fù)脈沖 方式方式1 1工作過程如下:工作過程如下:a a、門控信號(hào)門控信號(hào)GATEGATE是觸發(fā)信號(hào),上升沿有效。即開始計(jì)數(shù)是觸發(fā)信號(hào),上升沿有效。即開始計(jì)數(shù)是由是由GATEGATE的上升沿觸發(fā)的;的上升沿觸發(fā)的;b b、 觸發(fā)后,通道計(jì)數(shù)器開始計(jì)數(shù),輸出端觸發(fā)后,通道計(jì)數(shù)器開始計(jì)數(shù),輸出端OUTOUT由高變低;由高變低;c c、 計(jì)數(shù)器計(jì)數(shù)到計(jì)數(shù)器計(jì)數(shù)到0 0,OUTOUT再由低變高。再由
47、低變高。 3 3 、方式、方式2 2速率發(fā)生器速率發(fā)生器方式方式2的特點(diǎn)如下:的特點(diǎn)如下:a、GATE門為門為1,計(jì)數(shù)器才能工作,對(duì),計(jì)數(shù)器才能工作,對(duì)CLK端上端上的脈沖進(jìn)行計(jì)數(shù);的脈沖進(jìn)行計(jì)數(shù);b、當(dāng)計(jì)數(shù)器當(dāng)計(jì)數(shù)器“減減”計(jì)數(shù)到計(jì)數(shù)到1時(shí),輸出端由高變低時(shí),輸出端由高變低,再經(jīng)過一個(gè),再經(jīng)過一個(gè)CLK周期,即計(jì)數(shù)器計(jì)數(shù)到周期,即計(jì)數(shù)器計(jì)數(shù)到0時(shí),時(shí),輸出端輸出端OUT又跳變?yōu)楦?。所以方式又跳變?yōu)楦?。所以方?輸出周期性輸出周期性負(fù)脈沖信號(hào),其寬度固定為一個(gè)負(fù)脈沖信號(hào),其寬度固定為一個(gè)CLK周期;周期;c、當(dāng)計(jì)數(shù)器的值減為當(dāng)計(jì)數(shù)器的值減為0時(shí),自動(dòng)重新裝入計(jì)數(shù)初時(shí),自動(dòng)重新裝入計(jì)數(shù)初值,實(shí)現(xiàn)
48、循環(huán)計(jì)數(shù)。值,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。4 4、方式、方式3 3方波發(fā)生器方波發(fā)生器 方式方式2 2雖然可以作分頻電路,但其輸出雖然可以作分頻電路,但其輸出是窄脈沖,如果是方波,就只有選方式是窄脈沖,如果是方波,就只有選方式3 3 5 5、方式、方式4 4軟件觸發(fā)方式軟件觸發(fā)方式方式方式4在工作過程中有以下特點(diǎn):在工作過程中有以下特點(diǎn):a、門控信號(hào)、門控信號(hào)GATE為高電平,計(jì)數(shù)器開始減為高電平,計(jì)數(shù)器開始減1計(jì)計(jì)數(shù),數(shù),OUT維持高電平;維持高電平;b、當(dāng)計(jì)數(shù)器減到、當(dāng)計(jì)數(shù)器減到0,輸出端,輸出端OUT變低,再經(jīng)過變低,再經(jīng)過一個(gè)一個(gè)CLK輸入時(shí)鐘周期,輸入時(shí)鐘周期,OUT輸出又變高。輸出又變高。 6
49、6、方式、方式5 5硬件觸發(fā)方式硬件觸發(fā)方式 這種工作方式同方式這種工作方式同方式4 4很相似,當(dāng)控制字很相似,當(dāng)控制字寫入控制寄存器后,輸出端寫入控制寄存器后,輸出端OUTOUT變高。同方變高。同方式式4 4不同的一點(diǎn)是當(dāng)計(jì)數(shù)值寫入通道計(jì)數(shù)器不同的一點(diǎn)是當(dāng)計(jì)數(shù)值寫入通道計(jì)數(shù)器后,通道并未被觸發(fā),也就是計(jì)數(shù)器并不立后,通道并未被觸發(fā),也就是計(jì)數(shù)器并不立即開始計(jì)數(shù)。只有當(dāng)即開始計(jì)數(shù)。只有當(dāng)GATEGATE信號(hào)的上升沿觸發(fā)信號(hào)的上升沿觸發(fā)通道后,通道計(jì)數(shù)器才開始計(jì)數(shù)。通道后,通道計(jì)數(shù)器才開始計(jì)數(shù)。 n 8253 8253的六種工作方式可歸為兩類,一的六種工作方式可歸為兩類,一個(gè)是充當(dāng)頻率發(fā)生器,另
50、一類主要是作個(gè)是充當(dāng)頻率發(fā)生器,另一類主要是作計(jì)數(shù)器來使用。下面我們就從這個(gè)角度計(jì)數(shù)器來使用。下面我們就從這個(gè)角度來討論總結(jié)來討論總結(jié)OUTOUT和和GATEGATE門的作用。門的作用。 8253的工作方式小結(jié)的工作方式小結(jié)n與頻率發(fā)生器有關(guān)的工作方式與頻率發(fā)生器有關(guān)的工作方式82538253有兩種方式與頻率發(fā)生器有關(guān),即方式有兩種方式與頻率發(fā)生器有關(guān),即方式2 2和發(fā)生和發(fā)生3 3,對(duì),對(duì)OUTOUT端,方式端,方式2 2提供給用戶的是負(fù)提供給用戶的是負(fù)脈沖,方式脈沖,方式3 3提供給用戶的是方波。在這個(gè)兩提供給用戶的是方波。在這個(gè)兩種方式下,種方式下,GATEGATE信號(hào)要始終保持為高。信
51、號(hào)要始終保持為高。n與計(jì)數(shù)器有關(guān)的工作方式與計(jì)數(shù)器有關(guān)的工作方式 對(duì)于計(jì)數(shù)器類,有方式對(duì)于計(jì)數(shù)器類,有方式0 0、1 1和方式和方式4 4、5 5。n啟動(dòng)計(jì)數(shù)器的方式有兩種,一種是啟動(dòng)計(jì)數(shù)器的方式有兩種,一種是CPUCPU把時(shí)間常數(shù)寫入把時(shí)間常數(shù)寫入相應(yīng)通道后,計(jì)數(shù)器就開始工作,我們可以稱之為軟相應(yīng)通道后,計(jì)數(shù)器就開始工作,我們可以稱之為軟件啟動(dòng)方式,在這種啟動(dòng)方式下,件啟動(dòng)方式,在這種啟動(dòng)方式下,GATEGATE要始終保持為要始終保持為高電平,所以方式高電平,所以方式0 0和方式和方式4 4可以稱為軟件啟動(dòng)方式??梢苑Q為軟件啟動(dòng)方式。另一種是硬件啟動(dòng)計(jì)數(shù)器,即另一種是硬件啟動(dòng)計(jì)數(shù)器,即CPU
52、CPU把時(shí)間常數(shù)寫入計(jì)數(shù)把時(shí)間常數(shù)寫入計(jì)數(shù)器后,即使器后,即使GATEGATE為高電平,計(jì)數(shù)器并不工作。只有為高電平,計(jì)數(shù)器并不工作。只有GATEGATE發(fā)生跳變,其上升沿啟動(dòng)計(jì)數(shù)器工作,所以方式發(fā)生跳變,其上升沿啟動(dòng)計(jì)數(shù)器工作,所以方式1 1和方式和方式5 5就可以稱為硬件啟動(dòng)方式。就可以稱為硬件啟動(dòng)方式。n計(jì)數(shù)器溢出時(shí),計(jì)數(shù)器溢出時(shí),OUTOUT有兩種輸出形式,要么是電平,要有兩種輸出形式,要么是電平,要么是負(fù)脈沖。前者有方式么是負(fù)脈沖。前者有方式0 0方式方式1 1,后者有方式,后者有方式4 4和方式和方式5 5。GATE模式低電平或下降沿低電平或下降沿上升沿上升沿高電平高電平0計(jì)數(shù)停止
53、計(jì)數(shù)停止進(jìn)行或繼續(xù)計(jì)數(shù)進(jìn)行或繼續(xù)計(jì)數(shù)1啟動(dòng)計(jì)數(shù)啟動(dòng)計(jì)數(shù)2計(jì)數(shù)停止,輸出高電平計(jì)數(shù)停止,輸出高電平開始計(jì)數(shù)開始計(jì)數(shù)進(jìn)行計(jì)數(shù)進(jìn)行計(jì)數(shù)3計(jì)數(shù)停止,輸出高電平計(jì)數(shù)停止,輸出高電平開始計(jì)數(shù)開始計(jì)數(shù)進(jìn)行計(jì)數(shù)進(jìn)行計(jì)數(shù)4計(jì)數(shù)停止計(jì)數(shù)停止進(jìn)行或繼續(xù)計(jì)數(shù)進(jìn)行或繼續(xù)計(jì)數(shù)5啟動(dòng)計(jì)數(shù)啟動(dòng)計(jì)數(shù)各種工作各種工作方式下方式下GATEGATE信號(hào)的作用信號(hào)的作用 GATA的作用的作用六、六、 8253應(yīng)用舉例應(yīng)用舉例 例例1 1:現(xiàn)有一個(gè)高精密晶體振蕩電路,現(xiàn)有一個(gè)高精密晶體振蕩電路,輸出信號(hào)是脈沖波,頻率為輸出信號(hào)是脈沖波,頻率為1MHz1MHz。要求。要求利用利用82538253做一個(gè)秒信號(hào)發(fā)生器,其輸出做一個(gè)秒信號(hào)發(fā)生器
54、,其輸出接一發(fā)光二極管,以接一發(fā)光二極管,以0.50.5秒點(diǎn)亮,秒點(diǎn)亮,0.50.5秒秒熄滅的方式閃爍指示。設(shè)熄滅的方式閃爍指示。設(shè)82538253的通道地的通道地址為址為80H80H86H86H(偶地址)(偶地址)解:解:1 1、時(shí)間常數(shù)計(jì)算、時(shí)間常數(shù)計(jì)算 這個(gè)例子要求用這個(gè)例子要求用82538253作一個(gè)分頻電路,作一個(gè)分頻電路,而且其輸出應(yīng)該是方波,否則發(fā)光二極管不而且其輸出應(yīng)該是方波,否則發(fā)光二極管不可能等間隔閃爍指示。頻率為可能等間隔閃爍指示。頻率為1MHz1MHz信號(hào)的周信號(hào)的周期為期為1 1微妙,而微妙,而1Hz1Hz信號(hào)的周期為信號(hào)的周期為1 1秒,所以秒,所以分頻系數(shù)分頻系數(shù)
55、N N可按下式進(jìn)行計(jì)算:可按下式進(jìn)行計(jì)算: 11000000100000011SSNSS 由于由于82538253一個(gè)通道最大的計(jì)數(shù)值是一個(gè)通道最大的計(jì)數(shù)值是6553665536,所以對(duì)于,所以對(duì)于N N10000001000000這樣的大數(shù),一個(gè)通這樣的大數(shù),一個(gè)通道是不可能完成上述分頻要求的。由于道是不可能完成上述分頻要求的。由于 即取兩個(gè)計(jì)數(shù)器,采用級(jí)聯(lián)方式。即取兩個(gè)計(jì)數(shù)器,采用級(jí)聯(lián)方式。 2 2、電路、電路1210000001000 1000NNNOUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK11KHz8253通道1 3、工作方式選擇、工作方式選擇 由于通
56、道由于通道1 1要輸出方波信號(hào)推動(dòng)發(fā)光二極管要輸出方波信號(hào)推動(dòng)發(fā)光二極管,所以通道,所以通道1 1應(yīng)選工作方式應(yīng)選工作方式3 3。對(duì)于通道。對(duì)于通道0 0,只,只要能起分頻作用就行,對(duì)輸出波形不做要求,要能起分頻作用就行,對(duì)輸出波形不做要求,所以方式所以方式2 2和方式和方式3 3都可以選用。都可以選用。這樣對(duì)于通道這樣對(duì)于通道0 0,我們?nèi)」ぷ鞣绞?,我們?nèi)」ぷ鞣绞? 2,BCDBCD計(jì)數(shù)計(jì)數(shù);對(duì)于通道;對(duì)于通道1 1,我們?nèi)」ぷ鞣绞?,我們?nèi)」ぷ鞣绞? 3,二進(jìn)制計(jì)數(shù),二進(jìn)制計(jì)數(shù)(當(dāng)然也可選(當(dāng)然也可選BCDBCD計(jì)數(shù))計(jì)數(shù)) mov al,00110101b;通道;通道0控制字控制字out
57、86h,almov al,00;通道;通道0初始計(jì)數(shù)值初始計(jì)數(shù)值out 80h,almov al,10hout 80h,almov al,01110110b;通道;通道1控制字控制字out 86h,al mov al,0e0h;通道;通道1初始值,初始值,03E8H=1000BCDout 82h,almov al,03hout 82h,al例例2:計(jì)件系統(tǒng)。計(jì)件系統(tǒng)的功能就是記錄計(jì)件系統(tǒng)。計(jì)件系統(tǒng)的功能就是記錄 脈沖的個(gè)數(shù)。脈沖的個(gè)數(shù)。 一個(gè)脈沖代表一個(gè)事件,比如交通道路檢測(cè)系統(tǒng)中通一個(gè)脈沖代表一個(gè)事件,比如交通道路檢測(cè)系統(tǒng)中通過檢測(cè)點(diǎn)的車輛,工業(yè)控制系統(tǒng)中流水線上已加工好的過檢測(cè)點(diǎn)的車輛,工
58、業(yè)控制系統(tǒng)中流水線上已加工好的工件。要求在計(jì)件過程中,工件。要求在計(jì)件過程中,PCPC機(jī)可以顯示當(dāng)前計(jì)數(shù)器的機(jī)可以顯示當(dāng)前計(jì)數(shù)器的內(nèi)容,當(dāng)完成內(nèi)容,當(dāng)完成1000010000個(gè)工件記錄后,系統(tǒng)發(fā)出個(gè)工件記錄后,系統(tǒng)發(fā)出1KHz1KHz信號(hào)信號(hào)推動(dòng)喇叭發(fā)音通知用戶。推動(dòng)喇叭發(fā)音通知用戶。 解:解:1 1、電路。、電路。 需要兩個(gè)通道,一個(gè)作為計(jì)數(shù),選用通道需要兩個(gè)通道,一個(gè)作為計(jì)數(shù),選用通道0。另一。另一個(gè)產(chǎn)生個(gè)產(chǎn)生1KHz信號(hào),選用通道信號(hào),選用通道1。工作原理如下,傳感工作原理如下,傳感器電路把物理事件轉(zhuǎn)換為脈沖信號(hào)輸入到通道器電路把物理事件轉(zhuǎn)換為脈沖信號(hào)輸入到通道0 0計(jì)數(shù),計(jì)數(shù),當(dāng)記錄當(dāng)
59、記錄1000010000個(gè)事件后,通道個(gè)事件后,通道0 0計(jì)數(shù)器溢出,計(jì)數(shù)器溢出,GATEGATE端輸端輸出高電平,這時(shí)通道出高電平,這時(shí)通道1 1開始工作,產(chǎn)生開始工作,產(chǎn)生1KHz1KHz信號(hào)推動(dòng)喇信號(hào)推動(dòng)喇叭發(fā)音叭發(fā)音。OUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK18253通道1計(jì)件脈沖驅(qū)動(dòng)放大 2 2、工作方式選擇、工作方式選擇 對(duì)于通道對(duì)于通道1 1,由于要產(chǎn)生,由于要產(chǎn)生1KHz信號(hào),故選用工作方信號(hào),故選用工作方 式式3。對(duì)于通道。對(duì)于通道0,要求初始計(jì)數(shù)值寫入計(jì)數(shù)通道后,要求初始計(jì)數(shù)值寫入計(jì)數(shù)通道后,計(jì)數(shù)器就可以工作,則通道計(jì)數(shù)器就可以工作,則通
60、道0的啟動(dòng)方式應(yīng)是軟件啟動(dòng)的啟動(dòng)方式應(yīng)是軟件啟動(dòng)。另外由于要求計(jì)數(shù)溢出后產(chǎn)生一個(gè)信號(hào)來啟動(dòng)一個(gè)。另外由于要求計(jì)數(shù)溢出后產(chǎn)生一個(gè)信號(hào)來啟動(dòng)一個(gè)事件,即喇叭發(fā)音,故可選的工作方式為方式事件,即喇叭發(fā)音,故可選的工作方式為方式0和方式和方式4,對(duì)于圖所示方案,通道,對(duì)于圖所示方案,通道1的的GATE信號(hào)由通道信號(hào)由通道0的的OUT信號(hào)產(chǎn)生,這個(gè)信號(hào)產(chǎn)生,這個(gè)OUT信號(hào)應(yīng)該是電平型的,所以信號(hào)應(yīng)該是電平型的,所以通道通道0應(yīng)選用方式應(yīng)選用方式0。 3、時(shí)間常數(shù)、時(shí)間常數(shù) N010004、程序(見書)、程序(見書)11MHz1000KHz=10001KHz1KHzN n用用8253/8254為為A/D子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025購(gòu)車合同樣本范本
- 2025年拒絕政府采購(gòu)合同的法律責(zé)任分析
- 房地產(chǎn)買賣補(bǔ)充合同范本
- 車庫(kù)轉(zhuǎn)讓協(xié)議
- 2025《中央商務(wù)區(qū)B區(qū)基礎(chǔ)設(shè)施建設(shè)與管理承包合同》
- 產(chǎn)品購(gòu)銷合同范本
- 2025版合同:國(guó)內(nèi)勞務(wù)合同
- 2025城區(qū)商場(chǎng)餐飲服務(wù)承包合同
- 廣州南沙就業(yè)協(xié)議書
- 肇慶學(xué)院《巖土工程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024上海市招聘社區(qū)工作者考試題及參考答案
- 機(jī)器設(shè)備評(píng)估常用數(shù)據(jù)及參數(shù)(最新)
- 叉車日常維護(hù)保養(yǎng)檢查記錄表
- 東風(fēng)汽車特約店培訓(xùn)資料-WDMS維修系統(tǒng)培訓(xùn)管理(PPT 131頁(yè))
- Q∕GDW 12070-2020 配電網(wǎng)工程標(biāo)準(zhǔn)化設(shè)計(jì)圖元規(guī)范
- 汽車半懸掛系統(tǒng)建模與分析(現(xiàn)代控制理論大作業(yè))
- 小學(xué)語(yǔ)文人教課標(biāo)版(部編)三年級(jí)下冊(cè)習(xí)作:我做了一項(xiàng)小實(shí)驗(yàn)
- 畢業(yè)設(shè)計(jì)論文土木工程專業(yè)五層單身宿舍樓框架結(jié)構(gòu)設(shè)計(jì)
- 立式水輪發(fā)電機(jī)軸線分析及處理
- 蹲踞式起跑PPT
- 1云南省初中綜合素質(zhì),完整版綜合素質(zhì)評(píng)定表
評(píng)論
0/150
提交評(píng)論