版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、定時(shí)計(jì)數(shù)控制接口定時(shí)計(jì)數(shù)控制接口定時(shí)計(jì)數(shù)控制接口定時(shí)計(jì)數(shù)控制接口n 8253的引腳和六種工作方式的引腳和六種工作方式n 8253的編程的編程 n 8253在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用教學(xué)重點(diǎn)1. 定時(shí)與計(jì)數(shù)定時(shí)與計(jì)數(shù) 在微機(jī)系統(tǒng)或智能化儀器儀表的工作過程在微機(jī)系統(tǒng)或智能化儀器儀表的工作過程中,經(jīng)常需要使系統(tǒng)處于定時(shí)工作狀態(tài),或中,經(jīng)常需要使系統(tǒng)處于定時(shí)工作狀態(tài),或者對外部過程進(jìn)行計(jì)數(shù)。者對外部過程進(jìn)行計(jì)數(shù)。定時(shí)或計(jì)數(shù)的工作實(shí)質(zhì)均體現(xiàn)為對脈沖信號定時(shí)或計(jì)數(shù)的工作實(shí)質(zhì)均體現(xiàn)為對脈沖信號的計(jì)數(shù),如果計(jì)數(shù)的對象是標(biāo)準(zhǔn)的內(nèi)部時(shí)鐘的計(jì)數(shù),如果計(jì)數(shù)的對象是標(biāo)準(zhǔn)的內(nèi)部時(shí)鐘信號,由于其周期恒定,
2、故計(jì)數(shù)值就恒定地信號,由于其周期恒定,故計(jì)數(shù)值就恒定地對應(yīng)于一定的時(shí)間,這一過程即為定時(shí),如對應(yīng)于一定的時(shí)間,這一過程即為定時(shí),如果計(jì)數(shù)的對象是與外部果計(jì)數(shù)的對象是與外部過程相對應(yīng)的脈沖信過程相對應(yīng)的脈沖信號(周期可以不相等),則此時(shí)即為計(jì)數(shù)。號(周期可以不相等),則此時(shí)即為計(jì)數(shù)。 2. 2. 定時(shí)功能的實(shí)現(xiàn)方法定時(shí)功能的實(shí)現(xiàn)方法軟件延時(shí)軟件延時(shí)利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn)利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn)不用硬件,但占用不用硬件,但占用CPU時(shí)間、定時(shí)精度不高,隨系時(shí)間、定時(shí)精度不高,隨系統(tǒng)時(shí)鐘頻率改變統(tǒng)時(shí)鐘頻率改變不可編程的硬件定時(shí)不可編程的硬件定時(shí)采用分頻器、單穩(wěn)電路或簡易定時(shí)電路
3、控制定時(shí)時(shí)間采用分頻器、單穩(wěn)電路或簡易定時(shí)電路控制定時(shí)時(shí)間定時(shí)電路簡單、定時(shí)時(shí)間可以在一定范圍改變定時(shí)電路簡單、定時(shí)時(shí)間可以在一定范圍改變可編程的硬件定時(shí)可編程的硬件定時(shí)軟件硬件相結(jié)合、用可編程定時(shí)器芯片構(gòu)成一個(gè)方便軟件硬件相結(jié)合、用可編程定時(shí)器芯片構(gòu)成一個(gè)方便靈活的定時(shí)電路靈活的定時(shí)電路具有多種工作方式、能夠輸出多種控制信號具有多種工作方式、能夠輸出多種控制信號計(jì)數(shù)器計(jì)數(shù)器/定時(shí)器的基本原理定時(shí)器的基本原理可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器的工作原理定時(shí)器的工作原理 基于計(jì)數(shù)器的減1工作計(jì)數(shù)器計(jì)數(shù)器/定時(shí)器的用途定時(shí)器的用途在多任務(wù)的分時(shí)系統(tǒng)中用來作為中斷信號實(shí)現(xiàn)程在多任務(wù)的分時(shí)系統(tǒng)中用來作為
4、中斷信號實(shí)現(xiàn)程序的切換。序的切換。可以往可以往I/O設(shè)備輸出精確的定時(shí)信號。設(shè)備輸出精確的定時(shí)信號。作為一個(gè)可編程的波特率發(fā)生器。作為一個(gè)可編程的波特率發(fā)生器。實(shí)現(xiàn)時(shí)間延遲實(shí)現(xiàn)時(shí)間延遲定時(shí)定時(shí)/計(jì)數(shù)器芯片計(jì)數(shù)器芯片Intel8253 Intel8253是是8086/8088微機(jī)系統(tǒng)常用的定時(shí)微機(jī)系統(tǒng)常用的定時(shí)/計(jì)數(shù)器芯片,它具有定時(shí)與計(jì)數(shù)兩大功能,計(jì)數(shù)器芯片,它具有定時(shí)與計(jì)數(shù)兩大功能,同類型的定時(shí)同類型的定時(shí)/計(jì)數(shù)器芯片還有計(jì)數(shù)器芯片還有Intel8254等。等。一、一、 8253的一般性能概述的一般性能概述 每個(gè)每個(gè)8253芯片有芯片有3個(gè)獨(dú)立的個(gè)獨(dú)立的16位計(jì)數(shù)器通道位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器
5、通道都可以按照二進(jìn)制或二每個(gè)計(jì)數(shù)器通道都可以按照二進(jìn)制或二十十進(jìn)制計(jì)數(shù)進(jìn)制計(jì)數(shù)每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可以高達(dá)每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可以高達(dá)2MHz每個(gè)通道有每個(gè)通道有6種工作方式,可以由程序設(shè)定種工作方式,可以由程序設(shè)定和改變和改變所有的輸入、輸出電平都與所有的輸入、輸出電平都與TTL兼容兼容D7D0計(jì)數(shù)器0控制字寄存器計(jì)數(shù)器1計(jì)數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2二、二、8253內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu) 8253內(nèi)部實(shí)現(xiàn)與內(nèi)部實(shí)現(xiàn)與CPU數(shù)據(jù)總線連接的數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器,用以傳送位雙向
6、三態(tài)緩沖器,用以傳送CPU向向8253的控制信息、數(shù)據(jù)信息以及的控制信息、數(shù)據(jù)信息以及CPU從從8253讀取的狀態(tài)信息,讀取的狀態(tài)信息,包括包括某一方某一方面時(shí)刻的實(shí)時(shí)計(jì)數(shù)值。面時(shí)刻的實(shí)時(shí)計(jì)數(shù)值。1數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器2讀讀/寫控制邏輯寫控制邏輯 控制控制8253的片選及對內(nèi)部相關(guān)寄存的片選及對內(nèi)部相關(guān)寄存器的讀器的讀/寫操作,它接收寫操作,它接收CPU發(fā)來的地發(fā)來的地址信號以實(shí)現(xiàn)片選、內(nèi)部通道選擇以址信號以實(shí)現(xiàn)片選、內(nèi)部通道選擇以及對讀及對讀/寫操作進(jìn)行控制。寫操作進(jìn)行控制。3控制字寄存器控制字寄存器在在8253的初始化編程時(shí),由的初始化編程時(shí),由CPU寫入寫入控制字,以決定通道的工
7、作方式,此控制字,以決定通道的工作方式,此寄存器只能寫入,不能讀出。寄存器只能寫入,不能讀出。 這是三個(gè)獨(dú)立的,結(jié)構(gòu)相同的計(jì)數(shù)器這是三個(gè)獨(dú)立的,結(jié)構(gòu)相同的計(jì)數(shù)器/定時(shí)器定時(shí)器通道,每一個(gè)通道包含通道,每一個(gè)通道包含一個(gè)一個(gè)16位的計(jì)數(shù)寄存器位的計(jì)數(shù)寄存器,用以存放計(jì)數(shù)初始值,和用以存放計(jì)數(shù)初始值,和一個(gè)一個(gè)16位的減法計(jì)數(shù)器位的減法計(jì)數(shù)器和和一個(gè)一個(gè)16位的鎖存器位的鎖存器,鎖存器在計(jì)數(shù)器工作的過,鎖存器在計(jì)數(shù)器工作的過程中,跟隨計(jì)數(shù)值的變化,在接收到程中,跟隨計(jì)數(shù)值的變化,在接收到CPU發(fā)來的發(fā)來的讀計(jì)數(shù)值命令時(shí),用以鎖存計(jì)數(shù)值,供讀計(jì)數(shù)值命令時(shí),用以鎖存計(jì)數(shù)值,供CPU讀取,讀取,讀取完畢
8、之后,輸出鎖存器又跟隨減讀取完畢之后,輸出鎖存器又跟隨減1計(jì)數(shù)器變化。計(jì)數(shù)器變化。 另外,計(jì)數(shù)器的值為另外,計(jì)數(shù)器的值為0的狀態(tài),還反映在狀態(tài)的狀態(tài),還反映在狀態(tài)鎖存器中,可供讀取。鎖存器中,可供讀取。 4計(jì)數(shù)通道計(jì)數(shù)通道0#、1#、2#三三、8253外部引腳外部引腳 8253芯片是具有芯片是具有24個(gè)引腳的雙列直個(gè)引腳的雙列直插式集成電路芯片,其引腳分布如圖。插式集成電路芯片,其引腳分布如圖。 8253芯片的芯片的24個(gè)引腳分為兩組,一個(gè)引腳分為兩組,一組面向組面向CPU,另一組面向外部設(shè)備,各,另一組面向外部設(shè)備,各引腳及其所傳送信號的情況,如下:引腳及其所傳送信號的情況,如下:82538
9、253的引腳的引腳 1. 面向面向CPU的引腳的引腳D0 D7:雙向、三態(tài)數(shù)據(jù)線引腳,用以與系統(tǒng)的雙向、三態(tài)數(shù)據(jù)線引腳,用以與系統(tǒng)的數(shù)據(jù)線連接,傳送控制、數(shù)據(jù)及狀態(tài)信息。數(shù)據(jù)線連接,傳送控制、數(shù)據(jù)及狀態(tài)信息。 A0 A1:地址信號輸入引腳,一般接地址信號輸入引腳,一般接CPU地址總地址總線的線的A1、A0位,用以選位,用以選擇擇8253芯片的通道及控制芯片的通道及控制字寄存器。字寄存器。CS*:芯片選擇信號輸入引腳,低電平有效芯片選擇信號輸入引腳,低電平有效 RD*:來自于來自于CPU的讀控制信號輸入引腳,低電的讀控制信號輸入引腳,低電平有效平有效 WR*:來自于來自于CPU的寫控制信號輸入引
10、腳,低電的寫控制信號輸入引腳,低電平有效。平有效。 CS* A1 A0計(jì)數(shù)器通道計(jì)數(shù)器通道讀操作讀操作RD*寫操作寫操作WR*0 0 00 0 10 1 00 1 10#1#2#控制端口控制端口讀計(jì)數(shù)器讀計(jì)數(shù)器0讀計(jì)數(shù)器讀計(jì)數(shù)器1讀計(jì)數(shù)器讀計(jì)數(shù)器2無操作無操作寫計(jì)數(shù)器寫計(jì)數(shù)器0寫計(jì)數(shù)器寫計(jì)數(shù)器1寫計(jì)數(shù)器寫計(jì)數(shù)器2寫控制字寫控制字2. 各計(jì)數(shù)器的各計(jì)數(shù)器的3個(gè)引腳個(gè)引腳CLK時(shí)鐘輸入信號時(shí)鐘輸入信號在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1GATE門控輸入信號門控輸入信號控制計(jì)數(shù)器工作,可分成電平控制
11、和上升沿控控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類型制兩種類型OUT計(jì)數(shù)器輸出信號計(jì)數(shù)器輸出信號當(dāng)一次計(jì)數(shù)過程結(jié)束(計(jì)數(shù)值減為當(dāng)一次計(jì)數(shù)過程結(jié)束(計(jì)數(shù)值減為0),),OUT引腳上將產(chǎn)生一個(gè)輸出信號引腳上將產(chǎn)生一個(gè)輸出信號1. 1. 計(jì)數(shù)器計(jì)數(shù)器預(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ù)值四四、
12、82538253的控制字的控制字 計(jì)數(shù)器計(jì)數(shù)器讀寫格式讀寫格式工作方式工作方式數(shù)制數(shù)制D7D6D5D4D3D2D1D000 計(jì)數(shù)器計(jì)數(shù)器001 計(jì)數(shù)器計(jì)數(shù)器110 計(jì)數(shù)器計(jì)數(shù)器211 非法非法00 計(jì)數(shù)器鎖存命計(jì)數(shù)器鎖存命令令 01 只讀寫低字節(jié)只讀寫低字節(jié)10 只讀寫高字節(jié)只讀寫高字節(jié)11 先讀寫低字節(jié)先讀寫低字節(jié) 后讀寫高字節(jié)后讀寫高字節(jié)000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二進(jìn)制二進(jìn)制1 十進(jìn)制十進(jìn)制控制字寫入控制字控制字寫入控制字I/O地址(地址(A1A011)示例示例四四、 82538253的控制字的控制字 要
13、使用要使用82538253,必須首先進(jìn)行初始化編程,初,必須首先進(jìn)行初始化編程,初始化編程包括設(shè)置始化編程包括設(shè)置通道控制字通道控制字和送和送通道計(jì)數(shù)初通道計(jì)數(shù)初值值兩個(gè)方面,控制字寫入兩個(gè)方面,控制字寫入82538253的控制字寄存器,的控制字寄存器,而初始值則寫入相應(yīng)通道的計(jì)數(shù)寄存器中。而初始值則寫入相應(yīng)通道的計(jì)數(shù)寄存器中。初始化編程包括如下步驟:初始化編程包括如下步驟:(1)(1)寫入通道控制字,規(guī)定通道的工作方式;寫入通道控制字,規(guī)定通道的工作方式;(2)(2)寫入計(jì)數(shù)值,若規(guī)定只寫低寫入計(jì)數(shù)值,若規(guī)定只寫低8 8位,則高位,則高8 8位自位自動(dòng)置動(dòng)置0 0,若規(guī)定只寫高,若規(guī)定只寫高
14、8 8位,則低位,則低8 8位自動(dòng)置位自動(dòng)置0 0。若為若為1616位計(jì)數(shù)值則分兩次寫入,先寫低位計(jì)數(shù)值則分兩次寫入,先寫低8 8位,后位,后寫高寫高8 8位。位。 D D0 0:用于確定計(jì)數(shù)數(shù)制,:用于確定計(jì)數(shù)數(shù)制,0 0,二進(jìn)制;,二進(jìn)制;1 1,BCDBCD碼碼18253的初始化編程的初始化編程例例1:設(shè):設(shè)8253的端口地址為:的端口地址為:04H07H,要使計(jì)數(shù)器,要使計(jì)數(shù)器1工作在方式工作在方式0,僅用,僅用8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為位二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為128,進(jìn)行初始化編程。進(jìn)行初始化編程??刂谱譃椋嚎刂谱譃椋?1010000B=50H初始化程序:初始化程序: MOV AL,50
15、H MOV DX,07H OUT DX,AL MOV AL,80H MOV DX,05H OUT DX,AL例例2:設(shè):設(shè)8253的端口地址為:的端口地址為:F8HFBH,若用通道,若用通道0工作工作在方式在方式1,按二,按二十進(jìn)制計(jì)數(shù),計(jì)數(shù)值為十進(jìn)制計(jì)數(shù),計(jì)數(shù)值為5080H,進(jìn)行,進(jìn)行初始化編程。初始化編程??刂谱譃椋嚎刂谱譃椋?0110011B=33H初始化程序:初始化程序: MOV AL,33H MOV DX,0FBH OUT DX,AL MOV AL,80H MOV DX,0F8H OUT DX,AL MOV AL,50H OUT DX,AL例例3:設(shè):設(shè)8253的端口地址為:的端口地
16、址為:04H07H,若用通道,若用通道2工作在方式工作在方式2,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為02F0H,進(jìn)行,進(jìn)行初始化編程。初始化編程。控制字為:控制字為:10110100B=0B4H初始化程序:初始化程序: MOV AL,0B4H MOV DX,07H OUT DX,AL MOV AL,0F0H MOV DX,06H OUT DX,AL MOV AL,02H OUT DX,AL 8253可用控制命令來讀取相應(yīng)通道的計(jì)數(shù)值,由可用控制命令來讀取相應(yīng)通道的計(jì)數(shù)值,由于計(jì)數(shù)值是于計(jì)數(shù)值是16位的,而讀取的瞬時(shí)值,要分兩次位的,而讀取的瞬時(shí)值,要分兩次讀取,所以在讀取計(jì)數(shù)值之前,
17、要用鎖存命令,讀取,所以在讀取計(jì)數(shù)值之前,要用鎖存命令,將相應(yīng)通道的計(jì)數(shù)值鎖存在鎖存器中,然后分兩將相應(yīng)通道的計(jì)數(shù)值鎖存在鎖存器中,然后分兩次讀入,先讀低字節(jié),后讀高字節(jié)。次讀入,先讀低字節(jié),后讀高字節(jié)。當(dāng)控制字中,當(dāng)控制字中,D5、D4=00時(shí),控制字的作用是將時(shí),控制字的作用是將相應(yīng)通道的計(jì)數(shù)值鎖存的命令,鎖存計(jì)數(shù)值在讀相應(yīng)通道的計(jì)數(shù)值鎖存的命令,鎖存計(jì)數(shù)值在讀取完成之后,自動(dòng)解鎖。取完成之后,自動(dòng)解鎖。2 2讀取讀取82538253通道中的計(jì)數(shù)值通道中的計(jì)數(shù)值如要讀通道如要讀通道1的的16位計(jì)數(shù)器,編程如下:位計(jì)數(shù)器,編程如下:地址地址F8HFBH。MOVAL,40H ;MOV DX,0
18、FBHOUTDX,AL ;鎖存計(jì)數(shù)值;鎖存計(jì)數(shù)值MOV DX,0F9HINAL,DXMOVCL,AL;低八位;低八位INAL,DX;MOVCH,AL;高八位;高八位五五、82538253在系統(tǒng)中的典型連接在系統(tǒng)中的典型連接1試說明定時(shí)和計(jì)數(shù)在實(shí)際系統(tǒng)中的應(yīng)用?這兩者之間有和聯(lián)系和差別?2定時(shí)和計(jì)數(shù)有哪幾種實(shí)現(xiàn)方法?各有什么特點(diǎn)?3試說明定時(shí)/計(jì)數(shù)器芯片Intel8253的內(nèi)部結(jié)構(gòu)。定時(shí)/計(jì)數(shù)器芯片Intel8253占用幾個(gè)端口地址?各個(gè)端口分別對應(yīng)什么 習(xí)題與思考習(xí)題與思考六六、82538253的工作方式的工作方式 8253共有共有6種工作方式,各方式下的工作狀態(tài)是不種工作方式,各方式下的工作
19、狀態(tài)是不同的,輸出的波形也不同,其中比較靈活的是同的,輸出的波形也不同,其中比較靈活的是門門控信號控信號的作用。由此組成了的作用。由此組成了8253豐富的工作方式、豐富的工作方式、波形,下面我們逐個(gè)介紹:波形,下面我們逐個(gè)介紹: 1幾條基本原則幾條基本原則 (1) 控制字寫入計(jì)數(shù)器時(shí),所有的控制邏輯電路立即復(fù)位,輸控制字寫入計(jì)數(shù)器時(shí),所有的控制邏輯電路立即復(fù)位,輸出端出端OUT進(jìn)入初始狀態(tài)。初始狀態(tài)對不同的模式來說不一定相進(jìn)入初始狀態(tài)。初始狀態(tài)對不同的模式來說不一定相同。同。(2) 計(jì)數(shù)初始值寫入之后,要經(jīng)過一個(gè)時(shí)鐘周期上升沿和一個(gè)計(jì)數(shù)初始值寫入之后,要經(jīng)過一個(gè)時(shí)鐘周期上升沿和一個(gè)下降沿,計(jì)數(shù)
20、執(zhí)行部件才可以開始進(jìn)行計(jì)數(shù)操作,因?yàn)榈谝粋€(gè)下降沿,計(jì)數(shù)執(zhí)行部件才可以開始進(jìn)行計(jì)數(shù)操作,因?yàn)榈谝粋€(gè)下降沿將計(jì)數(shù)寄存器的內(nèi)容送減下降沿將計(jì)數(shù)寄存器的內(nèi)容送減1計(jì)數(shù)器。計(jì)數(shù)器。(3) 通常,在每個(gè)時(shí)鐘脈沖通常,在每個(gè)時(shí)鐘脈沖CLK的上升沿,采樣門控信號的上升沿,采樣門控信號GATE。不同的工作方式下,門控信號的觸發(fā)方式是有具體規(guī)。不同的工作方式下,門控信號的觸發(fā)方式是有具體規(guī)定的,即或者是電平觸發(fā),或者是邊沿觸發(fā),在有的模式中,定的,即或者是電平觸發(fā),或者是邊沿觸發(fā),在有的模式中,兩種觸發(fā)方式都是允許的。其中兩種觸發(fā)方式都是允許的。其中0、2、3、4是電平觸發(fā)方式,是電平觸發(fā)方式,1、2、3、5是上
21、升沿觸發(fā)。是上升沿觸發(fā)。(4) 在時(shí)鐘脈沖的下降沿,計(jì)數(shù)器作減在時(shí)鐘脈沖的下降沿,計(jì)數(shù)器作減1計(jì)數(shù),計(jì)數(shù),0是計(jì)數(shù)器所能是計(jì)數(shù)器所能容納的最大初始值。二進(jìn)制相當(dāng)于容納的最大初始值。二進(jìn)制相當(dāng)于216,用,用BCD碼計(jì)數(shù)時(shí),相當(dāng)碼計(jì)數(shù)時(shí),相當(dāng)于于104方式方式0的波形如圖所示,當(dāng)控制字寫入控制字的波形如圖所示,當(dāng)控制字寫入控制字寄存器后,輸出寄存器后,輸出OUT就變低,當(dāng)計(jì)數(shù)值寫入計(jì)就變低,當(dāng)計(jì)數(shù)值寫入計(jì)數(shù)器后開始計(jì)數(shù),在整個(gè)計(jì)數(shù)過程中,數(shù)器后開始計(jì)數(shù),在整個(gè)計(jì)數(shù)過程中,OUT保保持為低,當(dāng)計(jì)數(shù)到持為低,當(dāng)計(jì)數(shù)到0后,后,OUT變高;變高;GATE的高的高低電平控制計(jì)數(shù)過程是否進(jìn)行。低電平控制計(jì)
22、數(shù)過程是否進(jìn)行。2方式方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷 方式方式0 0時(shí)序圖時(shí)序圖GATEOUTCLK 031244方式方式0WR設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)計(jì)數(shù)數(shù)初初值值計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束 計(jì)數(shù)器只計(jì)一遍,當(dāng)計(jì)數(shù)到0時(shí),不重新開始計(jì)數(shù)保持為高,直到輸入一新的計(jì)數(shù)值,OUT才變低,開始新的計(jì)數(shù); 計(jì)數(shù)值是在寫計(jì)數(shù)值命令后經(jīng)過一個(gè)輸入脈沖,才裝入計(jì)數(shù)器的,下一個(gè)脈沖開始計(jì)數(shù),因此,如果設(shè)置計(jì)數(shù)器初值為N,則輸出OUT在N1個(gè)脈沖后才能變高; 在計(jì)數(shù)過程中,可由GATE信號控制暫停。當(dāng)GATE0時(shí),暫停計(jì)數(shù);當(dāng)GATE1時(shí),繼續(xù)計(jì)數(shù); 在計(jì)
23、數(shù)過程中可以改變計(jì)數(shù)值,且這種改變是立即有效的,分成兩種情況: 若是8位計(jì)數(shù),則寫入新值后的下一個(gè)脈沖按新值計(jì)數(shù);若是16位計(jì)數(shù),則在寫入第一個(gè)字節(jié)后,停止計(jì)數(shù),寫入第二個(gè)字節(jié)后的下一個(gè)脈沖按新值計(jì)數(shù)。方式方式0 0有下列特點(diǎn)有下列特點(diǎn) 方式方式1的波形如圖所示,的波形如圖所示,CPU向向8253寫入控寫入控制字后制字后OUT變高,并保持,寫入計(jì)數(shù)值后并變高,并保持,寫入計(jì)數(shù)值后并不立即計(jì)數(shù),只有當(dāng)外界不立即計(jì)數(shù),只有當(dāng)外界GATE信號啟動(dòng)后信號啟動(dòng)后(一個(gè)正脈沖)的下一個(gè)脈沖才開始計(jì)數(shù),(一個(gè)正脈沖)的下一個(gè)脈沖才開始計(jì)數(shù),OUT變低,計(jì)數(shù)到變低,計(jì)數(shù)到0后,后,OUT才變高,此時(shí)才變高,此
24、時(shí)再來一個(gè)再來一個(gè)GATE正脈沖,計(jì)數(shù)器又開始重新正脈沖,計(jì)數(shù)器又開始重新計(jì)數(shù),輸出計(jì)數(shù),輸出OUT再次變低,再次變低,因此輸出為,因此輸出為一單拍負(fù)脈沖一單拍負(fù)脈沖 3方式方式1可編程的硬件觸發(fā)單拍脈沖可編程的硬件觸發(fā)單拍脈沖方式方式1 1時(shí)序圖時(shí)序圖設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)計(jì)數(shù)數(shù)初初值值硬硬件件啟啟動(dòng)動(dòng)計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束GATEOUTCLK 031244方式方式1WR輸出輸出OUT業(yè)寬度為計(jì)數(shù)初值的單脈沖;業(yè)寬度為計(jì)數(shù)初值的單脈沖;輸出受門控信號輸出受門控信號GATE的控制,分三種情況:的控制,分三種情況:計(jì)數(shù)到計(jì)數(shù)到0后,再來后,再
25、來GATE脈沖,則重新開始計(jì)數(shù),脈沖,則重新開始計(jì)數(shù),OUT變低;變低;在計(jì)數(shù)過程中來在計(jì)數(shù)過程中來GATE脈沖,則從下一脈沖,則從下一CLK脈沖脈沖開始重新計(jì)數(shù),開始重新計(jì)數(shù),OUT保持為低;保持為低;改變計(jì)數(shù)值后,只有當(dāng)改變計(jì)數(shù)值后,只有當(dāng)GATE脈沖啟動(dòng)后,才按脈沖啟動(dòng)后,才按新值計(jì)數(shù),否則原計(jì)數(shù)過程不受影響,仍繼續(xù)進(jìn)行新值計(jì)數(shù),否則原計(jì)數(shù)過程不受影響,仍繼續(xù)進(jìn)行,即新值的改變是從下一個(gè),即新值的改變是從下一個(gè)GATE開始的。開始的。計(jì)數(shù)值是多次有效的,每來一個(gè)計(jì)數(shù)值是多次有效的,每來一個(gè)GATE脈沖,就脈沖,就自動(dòng)裝入計(jì)數(shù)值開始從頭計(jì)數(shù),因此在初始化時(shí),自動(dòng)裝入計(jì)數(shù)值開始從頭計(jì)數(shù),因此
26、在初始化時(shí),計(jì)數(shù)值寫入一次即可。計(jì)數(shù)值寫入一次即可。方式方式1 1有下列特點(diǎn)有下列特點(diǎn) 4. 方式方式2速率發(fā)生器速率發(fā)生器 方式方式2的波形如圖所示,在這種方式下,的波形如圖所示,在這種方式下,CPU輸出控制字后,輸出輸出控制字后,輸出OUT就變高,寫就變高,寫入計(jì)數(shù)值后的下一個(gè)入計(jì)數(shù)值后的下一個(gè)CLK脈沖開始計(jì)數(shù),脈沖開始計(jì)數(shù),計(jì)數(shù)到計(jì)數(shù)到1后,輸出后,輸出OUT變低,經(jīng)過一個(gè)變低,經(jīng)過一個(gè)CLK以后,以后,OUT恢復(fù)為高,計(jì)數(shù)器重新開始計(jì)恢復(fù)為高,計(jì)數(shù)器重新開始計(jì)數(shù),數(shù),因此在這種方式下,只需寫入一,因此在這種方式下,只需寫入一次計(jì)數(shù)值,就能連續(xù)工作,輸出連續(xù)相同次計(jì)數(shù)值,就能連續(xù)工作,
27、輸出連續(xù)相同間隔的負(fù)脈沖(前提:間隔的負(fù)脈沖(前提:GATE保持為高),保持為高),即周期性地輸出。即周期性地輸出。 方式方式2 2時(shí)序圖時(shí)序圖03124GATEOUTCLK 4方式方式2031240312403124WR通道可以連續(xù)工作;通道可以連續(xù)工作;GATE可以控制計(jì)數(shù)過程,當(dāng)可以控制計(jì)數(shù)過程,當(dāng)GATE為為低時(shí)暫停計(jì)數(shù),恢復(fù)為高后重新從初值;低時(shí)暫停計(jì)數(shù),恢復(fù)為高后重新從初值;(注意:該方式與方式(注意:該方式與方式0不同,方式不同,方式0是繼是繼續(xù)計(jì)數(shù));續(xù)計(jì)數(shù));重新設(shè)置新的計(jì)數(shù)值即在計(jì)數(shù)過程中改重新設(shè)置新的計(jì)數(shù)值即在計(jì)數(shù)過程中改變計(jì)數(shù)值,則新的計(jì)數(shù)值是下次有效的,變計(jì)數(shù)值,則新
28、的計(jì)數(shù)值是下次有效的,同方式同方式1。方式方式2 2有下列特點(diǎn)有下列特點(diǎn) 5方式方式3方波速率發(fā)生器方波速率發(fā)生器 方式方式3的波形如圖所示,這種方式下的輸出的波形如圖所示,這種方式下的輸出與方式與方式2都是周期性的,不同的是周期不同,都是周期性的,不同的是周期不同,CPU寫入控制字后,輸出寫入控制字后,輸出OUT變高,寫入計(jì)變高,寫入計(jì)數(shù)值后開始計(jì)數(shù),不同的是減數(shù)值后開始計(jì)數(shù),不同的是減2計(jì)數(shù),當(dāng)計(jì)計(jì)數(shù),當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變低,重新裝入計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變低,重新裝入計(jì)數(shù)值進(jìn)行減數(shù)值進(jìn)行減2計(jì)數(shù),當(dāng)計(jì)數(shù)到計(jì)數(shù),當(dāng)計(jì)數(shù)到0時(shí),輸出變高,時(shí),輸出變高,裝入計(jì)數(shù)值進(jìn)行減裝入計(jì)數(shù)值進(jìn)行
29、減2計(jì)數(shù),循環(huán)不止。計(jì)數(shù),循環(huán)不止。 方式方式3 3時(shí)序圖時(shí)序圖計(jì)數(shù)值為偶數(shù) 方式方式3 3時(shí)序圖時(shí)序圖計(jì)數(shù)值為奇數(shù) 通道可以連續(xù)工作;通道可以連續(xù)工作;關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電平各為平各為N/2N/2個(gè);若為奇數(shù),則在裝入計(jì)數(shù)值后的下一個(gè)個(gè);若為奇數(shù),則在裝入計(jì)數(shù)值后的下一個(gè)CLKCLK使使其裝入,然后減其裝入,然后減1 1計(jì)數(shù),(計(jì)數(shù),(N N1 1)/2/2,OUTOUT改變狀態(tài),再減至改變狀態(tài),再減至0 0,OUTOUT又改變狀態(tài),重新裝入計(jì)數(shù)值循環(huán)此過程,因此,在又改變狀態(tài),重新裝入計(jì)數(shù)值循環(huán)此過程,因此,在
30、這種情況下,輸出有(這種情況下,輸出有(N N1 1)/2/2個(gè)個(gè)CLKCLK個(gè)高電平,(個(gè)高電平,(N N1 1)/2/2個(gè)個(gè)CLKCLK個(gè)低電平;個(gè)低電平;GATEGATE信號能使計(jì)數(shù)過程重新開始,當(dāng)信號能使計(jì)數(shù)過程重新開始,當(dāng)GATEGATE0 0時(shí),停止計(jì)時(shí),停止計(jì)數(shù),當(dāng)數(shù),當(dāng)GATEGATE變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),尤其是變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),尤其是當(dāng)當(dāng)GATEGATE0 0時(shí),若時(shí),若OUTOUT此時(shí)為低,則立即變高,其它動(dòng)作同上此時(shí)為低,則立即變高,其它動(dòng)作同上;在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過程,一般情況在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過程,一
31、般情況下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若中下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若中間遇到有間遇到有GATEGATE脈沖,則在此脈沖后即裝入新值開始計(jì)數(shù)。脈沖,則在此脈沖后即裝入新值開始計(jì)數(shù)。方式方式3 3有下列特點(diǎn)有下列特點(diǎn) 方式方式4的波形如圖所示,在這種方式下的波形如圖所示,在這種方式下,也是當(dāng),也是當(dāng)CPU寫入控制字后,寫入控制字后,OUT立即立即變高,寫入計(jì)數(shù)值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到變高,寫入計(jì)數(shù)值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到0后,后,OUT變低,經(jīng)過一個(gè)變低,經(jīng)過一個(gè)CLK脈沖后,脈沖后,OUT變高,這種計(jì)數(shù)是一次性的(與方變高,這種計(jì)數(shù)是一次性的(與方式式0有相似之處
32、),只有當(dāng)寫入新的計(jì)數(shù)有相似之處),只有當(dāng)寫入新的計(jì)數(shù)值后才開始下一次計(jì)數(shù)。值后才開始下一次計(jì)數(shù)。6方式方式4軟件觸發(fā)的選通信號發(fā)生器軟件觸發(fā)的選通信號發(fā)生器GATEOUTCLK031244方式方式4223331 0WR方式方式4 4時(shí)序圖時(shí)序圖當(dāng)計(jì)數(shù)值為當(dāng)計(jì)數(shù)值為N時(shí),則間隔時(shí),則間隔N1個(gè)個(gè)CLK脈沖輸出一脈沖輸出一個(gè)負(fù)脈沖(計(jì)數(shù)一次有效);個(gè)負(fù)脈沖(計(jì)數(shù)一次有效);GATE0時(shí),禁止計(jì)數(shù),時(shí),禁止計(jì)數(shù),GATE1時(shí),恢復(fù)繼續(xù)時(shí),恢復(fù)繼續(xù)計(jì)數(shù);計(jì)數(shù);在計(jì)數(shù)過程中重新裝入新的計(jì)數(shù)值,則該值是立在計(jì)數(shù)過程中重新裝入新的計(jì)數(shù)值,則該值是立即有效的(若為即有效的(若為16位計(jì)數(shù)值,則裝入第一個(gè)字節(jié)
33、時(shí)位計(jì)數(shù)值,則裝入第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),裝入第二個(gè)字節(jié)后開始按新值計(jì)數(shù))。停止計(jì)數(shù),裝入第二個(gè)字節(jié)后開始按新值計(jì)數(shù))。 方式方式4 4有下列特點(diǎn)有下列特點(diǎn) 方式方式5的波形如圖所示,在這種方式下,的波形如圖所示,在這種方式下,當(dāng)控制字寫入后,當(dāng)控制字寫入后,OUT立刻變高,寫入計(jì)立刻變高,寫入計(jì)數(shù)值后并不立即開始計(jì)數(shù),而是由數(shù)值后并不立即開始計(jì)數(shù),而是由GATE的上升沿觸發(fā)啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到的上升沿觸發(fā)啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到0時(shí),時(shí),輸出變低,經(jīng)過一個(gè)輸出變低,經(jīng)過一個(gè)CLK之后,輸出恢復(fù)之后,輸出恢復(fù)為高,計(jì)數(shù)停止,若再有為高,計(jì)數(shù)停止,若再有GATE脈沖來,脈沖來,則重新裝入計(jì)數(shù)值開始計(jì)數(shù)
34、,上述過程重則重新裝入計(jì)數(shù)值開始計(jì)數(shù),上述過程重復(fù)。復(fù)。7方式方式5硬件觸發(fā)的選通信號發(fā)生器硬件觸發(fā)的選通信號發(fā)生器GATEOUTCLK031244方式方式52233311 0WR方式方式5 5時(shí)序圖時(shí)序圖在這種方式下,若設(shè)置的計(jì)數(shù)值是在這種方式下,若設(shè)置的計(jì)數(shù)值是N,則,則在在GATE脈沖后,經(jīng)過(脈沖后,經(jīng)過(N1)個(gè))個(gè)CLK才一才一個(gè)負(fù)脈沖;個(gè)負(fù)脈沖;若在計(jì)數(shù)過程中又來一個(gè)若在計(jì)數(shù)過程中又來一個(gè)GATE脈沖,則脈沖,則重新裝入初值開始計(jì)數(shù),輸出不變,即計(jì)數(shù)值重新裝入初值開始計(jì)數(shù),輸出不變,即計(jì)數(shù)值多次有效;多次有效;若在計(jì)數(shù)過程中修改計(jì)數(shù)值,則該計(jì)數(shù)值若在計(jì)數(shù)過程中修改計(jì)數(shù)值,則該計(jì)數(shù)
35、值在下一個(gè)在下一個(gè)GATE脈沖后裝入開始按此值計(jì)數(shù)。脈沖后裝入開始按此值計(jì)數(shù)。 方式方式5 5有下列特點(diǎn)有下列特點(diǎn) 各種工作方式的輸出波形各種工作方式的輸出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1討論:討論:計(jì)數(shù)開始的時(shí)刻計(jì)數(shù)開始的時(shí)刻88253的工作方式小結(jié)的工作方式小結(jié) (1) 方式方式2、4、5的輸出波形是相同的,都是寬度為一個(gè)CLK周期的負(fù)脈沖,但方式2連續(xù)工作,方式4由軟件觸發(fā)啟動(dòng),方式5由硬件觸發(fā)啟動(dòng)。 (2) 方式方式5與方式1工作過程相同,但輸出波形不同,方式1輸出的是
36、寬度為N個(gè)為N個(gè)CLK脈沖的低電平有效的脈沖(計(jì)數(shù)過程中輸出為低),而方式5輸出的為寬度為一個(gè)CLK脈沖的負(fù)脈沖(計(jì)數(shù)過程中輸出為高)。 (3) 輸出端輸出端OUT的初始狀態(tài),方式0在寫入方式字后輸出為低,其余方式,寫入控制字后,輸出均變未能高。 (4) 任一種方式,均是在寫入計(jì)數(shù)初值之后,才能開始計(jì)數(shù)任一種方式,均是在寫入計(jì)數(shù)初值之后,才能開始計(jì)數(shù),方式,方式0、2、3、4都是在寫入計(jì)數(shù)初值之后,開始計(jì)數(shù)的,而方式1和方式5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)。(5) 6種工作方式中,只有方式2和方式3是連續(xù)計(jì)數(shù),其它方式都是一次計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng),方式0、4由軟件啟動(dòng),方式1、5由硬件啟
37、動(dòng)。(6) 門控信號的作用門控信號的作用通過門控信號GATE,可以干預(yù)8253某一通道的計(jì)數(shù)過程,在不同的工作方式下,門控信號起作用的方式也不一樣,其中0、2、3、4是電平起作用,1、2、3、5是上升沿起作用,方式2、3對電平上升沿都可以起作用。(7) 在計(jì)數(shù)過程中改變計(jì)數(shù)值,它們的作用有所不同。在計(jì)數(shù)過程中改變計(jì)數(shù)值,它們的作用有所不同。(8) 計(jì)數(shù)到計(jì)數(shù)到0后計(jì)數(shù)器的狀態(tài),方式0、1、4、5繼續(xù)倒計(jì)數(shù),變?yōu)镕F、FE。,而方式2、3、,則自動(dòng)裝入計(jì)數(shù)初值繼續(xù)計(jì)數(shù)。88253的工作方式小結(jié)(續(xù))的工作方式小結(jié)(續(xù)) 七七、 82538253的編程應(yīng)用的編程應(yīng)用例例1 1 在在IBM PC/X
38、TIBM PC/XT中,中,82538253作為定時(shí)計(jì)數(shù)器電路,它的三作為定時(shí)計(jì)數(shù)器電路,它的三個(gè)通道的作用分別為:個(gè)通道的作用分別為:計(jì)數(shù)器計(jì)數(shù)器0 0編程為方式編程為方式3 3,GATE0GATE0固定為高電平,固定為高電平,OUT0OUT0作為中作為中斷請求信號接至斷請求信號接至8259A8259A中斷控制器的第中斷控制器的第0 0級級IRQ0IRQ0。這個(gè)定時(shí)中。這個(gè)定時(shí)中斷(約斷(約55ms55ms)用于報(bào)時(shí)時(shí)鐘的時(shí)間基準(zhǔn)。)用于報(bào)時(shí)時(shí)鐘的時(shí)間基準(zhǔn)。計(jì)數(shù)器計(jì)數(shù)器1 1編程為方式編程為方式2 2,GATE1GATE1固定為高電平,固定為高電平,OUT1OUT1的輸出的輸出經(jīng)過一個(gè)經(jīng)過一
39、個(gè)D D觸發(fā)器后作為觸發(fā)器后作為8237A8237A5DMA5DMA控制器通道控制器通道0 0的的DMADMA請求請求DREQ0DREQ0,用于定時(shí)(約,用于定時(shí)(約15us15us)啟動(dòng)刷新動(dòng)態(tài))啟動(dòng)刷新動(dòng)態(tài)RAMRAM,這樣在,這樣在2ms2ms內(nèi)可以有內(nèi)可以有132132次刷新,大于次刷新,大于128128次(次(128128次是系統(tǒng)的最低要求次是系統(tǒng)的最低要求)。)。計(jì)數(shù)器計(jì)數(shù)器2 2編程為方式編程為方式3 3,1KHZ1KHZ的方波輸出,通過濾波,去除的方波輸出,通過濾波,去除高頻分量后送揚(yáng)聲器,高頻分量后送揚(yáng)聲器,GATE2GATE2是是82558255的的PB0PB0,OUTOU
40、T輸出經(jīng)一與輸出經(jīng)一與門控制,控制信號為門控制,控制信號為82558255的的PB1PB1,這樣利用,這樣利用PB0PB0、PB1PB1同時(shí)為同時(shí)為高的時(shí)間來控制發(fā)長音還是發(fā)短音。高的時(shí)間來控制發(fā)長音還是發(fā)短音。2. 寫入計(jì)數(shù)值寫入計(jì)數(shù)值選擇二進(jìn)制時(shí)選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:0000HFFFFH0000H是最大值,代表是最大值,代表65536選擇十進(jìn)制(選擇十進(jìn)制(BCD碼)碼)計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:000099990000代表最大值代表最大值10000計(jì)數(shù)值寫入計(jì)數(shù)器各自的計(jì)數(shù)值寫入計(jì)數(shù)器各自的I/O地址地址示例示例3. 讀取計(jì)數(shù)值讀取計(jì)數(shù)值對對8位數(shù)據(jù)線,讀取位數(shù)據(jù)線,讀取16
41、位計(jì)數(shù)值需分兩次位計(jì)數(shù)值需分兩次計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀?。烘i存,然后讀?。合蚩刂谱窒蚩刂谱諭/O地址:給地址:給8253寫入鎖存命令寫入鎖存命令從計(jì)數(shù)器從計(jì)數(shù)器I/O地址:讀取鎖存的計(jì)數(shù)值地址:讀取鎖存的計(jì)數(shù)值讀取計(jì)數(shù)值,要注意讀寫格式和計(jì)數(shù)數(shù)制讀取計(jì)數(shù)值,要注意讀寫格式和計(jì)數(shù)數(shù)制8253在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至揚(yáng)聲器驅(qū)動(dòng)器接至揚(yáng)聲器驅(qū)動(dòng)器PB0PB1I
42、RQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS定時(shí)中斷和定時(shí)刷新定時(shí)中斷和定時(shí)刷新從閱讀初始化程序段從閱讀初始化程序段看看計(jì)數(shù)器計(jì)數(shù)器0作為定時(shí)中斷作為定時(shí)中斷的作用的作用n將將計(jì)數(shù)器計(jì)數(shù)器1作為定時(shí)刷新作為定時(shí)刷新n看如何編寫初始化程序段看如何編寫初始化程序段計(jì)數(shù)器計(jì)數(shù)器0 0:初始化程序:初始化程序mov al,36h;36H00 11 011 0B;計(jì)數(shù)器;計(jì)數(shù)器0為方式為方式3,采用二進(jìn)制計(jì)數(shù),采用二進(jìn)制計(jì)數(shù);先低后高寫入計(jì)數(shù)值;先低后高寫入計(jì)數(shù)值out 43h,al;寫入方式控制字;寫入方式控制字mov al,0;計(jì)數(shù)值為;計(jì)數(shù)
43、值為0out 40h,al;寫入低字節(jié)計(jì)數(shù)值;寫入低字節(jié)計(jì)數(shù)值out 40h,al;寫入高字節(jié)計(jì)數(shù)值;寫入高字節(jié)計(jì)數(shù)值計(jì)數(shù)器計(jì)數(shù)器0:定時(shí)中斷:定時(shí)中斷計(jì)數(shù)器計(jì)數(shù)器0:方式方式3,計(jì)數(shù)值:計(jì)數(shù)值:65536,輸出頻率為,輸出頻率為1.19318MHz6553618.206Hz的方波的方波門控為常啟狀態(tài),這個(gè)方波信號不斷產(chǎn)生門控為常啟狀態(tài),這個(gè)方波信號不斷產(chǎn)生OUT0端接端接8259A的的IRQ0,用作中斷請求信號,用作中斷請求信號每秒產(chǎn)生每秒產(chǎn)生18.206次中斷請求,或說每隔次中斷請求,或說每隔55ms(54.925493ms)申請一次中斷)申請一次中斷DOS系統(tǒng)利用計(jì)數(shù)器系統(tǒng)利用計(jì)數(shù)器0的
44、這個(gè)特點(diǎn),通過的這個(gè)特點(diǎn),通過08號中斷號中斷服務(wù)程序?qū)崿F(xiàn)了日時(shí)鐘計(jì)時(shí)功能服務(wù)程序?qū)崿F(xiàn)了日時(shí)鐘計(jì)時(shí)功能計(jì)數(shù)器計(jì)數(shù)器1:定時(shí)刷新:定時(shí)刷新需要重復(fù)不斷提出刷新請求需要重復(fù)不斷提出刷新請求門控總為高,選擇方式門控總為高,選擇方式2或或3n2ms內(nèi)刷新內(nèi)刷新128次,即次,即15.6 s刷新一次刷新一次計(jì)數(shù)初值為計(jì)數(shù)初值為18計(jì)數(shù)器計(jì)數(shù)器1:初始化程序:初始化程序mov al,54h;54H01 01 010 0 B;計(jì)數(shù)器計(jì)數(shù)器1為方式為方式2,采用二進(jìn)制計(jì)數(shù),采用二進(jìn)制計(jì)數(shù);只寫低;只寫低8位計(jì)數(shù)值位計(jì)數(shù)值out 43h,al;寫入方式控制字;寫入方式控制字mov al,18;計(jì)數(shù)初值為;計(jì)數(shù)初
45、值為18out 41h,al;寫入計(jì)數(shù)值;寫入計(jì)數(shù)值 揚(yáng)聲器控制揚(yáng)聲器控制計(jì)數(shù)器計(jì)數(shù)器2的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)計(jì)數(shù)器計(jì)數(shù)器2只能工作在方式只能工作在方式3,才能,才能輸出一定輸出一定頻率的方波,經(jīng)濾波后得到近似的正弦波,頻率的方波,經(jīng)濾波后得到近似的正弦波,進(jìn)而推動(dòng)揚(yáng)聲器發(fā)聲進(jìn)而推動(dòng)揚(yáng)聲器發(fā)聲揚(yáng)聲器還受控于并行接口(揚(yáng)聲器還受控于并行接口(8255芯片)芯片)必須使必須使PB0和和PB1同時(shí)為高電平,揚(yáng)聲器才同時(shí)為高電平,揚(yáng)聲器才能發(fā)出預(yù)先設(shè)定頻率的聲音能發(fā)出預(yù)先設(shè)定頻率的聲音發(fā)音發(fā)音頻率設(shè)置子程序頻率設(shè)置子程序;入口參數(shù);入口參數(shù)AX1.19318106發(fā)音頻率
46、發(fā)音頻率speakerprocpush axmov al,0b6h;b6h10110110bout 43h,al;寫入控制字;寫入控制字pop axout 42h,al;寫入低;寫入低8位計(jì)數(shù)值位計(jì)數(shù)值mov al,ahout 42h,al;寫入高;寫入高8位計(jì)數(shù)值位計(jì)數(shù)值retspeakerendp揚(yáng)聲器開子程序揚(yáng)聲器開子程序speakon procpush axin al,61h;PB端口的地址為端口的地址為61Hor al,03h;D1D0PB1PB011B,其他位不變,其他位不變out 61h,alpop axretspeakon endp揚(yáng)聲器關(guān)子程序揚(yáng)聲器關(guān)子程序speakoffp
47、rocpush axin al,61h;PB端口的地址為端口的地址為61Hand al,0fch;D1D0PB1PB000B,其他位不變,其他位不變out 61h,alpop axretspeakoffendp例題例題1 1 揚(yáng)聲器聲音的控制揚(yáng)聲器聲音的控制;數(shù)據(jù)段;數(shù)據(jù)段freq dw 1193180/600;代碼段;代碼段mov ax,freqcall speaker;設(shè)置揚(yáng)聲器音調(diào);設(shè)置揚(yáng)聲器音調(diào)call speakon;打開揚(yáng)聲器聲音;打開揚(yáng)聲器聲音mov ah,1;等待按鍵;等待按鍵int 21h;按鍵后;按鍵后call speakoff;關(guān)閉揚(yáng)聲器聲音;關(guān)閉揚(yáng)聲器聲音可編程硬件延時(shí)可編程硬件延時(shí)利用日時(shí)鐘每隔利用日時(shí)鐘每隔55ms中斷一次不變的特點(diǎn),中斷一次不變的特點(diǎn),可以編寫一段不隨系統(tǒng)時(shí)鐘頻率變化的固可以編寫一段不隨系統(tǒng)時(shí)鐘頻率變化的固定延時(shí)程序定延時(shí)程序由于日時(shí)鐘中斷的時(shí)間單位是由于日時(shí)鐘中斷的時(shí)間單位是55ms,所以,所以無法實(shí)現(xiàn)更短時(shí)間的延時(shí)無法實(shí)現(xiàn)更短時(shí)間的延時(shí)這時(shí)只有利用實(shí)時(shí)時(shí)鐘中斷,不過它的最這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)藝設(shè)計(jì)中的材質(zhì)與質(zhì)感現(xiàn)代辦公空間應(yīng)用案例
- 環(huán)境影響綜合評估的實(shí)踐與思考
- 現(xiàn)代網(wǎng)絡(luò)編程語言的性能優(yōu)化探討
- 11 爸爸媽媽在我心中(說課稿)-統(tǒng)編版道德與法治三年級上冊
- 9古詩三首《題西林壁》說課稿-2024-2025學(xué)年統(tǒng)編版語文四年級上冊
- 《5 童年在游戲中成長》說課稿-2024-2025學(xué)年三年級上冊綜合實(shí)踐活動(dòng)長春版
- Unit 4 Position Lesson 1 The Magic Show(說課稿)-2024-2025學(xué)年北師大版(三起)英語五年級上冊
- 2023三年級數(shù)學(xué)上冊 3 測量第1課時(shí) 毫米的認(rèn)識說課稿 新人教版
- 7 小書包 說課稿-2024-2025學(xué)年語文一年級上冊統(tǒng)編版
- 16大家一起來合作-團(tuán)結(jié)合作快樂多(說課稿)-統(tǒng)編版道德與法治一年級下冊
- 中國氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場運(yùn)行格局及前景研究報(bào)告-智研咨詢(2024版)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 上海鐵路局招聘筆試沖刺題2025
- 《商用車預(yù)見性巡航系統(tǒng)技術(shù)規(guī)范》
- 國旗班指揮刀訓(xùn)練動(dòng)作要領(lǐng)
- 春季安全開學(xué)第一課
- 植物芳香油的提取 植物有效成分的提取教學(xué)課件
- 肖像繪畫市場發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測報(bào)告
- 煤礦掘進(jìn)隊(duì)機(jī)電管理制度匯編
- 中日合同范本
- T-CARM 002-2023 康復(fù)醫(yī)院建設(shè)標(biāo)準(zhǔn)
評論
0/150
提交評論