第九章可編程計(jì)數(shù)器與定進(jìn)控制器8253(9.2)_第1頁(yè)
第九章可編程計(jì)數(shù)器與定進(jìn)控制器8253(9.2)_第2頁(yè)
第九章可編程計(jì)數(shù)器與定進(jìn)控制器8253(9.2)_第3頁(yè)
第九章可編程計(jì)數(shù)器與定進(jìn)控制器8253(9.2)_第4頁(yè)
第九章可編程計(jì)數(shù)器與定進(jìn)控制器8253(9.2)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

9.2可編程計(jì)數(shù)器/定時(shí)控制器8253計(jì)數(shù)器/定時(shí)器8253特點(diǎn)

三個(gè)通道,可單獨(dú)使用片內(nèi)尋址

A1A0=00、01、10、11對(duì)應(yīng):通道0、1、2和控制口地址工作方式:6種一、微機(jī)定時(shí)方法

1.軟件定時(shí)——延遲子程序

2.硬件定時(shí)——用計(jì)數(shù)器/定時(shí)器8253

二、可編程計(jì)數(shù)器/定時(shí)器的工作原理

功能:一是為計(jì)數(shù);一是為定時(shí)。

8253的用處:

1)在多任務(wù)的分時(shí)系統(tǒng)中用來(lái)作為中斷信號(hào)實(shí)現(xiàn)程序的切換;

2)可以往I/O設(shè)備輸出精確的定時(shí)信號(hào);

3)作為一個(gè)可編程的波特率發(fā)生器;

4)實(shí)現(xiàn)時(shí)間延時(shí)。計(jì)數(shù)器/定時(shí)器的工作特點(diǎn)

1)門(mén)脈沖控制時(shí)鐘輸入;

2)用門(mén)脈沖來(lái)重新啟動(dòng)計(jì)數(shù);

3)用門(mén)脈沖停止計(jì)數(shù);

4)單一計(jì)數(shù);

5)循環(huán)計(jì)數(shù).

計(jì)數(shù)初始值=時(shí)鐘頻率*T

8_2_18253芯片內(nèi)部結(jié)構(gòu)1.數(shù)據(jù)總線緩沖器往計(jì)數(shù)器設(shè)置計(jì)數(shù)初值;

從計(jì)數(shù)器讀取計(jì)數(shù)值;

往控制寄存器設(shè)置控制字。2.讀/寫(xiě)邏輯電路A1A0:端口選擇00:通道0(0號(hào)計(jì)數(shù)器)01:通道1(1號(hào)計(jì)數(shù)器)10:通道2(2號(hào)計(jì)數(shù)器)11:控制字寄存器3.通道0、通道1、通道2

計(jì)數(shù)器0:CLK0——計(jì)數(shù)器0的時(shí)鐘輸入。

GATE0——計(jì)數(shù)器0的門(mén)脈沖控制輸入。

OUT0——計(jì)數(shù)器0的輸出。

計(jì)數(shù)器1計(jì)數(shù)器2定時(shí)系數(shù)(計(jì)數(shù)初值)n=定時(shí)時(shí)間t時(shí)鐘頻率fc=定時(shí)時(shí)間t/時(shí)鐘脈沖周期Tc

編程結(jié)構(gòu)

(2)8253的工作原理

4.控制寄存器

8253控制寄存器的格式SC1SC0RW1RW0M2M1M0BCD1--計(jì)數(shù)值為BCD碼格式0--計(jì)數(shù)值為二進(jìn)制格式M2M1M0模式選擇000模式0001模式1/10模式2/11模式3100模式4101模式500----對(duì)計(jì)數(shù)器進(jìn)行鎖存01----只讀/寫(xiě)低8位字節(jié)10----只讀/寫(xiě)高8位字節(jié)11----只讀/寫(xiě)低8位字節(jié),再讀/寫(xiě)高8位字節(jié).00----選計(jì)數(shù)器001----選計(jì)數(shù)器110----選計(jì)數(shù)器211----無(wú)意義

8-2-2.8253的工作模式

(1)方式0——計(jì)數(shù)結(jié)束產(chǎn)生中斷

一次定時(shí)或計(jì)數(shù),重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù)

