第七章 定時器計數器_第1頁
第七章 定時器計數器_第2頁
第七章 定時器計數器_第3頁
第七章 定時器計數器_第4頁
第七章 定時器計數器_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第第7 7章可編程定時器章可編程定時器/ /計數器計數器82538253及其應用及其應用教學重點教學重點n 8253的引腳和的引腳和6種工作方式種工作方式n 8253的編程的編程n 8253在在IBM PC系列機上的應用系列機上的應用一、概述 在微機應用系統中,常常要求有一些實時時鐘,以在微機應用系統中,常常要求有一些實時時鐘,以實現定時或延時控制,如定時中斷、定時檢測、定時實現定時或延時控制,如定時中斷、定時檢測、定時掃描等;還要求有計數器對外部事件計數,如外來脈掃描等;還要求有計數器對外部事件計數,如外來脈沖等。這就需要用到定時沖等。這就需要用到定時/ /計數器。計數器。那么什么是定時那么

2、什么是定時/ /計數器呢?計數器呢? 所謂的定時所謂的定時/ /計數器其實質都是計數器,只不過計數器其實質都是計數器,只不過在在定時時是對微機內部時鐘脈沖進行計數定時時是對微機內部時鐘脈沖進行計數,而工作在,而工作在計數器時是對微機外部輸入的脈沖進行計數計數器時是對微機外部輸入的脈沖進行計數。如果輸。如果輸入的脈沖是周期相同的,也可將計數器作為定時器來入的脈沖是周期相同的,也可將計數器作為定時器來使用,視具體情況而定。使用,視具體情況而定。定時功能的實現方法n軟件延時軟件延時利用微處理器執行一個延利用微處理器執行一個延時程序段實現時程序段實現n不可編程的硬件定時不可編程的硬件定時采用分頻器、采

3、用分頻器、單穩電路或簡易定時電路控制定時時間單穩電路或簡易定時電路控制定時時間n可編程的硬件定時可編程的硬件定時軟件硬件相結合、軟件硬件相結合、用可編程定時器芯片構成一個方便靈活用可編程定時器芯片構成一個方便靈活的定時電路的定時電路本章介紹的本章介紹的Intel 8253就是一種可編程的定時器計數器芯片就是一種可編程的定時器計數器芯片 n3個獨立的個獨立的16位計數器通道位計數器通道n每個計數器有每個計數器有6種工作方式種工作方式n按二進制或十進制(按二進制或十進制(BCD碼)計數碼)計數8254是是8253的改進型的改進型二、可編程定時器二、可編程定時器/計數器計數器82531. 82531

4、. 8253的主要功能的主要功能2. 8253/8254的內部結構和引腳D7D0計數器0控制字寄存器計數器1計數器2內部數據總線數據總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2二、可編程定時器二、可編程定時器/計數器計數器8253(1).計數器結構示意圖預置寄存器預置寄存器GATECLKOUT減減1計數器計數器輸出鎖存器輸出鎖存器計數初值存于計數初值存于預置寄存器預置寄存器;在計數過程中,在計數過程中,減法計數器減法計數器的值不斷遞減,的值不斷遞減,而預置寄存器中的預置不變。而預置寄存器中的預置不變。輸出鎖存器輸出鎖存

5、器用于寫入鎖存命令時,用于寫入鎖存命令時,鎖定當前計數值鎖定當前計數值二、可編程定時器二、可編程定時器/計數器計數器8253p計數器的3個引腳nCLK時鐘輸入信號時鐘輸入信號在計數過程中,在計數過程中,此引腳上每輸入一個時鐘信號(下降此引腳上每輸入一個時鐘信號(下降沿),計數器的計數值減沿),計數器的計數值減1nGATE門控輸入信號門控輸入信號控制計數器工控制計數器工作,可分成電平控制和上升沿控制兩種作,可分成電平控制和上升沿控制兩種類型類型nOUT計數器輸出信號計數器輸出信號當一次計數過當一次計數過程結束(計數值減為程結束(計數值減為0),),OUT引腳上引腳上將產生一個輸出信號將產生一個輸

