微機原理與接口技術(shù) 南京信息工程大學(xué)第10章-可編程定時計數(shù)器_第1頁
微機原理與接口技術(shù) 南京信息工程大學(xué)第10章-可編程定時計數(shù)器_第2頁
微機原理與接口技術(shù) 南京信息工程大學(xué)第10章-可編程定時計數(shù)器_第3頁
微機原理與接口技術(shù) 南京信息工程大學(xué)第10章-可編程定時計數(shù)器_第4頁
微機原理與接口技術(shù) 南京信息工程大學(xué)第10章-可編程定時計數(shù)器_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、NUIST第第1010章章 可編程定時可編程定時/ /計數(shù)器計數(shù)器2NUIST第第1010章章 可編程定時可編程定時/ /計數(shù)器計數(shù)器8253的引腳功能和編程結(jié)構(gòu)1 18253的編程2 28253的工作方式3 38253綜合應(yīng)用舉例4 48254芯片5 5310.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的主要功能 3個獨立的16位計數(shù)器 每個計數(shù)器都可以按二進制或BCD碼計數(shù) 每個通道的計數(shù)頻率可達2MHz 每個計數(shù)器都具有6種不同的工作方式 每個計數(shù)器的計數(shù)初值都可以通過編程設(shè)置 所有的輸入輸出都與TTL兼容 410.1 8253 10.1 825

2、3 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的引腳功能 與讀寫控制邏輯相關(guān)片選信號讀信號寫信號內(nèi)部口地址選擇,通常與系統(tǒng)總線低位相連。00計數(shù)器0#01計數(shù)器1#10計數(shù)器2#11控制寄存器D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253A5D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0

3、CLK2OUT2GATE2CLK1OUT1GATE18253A10.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的引腳功能 與計數(shù)通道相關(guān)的引腳計數(shù)器的時鐘輸入6D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253A10.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的引腳功能 計數(shù)器的門控信號。為高時,計數(shù)器工作。計數(shù)器的輸出710.1 82

4、53 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的引腳功能 數(shù)據(jù)線電源線地線D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE18253A810.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的編程結(jié)構(gòu) 計數(shù)器0 號計數(shù)器1 號計數(shù)器2 號D7D0RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2內(nèi)部總線910.1

5、8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的編程結(jié)構(gòu) 計數(shù)器0 號計數(shù)器1 號計數(shù)器2 號D7D0RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2內(nèi)部總線8位的雙向三態(tài)緩沖器,通過引腳D7D0與系統(tǒng)數(shù)據(jù)總線相連接,用來傳輸 CPU向8253寫入的控制字,計數(shù)器的初值,以及CPU讀出的8253的計數(shù)器當(dāng)前值。 由片選信號CS來控制是否被選中。在選中情況下,接收來自CPU的讀寫控制信號和地址信號。經(jīng)過組合產(chǎn)生控制整個芯片工作的內(nèi)部控制信號,選擇相應(yīng)的操作。 當(dāng)A1A0=11時,通道讀/寫控制邏輯電路選中控制寄存

6、器。它用來保存初始化時由CPU寫入的控制字,并根據(jù)控制字內(nèi)容發(fā)出相應(yīng)的控制信號,控制每個計數(shù)器的操作方式,使各部件完成指定動作。 1010.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu) 8253的編程結(jié)構(gòu) 計數(shù)器0 號計數(shù)器1 號計數(shù)器2 號D7D0RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2內(nèi)部總線三個計數(shù)器完全相同且相互獨立.由一個16位的鎖定寄存器和一個16位的可預(yù)置的減法計數(shù)器組成。初始的計數(shù)值可保存在鎖定寄存器中,由它傳遞給計數(shù)器。每個計數(shù)器通道可對輸入脈沖CLK按二進制或BCD碼進行減1計數(shù),減到0

7、為止,在OUT輸出端輸出一個信號。在計數(shù)的開始和計數(shù)過程中,計數(shù)器還要受到門控信號GATE的控制,兩者的關(guān)系取決于方式控制字。 1110.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)的引腳功能和編程結(jié)構(gòu)計數(shù)器0#控制寄存器高8位初值寄存器(CR)低8位高8位 低8位計數(shù)單元(CR)高8位 低8位輸出鎖存器(OL)D7D0 計數(shù)器1#計數(shù)器2#RD WR CS 地址譯碼地址總線 A1A0GATE0 CLK0 OUT0 GATE1 CLK1 OUT1 GATE2 CLK2OUT2 VCC GND+5V 8253計數(shù)器內(nèi)部結(jié)構(gòu)1210.1 8253 10.1 8253 的引腳功能和編程結(jié)構(gòu)

8、的引腳功能和編程結(jié)構(gòu) 8253的內(nèi)部寄存器的選擇 假設(shè)A6為1,A7、A5、A4、A3、A2均為0時8253的片選有效,則各端口地址為40H43H(IBM PC/XT中8253的端口地址)。 CS A1 A0讀 (RD)寫 (WR)端口地址 0 0 0 CNT0數(shù)據(jù)總線數(shù)據(jù)總線CNT040H 0 0 1 CNT1數(shù)據(jù)總線數(shù)據(jù)總線CNT141H 0 1 0 CNT2數(shù)據(jù)總線數(shù)據(jù)總線CNT242H 0 1 1 數(shù)據(jù)總線控制字寄存器43H 1 X X 無效(D7D0為高阻狀態(tài))13NUIST第第1010章章 可編程定時可編程定時/ /計數(shù)器計數(shù)器82593的引腳功能和編程結(jié)構(gòu)1 18253的編程2