(2)方式1——可編程的單脈沖(單穩(wěn))觸發(fā)器

GATE邊沿觸發(fā),啟動(dòng)新一輪計(jì)數(shù)

(3)方式2——分頻器(速度波發(fā)生器)

具有計(jì)數(shù)初值重裝能力(4)方式3——方波發(fā)生器

具有計(jì)數(shù)初值重裝能力(5)方式4——軟件觸發(fā)的選通信號(hào)發(fā)生器一次定時(shí),重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù)

(6)方式5——硬件觸發(fā)的選通信號(hào)發(fā)生器

GATE邊沿觸發(fā)新一輪計(jì)數(shù)圖8-22方式0——計(jì)數(shù)結(jié)束產(chǎn)生中斷圖8-22單脈沖觸發(fā)器高圖8-23分頻器圖8-23方波發(fā)生器圖8-23軟件觸發(fā)的選通信號(hào)發(fā)生器圖8-23硬件觸發(fā)的選通信號(hào)發(fā)生器8253初始化方法:控制字計(jì)數(shù)初值:

已知:CLK的頻率fc與定時(shí)的時(shí)間t.計(jì)數(shù)初值:n=fc

t

例1:fc=1MHZ,最大計(jì)數(shù)初值:65536一個(gè)定時(shí)器最大定時(shí)時(shí)間:N/fc=65536/106=0.065536s8-2-38253應(yīng)用舉例例2:設(shè)定時(shí)器0、定時(shí)器1工作于方式2,外部提供一個(gè)時(shí)鐘,頻率f=2MHZ。要求定時(shí)器1每5ms產(chǎn)生一個(gè)脈沖,定時(shí)器0每5s產(chǎn)生一個(gè)脈沖。1).一個(gè)定時(shí)器的最大定時(shí)時(shí)間:

65536/(2*106)=0.032768s=32.768ms2).將定時(shí)器1的CLK1接2MHZ時(shí)鐘,計(jì)數(shù)初值:3).將定時(shí)器1的OUT1端接到定時(shí)器0的CLK0端,定時(shí)器0的計(jì)數(shù)初值:例3:計(jì)數(shù)器2輸出600HZ方波,送揚(yáng)聲器。工作于模式3.發(fā)聲子程序:SSPPROCNEAR;8253初始化:MOVAL,10110110B;計(jì)數(shù)器2,模式3,初值16位,二進(jìn)制OUT43H,ALMOVAX,1983;計(jì)數(shù)初值=1.19MHZ600HZ=1983OUT42H,AL;送計(jì)數(shù)初值低位字節(jié)MOVAL,AHOUT42H,AL次;送計(jì)數(shù)初值高位字節(jié)8255控制程序:INAL,61H;讀8255的PB口原輸出值MOVAH,AL;保留到AHORAL,03H;使PB0\PB1均為1OUT61H,AL;打開(kāi)GATE2門(mén),輸出方波到揚(yáng)聲器SUBCX,CX;CX為循環(huán)次數(shù),最大為216L:LOOPL;延時(shí)DECBL;BL為子程序入口條件JNZL;BL=6,發(fā)長(zhǎng)聲(3S),BL=1發(fā)短聲(0.5S)MOVAL,AH;取回8255的PB口原輸出值OUT61H,AL;恢復(fù)8255PB口,停止發(fā)聲RETSSPENDP

例4:

定時(shí)/計(jì)數(shù)器8253與8086/8088CPU相連構(gòu)成完整的定時(shí)、計(jì)數(shù)或脈沖發(fā)生器系統(tǒng)。要求能完成的功能是:

1)利用通道0完成對(duì)外部事件計(jì)數(shù)功能,計(jì)滿100次向CPU發(fā)中斷請(qǐng)求。

2)利用通道1產(chǎn)生頻率為1KHz的方波。

3)利用通道2作標(biāo)準(zhǔn)時(shí)鐘,定時(shí)1秒,輸出接IR2。

(1)8253的數(shù)據(jù)線(D7~D0)與CPU的高8位數(shù)據(jù)線(D15-D8)相連,所以8253的端口地址必須是奇地址(A0=1)。(2)通道0定義為工作方式0,完成計(jì)數(shù).通道0的計(jì)數(shù)初值應(yīng)為:n0=100

