微機原理與接口技術(第3版)課件 第9章 可編程定時計數(shù)器8253-part2_第1頁
微機原理與接口技術(第3版)課件 第9章 可編程定時計數(shù)器8253-part2_第2頁
微機原理與接口技術(第3版)課件 第9章 可編程定時計數(shù)器8253-part2_第3頁
微機原理與接口技術(第3版)課件 第9章 可編程定時計數(shù)器8253-part2_第4頁
微機原理與接口技術(第3版)課件 第9章 可編程定時計數(shù)器8253-part2_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

微機原理與接口技術第9章可編程定時/計數(shù)器8253目錄9.18253的引腳功能和編程結構9.28253的編程9.38253的工作方式9.48253的應用舉例38253共有6種工作方式,主要區(qū)別在:●

輸出波形不同●啟動計數(shù)器的觸發(fā)方式不同●

門控信號GATE對計數(shù)過程的影響不同●計數(shù)過程中修改計數(shù)初值對計數(shù)過程的影響不同學習工作方式時注意從以上幾方面對比記憶。概述9.38253的工作方式4共同遵守的3個基本原則:●控制字寫入計數(shù)器時,所有的控制邏輯電路立即復位,輸出端OUT進入初始狀態(tài)

GATE信號是上升沿起作用,GATE信號的作用是在下一個CLK周期的下降沿生效●計數(shù)初值裝入計數(shù)器和減1計數(shù)都是在輸入脈沖的下降沿有效的概述9.38253的工作方式5主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式56方式0(計數(shù)結束產生中斷)計數(shù)結束,此上升沿可作為中斷請求信號CLKGATEWROUTCE43210FFFEFDCW=10HLSB=4開始計減1數(shù)寫入控制字后,OUT變低計數(shù)值寫入初值寄存器SC1SC0RW1RW0M2M1M0BCD00010000工作方式09.38253的工作方式方式0(計數(shù)結束產生中斷)●方式0的計數(shù)值是一次有效的,即寫入一次工作一次。實際應用中,常將計數(shù)結束后的上升跳變作為中斷請求信號。●寫入控制字之后,輸出端OUT變低,寫入計數(shù)值后開始計數(shù)。計數(shù)到0后輸出端OUT為高電平,并且一直保持高電平,除非寫入新的計數(shù)值。

軟件啟動工作方式09.38253的工作方式方式0(計數(shù)結束產生中斷)延時1個CLK周期按新值計數(shù)(立即有效)CLKGATEWROUTCE32121FFFECW=10HLSB=30LSB=2計數(shù)過程中改變計數(shù)值改變計數(shù)初值工作方式09.38253的工作方式方式0(計數(shù)結束產生中斷)CLKGATEWROUTCE32221FFFECW=10HLSB=30門控信號GATE的作用GATE=0暫停計數(shù)GATE=1繼續(xù)計數(shù)工作方式09.38253的工作方式方式0(計數(shù)結束產生中斷)●在計數(shù)過程中改變計數(shù)值是立即有效的。即新的計數(shù)值寫入后,在其下一個CLK周期開始按新值計數(shù)。●計數(shù)過程中可由GATE信號控制計數(shù)過程的暫停。當GATE=0時,計數(shù)器暫停計數(shù),直到GATE=1時,計數(shù)器又繼續(xù)計數(shù)。在計數(shù)過程中,GATE的變化不影響OUT的狀態(tài)。

工作方式09.38253的工作方式例9.3-1要實現(xiàn)定時中斷,定時時間為4096個(1000H)CLK周期。采用計數(shù)器0,設定方式0,讀寫高低8位,按二進制計數(shù)。設8253端口地址范圍為40H~43H。8253GATE0CLK0OUT0+5VINT8259AIRiSC1SC0RW1RW0M2M1M0BCD0011000030H工作方式09.38253的工作方式CLK0WROUT030H00H10H40964095104096CLKMODE0:MOVAL,00110000B;計數(shù)器0,讀寫高低8位 OUT 43H,AL ;方式0,二進制計數(shù)

MOVAL,00H OUT 40H,AL ;裝入計數(shù)初值低8位