9、28253的工作方式3 38253綜合應(yīng)用舉例4 48254芯片5 51410.2 8253 10.2 8253 的編程的編程 8253的控制字 SC1 SC0 RW1 RW0M2 M1 M0BCD計數(shù)器選擇讀/寫方式選擇工作方式選擇數(shù)制選擇00計數(shù)器001計數(shù)器110計數(shù)器211無意義00鎖存計數(shù)器的當(dāng)前值,以便讀出檢查01只讀/寫 低8位計數(shù)值10只讀/寫 高8位計數(shù)值11先讀/寫低8位,后讀/寫高8位計數(shù)值000方式0011方式3001方式1100方式4010方式2101方式5寫入數(shù)的范圍最大值00二進制數(shù)0000HFFFFH655361十進制數(shù)BCD 碼0000H 9999H10000

10、1510.2 8253 10.2 8253 的編程的編程 8253的計數(shù)初值 當(dāng)輸出信號為連續(xù)的周期波時:假設(shè)計數(shù)器輸入信號CLK的頻率為fCLK,要求OUT端輸出信號的頻率為fOUT,則計數(shù)初值N的計算公式為 N = fCLK fOUT 當(dāng)計數(shù)器/定時器工作在一次性有效的定時方式時:如希望的定時時間為T,則計數(shù)初值 N的計算公式為: N = fCLK T 16課堂練習(xí)課堂練習(xí) 若給8253的計數(shù)預(yù)置的初值N=400,則當(dāng)計數(shù)器計到數(shù)值為“0”時,時間T= ,設(shè)8253的計數(shù)脈沖頻率為0.5MHz。計數(shù)周期=1/0.5M=2s,所以計數(shù)400次的時間是4002=800 s=0.8ms0.8ms

11、 8253可以實現(xiàn)定時功能,若計數(shù)脈沖為1kHz,則定時1s的計數(shù)初值應(yīng)該為 。N=1kHz1s=100010001710.2 8253 10.2 8253 的編程的編程 8253的初始化 包括兩方面的內(nèi)容:向控制器寫入控制字。向相應(yīng)計數(shù)器寫入計數(shù)初值。 需先送控制字,后送計數(shù)初值。設(shè)置初始值時,要按控制字中RW1、RW0所約定的格式規(guī)定寫入計數(shù)初值。 注意1810.2 8253 10.2 8253 的編程的編程 例10-1 某系統(tǒng)用8235作為電話雙音頻信號發(fā)生電路。用通道0和通道1產(chǎn)生雙音頻所需的兩個方波信號,經(jīng)方波正弦波轉(zhuǎn)換電路轉(zhuǎn)換成兩個音頻信號并疊加得到雙音頻信號。用通道2作為發(fā)號時間

12、控制定時器。 1910.2 8253 10.2 8253 的編程的編程+5V1MHzINT方波到正弦波轉(zhuǎn)換電路方波到正弦波轉(zhuǎn)換電路發(fā)號時間到中斷請求雙音頻信號輸出8253CLK0CLK1CLK2GATE0GATE1GATE2OUT1OUT0OUT22010.2 8253 10.2 8253 的編程的編程 電話雙音頻信號是兩個音頻信號的疊加,以數(shù)字8為例,兩個音頻信號的頻率分別為852Hz和1336Hz。當(dāng)按下一個電話號碼時電話機將發(fā)出這一雙音頻信號,其發(fā)號時間為50ms80ms,本例選50ms。根據(jù)原理電路我們使通道0產(chǎn)生852Hz的方波,通道1產(chǎn)生1336Hz的方波,通道2產(chǎn)生50ms的定時

13、,時間到產(chǎn)生中斷請求信號。 2110.2 8253 10.2 8253 的編程的編程計算各通道計數(shù)初值通道0:fCLK0 = 1MHz, fOUT0 = 852HzN =fCLK0 / fOUT0 =1MHz / 852Hz = 1174通道1:fCLK1 = 1MHz, fOUT1 = 1336HzN =fCLK1 / fOUT1 =1MHz / 1336Hz = 748通道2:fCLK2 = 1MHz, T = 50msN =fCLK2 T =1MHz 50ms = 50000= C350H2210.2 8253 10.2 8253 的編程的編程確定各通道控制字通道0:讀寫高低字節(jié)方式3B

14、CD碼計數(shù)通道1:通道2:讀寫高低字節(jié)方式3BCD碼計數(shù)讀寫高低字節(jié)方式0二進制計數(shù)SC1SC0RW1RW0M2M1M0BCD0011011137H0111011177H101100000B0H2310.2 8253 10.2 8253 的編程的編程確定端口地址設(shè)地址總線的A7A2為111111時8253的片選有效,A1A0接8253的A1A0,則端口地址為:0FCH0FFH。 初始化程序COUNTER0: MOV AL, 37HOUT0FFH,ALMOV AL, 74HOUT0FCH,ALMOV AL, 11HOUT0FCH,AL2410.2 8253 10.2 8253 的編程的編程初始化