控制字:00010000=10H(3)將通道1定義為工作方式3,控制字=01110110=76H,從CLK1輸入2.5MHz的時(shí)鐘脈沖,OUT1輸出頻率為1KHz的方波,而輸出方波的周期1ms。通道1的計(jì)數(shù)初值:

n1=f1*t1=2.5106110-3

=2500=09C4H。(4)通道2應(yīng)定義為方式0,

控制字=10110001=0B1H,每秒鐘利用OUT2向CPU發(fā)出一次中斷請(qǐng)求,由于輸入時(shí)鐘頻率為1KHz,計(jì)數(shù)初值應(yīng)為:

n2=f2*t2=1000*1=1000。

8253的控制端口地址:66H

通道0的端口地址:60H

通道1的端口地址:62H

通道2的端口地址:64H

8253-0EQU60H8253-1EQU62H8253-2EQU64H8253-CEQU66H

STT: MOV DX,8253-C;8253控制口地址

MOV AL,10H OUT DX,AL ;通道0工作在方式0

MOV DX,8253-0;8253通道0地址 MOV AL,64H

OUT DX,AL ;給通道0送計(jì)數(shù)值

MOV DX,8253-C MOV AL,76H

OUT DX,AL ;通道1工作在方式3 MOV DX,8253-1;8253通道1地址 MOV AX,09C4H

OUT DX,AL;給通道1送計(jì)數(shù)初值低8位 MOV AL,AH

OUT DX,A ;給通道1送計(jì)數(shù)值高位 MOV DX,8253-C

MOVAL,0B1H OUT DX,AL ;通道2工作在方式0 MOV DX,8253-2;通道2地址MOV AX,1000H;1000的BCD數(shù)1000HOUT DX,AL;給通道2送計(jì)數(shù)初值的低8位MOV AL,AHOUT DX,AL;給通道2送計(jì)數(shù)值的高8位MOV DX,8259A偶MOV AL,13HOUT DX,AL;設(shè)ICW1,邊緣觸發(fā),需ICW4MOV DX,8259A奇MOV AL,50H ;設(shè)ICW2,

0通道中斷類型碼為50HOUT DX,AL ;通道2的中斷類型碼為52HMOV AL,03 OUT DX,AL;設(shè)ICW4,非自動(dòng)EOI方式MOV AL,0FAH;OCW1,屏蔽IR0,IR1以外的輸入OUT DX,ALSTIFF: HLT JMP FF IR2時(shí)鐘程序:S1DB?;秒S2DB?;分S3DB?;時(shí)…..IR2_TIMER:INCS1CMPS1,60JNCEXIT;不滿60秒,退出MOVS1,00HINCS2;分單元加一CMPS2,60;不滿60分,退出JNCEXITMOVS2,00H;時(shí)單元加一INCS3JMPS3,24JNCEXITMOVS3,00HCALLDISPLAY;顯示時(shí)間…...STIEXIT:IRET思考題:l.微機(jī)中實(shí)現(xiàn)定時(shí)控制的主要方法是什么?2.8253每個(gè)計(jì)數(shù)通道與外設(shè)接口有哪些信號(hào)線,每個(gè)信號(hào)的用途是什么?3.8253每個(gè)通道有___種工作方式可供選擇。若設(shè)定某通道為方式0后,其輸出引腳為電平;當(dāng)____后通道開(kāi)始計(jì)數(shù),信號(hào)端每來(lái)一個(gè)脈沖就減1;當(dāng)__則輸出引腳輸出_電平,表示計(jì)數(shù)結(jié)束。8253的CLKO接1.5MHZ的時(shí)鐘,欲使OUT。產(chǎn)生頻率為300kHZ的方波信號(hào),則8253的計(jì)數(shù)值應(yīng)為_(kāi)___,應(yīng)選用的工作方式是_____.4.試按如下要求分別編寫(xiě)8253的初始化程序,已知8253的計(jì)數(shù)器0~2和控制字IO地址依次為04H~07H。(l)使計(jì)數(shù)器11作在方式0,僅用8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)初值為128。(2)使計(jì)數(shù)器O工作在方式1,按BCD碼計(jì)數(shù),計(jì)數(shù)值為3000。(3)使計(jì)數(shù)器2工在方式2,計(jì)數(shù)值為02F0H。5.設(shè)8253計(jì)數(shù)器0—2和控制字的I/O地址依次為F8H~FBH,說(shuō)明如下程序的作用。moval;33houtofbh,almoval,80houtofsh,almoval,50houtof8h,al習(xí)題1分析:

用通道0作定時(shí)器,初始編程使通道0按方式3工作,每秒產(chǎn)生18.2次輸出信號(hào),該信號(hào)送到8259A中斷控制器的IRQ0輸入端。每55ms產(chǎn)生一次中斷請(qǐng)求,8086對(duì)其計(jì)數(shù),用來(lái)計(jì)算時(shí)間。通道1用作動(dòng)態(tài)RAM刷新定時(shí),每隔5.12us產(chǎn)生一次輸出信號(hào),請(qǐng)求動(dòng)態(tài)刷新。OUT1輸出產(chǎn)生DMA請(qǐng)求信號(hào)送8237,由8237對(duì)動(dòng)態(tài)RAM刷新。(8253地址為40H~43H)通道0:地址為40H,控制字為36H,工作方式3,計(jì)數(shù)初值為0通道1:地址為41H,控制字為54H,工作方式2,計(jì)數(shù)初值為12H TIMEMODECTRL EQU 43H TIMEADD EQU 40H CTRL1 DB 36H CTRL2 DB 54H TIME1 DW 0 TIME2 DW 12H MOV BP,TIMEMODECTRL

MOV AL,CTRL1

;送通道0控制字 MOV BYTEPTR[BP],AL

MOV AL,CTRL2

;送通道1控制字 MOV BYTEPTR[BP],AL MOV BP,TIMEADD ;通道0端口地址送BP

MOV AX,TIME1 MOV BYTEPTR[BP],AL MOV BYTEPTR[BP],AH ;送通道0時(shí)常數(shù) INC BP ;通道1端口地址送BP

MOV AX,TIME2 MOV BYTEPTR[BP],AL MOV BYTEPTR[BP],AH ;送通道1時(shí)常數(shù) INC BP第3節(jié)DMA控制器8237A主要內(nèi)容:DMA控制器的一般結(jié)構(gòu)和概要DMA控制器8237A的原理8237A的編程和使用基本問(wèn)題:說(shuō)明在DMA方式時(shí)內(nèi)存往外設(shè)傳輸數(shù)據(jù)的過(guò)程。DMA控制器初始化工作包括哪些內(nèi)容?DMA控制器在什么時(shí)候作為主模塊?什么時(shí)候作為從模塊?為什么CPU對(duì)DMA控制器提出的總線響應(yīng)要比中斷請(qǐng)求響應(yīng)快?DMA控制器

DMA控制器可以象CPU那樣得到總線控制權(quán),用DMA方式實(shí)現(xiàn)外部設(shè)備和存儲(chǔ)器之間的數(shù)據(jù)高速傳輸。

一個(gè)DMA控制器通??梢赃B接一個(gè)或幾個(gè)輸入/輸出接口,每個(gè)接口通過(guò)一組連線和DMA控制器相連。

將DMA控制器中和某個(gè)接口有聯(lián)系的部分為一個(gè)通道。而一個(gè)DMA控制器一般由幾個(gè)通道組成。DMA方式,外設(shè)向內(nèi)存?zhèn)鬏敂?shù)據(jù)的過(guò)程:當(dāng)一個(gè)接口中有數(shù)據(jù)要輸入時(shí),就往DMA控制器發(fā)個(gè)DMA請(qǐng)求;DMA控制器接到請(qǐng)求后,便往控制總線上發(fā)一個(gè)總線請(qǐng)求;如果CPU允許讓出總線,則發(fā)一個(gè)總線允許信號(hào);DMA控制器接到此信號(hào)后,就將地址寄存器的內(nèi)容送到地址總線上,同時(shí)往接口發(fā)一個(gè)DMA回答信號(hào),并發(fā)一個(gè)1/O讀信號(hào)和一個(gè)內(nèi)存寫(xiě)信號(hào);接口接到DMA回答信號(hào)以后,將數(shù)據(jù)送到數(shù)據(jù)總線上,并撤除DMA請(qǐng)求信號(hào);內(nèi)存在接收到數(shù)據(jù)以后,一般往DMA控制器回送一個(gè)準(zhǔn)備好信號(hào),于是,DMA控制器的地址寄存器內(nèi)容加1或減1,計(jì)數(shù)器的值減1,而且撤除總線請(qǐng)求信號(hào),這樣,就完成了對(duì)一個(gè)數(shù)據(jù)的DMA輸入傳輸。DMA傳輸結(jié)束時(shí),往接口發(fā)一個(gè)結(jié)束信號(hào),