MOVAL,10H OUT 40H,AL ;裝入計數(shù)初值高8位作為中斷請求信號如果用BCD碼計數(shù),程序該如何修改?工作方式09.38253的工作方式13主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式5工作方式114方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)無需再次裝入計數(shù)初值,GATE觸發(fā)計數(shù)GATE觸發(fā)計數(shù)CLKGATEWROUTCE3210FF32CW=12HLSB=3寫入控制字后OUT變高計數(shù)到0,OUT變高9.38253的工作方式工作方式115方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)●寫入控制字以后輸出端OUT變高電平并保持,寫入計數(shù)值以后并不立即裝入開始計數(shù),而是等待硬件(GATE)的觸發(fā)。觸發(fā)一次計數(shù)一次,計數(shù)到0后輸出端OUT變高電平,計數(shù)次數(shù)到等待下次觸發(fā)。●方式1的計數(shù)值不必重新寫入,除非要改變計數(shù)初值,即寫入一次可多次使用,取決于硬件GATE的觸發(fā)9.38253的工作方式工作方式116方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)CLKGATEWROUTCE321FF12CW=12HLSB=3LSB=20FE0新計數(shù)值在下次啟動后才生效計數(shù)過程中改變計數(shù)值9.38253的工作方式工作方式117方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)●在計數(shù)過程中改變計數(shù)值不是立即有效的。即新的計數(shù)值寫入后現(xiàn)行計數(shù)不受影響,新計數(shù)值在下次啟動后才開始生效。9.38253的工作方式工作方式118方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)GATE脈沖重新啟動,按初值計數(shù)。CLKGATEWROUTCE43420CW=12HLSB=431門控信號GATE的作用9.38253的工作方式工作方式119方式1(硬件再觸發(fā)單穩(wěn)態(tài)發(fā)生器)●計數(shù)過程中可由GATE脈沖重新啟動按初值計數(shù),但GATE的變化不影響OUT的狀態(tài),只有計數(shù)到0時OUT才變高。

9.38253的工作方式工作方式120例9.3-2某系統(tǒng)使用了8253的三個定時器,要求計數(shù)器0在初始化后立即啟動定時,計數(shù)器1和計數(shù)器2在計數(shù)器0啟動一段時間(這里設為1000個CLK)后同時啟動。要求計數(shù)器1的計數(shù)次數(shù)為65536次,計數(shù)器2的計數(shù)次數(shù)為10000次。設端口地址為40H~43H。寫出對應的初始化程序。

定時器0工作在方式0

定時器0控制計數(shù)器1和2的啟動,所以計數(shù)器1和2由硬件啟動,工作在方式1OUT0定時時間到后,OUT0的上升沿可作為計數(shù)器1和2的GATE信號9.38253的工作方式工作方式121

例9.3-2某系統(tǒng)使用了8253的三個定時器,要求計數(shù)器0在初始化后立即啟動定時,計數(shù)器1和計數(shù)器2在計數(shù)器0啟動一段時間(這里設為1000個CLK)后同時啟動。要求計數(shù)器1的計數(shù)次數(shù)為65536次,計數(shù)器2的計數(shù)次數(shù)為10000次。設端口地址為40H~43H。寫出對應的初始化程序。GATE0OUT0CLK0CLK1CLK2GATE1GATE2OUT1OUT2+5V8253通道0計數(shù)初值為1000通道1計數(shù)初值為0(二進制的最大計數(shù)次數(shù))通道2計數(shù)初值為0(BCD碼的最大計數(shù)次數(shù))9.38253的工作方式工作方式122SC1SC0RW1RW0M2M1M0BCD001000010101001010100011方式0,只寫入高8位,BCD碼計數(shù);計數(shù)初值:1000通道0方式1,只寫入低8位,二進制計數(shù);計數(shù)初值:0(二進制最大計數(shù)次數(shù)65536)通道1方式1,只寫入高8位,BCD碼計數(shù);計數(shù)初值:0