15、程序COUNTER1: MOV AL, 77HOUT0FFH,ALMOV AL, 48HOUT0FDH,ALMOV AL, 07HOUT0FDH,AL COUNTER2: MOV AL, 0B0HOUT0FFH,ALMOV AL, 50HOUT0FEH,ALMOV AL, 0C3HOUT0FEH,AL 2510.2 8253 10.2 8253 的編程的編程 8253的計數(shù)器讀操作 直接讀操作 直接執(zhí)行輸入指令讀取相應(yīng)通道的瞬時值。 1#通道的瞬時計數(shù)值讀入CX INAL,41HMOVCL,ALINAL,41HMOVCH,AL結(jié)果可能是錯誤的0100高字節(jié)低字節(jié)AL00 0000CHCL00F

16、F0012610.2 8253 10.2 8253 的編程的編程 8253的計數(shù)器讀操作 直接讀操作影響計數(shù)器的正常工作從而影響定時計數(shù)的精度 先通過GATE信號暫停計數(shù)器計數(shù),再做讀操作,讀完后再讓計數(shù)器繼續(xù)工作 2710.2 8253 10.2 8253 的編程的編程 8253的計數(shù)器讀操作 鎖存讀操作 在讀之前先向要讀的計數(shù)通道發(fā)一個鎖存字。然后再做讀操作。 SC1SC0RW1RW0M2M1M0BCD計數(shù)器選擇:00: 0#, 01:1#10: 2#, 11: 無意義00:鎖存當(dāng)前值無意義讀取1#通道計數(shù)值 MOVAL, 40HOUT43H, ALINAL, 41HMOVCL, ALIN

17、 AL, 41HMOVCH,AL28課堂練習(xí)課堂練習(xí) 在PC機中,用8253的通道3向系統(tǒng)定時提出動態(tài)RAM刷新請求??紤]在PC機中選用128K1位的動態(tài)RAM,因此要求在8ms內(nèi)完成256行的刷新。已確定通道3工作在方式2,則要求計數(shù)器的負(fù)脈沖輸出周期為 s,若CLK3的輸入頻率為1.216MHz,則置入通道3的計數(shù)器初值為 。 31.251061.216106=38計數(shù)初值=8ms256= 31.25 s周期=29NUIST第第1010章章 可編程定時可編程定時/ /計數(shù)器計數(shù)器82593的引腳功能和編程結(jié)構(gòu)1 18253的編程2 28253的工作方式3 38253綜合應(yīng)用舉例4 4825

18、4芯片5 53010.3 8253 10.3 8253 的工作方式的工作方式8253 共有6種工作方式,主要區(qū)別在: 輸出波形不同 啟動計數(shù)器的觸發(fā)方式不同 門控信號GATE對計數(shù)過程的影響不同 計數(shù)過程中修改計數(shù)初值對計數(shù)過程的影響不同3110.3 8253 10.3 8253 的工作方式的工作方式共同遵守的3個基本原則: 控制字寫入計數(shù)器時,所有的控制邏輯電路立即復(fù)位,輸出端OUT進入初始狀態(tài) GATE信號是上升沿起作用,GATE信號的作用是在下一個CLK周期的下降沿生效 計數(shù)初值裝入計數(shù)器和減1計數(shù)都是在輸入脈沖的下降沿有效的 32計數(shù)結(jié)束,此上升沿可作為中斷請求信號10.3 8253

19、10.3 8253 的工作方式的工作方式 方式 0 (計數(shù)結(jié)束產(chǎn)生中斷)CLKGATEWROUTCE43210FFFEFDCW=10HLSB=4開始計減1數(shù)寫入控制器后,OUT變低計數(shù)值寫入初值寄存器3310.3 8253 10.3 8253 的工作方式的工作方式 寫入控制字之后,輸出端OUT變低,寫入計數(shù)值后開始計數(shù)。計數(shù)到0后輸出端OUT為高電平,并且一直保持高電平,除非寫入新的計數(shù)值。 方式0的計數(shù)值是一次有效的,即寫入一次工作一次。實際應(yīng)用中,常將計數(shù)結(jié)束后的上升跳變作為中斷請求信號。 方式 0 (計數(shù)結(jié)束產(chǎn)生中斷)3410.3 8253 10.3 8253 的工作方式的工作方式 在計

20、數(shù)過程中改變計數(shù)值是立即有效的。即新的計數(shù)值寫入后,在其下一個CLK周期開始按新值計數(shù)。 計數(shù)過程中可由GATE信號控制計數(shù)過程的暫停。當(dāng)GATE=0時,計數(shù)器暫停計數(shù),直到GATE=1時,計數(shù)器又繼續(xù)計數(shù)。在計數(shù)過程中,GATE的變化不影響OUT的狀態(tài)。 方式 0 (計數(shù)結(jié)束產(chǎn)生中斷)35延時1個CLK周期按新值計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 0 CLKGATEWROUTCE32121FFFECW=10HLSB=30LSB=2計數(shù)過程中改變計數(shù)值改變計數(shù)初值3610.3 8253 10.3 8253 的工作方式的工作方式 方式 0 CLKGATEWRO

21、UTCE32221FFFECW=10HLSB=30門控信號GATE的作用GATE=0暫停計數(shù)GATE=1繼續(xù)計數(shù)3710.3 8253 10.3 8253 的工作方式的工作方式 例10-2 要實現(xiàn)定時中斷,定時時間為4096個(1000H)CLK周期。采用計數(shù)器0,設(shè)定方式0,讀寫高低2字節(jié),按二進制計數(shù)。 8253GATE0CLK0OUT0+5V INT8259 A IRi3810.3 8253 10.3 8253 的工作方式的工作方式CLK0WROUT030H00H10H4096 4095104096 CLKMODE0:MOV AL,00110000B ;計數(shù)器0,2字節(jié)讀寫, OUT 4

