版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、西南交通大學信息科學與技術(shù)學院 第9章 可編程接口芯片第第9 9章章 可編程接口芯片可編程接口芯片本章主要內(nèi)容本章主要內(nèi)容 可編程接口芯片概述可編程接口芯片概述1 可編程并行接口芯片可編程并行接口芯片8255A2 可編程定時器可編程定時器/計數(shù)器計數(shù)器82533 可編程串行通信接口芯片可編程串行通信接口芯片8251A4第第9 9章章 可編程接口芯片可編程接口芯片9.1 9.1 可編程接口芯片概述可編程接口芯片概述可編程接口芯片,通過軟件編程來可編程接口芯片,通過軟件編程來設(shè)置設(shè)置芯片的工作方式,芯片的工作方式,使一個芯片具有靈活的多種工作方式使一個芯片具有靈活的多種工作方式,從而,從而提高每個
2、芯片提高每個芯片的功能的功能。本章主要介紹幾種常用可編程接口芯片本章主要介紹幾種常用可編程接口芯片:l 可編程并行接口芯片可編程并行接口芯片8255A8255Al 可編程定時器可編程定時器/ /計數(shù)器計數(shù)器82538253l 可編程串行通信接口芯片可編程串行通信接口芯片8251A8251A第第9 9章章 可編程接口芯片可編程接口芯片在輸入/輸出為并行數(shù)據(jù)方式的外設(shè)與CPU之間可靠的中轉(zhuǎn)數(shù)據(jù) 擴展微機掛接并口外設(shè)數(shù)量的能力9.2.1 通用并行接口通用并行接口1. 通用并行接口的主要作用:通用并行接口的主要作用:9.2 可編程并行接口芯片8255A第第9 9章章 可編程接口芯片可編程接口芯片第第9
3、 9章章 可編程接口芯片可編程接口芯片2 .通用通用并行接口的一般結(jié)構(gòu):并行接口的一般結(jié)構(gòu):多個可編程并行數(shù)據(jù)通道(端口)。每個端口內(nèi)含一個并行數(shù)據(jù)輸入緩沖器(暫存外設(shè)送給CPU 的數(shù)據(jù))和一個并行數(shù)據(jù)輸出緩沖器(暫存CPU送給外設(shè)的數(shù)據(jù)) 控制寄存器(存放CPU命令字) 狀態(tài)寄存器(記錄外設(shè)或并口本身的工作狀態(tài))內(nèi)部地址譯碼電路 第第9 9章章 可編程接口芯片可編程接口芯片第第9 9章章 可編程接口芯片可編程接口芯片3. 并行接口芯片的主要引腳并行接口芯片的主要引腳第第9 9章章 可編程接口芯片可編程接口芯片(1)與與外設(shè)一側(cè)相連的引腳:外設(shè)一側(cè)相連的引腳: 與外設(shè)傳送數(shù)據(jù)的數(shù)據(jù)線(通常為多
4、組8位的雙向I/O引腳線) 用于協(xié)調(diào)并行端口與外設(shè)數(shù)據(jù)交換速度的聯(lián)絡線:l 從外設(shè)輸入數(shù)據(jù)時需要: “外設(shè)數(shù)據(jù)已送出”信號(外設(shè)送并口) “輸入寄存器空”信號(并口送外設(shè))l 向外設(shè)輸出數(shù)據(jù)時需要: “輸出寄存器滿”信號(并口送外設(shè)) “外設(shè)接收就緒”信號(外設(shè)送并口)第第9 9章章 可編程接口芯片可編程接口芯片(2)CPU(系統(tǒng)總線)一側(cè)相連的引腳(系統(tǒng)總線)一側(cè)相連的引腳與CPU(數(shù)據(jù)總線)傳送數(shù)據(jù)的數(shù)據(jù)線(通常為8位: D7D0) 并口工作狀態(tài)引腳READY或中斷請求引腳INTRCPU對并口的讀/寫信號引腳 并口芯片的片選信號引腳(由CPU高位地址線經(jīng)譯碼后給出) 并口內(nèi)部寄存器選擇引腳
5、線(通常由CPU低位地址線給出) 使并口芯片復位的引腳 第第9 9章章 可編程接口芯片可編程接口芯片9.2.2 8255A9.2.2 8255A的內(nèi)部結(jié)構(gòu)及引腳功能的內(nèi)部結(jié)構(gòu)及引腳功能1.8255A1.8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8255A是是Intel公司生產(chǎn)的可編程并行公司生產(chǎn)的可編程并行I/O接口芯片,有接口芯片,有3個個8位并行位并行I/O口,共口,共24位,其各端口工作方式由軟件編程設(shè)定。位,其各端口工作方式由軟件編程設(shè)定。CS第第9 9章章 可編程接口芯片可編程接口芯片l 含3個獨立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的輸出和輸入能力l 可通過編程,設(shè)置各端口工作在某一確定
6、狀態(tài)下特點特點A組B組 端口A端口C的高4位結(jié)構(gòu)結(jié)構(gòu)端口B端口C的低4位第第9 9章章 可編程接口芯片可編程接口芯片 8255A由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、端口B和端口C,A組和B組控制電路和讀/寫控制邏輯四部分組成。第第9 9章章 可編程接口芯片可編程接口芯片2.8255A2.8255A的引腳功能的引腳功能 并口A:8根引腳(PA7PA0) 并口B:8根引腳(PB7PB0) 并口C:8根引腳(PC7PC0)第第9 9章章 可編程接口芯片可編程接口芯片 數(shù)據(jù)線:8根(D7D0) 片內(nèi)寄存器選擇線:2根(A1,A0) 讀/寫信號線:2根(RD和WR) 片選信號線:1根(CS) 復位信號線:1根
7、(RESET) 電源線:1根(VCC) 地線:1根(GND) 第第9 9章章 可編程接口芯片可編程接口芯片3. .8255內(nèi)部端口的尋址內(nèi)部端口的尋址第第9 9章章 可編程接口芯片可編程接口芯片8255與系統(tǒng)的連接示意圖與系統(tǒng)的連接示意圖D0D7WRRDA1A0CSDBIOWIORA1A0譯碼器譯碼器8255A口口B口口C口口D0D7外外 設(shè)設(shè)第第9 9章章 可編程接口芯片可編程接口芯片6.2.2 8255的工作方式:的工作方式:方式0基本輸入/輸出方式方式1單項選通工輸入/輸出方式方式2雙向傳送方式9.2.3 8255A9.2.3 8255A的工作方式的工作方式l A口可工作于方式0、方式1
8、、方式2l B口可工作于方式0、方式1l C口只能工作于方式0其中:其中:第第9 9章章 可編程接口芯片可編程接口芯片方式方式0:相當于三個獨立的相當于三個獨立的8 8位簡單接口位簡單接口各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時實現(xiàn)輸入及輸出同時實現(xiàn)輸入及輸出C C端口可以是一個端口可以是一個8 8位的簡單接口,也可以分為兩個獨立位的簡單接口,也可以分為兩個獨立的的4 4位端口位端口常用于連接簡單外設(shè)(適于無條件或查詢方式常用于連接簡單外設(shè)(適于無條件或查詢方式)方式方式0的應用:的應用:常使常使A A端口和端口和B B端口作為端口作
9、為8 8位數(shù)據(jù)的輸入或輸出口,使位數(shù)據(jù)的輸入或輸出口,使C C口口的某些位作狀態(tài)輸入的某些位作狀態(tài)輸入第第9 9章章 可編程接口芯片可編程接口芯片方式方式1:三個數(shù)據(jù)端口分為三個數(shù)據(jù)端口分為A A、B B兩組,分別稱為兩組,分別稱為A A組控制和組控制和B B組控制組控制。端口端口A A、端口端口B B作數(shù)據(jù)輸入作數(shù)據(jù)輸入或輸出口或輸出口,端口端口C C作為聯(lián)絡控制信作為聯(lián)絡控制信號,被號,被分成兩部分,一部分作為端口分成兩部分,一部分作為端口A A和端口和端口B B的聯(lián)絡信號,的聯(lián)絡信號,另一部分仍可作為基本的輸入輸出口。另一部分仍可作為基本的輸入輸出口。 A A口、口、B B口在作為口在作
10、為輸入輸入和和輸出輸出時的選通控制信號不同。時的選通控制信號不同。第第9 9章章 可編程接口芯片可編程接口芯片方式方式1:三個數(shù)據(jù)端口分為三個數(shù)據(jù)端口分為A A、B B兩組,分別稱為兩組,分別稱為A A組控制和組控制和B B組控制組控制。端口端口A A、端口端口B B作數(shù)據(jù)輸入作數(shù)據(jù)輸入或輸出口或輸出口,端口端口C C作為聯(lián)絡控制信作為聯(lián)絡控制信號,被號,被分成兩部分,一部分作為端口分成兩部分,一部分作為端口A A和端口和端口B B的聯(lián)絡信號,的聯(lián)絡信號,另一部分仍可作為基本的輸入輸出口。另一部分仍可作為基本的輸入輸出口。 A A口、口、B B口在作為口在作為輸入輸入和和輸出輸出時的選聯(lián)絡制信
11、號不同。時的選聯(lián)絡制信號不同。方式方式1的應用:的應用:方式方式1 1主要用于中斷控制方式下的輸入輸出主要用于中斷控制方式下的輸入輸出C C口的口的8 8位除用作選通信號外,其余位可工作于方式位除用作選通信號外,其余位可工作于方式0 0下,下,作為輸入或輸出口作為輸入或輸出口第第9 9章章 可編程接口芯片可編程接口芯片1 1)方式方式1 1輸入輸入方式方式1輸入時序輸入時序第第9 9章章 可編程接口芯片可編程接口芯片2 2)方式方式1 1輸輸出出方式方式1輸出時序輸出時序第第9 9章章 可編程接口芯片可編程接口芯片方式方式2:雙向輸入輸出方式雙向輸入輸出方式可以既作為輸入口,又作為輸出口可以既
12、作為輸入口,又作為輸出口只有只有A A端口可工作在方式端口可工作在方式2 2下下方式方式2的應用:的應用:用于用于可采用查詢可采用查詢方式方式或中斷控制方式或中斷控制方式當當A A口工作于方式口工作于方式2 2時,時,B B口可工作于方式口可工作于方式1 1(此時(此時C C口口的所有位都用作選通控制信號的輸入輸出),也可工的所有位都用作選通控制信號的輸入輸出),也可工作于方式作于方式0 0(此時(此時C C口的剩余位也可工作于方式口的剩余位也可工作于方式0 0)第第9 9章章 可編程接口芯片可編程接口芯片l 當端當端A A口方式口方式2 2和端口和端口B B方式方式1 1時時,端口端口C C
13、各位各位的功能如圖所示,的功能如圖所示,PCPC7 7PCPC3 3作為端口作為端口A A的聯(lián)的聯(lián)絡信號,絡信號,PCPC2 2PCPC0 0作為作為端口端口B B的聯(lián)絡信號。的聯(lián)絡信號。l 當端口當端口A A工作于方式工作于方式2 2,端口,端口B B工作于方式工作于方式0 0時,時,PCPC7 7PCPC3 3作為端口作為端口A A的聯(lián)絡信號,的聯(lián)絡信號,PCPC2 2PCPC0 0可工作于方式可工作于方式0 0。第第9 9章章 可編程接口芯片可編程接口芯片l D7=1:對控制寄存器設(shè)置:對控制寄存器設(shè)置;l D7=0:用于對:用于對C端口狀態(tài)進行設(shè)定。端口狀態(tài)進行設(shè)定。9.2.4 825
14、5A9.2.4 8255A的編程的編程82558255只有一個控制寄存器只有一個控制寄存器,如何如何寫入寫入兩個控制兩個控制字字? 通過通過8位命令字的最高位加以區(qū)分:位命令字的最高位加以區(qū)分:方式控制字:方式控制字:設(shè)置設(shè)置A口和口和B口的工作方式,指定它們作為口的工作方式,指定它們作為輸輸入口還是輸出口入口還是輸出口。端口端口C的狀態(tài)控制字的狀態(tài)控制字:設(shè)置設(shè)置C口指定位置口指定位置“1 1”或請或請“0 0”。 第第9 9章章 可編程接口芯片可編程接口芯片1.8255A1.8255A的控制字的控制字1 1)方式選擇控制字方式選擇控制字第第9 9章章 可編程接口芯片可編程接口芯片2 2)端
15、口端口C C置位置位/ /復位控制字復位控制字第第9 9章章 可編程接口芯片可編程接口芯片【例【例9-19-1】在在80868086系統(tǒng)中,設(shè)系統(tǒng)中,設(shè)8255A8255A的的A A口輸出,口輸出,B B口輸入,口輸入,PCPC1 1置位,置位,PCPC2 2復位。已知:復位。已知:82558255端口地址為端口地址為60H60H63H63H,試編程對,試編程對8255A8255A進行初始化。進行初始化。 解解:根據(jù)題意,根據(jù)題意,82558255工作方式控制字為:工作方式控制字為: 8255A 8255A初始化程序如下:初始化程序如下: MOV AL,82H MOV AL,82H ; ;方式
16、控制字方式控制字10000010B=82H10000010B=82H OUT 63H,AL OUT 63H,AL ; ;將控制字送入將控制字送入8255A8255A控制端口,即控制寄存器中控制端口,即控制寄存器中 MOV AL,03H MOV AL,03H ; ;C C口置位控制字口置位控制字00000011B=03H00000011B=03H,設(shè)置,設(shè)置PCPC1 1=1=1 OUT 63H,AL OUT 63H,AL ; ;將控制字送入將控制字送入8255A8255A控制端口,即控制控制端口,即控制寄存器中寄存器中 MOV AL,04H MOV AL,04H ; ;C C口置位控制字口置位
17、控制字00000100B=04H00000100B=04H,設(shè)置,設(shè)置PCPC2 2=0=0 OUT 63H,AL OUT 63H,AL ; ;將控制字送入將控制字送入8255A8255A控制端口,即控制寄存器中控制端口,即控制寄存器中2.8255A的初始化編程第第9 9章章 可編程接口芯片可編程接口芯片9.2.5 8255A 9.2.5 8255A 的應用舉例的應用舉例【例【例9-29-2】設(shè)設(shè)8255A8255A的的A A口和口和B B口工作在方式口工作在方式0 0,A A口作為輸入端口作為輸入端口,接有口,接有2 2個開關(guān);個開關(guān);B B口為輸出端口,接有口為輸出端口,接有8 8個發(fā)光二
18、極管。系個發(fā)光二極管。系統(tǒng)硬件電路如圖所示,不斷掃描開關(guān)統(tǒng)硬件電路如圖所示,不斷掃描開關(guān)KiKi,當開關(guān),當開關(guān)K0K0閉合時,閉合時,點亮點亮LED0LED0、LED2LED2、LED4LED4、LED6LED6,其它,其它LEDLED暗;當開關(guān)暗;當開關(guān)K1K1閉合時閉合時,點亮,點亮LED1LED1、LED3LED3、LED5LED5、LED7LED7,其它,其它LEDLED暗;當開關(guān)暗;當開關(guān)K0K0和和K1K1同時閉合時退出。設(shè)同時閉合時退出。設(shè)8255A8255A端口端口A A、端口、端口B B、端口、端口C C及控制端口及控制端口的地址分別為的地址分別為200H200H203H2
19、03H。試編寫程序。試編寫程序。第第9 9章章 可編程接口芯片可編程接口芯片第第9 9章章 可編程接口芯片可編程接口芯片解:解:首先確定工作方式控制字。根據(jù)題意,首先確定工作方式控制字。根據(jù)題意,A A口為輸入端口,口為輸入端口,B B口輸出口輸出端口,均工作在方式端口,均工作在方式0 0下,端口下,端口C C沒使用,設(shè)沒有用到的控制字中對應沒使用,設(shè)沒有用到的控制字中對應位設(shè)置為位設(shè)置為0 0,所以,所以8255A8255A的控制字為:的控制字為: CODE SEGMENT CODE SEGMENT ASSUME CS:CODE ASSUME CS:CODE START:MOVSTART:M
20、OV AL,90HAL,90H ; 8255; 8255初始化初始化 MOV MOV DX,203HDX,203H AGAIN:MOV AGAIN:MOV DX,200H DX,200H IN AL,DX IN AL,DX TEST AL,03H TEST AL,03H ; ; 檢測檢測K K0 0 K K1 1 JZ EXIT JZ EXIT TEST AL,01H TEST AL,01H ;檢測;檢測K K0 0 JZ DISP_0JZ DISP_0第第9 9章章 可編程接口芯片可編程接口芯片 TEST AL,02H TEST AL,02H ;檢測;檢測K K1 1 JZ DISP_1JZ
21、 DISP_1 JMP AGAINJMP AGAINDIAP_0:DIAP_0:MOV AL,55H MOV AL,55H ;偶位上;偶位上LEDLED亮,奇位上亮,奇位上LEDLED暗暗 MOV DX,201H MOV DX,201H OUT DX,ALOUT DX,AL JMP AGAINJMP AGAINDIAP_1:DIAP_1:MOV AL,0AAH MOV AL,0AAH ;奇位上;奇位上LEDLED亮,偶位上亮,偶位上LEDLED暗暗 MOV DX,201HMOV DX,201H OUT DX,ALOUT DX,AL JMP AGAIN JMP AGAIN EXIT: MOV A
22、H,4CHEXIT: MOV AH,4CH INT 21H INT 21H CODE CODEENDSENDS END START END START第第9 9章章 可編程接口芯片可編程接口芯片【例【例9-39-3】硬件電路連線如圖所示,硬件電路連線如圖所示,8086CPU8086CPU通過通過8255A8255A同鍵盤相連,試同鍵盤相連,試編程序,掃描鍵盤按鍵,將按鍵對應的數(shù)值顯示在七段編程序,掃描鍵盤按鍵,將按鍵對應的數(shù)值顯示在七段LEDLED上。設(shè)上。設(shè)8255A8255A的端口地址為的端口地址為80H80H83H83H。第第9 9章章 可編程接口芯片可編程接口芯片解:解:通過硬件電路圖
23、,可以判斷出通過硬件電路圖,可以判斷出8255A8255A口工作于方式口工作于方式0 0輸出,輸出,B B口未用,口未用,C C口低口低4 4位輸入,位輸入,C C口高口高4 4位輸出,工作方式控制字是:位輸出,工作方式控制字是: 共陰極共陰極LEDLED七段數(shù)碼管顯示的字符七段數(shù)碼管顯示的字符0 0F F的段碼如表的段碼如表9-19-1所示所示:顯示字符顯示字符0123456789ABCDEF段碼段碼(H) 3F065B4F666D7D077F6F777C395E7971第第9 9章章 可編程接口芯片可編程接口芯片程序流程如圖程序流程如圖掃掃描描鍵鍵盤盤防防抖抖動動逐逐列列掃掃描描鍵鍵盤盤逐
24、逐行行掃掃描描鍵鍵盤盤第第9 9章章 可編程接口芯片可編程接口芯片A_PORT A_PORT EQU 80H EQU 80HB_PORT B_PORT EQU 81H EQU 81HC_PORTC_PORT EQU 82H EQU 82HCT_PORT CT_PORT EQU 83H EQU 83HDATADATA SEGMENT SEGMENTTAB1TAB1 DB DB3FH,06H,5BH,4FH,66H,6DH3FH,06H,5BH,4FH,66H,6DH; ;定義段碼表定義段碼表 DB DB7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H7DH,07H,
25、7FH,6FH,77H,7CH,39H,5EH,79H,71HDATADATA ENDS ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:CODE,DS: DATA ASSUME CS:CODE,DS: DATASTART:MOV AX, DATA START:MOV AX, DATA MOV DS,AX MOV DS,AX MOV AL,81H ;8255 MOV AL,81H ;8255初始化初始化 MOV DX,CT_PORT MOV DX,CT_PORT OUT DX,AL OUT DX,AL AGAIN: MOV DX,C_PORTAGAIN: MOV
26、DX,C_PORT MOV AL,0 MOV AL,0 ; ;輸出列信號輸出列信號 OUT DX,AL OUT DX,AL第第9 9章章 可編程接口芯片可編程接口芯片NO_KEY: MOV DX,C_PORTNO_KEY: MOV DX,C_PORT IN AL,DX IN AL,DX AND AL,0FH AND AL,0FH CMP AL,0FH CMP AL,0FH JZ NO_KEY JZ NO_KEY CALL DELAY2MS CALL DELAY2MS IN AL,DX IN AL,DX AND AL,0FH AND AL,0FH CMP AL,0FH CMP AL,0FH JZ
27、 NO_KEY JZ NO_KEY MOV BL,0 ; MOV BL,0 ;置初始列值為置初始列值為0 0 MOV CH,0EFH MOV CH,0EFH LOOP1: MOV AL,CH LOOP1: MOV AL,CH MOV DX,C_PORT MOV DX,C_PORT OUT DX,AL OUT DX,AL第第9 9章章 可編程接口芯片可編程接口芯片 IN AL,DX ; IN AL,DX ;讀取行信號讀取行信號PUSH PUSH CXCXMOV BH,0 ;MOV BH,0 ;設(shè)置初始行值設(shè)置初始行值0 0MOV CX,4MOV CX,4LOOP3: SHR AL,1LOOP3:
28、 SHR AL,1JNC LOOP2 ;JNC LOOP2 ;該行有按鍵該行有按鍵INC BHINC BHLOOP LOOP3LOOP LOOP3 POP CXPOP CX ROL CH,1 ROL CH,1 CMP CH,0FEH CMP CH,0FEH JZ JZ NO_KEYNO_KEY INC BL INC BL JMP JMP LOOP1LOOP1第第9 9章章 可編程接口芯片可編程接口芯片LOOP2: SHL BH,1 ; BHLOOP2: SHL BH,1 ; BH中是行,中是行,BLBL中是列中是列,BH,BH* *4 4獲得行值獲得行值SHL BH,1SHL BH,1ADD
29、BH,DL ;ADD BH,DL ;鍵值鍵值= =值行值行+ +列值列值 MOV AL,BH ;MOV AL,BH ;鍵值換碼后顯示到數(shù)碼管鍵值換碼后顯示到數(shù)碼管 PUSH BXPUSH BX LEA BX,TAB1 LEA BX,TAB1XLATXLAT POP BXPOP BX MOV DX,A_PORTMOV DX,A_PORT OUT DX,AL OUT DX,AL JMP AGAIN JMP AGAIN第第9 9章章 可編程接口芯片可編程接口芯片DELAY2MS PROC NEAR ;DELAY2MS PROC NEAR ;延時子程序延時子程序PUSH BX ;PUSH BX ;現(xiàn)場
30、保護現(xiàn)場保護PUSH CX PUSH CX MOV BX,2MOV BX,2WAIT0: MOV CX,2801 ;WAIT0: MOV CX,2801 ;內(nèi)循環(huán)次數(shù),大小由單位時間定內(nèi)循環(huán)次數(shù),大小由單位時間定WAIT1: LOOP WAIT1 ;WAIT1: LOOP WAIT1 ;延時延時2MS 2MS DEC BXDEC BXJNZ WAIT0 JNZ WAIT0 POP CX ;POP CX ;現(xiàn)場恢復現(xiàn)場恢復POP BX POP BX RETRETDELAY2MS ENDPDELAY2MS ENDPCODE ENDSCODE ENDS END START END START 第第9
31、 9章章 可編程接口芯片可編程接口芯片【例例9-49-4】 要求:設(shè)定要求:設(shè)定8255端口端口A和和B工作于方式工作于方式1,并采用,并采用A、B口提供的中斷信號(狀態(tài)信號)實現(xiàn)從端口口提供的中斷信號(狀態(tài)信號)實現(xiàn)從端口B到端口到端口A的數(shù)據(jù)可靠傳輸。的數(shù)據(jù)可靠傳輸。CPU將數(shù)據(jù)區(qū)將數(shù)據(jù)區(qū)ABC 的的100字節(jié)數(shù)據(jù)字節(jié)數(shù)據(jù)經(jīng)端口經(jīng)端口B輸出到輸出到A口,再由口,再由A口讀入到數(shù)據(jù)區(qū)口讀入到數(shù)據(jù)區(qū)CDE。設(shè)。設(shè)8255起始口地址為起始口地址為300H。 第第9 9章章 可編程接口芯片可編程接口芯片實現(xiàn)電路實現(xiàn)電路第第9 9章章 可編程接口芯片可編程接口芯片CPU向向B口寫數(shù)據(jù)口寫數(shù)據(jù)OBF有
32、效有效(B)(B)STB有效有效(A)(A)并將數(shù)據(jù)寫入并將數(shù)據(jù)寫入A口口IBFIBF有效有效(A)(A)、ACK有效有效(B) INTR(B) INTR( PC3PC3)有效)有效(A) (A) (等待等待CPUCPU讀入數(shù)據(jù)讀入數(shù)據(jù)) ) CPUCPU從從A A口讀入數(shù)據(jù)口讀入數(shù)據(jù) IBF無效無效(A)(A)ACK無效無效(B) INTR(B) INTR(PC0)有有效效(B) (B) ( (等待等待CPUCPU向向B端口寫新數(shù)據(jù)端口寫新數(shù)據(jù)) )程序采用查詢方式程序采用查詢方式: : PC0 PC7 PC0 PC7 PC3 PC6 PC3 PC6 工作過程分析:工作過程分析:第第9 9章
33、章 可編程接口芯片可編程接口芯片程序順序分析:程序順序分析: (1)初始態(tài)()初始態(tài)(8255初始化后)先向初始化后)先向B口寫第一個數(shù)據(jù);口寫第一個數(shù)據(jù);(2)讀)讀A口口INTR信號(信號(PC7)判斷是否有新數(shù)據(jù),)判斷是否有新數(shù)據(jù), INTR有效則讀數(shù)據(jù),否則等待;有效則讀數(shù)據(jù),否則等待;(3)讀)讀B口口INTR信號(信號(PC6)判斷)判斷A口數(shù)據(jù)是否已讀取,口數(shù)據(jù)是否已讀取, 若若INTR有效則寫數(shù)據(jù),否則等待。有效則寫數(shù)據(jù),否則等待。 第第9 9章章 可編程接口芯片可編程接口芯片程序流程程序流程 設(shè)置控制字設(shè)置控制字 初始化初始化 A口口,B口開中斷口開中斷 向向B口寫一個數(shù)口
34、寫一個數(shù)讀讀PC7=1?讀讀PC6=1?從從A口讀一個數(shù)口讀一個數(shù)NYNY第第9 9章章 可編程接口芯片可編程接口芯片MOV DXMOV DX,303H303H; MOV ALMOV AL,10111100B10111100B;OUT DXOUT DX,ALAL; 設(shè)定控制寄存器設(shè)定控制寄存器第第9 9章章 可編程接口芯片可編程接口芯片MOV DXMOV DX,303H303H; MOV ALMOV AL,0000100100001001; 置置PC4=1 PC4=1 OUT DXOUT DX,ALAL; 開啟開啟A A口輸入中斷口輸入中斷 MOV ALMOV AL,0000010100000
35、101; 置置PC2=1 PC2=1 OUT DXOUT DX,ALAL; 開啟開啟B B口輸出中斷口輸出中斷 設(shè)定中斷允許設(shè)定中斷允許INTE的有關(guān)程序語句的有關(guān)程序語句第第9 9章章 可編程接口芯片可編程接口芯片LEA SILEA SI,ABCABC; 取源數(shù)據(jù)區(qū)起始地址取源數(shù)據(jù)區(qū)起始地址 MOV DXMOV DX,301H301H; 地址指向地址指向B B口口 MOV ALMOV AL,SISI; 讀源數(shù)據(jù)區(qū)數(shù)據(jù)讀源數(shù)據(jù)區(qū)數(shù)據(jù) OUT DXOUT DX,ALAL; 數(shù)據(jù)輸出到數(shù)據(jù)輸出到B B口口INC SIINC SI; 指向下一個輸出數(shù)據(jù)指向下一個輸出數(shù)據(jù) 向向B端口寫數(shù)據(jù)的有關(guān)程序語
36、句端口寫數(shù)據(jù)的有關(guān)程序語句第第9 9章章 可編程接口芯片可編程接口芯片LEA DILEA DI,CDECDE; 取目標數(shù)據(jù)區(qū)起始地址取目標數(shù)據(jù)區(qū)起始地址 MOV DXMOV DX,300H300H; 地址指向地址指向A A口口 IN ALIN AL,DXDX; 讀入讀入A A口數(shù)據(jù)口數(shù)據(jù) MOV DIMOV DI,ALAL; 數(shù)據(jù)放入目標數(shù)據(jù)區(qū)數(shù)據(jù)放入目標數(shù)據(jù)區(qū) INC DIINC DI; 指向目標數(shù)據(jù)區(qū)下一地址指向目標數(shù)據(jù)區(qū)下一地址 從從A端口讀數(shù)據(jù)的有關(guān)程序語句端口讀數(shù)據(jù)的有關(guān)程序語句補充習題:根據(jù)補充習題:根據(jù)例例9-4的的分析寫出完整的程序段!分析寫出完整的程序段!第第9 9章章 可編
37、程接口芯片可編程接口芯片9.3 9.3 可編程定時器可編程定時器/ /計數(shù)器計數(shù)器825382539.3.9.3.1 1 定時定時/ /計數(shù)器的基本概念計數(shù)器的基本概念 定時器:能通過對等周期輸入時鐘脈沖分頻值的編程設(shè)定時器:能通過對等周期輸入時鐘脈沖分頻值的編程設(shè)定,來產(chǎn)生不同頻率值輸出脈沖的功能部件(可編程分定,來產(chǎn)生不同頻率值輸出脈沖的功能部件(可編程分頻器)。頻器)。 計數(shù)器:可對輸入脈沖個數(shù)進行計數(shù)的功能部件。計數(shù)器:可對輸入脈沖個數(shù)進行計數(shù)的功能部件。第第9 9章章 可編程接口芯片可編程接口芯片1內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)第第9 9章章 可編程接口芯片可編程接口芯片控制寄存器:控制寄存器:通
38、過程序?qū)懭牍ぷ鞣绞酵ㄟ^程序?qū)懭牍ぷ鞣绞健S嫈?shù)初值寄存器:計數(shù)初值寄存器:接收和存放程序設(shè)置的計數(shù)初始值接收和存放程序設(shè)置的計數(shù)初始值。 減一計數(shù)器:減一計數(shù)器:其初值是在程序?qū)⒂嫈?shù)初值寫入計數(shù)初值寄存其初值是在程序?qū)⒂嫈?shù)初值寫入計數(shù)初值寄存器時自動復制到其內(nèi)的。減一計數(shù)器的值會在每個有效的輸器時自動復制到其內(nèi)的。減一計數(shù)器的值會在每個有效的輸入脈沖入脈沖CLKCLK作用下自動減一,當其值減到零后會引起輸出電平作用下自動減一,當其值減到零后會引起輸出電平變化。變化。當前計數(shù)值鎖存器:當前計數(shù)值鎖存器:由于不能直接讀取減由于不能直接讀取減1 1計數(shù)器的當前值,計數(shù)器的當前值,所以需要設(shè)置一種間接的
39、方法來實現(xiàn)。即先執(zhí)行一條指令將所以需要設(shè)置一種間接的方法來實現(xiàn)。即先執(zhí)行一條指令將減減1 1計數(shù)器的當前值存入當前計數(shù)值鎖存器,然后再讀當前計計數(shù)器的當前值存入當前計數(shù)值鎖存器,然后再讀當前計數(shù)值鎖存器的內(nèi)容。數(shù)值鎖存器的內(nèi)容。第第9 9章章 可編程接口芯片可編程接口芯片CLKCLK:時鐘輸入。作為定時器應用和計數(shù)器應用時,輸時鐘輸入。作為定時器應用和計數(shù)器應用時,輸 入入周期或非周期性脈沖信號。周期或非周期性脈沖信號。 GATEGATE:門控信號門控信號, ,其作用如下:其作用如下: 1 1)控制)控制CLKCLK端的輸入,端的輸入, 2 2)啟動計數(shù)器工作。)啟動計數(shù)器工作。 OUTOUT
40、:輸出信號,表征計數(shù)器的工作狀態(tài)。當減輸出信號,表征計數(shù)器的工作狀態(tài)。當減1 1計數(shù)器計數(shù)器 減減為為0 0時產(chǎn)生變化。在不同工作方式下,其電平值時產(chǎn)生變化。在不同工作方式下,其電平值 及及變化情況在初始階段、計數(shù)過程中和計數(shù)結(jié)束變化情況在初始階段、計數(shù)過程中和計數(shù)結(jié)束 后后各不相同。各不相同。2 2外部有關(guān)信號外部有關(guān)信號第第9 9章章 可編程接口芯片可編程接口芯片3 3. . 定時器和計數(shù)器的作用及區(qū)別定時器和計數(shù)器的作用及區(qū)別 (1)定時器)定時器和計數(shù)器的相同之處:和計數(shù)器的相同之處: 都都需通過對一個減一計數(shù)器初始值的設(shè)定來實需通過對一個減一計數(shù)器初始值的設(shè)定來實 現(xiàn)定現(xiàn)定 時時(分
41、頻)或計數(shù)。(分頻)或計數(shù)。(2)定時器)定時器和計數(shù)器的不同之處:和計數(shù)器的不同之處: 定時器方式下定時器方式下:周期重復周期重復 計數(shù)器方式下計數(shù)器方式下:一次計數(shù)完成一次計數(shù)完成,再次計數(shù)需重新再次計數(shù)需重新觸發(fā)觸發(fā) 定時器方式下定時器方式下:輸入時鐘必須是等周期輸入時鐘必須是等周期 計數(shù)器方式下計數(shù)器方式下:輸入時鐘不一定等輸入時鐘不一定等周期周期第第9 9章章 可編程接口芯片可編程接口芯片9.3.2 82539.3.2 8253的內(nèi)部結(jié)構(gòu)及引腳功能的內(nèi)部結(jié)構(gòu)及引腳功能1.82531.8253的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 每片每片82538253有有3 3個獨立的個獨立的1616位計數(shù)通道,每
42、個計數(shù)通道最高計位計數(shù)通道,每個計數(shù)通道最高計數(shù)速率可達數(shù)速率可達2.6MHZ2.6MHZ。每個計數(shù)器可編程設(shè)定。每個計數(shù)器可編程設(shè)定6 6種工作方式,使用時種工作方式,使用時可以根據(jù)需要選擇其中的一種工作方式。每個計數(shù)通道可按二進可以根據(jù)需要選擇其中的一種工作方式。每個計數(shù)通道可按二進制或十進制來計數(shù)。制或十進制來計數(shù)。 定時和計數(shù)在工作原理上是相同的,都是對一個輸入脈沖進定時和計數(shù)在工作原理上是相同的,都是對一個輸入脈沖進行計數(shù)。行計數(shù)。8253是是Intel公司生產(chǎn)的通用可編程定時公司生產(chǎn)的通用可編程定時/計數(shù)器,定時時間與計計數(shù)器,定時時間與計數(shù)次數(shù)由用戶事先設(shè)定數(shù)次數(shù)由用戶事先設(shè)定。
43、第第9 9章章 可編程接口芯片可編程接口芯片A1 A0執(zhí)行的操作執(zhí)行的操作0100 0對計數(shù)器對計數(shù)器0設(shè)置初值設(shè)置初值0100 1對計數(shù)器對計數(shù)器1設(shè)置初值設(shè)置初值0101 0對計數(shù)器對計數(shù)器2設(shè)置初值設(shè)置初值0101 1寫控制字寫控制字0010 0讀計數(shù)器讀計數(shù)器0當前計數(shù)值當前計數(shù)值0010 1讀計數(shù)器讀計數(shù)器1當前計數(shù)值當前計數(shù)值0011 0讀計數(shù)器讀計數(shù)器2當前計數(shù)值當前計數(shù)值第第9 9章章 可編程接口芯片可編程接口芯片2. 82532. 8253的引腳功能的引腳功能 8253 8253采用雙列直插式封裝,有采用雙列直插式封裝,有2424個引腳個引腳。A1A0端口端口000計數(shù)器計數(shù)
44、器0001計數(shù)器計數(shù)器1010計數(shù)器計數(shù)器2011控制控制寄存器寄存器1未選中未選中第第9 9章章 可編程接口芯片可編程接口芯片9.3.3 82539.3.3 8253的工作方式的工作方式82538253的每個計數(shù)器都有的每個計數(shù)器都有6 6種工作方式:方式種工作方式:方式0 0方式方式5 5。這這6 6種工作方式的不同點是:種工作方式的不同點是: 計數(shù)計數(shù)/ /定時工作定時工作 輸出波形不同輸出波形不同:初始初始態(tài)態(tài)/ /計數(shù)狀態(tài)計數(shù)狀態(tài)/ /結(jié)束態(tài)結(jié)束態(tài) 啟動計數(shù)器的觸發(fā)方式不同啟動計數(shù)器的觸發(fā)方式不同:軟件軟件/ /硬件硬件 計數(shù)過程中計數(shù)過程中GATEGATE信號對計數(shù)過程的影響不同信
45、號對計數(shù)過程的影響不同 重觸發(fā)方式不同:重觸發(fā)方式不同:軟件軟件/ /硬件硬件第第9 9章章 可編程接口芯片可編程接口芯片1.1.方式方式00低電平輸出低電平輸出l 計數(shù)功能計數(shù)功能,軟件軟件觸發(fā)觸發(fā)計數(shù),計數(shù),且計數(shù)器只計一遍??刂谱謱懬矣嫈?shù)器只計一遍。控制字寫入后,輸出端入后,輸出端OUTOUT變?yōu)榈碗娖?。計?shù)初值寫入后變?yōu)榈碗娖健S嫈?shù)初值寫入后,下一個下一個CLKCLK脈沖的下降沿,計數(shù)初值寄存器內(nèi)容裝入減脈沖的下降沿,計數(shù)初值寄存器內(nèi)容裝入減1 1計數(shù)寄存計數(shù)寄存器,開始計數(shù),器,開始計數(shù),輸出端輸出端OUTOUT維持低電平維持低電平。l 當計數(shù)值減到當計數(shù)值減到0 0時,時,OUTO
46、UT輸出端變?yōu)楦唠娖?,此信號可作為輸出端變?yōu)楦唠娖剑诵盘柨勺鳛橹袛嗾埱笮盘?,并可保持到重新寫入新的控制字或新的計中斷請求信號,并可保持到重新寫入新的控制字或新的計?shù)值為止。數(shù)值為止。l 計數(shù)過程中,若計數(shù)過程中,若GATEGATE信號變?yōu)榈碗娖?,暫停計?shù)信號變?yōu)榈碗娖剑瑫和S嫈?shù),減,減1 1計計數(shù)寄存器值保持不變;數(shù)寄存器值保持不變;若若GATEGATE信號重新變高,則計數(shù)器從信號重新變高,則計數(shù)器從暫停值開始繼續(xù)計數(shù);暫停值開始繼續(xù)計數(shù);若重新寫入新的計數(shù)初值,則在下若重新寫入新的計數(shù)初值,則在下一個一個CLKCLK脈沖的下降沿,減脈沖的下降沿,減1 1計數(shù)寄存器以新的計數(shù)初值重計數(shù)寄存器
47、以新的計數(shù)初值重新開始計數(shù)。新開始計數(shù)。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式0的的時序波形圖時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片2.2.方式方式11低電平輸出低電平輸出硬件觸發(fā)單穩(wěn)態(tài)方式硬件觸發(fā)單穩(wěn)態(tài)方式,輸出單個負脈沖信號,脈沖的寬度可,輸出單個負脈沖信號,脈沖的寬度可通過編程來設(shè)定。通過編程來設(shè)定。寫入控制字后,輸出端寫入控制字后,輸出端OUTOUT變?yōu)楦唠娖?,并保持。寫入計?shù)變?yōu)楦唠娖?,并保持。寫入計?shù)初值后,在初值后,在GATEGATE信號的上升沿之后的下一個信號的上升沿之后的下一個CLKCLK脈沖的下降脈沖的下降沿,計數(shù)初值裝入減沿,計數(shù)初值
48、裝入減1 1計數(shù)寄存器,同時計數(shù)寄存器,同時OUTOUT端變?yōu)榈碗娖剑俗優(yōu)榈碗娖?,開始計數(shù)開始計數(shù),當計數(shù)值減到當計數(shù)值減到0 0時,輸出端時,輸出端OUTOUT變?yōu)楦唠娖健W優(yōu)楦唠娖?。計?shù)過程中,如果計數(shù)過程中,如果CPUCPU又送來新的計數(shù)初值,不影響當前計又送來新的計數(shù)初值,不影響當前計數(shù)過程。等到計數(shù)器計數(shù)到數(shù)過程。等到計數(shù)器計數(shù)到0 0,OUTOUT端輸出高電平且出現(xiàn)新的端輸出高電平且出現(xiàn)新的一次一次GATEGATE信號的觸發(fā)時,才會將新的計數(shù)初值裝入,信號的觸發(fā)時,才會將新的計數(shù)初值裝入,并并計數(shù)計數(shù)。如果在輸出端如果在輸出端OUTOUT輸出低電平期間,又來一個門控信號上升輸出低
49、電平期間,又來一個門控信號上升沿觸發(fā),則在下一個沿觸發(fā),則在下一個CLKCLK脈沖的下降沿,將計數(shù)初值寄存器脈沖的下降沿,將計數(shù)初值寄存器內(nèi)容重新裝入減內(nèi)容重新裝入減1 1計數(shù)寄存器,計數(shù)寄存器,并并計數(shù)。計數(shù)。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式1的時序波形圖的時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片3.3.方式方式22周期性負脈沖輸出周期性負脈沖輸出方式方式2 2可產(chǎn)生連續(xù)的負脈沖信號,可用作頻率發(fā)生器。負脈可產(chǎn)生連續(xù)的負脈沖信號,可用作頻率發(fā)生器。負脈沖的寬度為一個時鐘周期。沖的寬度為一個時鐘周期。寫入控制字后,輸出端寫入控制字后,輸出端OUTOUT
50、變?yōu)楦唠娖?。若變?yōu)楦唠娖健H鬐ATEGATE為高電平,為高電平,那么寫入計數(shù)初值后,在下一個那么寫入計數(shù)初值后,在下一個CLKCLK的下降沿計數(shù)初值寄存的下降沿計數(shù)初值寄存器內(nèi)容裝入減器內(nèi)容裝入減1 1計數(shù)寄存器,開始減計數(shù)寄存器,開始減1 1計數(shù)。當減計數(shù)。當減1 1計數(shù)寄存計數(shù)寄存器的值為器的值為1 1時,時,OUTOUT端輸出低電平,經(jīng)過一個端輸出低電平,經(jīng)過一個CLKCLK時鐘周期,時鐘周期,OUTOUT端輸出高電平,并自動開始一個新的計數(shù)過程。端輸出高電平,并自動開始一個新的計數(shù)過程。在計數(shù)過程中,如果減在計數(shù)過程中,如果減1 1計數(shù)寄存器未減到計數(shù)寄存器未減到1 1時時GATEGA
51、TE信號由信號由高變低,則停止計數(shù)。但當高變低,則停止計數(shù)。但當GATEGATE由低變高時,則重新將計由低變高時,則重新將計數(shù)初值寄存器內(nèi)容裝入減數(shù)初值寄存器內(nèi)容裝入減1 1計數(shù)寄存器,并重新開始計數(shù)。計數(shù)寄存器,并重新開始計數(shù)。(硬件可重觸發(fā)硬件可重觸發(fā))如果如果GATEGATE信號保持高電平時,在計數(shù)過程中重新寫入計數(shù)信號保持高電平時,在計數(shù)過程中重新寫入計數(shù)初值候,要等正在計數(shù)的一輪結(jié)束并輸出一個初值候,要等正在計數(shù)的一輪結(jié)束并輸出一個CLKCLK周期的負周期的負脈沖后,才以新的初值進行計數(shù)。脈沖后,才以新的初值進行計數(shù)。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式2的時
52、序波形圖的時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片4.4.方式方式33周期性方波輸出周期性方波輸出(1)輸出端)輸出端OUTOUT的的狀態(tài):狀態(tài): OUT端輸出在計數(shù)過程開始前為高電平。開始計數(shù)過程中端輸出在計數(shù)過程開始前為高電平。開始計數(shù)過程中: : N為偶數(shù),輸出端保持為偶數(shù),輸出端保持N/2的高電平的高電平, ,N/2低電平低電平, , N為奇數(shù),輸出端保持(為奇數(shù),輸出端保持(N+1)/2高電平高電平, ,(N-1)/2低電平。低電平。 減一計數(shù)器減至減一計數(shù)器減至0時如果門控信號無變化則自動按計數(shù)初值進時如果門控信號無變化則自動按計數(shù)初值進行新一輪的計數(shù)過程,并循環(huán)往復
53、。行新一輪的計數(shù)過程,并循環(huán)往復。 (2)軟件起始觸發(fā)。)軟件起始觸發(fā)。(3)硬件可重觸發(fā))硬件可重觸發(fā)。(4 4)定時工作方式。)定時工作方式。(5 5)計數(shù)過程中改變計數(shù))計數(shù)過程中改變計數(shù)值:值: 計數(shù)過程計數(shù)過程中向計數(shù)初值寄存器重新寫入初值,只有當中向計數(shù)初值寄存器重新寫入初值,只有當OUTOUT 的的高電平期或低電平期結(jié)束時才開始按新計數(shù)初值開始新的高電平期或低電平期結(jié)束時才開始按新計數(shù)初值開始新的 計數(shù)過程計數(shù)過程。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式3的時序波形圖的時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片5.5.方式方式44軟件觸發(fā)的單次負
54、脈沖輸出軟件觸發(fā)的單次負脈沖輸出方式方式4 4是是軟件觸發(fā)軟件觸發(fā)的選通方式。采用方式的選通方式。采用方式4 4可產(chǎn)生單個負脈沖可產(chǎn)生單個負脈沖信號,負脈沖寬度為一個時鐘周期。信號,負脈沖寬度為一個時鐘周期。寫入控制字后,輸出端寫入控制字后,輸出端OUTOUT變?yōu)楦唠娖?,若變?yōu)楦唠娖?,若GATEGATE為高電平,為高電平,則在寫入計數(shù)初值后下一個則在寫入計數(shù)初值后下一個CLKCLK的下降沿計數(shù)初值寄存器內(nèi)的下降沿計數(shù)初值寄存器內(nèi)容裝入減容裝入減1 1計數(shù)寄存器,開始減計數(shù)寄存器,開始減1 1計數(shù)。當減計數(shù)。當減1 1計數(shù)寄存器的計數(shù)寄存器的值為值為0 0時,輸出端時,輸出端OUTOUT變?yōu)榈碗?/p>
55、平,經(jīng)過一個變?yōu)榈碗娖?,?jīng)過一個CLKCLK時鐘周期,時鐘周期,輸出端輸出端OUTOUT變?yōu)楦唠娖健W優(yōu)楦唠娖?。如果在計?shù)時,又寫入新的計數(shù)值,則在下一個如果在計數(shù)時,又寫入新的計數(shù)值,則在下一個CLKCLK的下降的下降沿此計數(shù)初值被寫入減沿此計數(shù)初值被寫入減1 1計數(shù)寄存器,并以新的計數(shù)值作減計數(shù)寄存器,并以新的計數(shù)值作減1 1計數(shù)。計數(shù)。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式4的時序波形圖的時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片5.5.方式方式55硬硬件觸發(fā)的單次負脈沖輸出件觸發(fā)的單次負脈沖輸出方式方式5 5是是硬件觸發(fā)的選通方式硬件觸發(fā)的選通方式。采
56、用方式。采用方式5 5可產(chǎn)生單個負脈沖可產(chǎn)生單個負脈沖信號,負脈沖寬度為一個時鐘周期。信號,負脈沖寬度為一個時鐘周期。方式方式5 5的計數(shù)過程由的計數(shù)過程由GATEGATE的上升沿觸發(fā)。當控制字寫入后,的上升沿觸發(fā)。當控制字寫入后,輸出端輸出端OUTOUT輸出高電平,并保持。寫入計數(shù)初值后,只有在輸出高電平,并保持。寫入計數(shù)初值后,只有在GATEGATE信號的上升沿之后的下一個信號的上升沿之后的下一個CLKCLK脈沖的下降沿,計數(shù)初脈沖的下降沿,計數(shù)初值裝入減值裝入減1 1計數(shù)寄存器,開始計數(shù)。當計數(shù)到計數(shù)寄存器,開始計數(shù)。當計數(shù)到0 0時,輸出端時,輸出端OUTOUT變?yōu)榈碗娖?,并持續(xù)一個變
57、為低電平,并持續(xù)一個CLKCLK周期,然后自動變?yōu)楦唠娖街芷?,然后自動變?yōu)楦唠娖健S嫈?shù)過程中,若計數(shù)過程中,若GATEGATE端又來一個上升沿觸發(fā),則在下一個端又來一個上升沿觸發(fā),則在下一個CLKCLK脈沖的下降沿,減脈沖的下降沿,減1 1計數(shù)寄存器將重新獲得計數(shù)初值,并計數(shù)寄存器將重新獲得計數(shù)初值,并計數(shù)。計數(shù)。計數(shù)過程中,若寫入新的計數(shù)值,但沒有觸發(fā)脈沖,則當前計數(shù)過程中,若寫入新的計數(shù)值,但沒有觸發(fā)脈沖,則當前輸出周期不受影響輸出周期不受影響,當前周期結(jié)束后,在再次觸發(fā)的情況下當前周期結(jié)束后,在再次觸發(fā)的情況下,才將按新的計數(shù)初值開始計數(shù),才將按新的計數(shù)初值開始計數(shù);若寫入新的計數(shù)值,并
58、在若寫入新的計數(shù)值,并在當前周期結(jié)束前又受到觸發(fā),則在下一個當前周期結(jié)束前又受到觸發(fā),則在下一個CLKCLK脈沖的下降沿脈沖的下降沿,減,減1 1計數(shù)寄存器將獲得新的計數(shù)初值,并計數(shù)。計數(shù)寄存器將獲得新的計數(shù)初值,并計數(shù)。第第9 9章章 可編程接口芯片可編程接口芯片8253方式方式5的時序波形圖的時序波形圖第第9 9章章 可編程接口芯片可編程接口芯片9.3.4 82539.3.4 8253的初始化的初始化1. 82531. 8253方式控制字方式控制字2第第9 9章章 可編程接口芯片可編程接口芯片2.82532.8253初始化編程初始化編程1 1)82538253初始化編程原則初始化編程原則
59、8253 8253的控制寄存器和的控制寄存器和3 3個計數(shù)器分別具有獨立的編程地址,由個計數(shù)器分別具有獨立的編程地址,由控制字的內(nèi)容確定使用的是哪個計數(shù)器以及執(zhí)行什么操作。控制字的內(nèi)容確定使用的是哪個計數(shù)器以及執(zhí)行什么操作。 8253 8253在初始化編程時必須遵守兩條原則:在初始化編程時必須遵守兩條原則:在對某個計數(shù)器設(shè)置初值之前,必須先寫入控制字。在對某個計數(shù)器設(shè)置初值之前,必須先寫入控制字。在設(shè)置計數(shù)初始值時,要符合控制字的規(guī)定,即只寫低位在設(shè)置計數(shù)初始值時,要符合控制字的規(guī)定,即只寫低位字節(jié),還是只寫高位字節(jié),還是高、低位字節(jié)都寫(分兩字節(jié),還是只寫高位字節(jié),還是高、低位字節(jié)都寫(分兩
60、次寫,先低字節(jié)后高字節(jié))。次寫,先低字節(jié)后高字節(jié))。第第9 9章章 可編程接口芯片可編程接口芯片2 2)82538253的編程命令的編程命令 8253 8253的編程命令有兩類的編程命令有兩類:一類是寫入命令,包括設(shè)置控制字、設(shè)置計數(shù)器的初始值一類是寫入命令,包括設(shè)置控制字、設(shè)置計數(shù)器的初始值命令和鎖存命令。命令和鎖存命令。另一類是讀出命令,用來讀取計數(shù)器的當前值。另一類是讀出命令,用來讀取計數(shù)器的當前值。3 3)82538253的初始化編程的初始化編程 8253初始化編程步驟是:初始化編程步驟是:先寫控制字到先寫控制字到8253的控制端口。的控制端口。再寫計數(shù)器初值到相應的計數(shù)器端口。再寫計
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年專賣店開設(shè)意向合同經(jīng)典版(2篇)
- 2025年專業(yè)版勞務用工合同(三篇)
- 2025年個人商鋪房屋租賃合同樣本(2篇)
- 2025年專業(yè)版合作辦學合同范文(2篇)
- 2025合同模板股權(quán)分配協(xié)議范本范本
- 2025墻紙購買合同模板
- 2025年個人商品房租賃合同范文(2篇)
- 2025合同基本要件相關(guān)示例
- 2025年一線城市居民住宅供用熱合同(三篇)
- 2025年led設(shè)備買賣合同標準版本(三篇)
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 老客戶的開發(fā)與技巧課件
- 計算機江蘇對口單招文化綜合理論試卷
- 成人學士學位英語單詞(史上全面)
- 26個英文字母書寫(手寫體)Word版
- KAPPA-實施方法課件
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗方法和判定規(guī)則
- GB/T 33084-2016大型合金結(jié)構(gòu)鋼鍛件技術(shù)條件
- 高考英語課外積累:Hello,China《你好中國》1-20詞塊摘錄課件
- 航道整治課程設(shè)計
- 抖音品牌視覺識別手冊
評論
0/150
提交評論