(BCD最大計數(shù)次數(shù)10000)通道29.38253的工作方式工作方式123CNT1: MOV AL,01010010B OUT 43H,AL MOV AL,00H OUT 41H,AL CNT2: MOV AL,10100011B OUT 43H,AL

MOV AL,00H OUT 42H,AL CNT0: MOV AL,00100001B OUT 43H,AL

MOV AL,10H OUT 40H,AL 計數(shù)器0的初始化為什么放在最后?順序是否能夠調整?(P236

注意)9.38253的工作方式工作方式124計數(shù)器0的初始化為什么放在最后?順序是否能夠調整?GATE0OUT0CLK0CLK1CLK2GATE1GATE2OUT1OUT2+5V8253OUT0GATE1GATE2如果先初始化計數(shù)器0,在初始化其他計數(shù)器時,計數(shù)器0已經開始計數(shù)(方式0軟件啟動).假如計數(shù)器0的計數(shù)次數(shù)太少,就可能出現(xiàn)其他計數(shù)器初始化還沒完成,計數(shù)器0的定時時間已到,而造成啟動錯誤。9.38253的工作方式25CNT1: MOV AL,01010010B OUT 43H,AL MOV AL,00H OUT 41H,AL CNT2: MOV AL,10100011B OUT 43H,AL

MOV AL,00H OUT 42H,AL CNT0: MOV AL,00100001B OUT 43H,AL

MOV AL,10H OUT 40H,AL 只寫入計數(shù)初值的低8位只寫入計數(shù)初值的高8位只寫入計數(shù)初值的高8位注:未寫入的字節(jié)自動清0.工作方式19.38253的工作方式26主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式527方式2(速率發(fā)生器)經過1個CLK恢復高電平,重新計數(shù)計數(shù)到1,輸出端變低CLKGATEWROUTCE43242CW=14HLSB=4131432寫入控制字,OUT變高并保持工作方式29.38253的工作方式28方式2(速率發(fā)生器)●如果GATE為高,當控制字寫入之后輸出端OUT變高電平并保持,計數(shù)值寫入之后開始計數(shù)。計數(shù)到1時,輸出端OUT變低,經過一個CLK后輸出又恢復為高電平,同時自動重新裝入計數(shù)值開始計數(shù)?!裼嫈?shù)值是多次有效的,只需要寫入一次計數(shù)值,就可連續(xù)輸出周期性信號輸出寬度為1個CLK的負脈沖軟件啟動工作方式29.38253的工作方式29方式2(速率發(fā)生器)當現(xiàn)行計數(shù)結束,才開始按新值計數(shù)。CE321CLKWRCW=14HLSB=4LSB=3GATE計數(shù)過程中改變計數(shù)值4321OUT工作方式29.38253的工作方式30方式2(速率發(fā)生器)●當GATE為高電平時,在計數(shù)過程中寫入新的計數(shù)初值不是立即有效的,僅當現(xiàn)行計數(shù)結束,OUT輸出負脈沖后,才將新的計數(shù)值打入減1計數(shù)器,開始按新值計數(shù)。工作方式29.38253的工作方式31方式2(速率發(fā)生器)GATE變高的下一個CLK,恢復初值重新計數(shù)GATE=0,暫停計數(shù)CE43243WRCW=14HLSB=4CLK134OUT321GATE門控信號GATE的作用工作方式29.38253的工作方式32方式2(速率發(fā)生器)●可由GATE信號控制計數(shù)過程的暫停。當GATE=0時,計數(shù)器暫停計數(shù),待GATE變高后的下一個CLK周期使計數(shù)器恢復初值N,重新開始計數(shù)。但在計數(shù)過程中GATE的變化不影響OUT的狀態(tài)。工作方式29.38253的工作方式33方式2(速率發(fā)生器)●如果使用中斷,OUT信號即為中斷請求信號,可將OUT信號直接接到CPU的中斷請求輸入端,或接到中斷優(yōu)先權排隊電路的中斷請求輸入端。

周期性的中斷請求信號(上升沿)OUT工作方式29.38253的工作方式34工作方式28253的工作方式例9.3-3使8253每隔一定時間產生一次中斷請求,中斷請求間隔為500個CLK脈沖,采用計數(shù)器2,方式2,讀寫高低8位,按BCD計數(shù)。設8253端口地址范圍為40H~43H,寫出對應的初始化程序