22、3H,AL ;方式0,二進制計數(shù) MOV AL,00H OUT 40H,AL ;裝入計數(shù)初值低8位 MOV AL,10H OUT 40H,AL ;裝入計數(shù)初值高8位 39無需再次裝入計數(shù)初值,GATE觸發(fā)計數(shù)GATE觸發(fā)計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 (硬件再觸發(fā)單脈沖發(fā)生器) CLKGATEWROUTCE3210FF32CW=12HLSB=3寫入控制字后OUT變高4010.3 8253 10.3 8253 的工作方式的工作方式寫入控制字以后輸出端OUT變高電平并保持,寫入計數(shù)值以后并不立即裝入開始計數(shù),而是等待硬件(GATE)的觸發(fā)。觸發(fā)一次計數(shù)一

23、次,計數(shù)到0 后輸出端OUT變高電平,計數(shù)次數(shù)到等待下次觸發(fā)。 方式1的計數(shù)值不必重新寫入,除非要改變計數(shù)初值,即寫入一次可多次使用,取決于硬件GATE的觸發(fā) 方式 1 (硬件再觸發(fā)單脈沖發(fā)生器) 41寫入控制字后,OUT保持高電平10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 CLKGATEWROUTCE321FF12CW=12HLSB=3LSB=20FE0新計數(shù)值在下次啟動后才生效計數(shù)過程中改變計數(shù)值42GATE脈沖重新啟動,按初值計數(shù)。10.3 8253 10.3 8253 的工作方式的工作方式 方式 1 CLKGATEWROUTCE43420CW=12HLSB=

24、431門控信號GATE的作用4310.3 8253 10.3 8253 的工作方式的工作方式 在計數(shù)過程中改變計數(shù)值不是立即有效的。即新的計數(shù)值寫入后現(xiàn)行計數(shù)不受影響,新計數(shù)值在下次啟動后才開始生效。 計數(shù)過程中可由GATE脈沖重新啟動按初值計數(shù),但GATE的變化不影響OUT的狀態(tài),只有計數(shù)到0時OUT才變高。 方式 1 (硬件再觸發(fā)單脈沖發(fā)生器) 4410.3 8253 10.3 8253 的工作方式的工作方式 例10-3 某系統(tǒng)使用了8253的三個定時器,要求定時器0在初始化后立即啟動定時,計數(shù)器1和定時器2在定時器0啟動一段時間(這里設(shè)為1000個CLK)后同時啟動。要求計數(shù)器1的計數(shù)次

25、數(shù)為65536次,計數(shù)器2的計數(shù)次數(shù)為10000次。設(shè)端口地址為40H 43H。 GATE0OUT0CLK0CLK1CLK2GATE1GATE2OUT1OUT2+5V82534510.3 8253 10.3 8253 的工作方式的工作方式SC1SC0RW1RW0M2M1M0BCD001000010101001010100011方式0,只寫入高字節(jié),BCD碼計數(shù);計數(shù)初值:1000通道0方式1,只寫入低字節(jié),二進制計數(shù);計數(shù)初值:65536(最大值)通道1方式1,只寫入高字節(jié),BCD碼計數(shù);計數(shù)初值:10000 (最大值)通道24610.3 8253 10.3 8253 的工作方式的工作方式CN

26、T1:MOV AL,01010010BOUT43H,ALMOV AL,00HOUT41H,AL CNT2: MOV AL,10100011BOUT43H,ALMOV AL,00HOUT42H,AL CNT0: MOV AL,00100001BOUT43H,ALMOV AL,10HOUT40H,AL 計數(shù)器0一定要在最后一個初始化!47經(jīng)過1個CLK恢復(fù)高電平,重新計數(shù)計數(shù)到1,輸出端變低10.3 8253 10.3 8253 的工作方式的工作方式 方式 2 (速率發(fā)生器)CLKGATEWROUTCE43242CW=14HLSB=4131432寫入控制字,OUT變高并保持4810.3 8253

27、10.3 8253 的工作方式的工作方式 如果GATE為高,當(dāng)控制字寫入之后輸出端OUT變高電平并保持,計數(shù)值寫入之后開始計數(shù)。計數(shù)到1時,輸出端OUT變低,經(jīng)過一個CLK后輸出又恢復(fù)為高電平,同時自動重新裝入計數(shù)值開始計數(shù)。 計數(shù)值是多次有效的,只需要寫入一次計數(shù)值,就可連續(xù)輸出周期性信號 方式 2 (速率發(fā)生器)49當(dāng)現(xiàn)行計數(shù)結(jié)束,才開始按新值計數(shù)。10.3 8253 10.3 8253 的工作方式的工作方式 方式 2 CE321CLKWRCW=14HLSB=4LSB=3GATE計數(shù)過程中改變計數(shù)值4321OUT5010.3 8253 10.3 8253 的工作方式的工作方式當(dāng)GATE為高

28、電平時,在計數(shù)過程中寫入新的計數(shù)初值不是立即有效的,僅當(dāng)現(xiàn)行計數(shù)結(jié)束,OUT輸出負(fù)脈沖后,才將新的計數(shù)值打入減1計數(shù)器,開始按新值計數(shù)。 可由GATE信號控制計數(shù)過程的暫停。當(dāng)GATE=0時,計數(shù)器暫停計數(shù),待GATE變高后的下一個CLK周期使計數(shù)器恢復(fù)初值N,重新開始計數(shù)。但在計數(shù)過程中GATE的變化不影響OUT的狀態(tài)。 方式 2 (速率發(fā)生器)51GATE變高的下一個CLK,恢復(fù)初值重新計數(shù)GATE=0,暫停計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 2CE43243WRCW=14HLSB=4CLK134OUT321GATE門控信號GATE的作用5210.3 8