向CPU交回總線控制權(quán)。其狀態(tài)寄存器的傳輸結(jié)束標(biāo)志置“1”。查詢時(shí),CPU在主程序中通過(guò)查詢狀態(tài)寄存器的傳輸結(jié)束標(biāo)志,決定是否進(jìn)行后續(xù)處理。中斷方式時(shí),結(jié)束信號(hào)可作為送到外設(shè)的中斷請(qǐng)求信號(hào)(也可以送到總線控制邏輯)。后續(xù)程序必須檢查出錯(cuò)標(biāo)志,確定是否重新傳輸、打印出錯(cuò)信息。注意:DMA控制器不能提供中斷類型號(hào)。圖6-8DMA控制器內(nèi)部編程結(jié)構(gòu)和外部連接8.3.18257芯片內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器讀寫(xiě)邏輯電路工作方式寄存器狀態(tài)寄存器優(yōu)先選擇邏輯4個(gè)DMA通道5.8257工作方式寄存器和狀態(tài)寄存器DMA控制器內(nèi)部包含一個(gè)控制器寄存器和一個(gè)狀態(tài)寄存器,一個(gè)地址寄存器和計(jì)數(shù)器。多通道時(shí),控制寄存器和狀態(tài)寄存器為本多個(gè)通道所公用,而地址寄存器和計(jì)數(shù)器為本每個(gè)通道所獨(dú)有。

DMA的初始化:

(1)將數(shù)據(jù)傳輸緩沖區(qū)的起始(結(jié)束)地址送到地址寄存器中。

(2)將傳輸?shù)淖止?jié)數(shù)(字?jǐn)?shù))送到計(jì)數(shù)器中。

三、8257A的編程和使用第8章小節(jié)一.中斷控制器1.中斷的概念中斷:外部中斷(硬件中斷):NMI.INTR內(nèi)部中斷(軟件中斷):INTn.INTO.單步中斷過(guò)程:中斷請(qǐng)求.中斷響應(yīng).中斷處理.中斷返回

2.8086中斷系統(tǒng)1)中斷類型:

硬件中斷(外部中斷)

內(nèi)部中斷:與硬件無(wú)關(guān),不執(zhí)行中斷響應(yīng)周期,除單步中斷外,內(nèi)部中斷不可屏蔽,優(yōu)先級(jí)高于外部中斷2)中斷向量表:00000~003FFH3.中斷響應(yīng)過(guò)程1).可屏蔽中斷響應(yīng)過(guò)程響應(yīng)條件:TF=1.無(wú)總線請(qǐng)求.當(dāng)前指令結(jié)束①CPU發(fā)中斷請(qǐng)求信號(hào)后,CPU回答信號(hào)INTA②8059給出中斷類型碼,CPU由中斷類型碼找到中斷向量的地址指針③CPU保護(hù)斷點(diǎn):將CS.IP.標(biāo)志寄存器內(nèi)容入棧④清IF.TF⑤查中斷向量表,取中斷服務(wù)程序首地址⑥執(zhí)行中斷處理程序⑦中斷返回2)非屏蔽中斷響應(yīng)過(guò)程由NMI引入,CPU優(yōu)先響應(yīng),類型碼為2.3).內(nèi)部中斷響應(yīng)由指令或硬件給出,無(wú)外部邏輯輸入無(wú)中斷響應(yīng)周期與IF無(wú)關(guān)除單步中斷外,內(nèi)部中斷優(yōu)先級(jí)高于外部中斷4.8259中斷控制器

可編

溫馨提示

  • 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)論