8253GATE2CLK2OUT2+5VINT500CLK500CLKCLK2INTSC1SC0RW1RW0M2M1M0BCD10110101B5H周期性的中斷請求信號(上升沿)35工作方式28253的工作方式MODE2:MOVAL,10110101B;計數(shù)器2,讀寫高低8位, OUT43H,AL ;方式2,按BCD計數(shù)

MOVAL,00H OUT42H,AL ;裝入計數(shù)初值低8位值00H MOVAL,05H OUT42H,AL ;裝入計數(shù)初值高8位值05H36主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式537工作方式3方式3(方波發(fā)生器)計數(shù)器減到0,OUT改變,重新裝入計數(shù)初值每輸入一個脈沖計數(shù)器減2CE42444WRCW=16HLSB=4CLK22GATE2424OUT寫入控制字,OUT變高并保持計數(shù)初值為偶數(shù)N*TCLKN/2*TCLKN/2*TCLK9.38253的工作方式38工作方式3方式3(方波發(fā)生器)●如果GATE為高,當控制字寫入之后輸出端OUT變高電平并保持,計數(shù)值寫入之后開始計數(shù)。根據計數(shù)初值N的奇偶性分為兩種情況?!癞擭為偶數(shù)時:在計數(shù)初值裝入以后的每一個輸入脈沖計數(shù)器減2。當計數(shù)器減到0時,一方面改變輸出端OUT的狀態(tài),同時又自動重新裝入計數(shù)值,然后重復這一過程。9.38253的工作方式39工作方式3方式3(方波發(fā)生器)39重新裝入計數(shù)初值的第1個CLK,計數(shù)器減3。其后每個減2CE54224WRCW=16HLSB=555GATE2525計數(shù)初值為奇數(shù)CLKOUT4第1個CLK脈沖減1其后每個CLK脈沖減2計數(shù)器減到0,OUT從高變低,重新裝入計數(shù)初值計數(shù)器減到0,OUT從低變高,重新裝入計數(shù)初值9.38253的工作方式40工作方式3方式3(方波發(fā)生器)CE54224WRCW=16HLSB=555GATE2525CLKOUT4N*TCLK(N+1)/2*TCLK(N

1)/2*TCLK9.38253的工作方式計數(shù)初值為奇數(shù)41工作方式3方式3(方波發(fā)生器)●當N為奇數(shù)時:在計數(shù)初值裝入以后的第一個CLK脈沖計數(shù)器減1,其后的每一個CLK脈沖計數(shù)器減2。當計數(shù)器減到0時,一方面輸出端OUT變低,同時又自動重新裝入計數(shù)值。在重新裝入計數(shù)值后的第一個CLK脈沖,使計數(shù)器減3,其后的每一個CLK脈沖計數(shù)器又都減2。當計數(shù)器減到0時,一方面輸出端OUT恢復為高電平,同時又自動重新裝入計數(shù)值重復上述過程。9.38253的工作方式42工作方式3方式3(方波發(fā)生器)●計數(shù)值多次有效,只需要寫入一次計數(shù)值,就可連續(xù)輸出周期性信號。9.38253的工作方式43工作方式3現(xiàn)行計數(shù)結束后,OUT輸出端改變后,按新值計數(shù)CE54224CW=16H55GATE2222CLK2計數(shù)過程中改變計數(shù)值(GATE為高)WRLSB=5LSB=2OUT新寫入的計數(shù)初值不是立即有效新值在計數(shù)到0時有效方式3(方波發(fā)生器)9.38253的工作方式工作方式3方式3(方波發(fā)生器)●當GATE為高電平時,在計數(shù)過程中寫入新的計數(shù)初值不是立即有效的,僅當現(xiàn)行計數(shù)結束,OUT輸出改變狀態(tài)后,才將新的計數(shù)值打入計數(shù)器,開始按新值計數(shù)9.38253的工作方式工作方式3方式3(方波發(fā)生器)45GATE變高后的第1個CLK下降沿按新值計數(shù)CE54225552222CLK2計數(shù)過程中改變計數(shù)值(GATE變化)CW=16HWRLSB=5LSB=2OUTGATEGATE變低暫停計數(shù)新值在GATE