29、253 10.3 8253 的工作方式的工作方式 如果使用中斷,OUT信號即為中斷請求信號,可將OUT信號直接接到CPU的中斷請求輸入端,或接到中斷優(yōu)先權(quán)排隊電路的中斷請求輸入端。 方式 2 (速率發(fā)生器)5310.3 8253 10.3 8253 的工作方式的工作方式 例10-4 使8253每隔一定時間產(chǎn)生一次中斷請求,中斷請求間隔為500個CLK脈沖,采用計數(shù)器2,方式2,讀寫高低2個字節(jié),按BCD計數(shù)。 8253GATE2CLK2OUT2+5V INT500 CLK500 CLKCLK2INT5410.3 8253 10.3 8253 的工作方式的工作方式MODE2: MOV AL,10

30、110101B ;計數(shù)器2,讀寫高低字節(jié),OUT 43H,AL ;方式2,按BCD計數(shù) MOV AL,00H OUT 42H,AL ;裝入計數(shù)初值低8位值00HMOV AL,05HOUT 42H,AL ;裝入計數(shù)初值高8位值05H 55計數(shù)器減到0,OUT從高變低,重新裝入計數(shù)初值每輸入一個脈沖計數(shù)器減210.3 8253 10.3 8253 的工作方式的工作方式 方式 3 (方波發(fā)生器)CE42444WRCW=16HLSB=4CLK22GATE2424OUT寫入控制字,OUT變高并保持計數(shù)初值為偶數(shù)56 方式 3 (方波發(fā)生器)重新裝入計數(shù)初值的第1個CLK,計數(shù)器減3。其后每個減210.3

31、 8253 10.3 8253 的工作方式的工作方式CE54224WRCW=16HLSB=555GATE2525計數(shù)初值為奇數(shù)CLKOUT4第1個CLK脈沖減一其后每個CLK脈沖減2計數(shù)器減到0,OUT從高變低,重新裝入計數(shù)初值計數(shù)器減到0,OUT從低變高,重新裝入計數(shù)初值5710.3 8253 10.3 8253 的工作方式的工作方式 如果GATE為高,當(dāng)控制字寫入之后輸出端OUT變高電平并保持,計數(shù)值寫入之后開始計數(shù)。根據(jù)計數(shù)初值N的奇偶性分為兩種情況。 當(dāng)N為偶數(shù)時:在計數(shù)初值裝入以后的每一個輸入脈沖計數(shù)器減2。當(dāng)計數(shù)器減到0時,一方面改變輸出端OUT的狀態(tài),同時又自動重新裝入計數(shù)值,然

32、后重復(fù)這一過程。 方式 3 (方波發(fā)生器)5810.3 8253 10.3 8253 的工作方式的工作方式 當(dāng)N為奇數(shù)時:在計數(shù)初值裝入以后的第一個CLK脈沖計數(shù)器減1,其后的每一個CLK脈沖計數(shù)器減2。當(dāng)計數(shù)器減到0時,一方面輸出端OUT變低,同時又自動重新裝入計數(shù)值。在重新裝入計數(shù)值后的第一個CLK脈沖,使計數(shù)器減3,其后的每一個CLK脈沖計數(shù)器又都減2。當(dāng)計數(shù)器減到0時,一方面輸出端OUT恢復(fù)為高電平,同時又自動重新裝入計數(shù)值重復(fù)上述過程。 方式 3 (方波發(fā)生器)59現(xiàn)行計數(shù)結(jié)束后,OUT輸出端改變后,按新值計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE

33、54224CW=16H55GATE2222CLK2計數(shù)過程中改變計數(shù)值(GATE為高)WRLSB=5LSB=2OUT新寫入的計數(shù)初值不是立即有效6010.3 8253 10.3 8253 的工作方式的工作方式 方式 3 計數(shù)值多次有效,只需要寫入一次計數(shù)值,就可連續(xù)輸出周期性信號。 當(dāng)GATE為高電平時,在計數(shù)過程中寫入新的計數(shù)初值不是立即有效的,僅當(dāng)現(xiàn)行計數(shù)結(jié)束,OUT輸出改變狀態(tài)后,才將新的計數(shù)值打入計數(shù)器,開始按新值計數(shù) 61GATE變高后的第1個CLK下降沿按新值計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE54225552222CLK2計數(shù)過程中改變計

34、數(shù)值(GATE變化)CW=16HWRLSB=5LSB=2OUTGATEGATE變低暫停計數(shù)6210.3 8253 10.3 8253 的工作方式的工作方式 方式 3 如果寫入新的計數(shù)初值后GATE產(chǎn)生由低到高的變化,在GATE變高后的第一個CLK周期下降沿開始按新值計數(shù) 。 計數(shù)過程中,可由GATE信號控制計數(shù)過程的暫?;蛑匦聠佑嫈?shù)。若在OUT為高電平期間,GATE變低,則暫停計數(shù)過程,待GATE變高后計數(shù)器又重裝初值開始計數(shù) 63GATE變高后的第1個CLK下降沿重新計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 3CE42444224424CLK2OUT為低期間G