6、出信號二、可編程定時器二、可編程定時器/計數器計數器8253(2). 與處理器接口nD0 D7數據線數據線A0 A1地址線地址線nRD*讀信號讀信號WR*寫信號寫信號nCS*片選信號片選信號CS* A1 A0I/O地址讀操作RD*寫操作WR*0 0 00 0 10 1 00 1 140H41H42H43H讀計數器0讀計數器1讀計數器2無操作寫計數器0寫計數器1寫計數器2寫控制字二、可編程定時器二、可編程定時器/計數器計數器8253每個計數器內部都有每個計數器內部都有1控制寄存器,控制寄存器,3個控個控制寄存器的端口地址相同(制寄存器的端口地址相同(=11)。當)。當CPU向控制向控制寄存器寫入

7、控制字時,由控制字的最高寄存器寫入控制字時,由控制字的最高 2位決定寫位決定寫入哪個計數器內部的控制寄存器。入哪個計數器內部的控制寄存器。初值寄存器(初值寄存器(CR)和輸出鎖存器()和輸出鎖存器(OL)均是均是16位的,但它們對應位的,但它們對應1個個8位端口地址位端口地址,即,即16位的位的CR和和OL是作為兩個是作為兩個8位寄存器來讀位寄存器來讀/寫。當寫。當CPU對對8位端口讀寫時,由位端口讀寫時,由控制字控制字決定讀寫決定讀寫16位位CR/OL的低的低8位或高位或高8位位關于關于CPUCPU對這些寄存器的讀對這些寄存器的讀/ /寫應說明以下點:寫應說明以下點:二、可編程定時器二、可編

8、程定時器/計數器計數器82533. 8253/8254的工作方式n8253有有6種工作方式,由方式控制字確定種工作方式,由方式控制字確定n熟悉每種工作方式的特點才能根據實際應用問題,熟悉每種工作方式的特點才能根據實際應用問題,選擇正確的工作方式選擇正確的工作方式n每種工作方式的過程類似:每種工作方式的過程類似: 設定工作方式設定工作方式 設定計數初值設定計數初值 硬件啟動硬件啟動 計數初值進入減計數初值進入減1計數器計數器 每輸入一個時鐘計數器減每輸入一個時鐘計數器減1的計數過程的計數過程 計數過程結束計數過程結束二、可編程定時器二、可編程定時器/計數器計數器82531.1.計數初值何時起作用

9、計數初值何時起作用2.門控信號的影響門控信號的影響3.OUT信號的狀態信號的狀態4.計數操作是否可以重復,或稱計數初值是否可以計數操作是否可以重復,或稱計數初值是否可以自動裝入。自動裝入。 不可重復不可重復 自動重復條件重復自動重復條件重復每種工作方式決定以下內容:每種工作方式決定以下內容:二、可編程定時器二、可編程定時器/計數器計數器8253方式方式0 計數結束中斷計數結束中斷重新重新二、可編程定時器二、可編程定時器/計數器計數器8253方式方式0 0工作的特點和應用工作的特點和應用l計數器只計一遍計數器只計一遍l輸出信號輸出信號OUT是在是在N+1個個CLK脈沖后才變高的脈沖后才變高的l在

10、計數過程中,可由門控信號在計數過程中,可由門控信號GATE控制暫停。當控制暫停。當GATE0時,計數暫停,時,計數暫停,GATE變高后就接著計數變高后就接著計數l改變計數值是立即有效的改變計數值是立即有效的l主要用于事件計數,主要用于事件計數,OUT信號可作為中斷請求信號信號可作為中斷請求信號二、可編程定時器二、可編程定時器/計數器計數器8253方式方式1 1可重復觸發的單穩態觸發器可重復觸發的單穩態觸發器 82538253方式方式1 1的時序的時序高高二、可編程定時器二、可編程定時器/計數器計數器8253方式方式1 1的主要特點的主要特點u若設置的計數值為若設置的計數值為N,則輸出的單拍脈沖

11、的寬度即為,則輸出的單拍脈沖的寬度即為N個輸入脈沖間隔。個輸入脈沖間隔。u當計數到當計數到0后,可再次由外部觸發啟動后,可再次由外部觸發啟動u在計數過程中,外部可發出門控脈沖進行再觸發。在在計數過程中,外部可發出門控脈沖進行再觸發。在再觸發脈沖上升沿之后的一個再觸發脈沖上升沿之后的一個CLK脈沖的下降沿,計數脈沖的下降沿,計數器按初值重新開始計數。器按初值重新開始計數。u在計數過程中,在計數過程中,CPU改變計數值,計數過程不受影響,改變計數值,計數過程不受影響,計數到計數到0后輸出為高,若再次由后輸出為高,若再次由GATE信號觸發啟動,則信號觸發啟動,則計數器將按新輸入的計數值計數,計數器將

12、按新輸入的計數值計數,即即 計數值是下次有效計數值是下次有效的。的。二、可編程定時器二、可編程定時器/計數器計數器8253方式方式2 2 分頻器分頻器 8253方式方式2的時序的時序(N=3)二、可編程定時器二、可編程定時器/計數器計數器8253方式方式2 2的主要特點的主要特點p不用重新設置計數值,通道能夠連續工作,輸出固定頻不用重新設置計數值,通道能夠連續工作,輸出固定頻率的脈沖。率的脈沖。p計數過程中可由門控脈沖控制。當計數過程中可由門控脈沖控制。當GATE變低時,就暫變低時,就暫停計數。在停計數。在GATE 變高后的下一個變高后的下一個CLK脈沖使計數器恢復脈沖使計數器恢復初值,重新開

13、始計數。初值,重新開始計數。p在計數過程中可以改變計數值,這對正在進行的計數過在計數過程中可以改變計數值,這對正在進行的計數過程沒有影響,但在計數到程沒有影響,但在計數到1時輸出變低,過一個時輸出變低,過一個CLK周期周期輸出又變高,計數器將按新的計數值計數,輸出又變高,計數器將按新的計數值計數,所以改變計數所以改變計數值是下次有效的。值是下次有效的。p主要應用作為分頻器。主要應用作為分頻器。二、可編程定時器二、可編程定時器/計數器計數器8253方式方式3 3 方波發生器方波發生器8253方式方式3的時序的時序2 24 44 42 24 42 24 42 22 25 52 24 42 2二、可

14、編程定時器二、可編程定時器/計數器計數器8253方式方式3 3的主要特點和應用的主要特點和應用u若計數值為偶數若計數值為偶數N,輸出對稱方波;如果計數值,輸出對稱方波;如果計數值N是是奇數,則輸出奇數,則輸出(N+1)/2個個CLK脈沖周期為高,而在脈沖周期為高,而在(N-1)/2脈沖周期為低脈沖周期為低uGATE信號能使計數過程重新開始。信號能使計數過程重新開始。GATE=1允許允許計數,計數,GATE0禁止計數。如果在輸出禁止計數。如果在輸出OUT為低期間,為低期間,GATE0,OUT將立即變高,停止計數。當將立即變高,停止計數。當GATE變高變高以后,計數器將裝入初始值,重新開始計數。以

15、后,計數器將裝入初始值,重新開始計數。u作為方波脈沖發生器和波特率發生器。作為方波脈沖發生器和波特率發生器。二、可編程定時器二、可編程定時器/計數器計數器8253方式方式4 4 軟件觸發選通信號發生器軟件觸發選通信號發生器8253方式方式4的時序的時序二、可編程定時器二、可編程定時器/計數器計數器8253方式方式4 4的特點的特點u若設置的計數值為若設置的計數值為N,則是在寫了計數值后的,則是在寫了計數值后的N+1個個脈沖,才輸出一個負脈沖。脈沖,才輸出一個負脈沖。u當當GATE1時,允許計數,而時,允許計數,而GATE=0,禁止計數。禁止計數。所以,要做到軟件啟動,則所以,要做到軟件啟動,則

16、GATE 應保持為應保持為“1”。u若在計數過程中,改變計數值,則立即按新計數值若在計數過程中,改變計數值,則立即按新計數值重新開始計數。若計數值是雙字節,則在設置第一字重新開始計數。若計數值是雙字節,則在設置第一字節時停止計數,在設置第二字節后,立即按照新計數節時停止計數,在設置第二字節后,立即按照新計數值開始計數。值開始計數。二、可編程定時器二、可編程定時器/計數器計數器8253方式方式5 5硬件觸發的選通信號發生器硬件觸發的選通信號發生器8253方式方式5時序時序二、可編程定時器二、可編程定時器/計數器計數器8253方式方式5 5的特點的特點若設置計數值為若設置計數值為N,則在門控脈沖觸

17、發后,經過,則在門控脈沖觸發后,經過N+1個個CLK脈沖,才輸出一個負脈沖。脈沖,才輸出一個負脈沖。若在計數過程中產生新的門控脈沖,則使計數器重新若在計數過程中產生新的門控脈沖,則使計數器重新開始計數,但對輸出的狀態沒有影響。開始計數,但對輸出的狀態沒有影響。若在計數過程中改變計數值,只要沒有門控信號的觸若在計數過程中改變計數值,只要沒有門控信號的觸發,不影響計數過程。當計數到發,不影響計數過程。當計數到0后,若有新的門控后,若有新的門控信號的觸發,則按新的計數值計數。但若在寫入了新信號的觸發,則按新的計數值計數。但若在寫入了新的計數值后,在未計數到的計數值后,在未計數到0之前,有新的門控信號

18、觸發,之前,有新的門控信號觸發,則立即按新的計數值重新開始計數則立即按新的計數值重新開始計數。二、可編程定時器二、可編程定時器/計數器計數器8253各種工作方式的輸出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1計數開始的時刻n需要注意:需要注意:n處理器寫入處理器寫入8253的計數初值只是寫入了預置的計數初值只是寫入了預置寄存器,之后到來的第一個寄存器,之后到來的第一個CLK輸入脈沖輸入脈沖(需(需先由低電平變高,再由高變低先由低電平變高,再由高變低)才將預)才將預置寄存器的初值送到減置寄

19、存器的初值送到減1計數器。計數器。n從第二個從第二個CLK信號的下降沿,計數器才真正信號的下降沿,計數器才真正開始減開始減1計數。計數。實驗:實驗:計數開始的時刻計數開始的時刻二、可編程定時器二、可編程定時器/計數器計數器8253實驗1計數開始計數開始實驗1計數開始計數開始計數開始計數開始4、8253的編程n8253加電后的工作方式不確定加電后的工作方式不確定n8253必須初始化編程,才能正常工作必須初始化編程,才能正常工作n寫入控制字寫入控制字n寫入計數初值寫入計數初值n讀取計數值讀取計數值D7D6D5D4D3D2D1D0二、可編程定時器二、可編程定時器/計數器計數器8253(1) 寫入方式

20、控制字計數器讀寫格式工作方式數制D7D6D5D4D3D2D1D000 計數器計數器001 計數器計數器110 計數器計數器211 非法非法00 計數器鎖存命計數器鎖存命令令 01 只讀寫低字節只讀寫低字節10 只讀寫高字節只讀寫高字節11 先讀寫低字節先讀寫低字節 后讀寫高字節后讀寫高字節000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二進制二進制1 十進制十進制控制字寫入控制字控制字寫入控制字I/O地址(地址(A1A011)示例示例二、可編程定時器二、可編程定時器/計數器計數器8253(2) 寫入計數值n選擇二進制時選擇二進制時

21、n計數值范圍:計數值范圍:0000HFFFFHn0000H是最大值,代表是最大值,代表65536n選擇十進制(選擇十進制(BCD碼)碼)n計數值范圍:計數值范圍:00009999Hn0000代表最大值代表最大值10000計數值寫入計數器各自的計數值寫入計數器各自的I/O地址地址示例示例二、可編程定時器二、可編程定時器/計數器計數器8253(3)讀取計數值n對對8位數據線,讀取位數據線,讀取16位計數值需分兩次位計數值需分兩次n計數在不斷進行,應該將當前計數值先行計數在不斷進行,應該將當前計數值先行鎖存,然后讀取:鎖存,然后讀取:n向控制字向控制字I/O地址:給地址:給8253寫入鎖存命令寫入鎖

22、存命令n從計數器從計數器I/O地址:讀取鎖存的計數值地址:讀取鎖存的計數值讀取計數值,要注意讀寫格式和計數數制讀取計數值,要注意讀寫格式和計數數制二、可編程定時器二、可編程定時器/計數器計數器8253計數初值計數初值n=定時時間定時時間/8253時鐘周期時鐘周期或或定時時間定時時間=8253時鐘周期時鐘周期計數初值計數初值n(4) 計數初值的計算二、可編程定時器二、可編程定時器/計數器計數器8253例如,在某系統中,例如,在某系統中,8253所使用的計數脈沖頻率為所使用的計數脈沖頻率為0.5MHz,即脈沖周期即脈沖周期tc=2us,如果給,如果給8253的計數器預置的初值的計數器預置的初值n=

23、500,則當計數器計到數值為則當計數器計到數值為0時,定時時間時,定時時間T=2us500=1ms三、三、82538253的應用舉例的應用舉例A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至揚聲器驅動器接至揚聲器驅動器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS二、可編程定時器二、可編程定時器/計數器計數器82531. 8253在在IBM PC系列機上的應用系列機上的應用(1) 定時中斷和定時刷新定時中斷和定時

24、刷新n從閱讀初始化程序段從閱讀初始化程序段n看看計數器計數器0作為定時中斷作為定時中斷的作用的作用n將將計數器計數器1作為定時刷新作為定時刷新n看如何編寫初始化程序段看如何編寫初始化程序段三、8253的應用舉例定時中斷mov al,36h;計數器計數器0為方式為方式3,采用二進制計數,采用二進制計數,;先低后高寫入計數值先低后高寫入計數值out 43h,al;寫入寫入方式控制字方式控制字mov al,0h;計數值為計數值為0out 40h,al;寫入低字節計數值寫入低字節計數值out 40h,al;寫入高字節計數值寫入高字節計數值8253初始化計數器0:定時中斷n計數器計數器0:方式:方式3,

25、計數值:,計數值:65536,輸出頻率為,輸出頻率為1.19318MHz6553618.206Hz的方波的方波n門控為常啟狀態,這個方波信號不斷產生門控為常啟狀態,這個方波信號不斷產生nOUT0端接端接8259A的的IRQ0,用作中斷請求信號,用作中斷請求信號n每秒產生每秒產生18.206次中斷請求,或說每隔次中斷請求,或說每隔55ms(54.925493ms)申請一次中斷)申請一次中斷nDOS系統利用計數器系統利用計數器0的這個特點,通過的這個特點,通過08號中號中斷服務程序實現了日時鐘計時功能斷服務程序實現了日時鐘計時功能三、8253的應用舉例計數器1:定時刷新n需要重復不斷提出刷新請求需

26、要重復不斷提出刷新請求門控總為高,選擇方式門控總為高,選擇方式2或或3n2ms內刷新內刷新128次,即次,即15.6 s刷新一次刷新一次計數初值為計數初值為18三、8253的應用舉例定時刷新mov al,54h;計數器計數器1為方式為方式2,采用二進制計數,只寫,采用二進制計數,只寫低低8位計數值位計數值out 43h,al;寫入寫入方式控制字方式控制字mov al,18;計數初值為計數初值為18out 41h,al;寫入計數值寫入計數值8253初始化(2) 揚聲器控制n計數器計數器2的輸出控制揚聲器的發聲音調的輸出控制揚聲器的發聲音調n計數器計數器2只能工作在方式只能工作在方式3,才能輸出一

27、,才能輸出一定頻率的方波,經濾波后得到近似的正定頻率的方波,經濾波后得到近似的正弦波,進而推動揚聲器發聲弦波,進而推動揚聲器發聲n揚聲器還受控于并行接口(揚聲器還受控于并行接口(8255芯片)芯片)n必須使必須使PB0和和PB1同時為高電平,揚聲器同時為高電平,揚聲器才能發出預先設定頻率的聲音才能發出預先設定頻率的聲音三、8253的應用舉例頻率設置speakerprocpush axmov al,0b6hout 43h,al;寫入控制字寫入控制字pop axout 42h,al;寫入低寫入低8位計數值位計數值mov al,ahout 42h,al;寫入高寫入高8位計數值位計數值retspeak

28、erendp揚聲器控制揚聲器開speakonprocpush axin al,61hor al,03h;D1D0PB1PB011B,其他位不變,其他位不變out 61h,alpop axretspeakonendp揚聲器控制揚聲器關speakoffprocpush axin al,61hand al,0fch;D1D0PB1PB000B,其他位不變,其他位不變out 61h,alpop axretspeakoffendp揚聲器控制主程序;數據段數據段freqdw 1193180/600;代碼段代碼段mov ax,freqcall speaker;設置揚聲器音調設置揚聲器音調call speak

29、on;打開揚聲器聲音打開揚聲器聲音mov ah,1;等待按鍵等待按鍵int 21hcall speakoff;關閉揚聲器聲音關閉揚聲器聲音揚聲器控制2. 擴充定時計數器的應用例例1 用用8253監視一個生產流水線,每通過監視一個生產流水線,每通過50個工件。蜂鳴器響個工件。蜂鳴器響5s,頻率為頻率為2000HZ。2.5MHzGATE0+5V硬件接口示意圖如圖所示,工件硬件接口示意圖如圖所示,工件從光源與光敏電阻之間通過時,從光源與光敏電阻之間通過時,在晶體管的發射極上會產生一個在晶體管的發射極上會產生一個脈沖,此脈沖作為脈沖,此脈沖作為8253計數通道計數通道0的計數脈沖,當通道的計數脈沖,當

30、通道0計數滿計數滿50后,后,由由OUT0輸出負脈沖,經反相后作輸出負脈沖,經反相后作為為8259A的一個中斷請求信號,在的一個中斷請求信號,在中斷服務程序中,啟動中斷服務程序中,啟動8253計數計數通道通道1工作,由工作,由OUT1連續輸出連續輸出2000HZ的方波,持續的方波,持續5s后停止輸后停止輸出。出。 硬件連接硬件連接三、8253的應用舉例通道通道0計數器工作于計數器工作于方式方式2,采,采用用BCD計數,因計數初值為計數,因計數初值為50,采用采用RL1RL001(讀(讀/寫計數寫計數器的低器的低8位),則方式控制字位),則方式控制字為為00010101B。2.5MHzGATE0

31、+5V通道通道1計數器工作于計數器工作于方式方式3,CLK1接接2.5MHZ時鐘,要求產生時鐘,要求產生2000HZ的方波,則計數初值應為的方波,則計數初值應為250000020001250,采用,采用RL1RL0=11(先讀(先讀/寫低寫低8位,后讀位,后讀/寫高寫高8位),位),BCD計數,則方計數,則方式控制字為式控制字為01110111B (2 2) 控制字設置控制字設置三、8253的應用舉例(3) 程序編制程序編制MOV AL,15H ;通道通道0初始化初始化OUT 43H,ALMOV AL,50H ;計數初值低計數初值低8位,位, 高高8位自動清零位自動清零OUT 40H,ALST

32、I ;開中斷開中斷LOP: HLT ;等待中斷等待中斷JMP LOP 假設假設8253通道通道0的地址為的地址為40H,通道,通道1的地址為的地址為41H,控制口地址為,控制口地址為43H。8255A的的A 口地址為口地址為80H,工作于方式,工作于方式0輸出。輸出。則主程序為則主程序為:MOV AL,01H ;通道通道1的的GATE1置置1,啟,啟 動計數動計數OUT 80H,ALMOV AL,77H ;通道通道1初始化初始化OUT 43H,ALMOV AL,50H ;計數初值計數初值OUT 41H,ALMOV AL, 12HOUT 41H,ALCALL DL5s ; 延時延時5sMOV A

33、L,00H ;通道通道1的的GATE1置置0,停,停 止計數止計數OUT 80H,ALIRET中斷服務程序為:中斷服務程序為:三、8253的應用舉例例例2 8253通道通道2接有一發光二極管,要使發光二極管以點亮接有一發光二極管,要使發光二極管以點亮2s,熄,熄滅滅2s的間隔工作,的間隔工作,8253各通道端口地址分別為各通道端口地址分別為40H、42H、44H、46H,其電路硬件圖如圖所示,試編程完成以上工作。,其電路硬件圖如圖所示,試編程完成以上工作。三、8253的應用舉例解題分析解題分析硬件連接硬件連接根據要求根據要求8253通道通道2輸出一個周期輸出一個周期為為4s的方波。從圖可知的方

34、波。從圖可知通道通道1的的CLK1輸入時鐘周期為輸入時鐘周期為1s,若通,若通道道1工作為定時,其輸出工作為定時,其輸出最大定時最大定時時間為時間為165536s,僅僅65.5ms,因而使用一個通道達不到定時時因而使用一個通道達不到定時時間間4s的要求。此時,的要求。此時,采用通道級采用通道級連的辦法,將通道連的辦法,將通道1的輸出的輸出OUT1作為通道作為通道2的輸入脈沖。的輸入脈沖。 三、8253的應用舉例控制字設置控制字設置8253的的通道通道1工作于工作于方式方式2,其,其輸出端輸出端OUT1的輸出為相對于的輸出為相對于1MHZ頻率的分頻脈沖,若選頻率的分頻脈沖,若選定定OUT1輸出脈

35、沖周期為輸出脈沖周期為4ms,則通道則通道1的計數初值應為的計數初值應為4000。周期為周期為4ms的脈沖作為通道的脈沖作為通道2的輸入,要求輸出端的輸入,要求輸出端OUT2的波形為方波且周期為的波形為方波且周期為4s,因此,因此通道通道2應工作于應工作于方式方式3,計數初值為計數初值為1000。通道。通道1的控制字為的控制字為01100101B,通道,通道2的控制字為的控制字為10100111B。 程序編制程序編制 MOV AL,65H ; 通道通道1控制字,只讀控制字,只讀/寫高寫高8位,位,BCD計數制計數制OUT 46H,ALMOV AL,0A7H ;通道;通道2控制字,只讀控制字,只

36、讀/寫高寫高8位,位,BCD計數制計數制OUT 46H,ALMOV AL,40H ;通道;通道1計數初值高計數初值高8位,低位,低8位自動置位自動置0OUT 42H,ALMOV AL,10H ;通道;通道2計數初值高計數初值高8位,低位,低8位自動置位自動置0OUT 44H,AL 三、8253的應用舉例51例3. 8253/8255組合應用舉例n利用利用8255實現開關檢測和繼電器控制電路;實現開關檢測和繼電器控制電路;n當開關閉合時,使繼電器通電動作;開關斷開當開關閉合時,使繼電器通電動作;開關斷開時,繼電器不動作;時,繼電器不動作;n系統每隔系統每隔100ms檢測一次開關狀態,實現相應檢測

37、一次開關狀態,實現相應的繼電器控制;的繼電器控制;n初始狀態下繼電器不動作。初始狀態下繼電器不動作。三、8253的應用舉例CSCSA0A1WRRDDBPA0PA7PB0PB7+5V+12VK繼電器繼電器384H387H388H38BHA0A1OUT1CLK12MHzCLK0OUT08259APICWRRDDB82538255中斷請求信號中斷請求信號INTRQ1R1R2D153題目分析:n使使8255的的A端口和端口和B端口均工作于方式端口均工作于方式0;n8253計數器計數器0和計數器和計數器1均工作于方式均工作于方式3,利用,利用OUT0的輸的輸出作為計數器出作為計數器1的時鐘信號,其輸出頻

38、率為的時鐘信號,其輸出頻率為2KHz, OUT1輸出頻率為輸出頻率為10Hz(周期周期100ms);nOUT1作為中斷信號,每作為中斷信號,每100ms產生一次中斷;產生一次中斷;nCPU響應中斷后檢測開關狀態,控制繼電器的動作;響應中斷后檢測開關狀態,控制繼電器的動作;n8253兩個計數器的計數初值分別為:兩個計數器的計數初值分別為: CNT0:2MHz/2KHz =1000 (16位)位) CNT1:100ms/0.5ms=200 (8位)位)三、8253的應用舉例548255的初始化MOV DX,387HMOV AL,82H ;1 00 0 0 0 1 0OUT DX,AL XOR AL