后有效GATE=0暫停計數(shù),GATE

啟動新一輪計數(shù)9.38253的工作方式工作方式3方式3(方波發(fā)生器)●如果寫入新的計數(shù)初值后GATE產生由低到高的變化,在GATE變高后的第一個CLK周期下降沿開始按新值計數(shù)

?!裼嫈?shù)過程中,可由GATE信號控制計數(shù)過程的暫?;蛑匦聠佑嫈?shù)。若在OUT為高電平期間,GATE變低,則暫停計數(shù)過程,待GATE變高后計數(shù)器又重裝初值開始計數(shù)。9.38253的工作方式工作方式3方式3(方波發(fā)生器)CE42444224424CLK2OUT為低期間GATE的作用CW=16HWRLSB=4GATEOUT暫停計數(shù)OUT立即變高GATE=0暫停計數(shù)(OUT變高),GATE

啟動新一輪計數(shù)9.38253的工作方式工作方式3例9.3-4對輸入時鐘CLK(32.768KHz)進行分頻,獲得1Hz其占空比50%的方波信號。采用計數(shù)器0,讀寫高低8位,按二進制計數(shù)。設8253端口地址范圍為40H~43H,寫出對應的初始化程序。計數(shù)初值N=fCLK

fOUT=(32.768×1000)÷1=32768=8000H8253GATE032.768KHzOUT0+5V1HzCLK0計數(shù)值大于BCD計數(shù)的最大值10000,所以只能按二進制計數(shù)。SC1SC0RW1RW0M2M1M0BCD0011011036H9.38253的工作方式工作方式3MODE3: MOV AL,00110110B OUTCTRL,AL

MOVAL,0 OUTCNT0,AL;裝入低8位00H MOVAL,80H OUTCNT0,AL;裝入高8位80H9.38253的工作方式50主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式5方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式51CE5431FFWRCW=18HLSB=520GATEFEFDFCFBCLKOUTFA寫入控制字,OUT變高并保持寫入計數(shù)值后開始計數(shù),軟件啟動計數(shù)到0時停止計數(shù),OUT變低電平,維持一個CLK周期。計數(shù)值一次有效方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式●寫入控制字之后,輸出端OUT變高電平,寫入計數(shù)值后開始計數(shù)(即軟件啟動)。計數(shù)到0時停止計數(shù),輸出端OUT變?yōu)榈碗娖剑S持一個CLK周期后又變?yōu)楦唠娖?,因此這種方式的計數(shù)是一次性的,只有再次寫入計數(shù)初值,才啟動另一次計數(shù)過程。

輸出寬度為1個CLK的負脈沖方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式寫入新計數(shù)初值后,延時1個CLK周期按新值計數(shù)CE4325364GATE210FFCLKOUTFE計數(shù)過程中改變計數(shù)值WRCW=18HLSB=4LSB=6方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式●計數(shù)值的改變是立即有效的。新的計數(shù)值寫入后,在其下一個CLK周期開始按新值計數(shù),若計數(shù)值為雙字節(jié),則在寫入第一字節(jié)時停止計數(shù),在寫入第二字節(jié)后開始按新值計數(shù)方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式GATE=1,計數(shù)器繼續(xù)計數(shù)CE55531WRCW=18HLSB=542GATE0FFFEFDCLKOUTFCGATE=0,計數(shù)器暫停計數(shù)門控信號GATE的作用方式4(軟起動單拍脈沖發(fā)生器)工作方式49.38253的工作方式●計數(shù)過程中可由GATE信號控制計數(shù)過程的暫停。當GATE=0時,計數(shù)器暫停計數(shù),直到GATE=1時計數(shù)器又繼續(xù)計數(shù)。