35、ATE的作用CW=16HWRLSB=4GATEOUT暫停計數(shù)OUT立即變高6410.3 8253 10.3 8253 的工作方式的工作方式 例10-5 對輸入時鐘CLK(32.768KHz)進行分頻,獲得1HZ其占空比50%的方波信號。采用計數(shù)器0,讀寫高低字節(jié),按二進制計數(shù)。 計數(shù)初值N =(32.7681000)1= 32768 = 8000H 8253GATE032.768KHzOUT0+5V 1HzCLK06510.3 8253 10.3 8253 的工作方式的工作方式MODE3:MOV AL,00110110B OUT CTRL,AL MOV AL,0 OUT CNT0,AL ;裝入

36、低位00HMOV AL,80H OUT CNT0,AL ;裝入高位80H 6610.3 8253 10.3 8253 的工作方式的工作方式 方式 4 (軟起動單拍脈沖發(fā)生器)CE5431FFWRCW=18HLSB=520GATEFE FD FC FBCLKOUTFA寫入控制字,OUT變高并保持寫入計數(shù)值后開始計數(shù),軟件啟動計數(shù)到0時停止計數(shù),OUT變低電平,維持一個CLK周期。計數(shù)值一次有效6710.3 8253 10.3 8253 的工作方式的工作方式 方式 4 寫入控制字之后,輸出端OUT變高電平,寫入計數(shù)值后開始計數(shù)(即軟件啟動)。計數(shù)到0時停止計數(shù),輸出端OUT變?yōu)榈碗娖?,維持一個CL

37、K周期后又變?yōu)楦唠娖?,因此這種方式的計數(shù)是一次性的,只有再次寫入計數(shù)初值,才啟動另一次計數(shù)過程。 68寫入新計數(shù)初值后,延時1個CLK周期按新值計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 4CE4325364GATE210FFCLKOUTFE計數(shù)過程中改變計數(shù)值WRCW=18HLSB=4LSB=669GATE=1,計數(shù)器繼續(xù)計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 4CE55531WRCW=18HLSB=542GATE0FFFE FDCLKOUTFCGATE=0,計數(shù)器暫停計數(shù)7010.3 8253 10.3 8253 的工作方式的工作

38、方式 方式 4 新的計數(shù)值寫入后,在其下一個CLK周期開始按新值計數(shù),若計數(shù)值為雙字節(jié),則在寫入第一字節(jié)時停止計數(shù),在寫入第二字節(jié)后開始按新值計數(shù) 計數(shù)過程中可由GATE信號控制計數(shù)過程的暫停。當(dāng)GATE=0時,計數(shù)器暫停計數(shù),直到GATE=1時計數(shù)器又繼續(xù)計數(shù)。 7110.3 8253 10.3 8253 的工作方式的工作方式 例10-6 對于鎖存器,實現(xiàn)定時鎖存控制,即在一定時間后產(chǎn)生一鎖存信號LE,延遲時間為10個CLK周期。采用計數(shù)器1,方式4,低位字節(jié),按BCD計數(shù)。 8253GATE1CLK1OUT1+5V 鎖存器 LE7210.3 8253 10.3 8253 的工作方式的工作方

39、式CLK1WROUT159H10H1010 CLK910MODE4: MOV AL,01011001BOUTCTRL,ALMOV AL,10HOUT CNT1,AL73計數(shù)到0,OUT變低,1個CLK后變高GATE觸發(fā)計數(shù)10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 (硬啟動單拍脈沖發(fā)生器)CE43210FF4WRCW=1AHLSB=4CLKGATE寫入控制字后OUT變高OUT7410.3 8253 10.3 8253 的工作方式的工作方式 方式 5 寫入控制字以后,輸出端OUT變高電平并保持,寫入計數(shù)值以后,計數(shù)器并不立即開始計數(shù),而是等待硬件(GATE)的觸發(fā)啟動

40、。觸發(fā)一次啟動一次,計數(shù)到0時輸出端OUT變?yōu)榈碗娖?,一個CLK后又變高,即輸出一個CLK周期的負(fù)脈沖。 方式5的計數(shù)值不必重新寫入 。 7510.3 8253 10.3 8253 的工作方式的工作方式 方式 5 CE321FF01CLKWRCW=12HLSB=3LSB=202GATEFF計數(shù)過程中改變計數(shù)值OUT76GATE脈沖重新啟動,按初值計數(shù)。10.3 8253 10.3 8253 的工作方式的工作方式 方式 5 CE43231WRCW=12HLSB=4CLK42門控信號GATE的作用GATE0FFOUT7710.3 8253 10.3 8253 的工作方式的工作方式 方式 5 在計數(shù)

41、過程中改變計數(shù)值不是立即有效的。即新的計數(shù)值寫入后只要不發(fā)門控信號,現(xiàn)行計數(shù)不受影響,新計數(shù)值在下次啟動后才開始生效。 計數(shù)過程中可由GATE脈沖重新啟動按初值計數(shù),但GATE的變化不影響OUT的狀態(tài),只有計數(shù)到0時OUT輸出一個CLK周期的負(fù)脈沖。 7810.3 8253 10.3 8253 的工作方式的工作方式 例10-7 在一個通信系統(tǒng)中,收發(fā)雙方采用握手方式進行通信應(yīng)答,發(fā)送方采用REQ發(fā)出發(fā)送請求后轉(zhuǎn)入接收應(yīng)答信號SEND的檢測,如果輸出發(fā)送數(shù)據(jù)請求REQ之后一定時間(這里為100CLK脈沖)內(nèi)不能接受到應(yīng)答信號時,就在接收方發(fā)生通信異常信號FAIL。用8253實現(xiàn)100個CLK的定