39、,AL ;A口輸出全口輸出全0MOV DX,384HOUT DX,AL三、8253的應用舉例558253的初始化n設置工作方式:設置工作方式:MOV DX,38BHMOV AL,36HOUT DX,ALMOV AL,56HOUT DX,AL36H = 00 11 011 0 CNT0 16位位 方式方式356H = 0101 011 0 CNT1 8位位 方式方式3l置計數初值:置計數初值:MOV DX,388HMOV AX,1000OUT DX,ALMOV AL,AHOUT DX,ALMOV DX,389HMOV AL,200OUT DX,AL三、8253的應用舉例568255的控制程序(中

40、斷處理)(中斷初始化程序略中斷初始化程序略)8253中斷服務程序中的中斷服務程序中的8255控制程序段如下:控制程序段如下: MOV DX,385H ;PB口地址口地址 IN AL,DX ;讀;讀PB0狀態狀態 NOT AL ;變反;變反 MOV DX,384H ;輸出到繼電器;輸出到繼電器 OUT DX,AL 三、8253的應用舉例第七章定時器計數器教學要求第七章定時器計數器教學要求1. 掌握掌握8253引腳,尤其是引腳,尤其是CLK、OUT、GATE引腳的功能引腳的功能2. 掌握掌握8253的六種工作方式、編程和在的六種工作方式、編程和在IBM PC系列機上的應用系列機上的應用1.1.微機系統中定時分為:微機系統中定時分為: 、 兩大類。兩大類。2.2.微機系統一般用微機系統一般用 、 獲得精確而穩定的獲得精確而穩定的時間基準。時間基準。3.82533.8253計數

溫馨提示

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

評論

0/150

提交評論