方式4和方式0,在啟動計數(shù)、計數(shù)值改變以及GATE信號作用上相同。工作方式49.38253的工作方式例9.3-5對于鎖存器,實現(xiàn)定時鎖存控制,即在一定時間后產生一鎖存信號LE,延遲時間為10個CLK周期。采用計數(shù)器1,方式4,低位字節(jié),按BCD計數(shù)。設8253端口地址范圍為40H~43H,寫出對應的初始化程序。8253GATE1CLK1OUT1+5V鎖存器LE工作方式49.38253的工作方式74LS373有兩個控制輸入端:鎖存允許LE三態(tài)允許控制端OE、OELEDQ0111010000X鎖存1XX高阻D0D1D2D3D4D5D6D7OELEQ0Q1Q2Q3Q4Q5Q6Q774LS373347813141718256912151619111工作方式49.38253的工作方式例9.3-5對于鎖存器,實現(xiàn)定時鎖存控制,即在一定時間后產生一鎖存信號LE,延遲時間為10個CLK周期。采用計數(shù)器1,方式4,低位字節(jié),按BCD計數(shù)。設8253端口地址范圍為40H~43H,寫出對應的初始化程序。8253GATE1CLK1OUT1+5V鎖存器LESC1SC0RW1RW0M2M1M0BCD0101100159H工作方式49.38253的工作方式CLK1WROUT159H10H1010CLK910MODE4: MOV AL,01011001B OUT 43H,AL

MOVAL,10H OUT41H,AL鎖存信號61主要內容9.38253的工作方式工作方式0工作方式1工作方式2工作方式3工作方式4工作方式5工作方式59.38253的工作方式方式5(軟起動單拍脈沖發(fā)生器)計數(shù)到0,OUT變低,1個CLK后變高GATE觸發(fā)計數(shù)CE43210FF4WRCW=1AHLSB=4CLKGATE寫入控制字后OUT變高OUT工作方式59.38253的工作方式方式5(軟起動單拍脈沖發(fā)生器)●寫入控制字以后,輸出端OUT變高電平并保持,寫入計數(shù)值以后,計數(shù)器并不立即開始計數(shù),而是等待硬件(GATE)的觸發(fā)啟動。觸發(fā)一次啟動一次,計數(shù)到0時輸出端OUT變?yōu)榈碗娖剑粋€CLK后又變高,即輸出一個CLK周期的負脈沖。

●方式5的計數(shù)值不必重新寫入。工作方式59.38253的工作方式方式5(軟起動單拍脈沖發(fā)生器)CE321FF01CLKWRCW=12HLSB=3LSB=202GATEFF計數(shù)過程中改變計數(shù)值OUT工作方式59.38253的工作方式方式5(軟起動單拍脈沖發(fā)生器)●在計數(shù)過程中改變計數(shù)值不是立即有效的。即新的計數(shù)值寫入后只要不發(fā)門控信號,現(xiàn)行計數(shù)不受影響,新計數(shù)值在下次啟動后才開始生效。工作方式59.38253的工作方式方式5(軟起動單拍脈沖發(fā)生器)66GATE脈沖重新啟動,按初值計數(shù)。CE43231WRCW=12HLSB=4CLK42門控信號GATE的作用GATE0FFOUT工作方式59.38253的工作方式例9.3-6在一個通信系統(tǒng)中,收發(fā)雙方采用握手方式進行通信應答,發(fā)送方采用REQ發(fā)出發(fā)送請求后轉入接收應答信號SEND的檢測,如果輸出發(fā)送數(shù)據請求REQ之后一定時間(這里為100CLK脈沖)內不能接收到應答信號時,就在接收方發(fā)生通信異常信號FAIL。用8253實現(xiàn)100個CLK的定時計數(shù),采用計數(shù)器1,方式5,讀/寫低8位,按二進制計數(shù)。設8253端口地址范圍為40H~43H,寫出對應的初始化程序SC1SC0RW1RW0M2M1M0BCD010110105BH工作方式59.38253的工作方式高電平GATE1100CLK100999897….1064H5AHCLK0WRREQSENDFAILOUT工作過程:(1)復位后REQ為高電平(GATE1=0),SEND也為高。8253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側接收側工作方式59.38253的工作方式高電平GATE1100CLK100999897….1064H5AHCLK0WRREQSENDFAILOUT8253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側接收側(2)8253初始化后OUT1為高電平,從而使加在接收側的FAIL信號為無效的高電平。因為:1011SEND=1OUT=0工作過程:工作方式59.38253的工作方式高電平GATE1100CLK100999897….1064H5AHCLK0WRREQSENDFAILOUT8253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側接收側工作過程:(3)當發(fā)送方發(fā)出請求信號后(REQ=0,GATE=1)就啟動了計數(shù)器1開始計數(shù)。工作方式59.38253的工作方式8253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側接收側0110工作過程:(4)當100個CLK計數(shù)次數(shù)到時,OUT1輸出一個負脈沖高電平GATE1100CLK100999897….1064H5AHCLK0WRREQSENDFAILOUT這時如果接收方沒有發(fā)出SEND=0的應答信號。則有:SEND=1OUT=1則發(fā)通信異常信號FAIL=0工作方式59.38253的工作方式8253OUT1GATE1CLK1SENDREQSENDREQFAIL發(fā)送側接收側0101工作過程:(4)當100個CLK計數(shù)次數(shù)到時,OUT1輸出一個負脈沖GATE1100CLK100999897….1064H5AHCLK0WRREQSENDFAILOUT這時如果接收方發(fā)出SEND=0的應答信號。則有:SEND=0OUT=1則不發(fā)通信異常信號FAIL=1高電平73工作方式59.38253的工作方式MODE5: MOV AL,01011010B