42、時計數(shù),采用計數(shù)器1,方式5,低位1字節(jié),按二進制計數(shù)。 798253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側(cè)接收側(cè)高電平GATE1100CLK100 99 98 97 .1 064H5AHCLK0WRREQSENDFAIL8010.3 8253 10.3 8253 的工作方式的工作方式MODE5:MOV AL,01011010BOUT CTRL,AL MOV AL,100OUT CNT1,AL高電平GATE1100CLK100 99 98 97 .1 064H5AHCLK0WRREQSENDFAIL81NUIST第第1010章章 可編程定時可編程定時/ /計數(shù)器計

43、數(shù)器82593的引腳功能和編程結(jié)構(gòu)1 18253的編程2 28253的工作方式3 38253綜合應(yīng)用舉例4 48254芯片5 582 例10-8 在某個以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地址為310H,所用的時鐘脈沖頻率為1MHz。要求3個計數(shù)通道分別完成以下功能。 (1) 通道0工作于方式3,輸出頻率為2KHz的方波(2) 通道1產(chǎn)生寬度為480s的負(fù)脈沖(3) 通道2用硬件觸發(fā),輸出單脈沖,時間常數(shù)為26。8253 8253 定時功能舉例定時功能舉例用8253產(chǎn)生各種定時波形根據(jù)這兩個條件可知8253的各端口地址必須都是偶地址83注意 8086的對外數(shù)據(jù)線有16根,

44、外設(shè)的硬件連線中的數(shù)據(jù)線一般掛在16位數(shù)據(jù)總線的低8位上。(p162) 若要8086的低8位數(shù)據(jù)線有效,要求A0=0,即為端口地址為偶地址。 8086系統(tǒng)的接口譯碼電路中一定要注意此問題。 8088系統(tǒng)不存在此問題。84218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 A0A3A4A9A8A7A6A5M/IOA2A1RDWRD7D0&8086CSA1A0WRGATE11MHzCLK2OUT08253CLK1OUT1RDD7D0CLK0GATE0+5V2KHz方波480s單脈沖GATE2OUT2負(fù)脈沖A9 A8 A7 A6 A5 A4 A3 A2 A1

45、A01 1 0 0 0 1 0 0 0 0 (310H)00111000310H00011011#1310H#2312H#3314H控制字寄存器316H85218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 A3A4A5A9A8A7A6M/IOA0A2A1RDWRD7D0&8086CSA1A0WRGATE11MHzCLK2OUT08253CLK1OUT1RDD7D0CLK0GATE0+5V2KHz方波480s單脈沖GATE2OUT2負(fù)脈沖A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 0 0 0 1 0 0 0 0 (310H)0101

46、100310H00011011#1310H#2312H#3314H控制字寄存器316H0868253 8253 定時功能舉例定時功能舉例SC1SC0RW1RW0M2M1M0BCD001101110111001110011011方式3,讀寫2字節(jié),BCD;計數(shù)初值:500H通道0方式1,讀寫2字節(jié),BCD計數(shù);計數(shù)初值:480H通道1方式5,讀寫低字節(jié),BCD計數(shù);計數(shù)初值:26H通道2N0=1M/2K=500N1=110648010-6=480N2=26878253 8253 定時功能舉例定時功能舉例用8253產(chǎn)生各種定時波形 例10-9 在某個以8086為CPU的系統(tǒng)中,通道的基地址為310