OUT43H,AL

MOV AL,100 OUT41H,AL目錄9.18253的引腳功能和編程結構9.28253的編程9.38253的工作方式9.48253的應用舉例75主要內容8253多計數(shù)器串聯(lián)的應用8253方波發(fā)聲的應用9.48253的應用舉例案例:簡易交通燈控制系統(tǒng)V4.0

8253在自動氣象站中的應用768253多計數(shù)器串聯(lián)的應用9.48253的應用舉例例9.4-1在某個以8086為CPU的系統(tǒng)中,通道的基地址為310H,

8253控制一個LED發(fā)光二極管的點亮和熄滅,要求點亮10秒后再讓它熄滅10秒,并重復上述過程。設輸入的時鐘信號頻率為2MHz。(加上驅動后,便可以用在交通燈、燈塔控制等場合)分析:利用通道1的OUT1與LED相連,只要對8253編程,使OUT1輸出周期為20秒,占空比為1:1的方波,就能使LED交替點亮熄滅10秒。問OUT1的計數(shù)初值應該是多少?778253多計數(shù)器串聯(lián)的應用9.48253的應用舉例N1=fCLK

×T=2×106×20=4×107>65536按最大計數(shù)次數(shù)65536,最大的定時時間為T1=0.5×10-6×65536=32.768ms<20s解決方法:多通道級聯(lián)用2個計數(shù)通道串聯(lián)(#1和#2),即找兩個數(shù)N1×N2=4×107

?。篘1=8000,N2=5000。

788253多計數(shù)器串聯(lián)的應用9.48253的應用舉例0.05Hz400HzCSA1A0WRGATE1GATE2CLK2OUT28253+5V2MHzCLK1OUT1RDD7~D0D7~D0A2A1fOUT2=2×106

/5000=400Hz0111011110110111方式3,BCD碼計數(shù);計數(shù)初值8000通道1方式3,BCD碼計數(shù);計數(shù)初值5000通道277HB7HfOUT1=400

/8000=0.05Hz310H798253多計數(shù)器串聯(lián)的應用9.48253的應用舉例COUNT2: MOV DX,316H

MOV AL,0B7H

;寫入控制字

OUT DX,AL MOV DX,314H

MOV AL,00H OUT DX,AL ;裝入計數(shù)初值低8位

MOV AL,50H OUT DX,AL ;裝入計數(shù)初值高8位COUNT1: MOV DX,316H

MOV AL,77H

;寫入控制字

OUT DX,AL MOV DX,312H

MOV AL,00H OUT DX,AL ;裝入計數(shù)初值低8位

MOV AL,80H OUT DX,AL ;裝入計數(shù)初值高8位80主要內容8253多計數(shù)器串聯(lián)的應用8253方波發(fā)聲的應用9.48253的應用舉例案例:簡易交通燈控制系統(tǒng)V4.0

8253在自動氣象站中的應用818253方波發(fā)聲的應用9.48253的應用舉例例9.4-28253

計數(shù)器1的時鐘輸入信號CLK1的頻率為1MHz,要求輸出頻率為250Hz的方波來驅動揚聲器發(fā)聲,而計數(shù)器1的門控信號由計數(shù)器0控制,要求計數(shù)器0啟動1s后,揚聲器開始發(fā)聲。8253的端口地址見表9.1-1。計數(shù)器1:N1=1MHz/250Hz=4000SC1SC0RW1RW0M2M1M0BCD0111011177H工作方式3,BCD碼計數(shù),讀/寫高低8位828253方波發(fā)聲的應用9.48253的應用舉例例9.4-28253

計數(shù)器1的時鐘輸入信號CLK1的頻率為1MHz,要求輸出頻率為250Hz的方波來驅動揚聲器發(fā)聲,而計數(shù)器1的門控信號由計數(shù)器0控制,要求計數(shù)器0啟動1s后,揚聲器開始發(fā)聲。8253的端口地址見表9.1-1。計數(shù)器0:N0=T

fCKL0=11k=1000

SC1SC0RW1RW0M2M1M0BCD0011000131H工作方式0,BCD碼計數(shù),讀/寫高低8位為計數(shù)器1提供門控信號838253方波發(fā)聲的應用9.48253的應用舉例P8253_BASE EQU 04A0HP8253_0 EQU P8253_BASE+0P8253_1 EQU P8253_BASE+2P8253_2 EQU P8253_BASE+4P8253_CON EQU P8253_BASE+6CODE SEGMENTASSUME CS:CODESTART: MOV AL,01110111B ;8253寫控制字,計數(shù)器1工作在方式3,BCD碼計數(shù)

MOV DX,P8253_CON OUT DX,AL MOV AL,00H ;寫入計數(shù)初值4000

MOV DX,P8253_1 OUT DX,AL MOV AL,40H OUT DX,AL【程序9.4-1】848253方波發(fā)聲的應用9.48253的應用舉例 MOV AL,00110001B ;8253寫控制字,計數(shù)器0工作在方式0,BCD碼計數(shù)

MOV DX,P8253_CON OUT DX,AL MOV AL,00H ;寫入計數(shù)初值1000

MOV DX,P8253_0 OUT DX,AL MOV AL,10H OUT DX,AL JMP $CODE ENDS【程序9.4-1】858253方波發(fā)聲的應用9.48253的應用舉例1msTOUT1=4

1msfout1=250HzOUT1輸出的波形如下:86主要內容8253多計數(shù)器串聯(lián)的應用8253方波發(fā)聲的應用9.48253的應用舉例案例:簡易交通燈控制系統(tǒng)V4.0

8253在自動氣象站中的應用87案例:簡易交通燈控制系統(tǒng)V4.09.48253的應用舉例(1)在8255A的A、B口接共陰極數(shù)碼管,顯示倒計時;A、B口工作在方式0輸出,因此8255A的工作方式、控制字、初始化等與系統(tǒng)V2.0、V3.0一致88案例:簡易交通燈控制系統(tǒng)V4.09.48253的應用舉例(2)使用8253產生1s的定時中斷,用于控制數(shù)碼管的更新。兩個中斷源:IR0上對應的緊急情況按鍵IR3上由8253的OUT2輸出的周期性中斷請求信號IR0優(yōu)先級更高8235用了2個計數(shù)器串聯(lián),實現(xiàn)1s定時T1和T2可以采用工作方式2或者方式389案例:簡易交通燈控制系統(tǒng)V4.09.48253的應用舉例主程序對8253、8255A、8259A進行初始化,同時需要對中斷向量表進行

溫馨提示

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

評論

0/150

提交評論