47、H, 8253控制一個LED發(fā)光二級管的點亮和熄滅,要求點亮10秒后再讓它熄滅10秒,并重復(fù)上述過程。設(shè)輸入的時鐘信號頻率為2MHz。(加上驅(qū)動后,便可以用在交通燈、燈塔控制等場合)分析:利用通道1的OUT1與LED相連,只要對8253編程,使OUT1 輸出周期為20秒,占空比為1:1的方波,就能使LED交替點亮熄滅10秒。問OUT1的計數(shù)初值應(yīng)該是多少?888253 8253 定時功能舉例定時功能舉例N1=21062065536按最大計數(shù)次數(shù)65536,最大的定時時間為T1=0.510-665536=32.768 ms20s解決方法:多通道級聯(lián)用2個計數(shù)通道串聯(lián)(#1和#2),即找兩個數(shù)N1

48、N2 = 4107 ?。篘1 =8000,N2=5000。 890.05Hz400HzCSA1A0WRGATE1GATE2CLK2OUT28253+5V2MHzCLK1OUT1RDD7 D0D7 D0A2A1N2=2106 / 400=5000N1=400 / 0.05=80000111011110110111方式3,BCD碼計數(shù);計數(shù)初值5000通道1方式3,BCD碼計數(shù);計數(shù)初值:8000 通道277HB7H90COUNT2:MOV DX, 316H MOV AL,0B7H ;寫入控制字OUTDX,ALMOV DX, 314H MOV AL,00H OUTDX,AL ;裝入計數(shù)初值低8位

49、MOV AL,50H OUTDX,AL;裝入計數(shù)初值高8位 COUNT1:MOV DX, 316H MOV AL,77H ;寫入控制字OUTDX,ALMOV DX, 312H MOV AL,00H OUTDX,AL ;裝入計數(shù)初值低8位 MOV AL,80H OUTDX,AL;裝入計數(shù)初值高8位 918253 8253 計數(shù)功能舉例計數(shù)功能舉例 例10-10 假設(shè)一個自動化工廠需要統(tǒng)計在流水線上所生產(chǎn)的某種產(chǎn)品的數(shù)量,可采用8086微處理器和8253芯片來設(shè)計實現(xiàn)這種自動計數(shù)系統(tǒng)。工件CSA1A0WRGATE18253RDD7 D0D7D0A2A1CLK 1+5V+5V發(fā)光LED+5V光電晶體

50、管74LS14導(dǎo)通00截止11CLK 1123OUT18259的IR0310H928253 8253 計數(shù)功能舉例計數(shù)功能舉例初始化編程01110001方式0,BCD碼計數(shù)通道171H計數(shù)初值選n=999,則經(jīng)過n+1個脈沖,也就是1000個脈沖,OUT1輸出一個正跳變,作用于8259A的IR0。發(fā)出一次中斷請求,表示計滿了1000個數(shù)。在中斷服務(wù)程序中使工件總數(shù)加上1000。同時需要重新裝入計數(shù)初值999,啟動下一輪計數(shù)。中斷服務(wù)程序返回。第1個工件產(chǎn)生的脈沖的下降沿用于計數(shù)初值的裝入。從寫入計數(shù)值開始的n+1個脈沖后,計數(shù)到0。n+1=1000,所以n=999938253 8253 計數(shù)功

51、能舉例計數(shù)功能舉例 COUNT1:MOV DX, 316H MOV AL,71H ;寫入控制字OUTDX,ALMOV DX, 312H MOV AL,99H OUTDX,AL ;裝入計數(shù)初值低8位 MOV AL,09H OUTDX,AL;裝入計數(shù)初值高8位 初始化編程948253 8253 計數(shù)功能舉例計數(shù)功能舉例計數(shù)值的讀取 上述系統(tǒng)可用工件于自動裝箱,每1000個工件裝一箱,計數(shù)到0,向CPU發(fā)中斷請求,移走箱子,通知控制系統(tǒng)下一個包裝箱。 上述系統(tǒng)只有在計數(shù)器計滿1000后,才會轉(zhuǎn)移到中斷服務(wù)程序中去累計工件數(shù)。如果需要中途了解箱子中已裝入的數(shù)量m,就需要讀取計數(shù)器的現(xiàn)行值s。m = 1

52、000 s958253 8253 計數(shù)功能舉例計數(shù)功能舉例MOVDX, 316H MOVAL,40H ;寫入鎖存命令OUTDX,ALMOVDX, 312H INAL,DX ;讀出計數(shù)值低8位MOVAH,AL;保存低8位數(shù) INAL,DX;讀出計數(shù)值高8位XCHGAH, AL;將計數(shù)值置于AX中MOVBX,1000SUBBX,AX;BX中為當(dāng)前箱內(nèi)工件數(shù)01000000通道1鎖存命令計數(shù)值的讀取9610.4 8253 10.4 8253 的綜合應(yīng)用舉例的綜合應(yīng)用舉例 自動氣象站問題分析 在自動氣象站的瞬時風(fēng)速和降雨量的測量中,風(fēng)速傳感器和翻斗式雨量傳感器的速出都是脈沖信號。 瞬時風(fēng)速V=a+bf

53、,其中a為常數(shù)(起動風(fēng)速),b為系數(shù),f為單位時間內(nèi)的脈沖數(shù)(每秒脈沖數(shù)) 翻斗式雨量傳感器某時段的降雨量計算公式為P=kN,其中N該時段內(nèi)傳感器輸出脈沖的個數(shù),k為系數(shù)。 本例時間段取1分鐘。請應(yīng)用8253實現(xiàn)瞬時風(fēng)速和降雨量的測量。 9710.4 8253 10.4 8253 的綜合應(yīng)用舉例的綜合應(yīng)用舉例 自動氣象站資源分配 要實現(xiàn)瞬時風(fēng)速和降雨量的測量均需要實現(xiàn)對脈沖的計數(shù)和定時 8253的通道0實現(xiàn)定時1秒鐘 計數(shù)器1用于對風(fēng)速傳感器輸出的脈沖信號計數(shù) 計數(shù)器2用于對翻斗式雨量傳感器輸出的脈沖信號計數(shù) 9810.4 8253 10.4 8253 的綜合應(yīng)用舉例的綜合應(yīng)用舉例CSOUT0

54、CLK0CLK1CLK2GATE1GATE2OUT1OUT2接圖0-2的Y18253GATE050kHz接風(fēng)速傳感器接雨量傳感器1s到請求中斷接8259A的IR09910.4 8253 10.4 8253 的綜合應(yīng)用舉例的綜合應(yīng)用舉例 產(chǎn)生T=1s的基準(zhǔn)時間,工作在方式2,設(shè)通道0時鐘的頻率f CLK0=50KHz 計數(shù)器0N0=T/TCLK0=1s/0.02ms=50000(C350H) 記錄風(fēng)速傳感器的輸出脈沖,工作在方式0,設(shè)計數(shù)初始值為N1,當(dāng)定時1s到如果讀出的當(dāng)前值為M1,則風(fēng)速傳感器輸出脈沖的頻率f1=N1-M1。一般風(fēng)速傳感器脈沖頻率范圍是01221Hz,計數(shù)器1設(shè) N1=FFFFH10010.4 8253 10.4 8253 的綜合應(yīng)用舉例的綜合應(yīng)用舉例 記錄翻斗式雨量傳感器的輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論