




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第九章定時/計數器12本章內容9.1概述
9.1.1定時/計數的基本概念
9.1.2實現定時和計數的方法9.2可編程計數器/定時器82539.2.18253的主要功能
9.2.28253的引腳結構及功能說明
9.2.38253的工作方式
9.2.48253的方式控制字和初始化編程
9.2.58253的應用設計舉例31、定時器概述定時器(TIM):提供時間標準,每過一定時間,產生一個事件。(時鐘信號)。一切需要按一定周期進行的工作。計算中心對用戶服務,系統任務調度,周期性檢測、控制等。計數器(CNT):記錄在一段的時間內發生的事件次數,(頻率計:在一定時間內的周期數)。捕捉器(CCP):捕捉外部某一事件(電平、脈沖)發生的時刻。在計算機中定時器與計數器、捕捉器是同樣的電路,工作在不同的模式下。1、定時器概述實現定時器的主要方法有:CPU軟件延時;簡單的硬件電路定時;可編程芯片的硬件定時;專用時鐘芯片。41、定時器概述設計循環程序,通過精心計算循環次數,和循環中每條指令的執行時間。執行一次這個程序段,就產生一個延時時間。例如編程中常見的DELAY程序優點是不需硬件,缺點是占用CPU時間,并且不容易實現精確定時。在不同的系統時鐘頻率下,同一個軟件延時程序的定時時間也會相去甚遠,因此這種方法常用在對延時時間小,并且不需精確定時的場合,如等待模數變換等。軟件定時器51、定時器概述簡單硬件定時器采用不可編程的器件,實現數字分頻器電路。如74LS191、74LS194等。計數、分頻電路。采用單穩電路
簡易定時電路(如常用的555時基電路),外接RC電路。這樣的定時電路實現簡單。它的缺點仍是定時精度差,并且調試過程復雜。使用不方便。
61、定時器概述簡單硬件定時器----用觸發器的分頻電路71、定時器概述簡單硬件定時器----NE555分頻電路81、定時器概述簡單硬件定時器----專用時鐘芯片如DALLAS的時鐘芯片DS12887。內部帶鋰電池,可保持十年。有多種時間表示形式,二進制或BCD碼。12小時或24小時計時。提供:秒、分、時、天、星期、日期、月、年。內部有128字節RAM,掉電時信息不丟失。其中114字節為通用RAM。中斷請求:每秒一次到每天一次可設。
122ms~500ms周期可設。92、可編程定時器目前微機系統中最常用的方法,方便靈活。定時值和定時范圍可用程序確定和改變,定時精度高。具有多種工作方式,可以產生多種不同形式的輸出信號。其中Intel公司的8253和8254等是常見的可編程定時器芯片。當定時器芯片為周期性輸入時,稱定時器;若為非周期性輸入時,稱計數器。102、可編程定時器-8253定時計數器可編程間隔定時器(ProgrammableIntervalTimer)Intel8254是8253的改進型,內部工作方式和外部引腳與8253完全相同,只是增加了一個讀回命令和狀態字的功能。8253的讀寫操作對系統時鐘沒有特殊要求,因此它幾乎可以應用于任何一種微機系統中,可作為可編程的事件計數器、分頻器、方波發生器、實時時鐘及單脈沖發生器等。112、可編程定時器-8253定時計數器8253功能說明(1)具有三個獨立的16位計數通道;(2)每個計數器通道都可按照二進制或BCD計數;(3)每個計數器通道的計數速率最高可達2MHz;(4)每個計數器通道有6種工作方式,均可由程序設置和改變;(5)所有輸入輸出都與TTL電平兼容。122、可編程定時器-8253定時計數器8253引腳圖地址總線數據總線片選信號讀、寫線定時器專用信號:輸入(CLK)、輸出(OUT)、門控(GATE)132、可編程定時器-8253定時計數器8253功能結構圖14數據總線緩沖器讀/寫控制邏輯控制字寄存器CLK0GATE0OUT0通道0CLK2GATE2OUT2通道2CLK1GATE1OUT1通道1CSD0-D7內部總線RDWRA0A1152、可編程定時器-8253定時計數器8253功能結構圖2、可編程定時器-8253定時計數器8253與處理器接口16
各信號配合實現8253的讀/寫操作/:讀/寫控制信號,低電平有效。:片選信號,低電平有效。A0、A1、、、各信號配合實現8253的讀/寫操作,如表8.2所示。2、可編程定時器-8253定時計數器8253與外界接口CLK時鐘輸入信號:在計數時,此引腳上每輸入一個時鐘信號的下降沿,計數器的值減1。它的工作還受門控信號影響。GATE門控輸入信號:控制計數器工作的外部信號。在不同工作方式下,作用不同;可分成電平控制和上升沿觸發控制兩種類型;OUT計數器輸出信號:當一次計數過程結束(即計數值減為0時),OUT引腳上產生一個輸出信號。其波形取決于工作方式。172、可編程定時器-8253定時計數器8253的工作方式方式0--計數結束中斷:每次初始化后,進行一次計數。方式1--可編程單穩脈沖:硬件觸發一次計數。方式2—頻率發生器:連續工作,即使8088CPU停止工作,8253仍可保持工作。方式3--方波發生器:與工作方式2類似,只是輸出波形為方波。方式4--軟件觸發選通:工作方式與方式0類似。只是輸出信號不同。方式5--硬件觸發選通:工作方式與方式1類似。只是輸出信號不同。182、可編程定時器-8253定時計數器方式0----計數結束中斷198253的方式0為一次性計數。①設置工作方式。當設置為方式0后,輸出OUT信號隨即變為低電平。2、可編程定時器-8253定時計數器方式0----計數結束中斷20②寫計數初值。在下一時鐘周期計數初值裝入減1計數器后,若GATE為高,開始計數。OUT輸出仍保持低電平。2、可編程定時器-8253定時計數器方式0----計數結束中斷21③計數器開始計數。CLK引腳每出現一個下降沿,計數值減1。2、可編程定時器-8253定時計數器方式0----計數結束中斷④當計數值減為0,OUT變為高電平。由于寫入計數值后,第一個時鐘脈沖是將計數初值寫入計數器,因此整個計數過程有N+1個周期。并且一直持續到重新裝入計數值或重新設置工作方式為止。計數結束時,OUT端的跳變信號,可用來向CPU請求中斷。222、可編程定時器-8253定時計數器方式0----計數結束中斷⑦計數過程中,若門控信號變低,停止計數值,當門控信號恢復為高時,繼續計數過程。232、可編程定時器-8253定時計數器方式0----計數結束中斷計數過程中,寫入新計數值,按新值重新開始。當GATE=0時寫入計數值N,在下一時鐘周期計數初值仍會寫入計數器。但不開始減一計數。當GATE=1后,才開始減一計數,此時N脈沖即完成計數過程。242、可編程定時器-8253定時計數器方式0----計數結束中斷------特點25方式0的特點和應用計數過程由軟件啟動GATE的作用是開放計數或禁止計數OUT端由低變高表示計數過程結束2、可編程定時器-8253定時計數器方式0----計數結束中斷------應用26典型的事件計數用法:CLK端作為事件計數輸入信號;計數執行單元CE為零時OUT端變為高電平,可作為中斷請求信號OUT的特點:寫入工作模式后變低;計數到0時變高,直到一個新的工作模式或新的計數值寫入才會變低2、可編程定時器-8253定時計數器方式1----可編程單穩脈沖所謂單穩,是說只有一個穩定狀態,(高或低)。另一個是不穩定狀態。當電路處于不穩定狀態時,過一段時間后會自動回復到穩定狀態。方式1:硬件觸發,一次計數:由門控信號啟動一次計數過程,在計數過程中,若又有門控信號,則重新開始新的計數過程。272、可編程定時器-8253定時計數器方式1----可編程單穩脈沖①設置工作方式。當設置為方式1后,輸出OUT信號隨即變為高電平,并保持高。②計數初值寫到預置寄存器。此時,OUT輸出仍保持高電平。282、可編程定時器-8253定時計數器方式1----可編程單穩脈沖③門控信號的上升沿,啟動減法計數,并且門控信號的電平不影響計數過程。④下一時鐘脈沖的下降沿,使輸出變低,并開始減一計數。292、可編程定時器-8253定時計數器方式1----可編程單穩脈沖⑤計數值從一減到0時,停止計數過程;使OUT變高,并保持高電平。⑥在計數過程中,計數過程中,若門控信號變低,不影響計數過程。若門控端有脈沖上跳沿出現,則再次將預置值裝入減一計數器,并重新開始計數。302、可編程定時器-8253定時計數器方式1----可編程單穩脈沖在計數過程中,可以對預置寄存器寫入新預置值。它并不中斷計數過程。直到減一計數器從1減到0,OUT變高,并停止計數過程。直到新的門控脈沖(上升沿),將新預置值裝入減一計數器,開始按新值的計數過程。312、可編程定時器-8253定時計數器方式1----可編程單穩脈沖若在計數過程中,不斷有門控脈沖出現(減一計數器不出現從1減到0的情況),計數過程永遠不會停止。OUT也一直保持為低電平(暫態)。(WATCHDOG看門狗)。322、可編程定時器-8253定時計數器方式1----可編程單穩脈沖----特點和應用33計數器的啟動只能由Gate的上升沿產生即只能用硬件啟動OUT輸出為一個單穩態負脈沖在形成單穩態脈沖過程中可以重觸發在微機實時控制系統中常用作監視時鐘WatchdogTimer2、可編程定時器-8253定時計數器方式2----頻率發生器方式2的特點是能夠連續工作。如果計數值為N,則每輸入N個CLK脈沖,OUT就輸出一個負脈沖。這種方式象一個頻率發生器或分頻器。它的典型應用是產生實時時鐘信號,可用來作為CPU定時中斷信號。當初始化為方式2后,輸出OUT變高,寫入計數值后,輸出OUT繼續保持高電平,并立即開始減法計數。當計數值減為1時,OUT腳出現一個時鐘周期的低脈沖。并恢復計數初值,開始新的計數周期。342、可編程定時器-8253定時計數器方式2----頻率發生器352、可編程定時器-8253定時計數器方式2----頻率發生器初始化后、及計數過程中,OUT保持為高,計數值減為1時,OUT輸出一個周期的低電平并重新開始計數362、可編程定時器-8253定時計數器方式2----頻率發生器計數過程中裝入新值,不影響當前計數工作;但從下個周期開始按新計數值計數。372、可編程定時器-8253定時計數器方式2----頻率發生器在計數過程中,若GATE出現低電平,將禁止計數,輸出保持高。GATE恢復高電平時,將重新裝入預置計數值,開始計數。通過GATE,能用硬件對多個計數器進行同步。382、可編程定時器-8253定時計數器方式2----頻率發生器若在輸出脈沖期間(OUT=0),GATE出現低電平,輸出立即變高。并在下一時鐘周期重新裝入計數值,開始計數。模式2,計數值不能設為1。392、可編程定時器-8253定時計數器方式2----頻率發生器----特點和應用40CR內容能自動地、重復地裝入到CE中OUT端上能連續地輸出周期性分頻信號改變計數初值即可獲得不同速率的OUT輸出信號負脈沖寬度均為一個CLK脈沖的周期。主要作為分頻器和時基信號2、可編程定時器-8253定時計數器方式3----方波發生器41除OUT輸出方波之外和方式2相似方波的重復周期是計數初值個CLK脈沖周期之和2、可編程定時器-8253定時計數器方式3----方波發生器門控信號GATE=1,允許計數,=0,禁止計數。在計數過程中,寫入新的計數值,不影響當前計數過程;在本次計數結束后,從新計數初值開始工作。若寫入新計數值后,若門控信號(GATE=0)出現在輸出OUT為高電平期間,門控信號結束后,下一時鐘周期,從新值開始重新工作。若出現在輸出OUT為低電平期間,則從下一周期從新值開始工作。方式3的工作形式與方式2十分相似,只是輸出低電平持續時間不一樣。常作為波特率發生器使用。422、可編程定時器-8253定時計數器方式3----方波發生器432、可編程定時器-8253定時計數器方式3----方波發生器方式3,8253計數器每次進行減二操作。對偶數計數值,每次輸出發生變化時,重新裝入計數值,并進行減二計數。對奇數計數值,將初值裝入后,或每次輸出發生高跳變時,第一次減一,以后每次減二;而當輸出發生低跳變時,重新裝入計數值后,下一時鐘周期執行一次減三操作,然后執行每次減二操作。這樣高電平的持續時間比低電平多一個時鐘周期。442、可編程定時器-8253定時計數器方式3----方波發生器452、可編程定時器-8253定時計數器方式3----方波發生器----特點和應用46計數過程是CE內容減2/3改變計數初值則OUT端將輸出不同頻率主要應用作為方波發生器和波特率發生器2、可編程定時器-8253定時計數器方式4----軟件觸發選通
47SoftwareTriggeredstrobe寫入方式控制字CW后OUT端輸出高電平在寫入計數初值后的一個CLK脈沖開始減1計數CE為零時使OUT輸出變為低電平OUT低電平持續一個CLK脈沖周期后又恢復到高電平與方式0不同是輸出OUT的相位相反。方式5硬件方式0結束后中斷2、可編程定時器-8253定時計數器方式4:軟件觸發選通信號發生(一次性)置方式4后,輸出OUT變高,寫入計數值后,輸出仍保持高。從下一時鐘裝入計數值,開始計數,到計數值為0時,OUT變低,并持續一個時鐘周期,再變高,并停止計數。48方式4----軟件觸發選通
2、可編程定時器-8253定時計數器若GATE=0,寫入計數值后,不開始計數工作,直到GATE=1,開始計數。若計數未完成,重新寫入計數值,將從新值重新開始。49方式4----軟件觸發選通
2、可編程定時器-8253定時計數器若計數未完成,重新寫入計數值,將從新值重新開始。50方式4----軟件觸發選通
2、可編程定時器-8253定時計數器方式5----硬件觸發選通51HardwareTriggeredStrobe方式5和方式1有些相似CE到零時OUT端產生寬度為1個CLK脈沖周期的負脈沖選通輸出信號2、可編程定時器-8253定時計數器方式5----硬件觸發選通方式5與方式1的工作過程類似,也是輸出信號不同。當寫入方式5的控制字后,OUT為高,寫入計數初值后,并不開始計數。由GATE上升沿啟動計數過程(硬件啟動)。當計數到0時,OUT變低,持續一個時鐘周期,OUT恢復為高,并停止計數。522、可編程定時器-8253定時計數器方式5----硬件觸發選通在計數過程中GATE可以為高電平,也可以為低電平。在計數過程中,又有觸發信號GATE(上升沿),計數器在下一時鐘周期重新裝入計數初值,且從新開始計數。532、可編程定時器-8253定時計數器方式5----硬件觸發選通計數過程中裝入新計數值,不影響當前計數過程。等待新的觸發GATE到來后開始新的計數過程5455方式0:一旦寫入控制字輸出即為低計數結束,輸出即為高該上升沿可作中斷請求信號一次有效方式1:產生單個負脈沖脈寬為計數值一次有效方式2:分頻器但負脈沖的寬度為一個時鐘寬連續有效方式3:方波發生器占空比為0.5(偶)或略大于0.5(奇)連續有效方式4:軟件置計數值負脈沖為一個時鐘寬度一次有效方式5:硬件(門控信號)觸發計數負脈沖為一個時鐘寬度, 以后初值自動裝入,但不觸發六種工作方式對比六種工作方式對比562、可編程定時器-8253定時計數器工作方式小結572、可編程定時器-8253定時計數器8253的編程58寫入方式控制字三個通道用的控制字端口地址是相同的三個控制字寫入后存入通道對應的寄存器中寫入計數初始值讀計數值以普通對計數器端口讀的方法取得當前計數值鎖存計數器的當前計數值2、可編程定時器-8253定時計數器8253的編程8253每一計數器均有一控制字,三個控制字格式相同,如下592、可編程定時器-8253定時計數器8253的編程----方式控制字1)計數器選擇(D7、D6)3個計數器共用一個控制字地址,D7D6兩位決定當前控制字是哪一個通道的控制字。在8253中,D7D6=11的編碼是非法,而8254利用它作為讀回命令。2)讀寫格式(D5、D4)8253的數據線為8位,一次只能進行一個字節的數據交換,但計數器是16位的,所以8253設計了幾種不同的讀寫計數值的格式。602、可編程定時器-8253定時計數器8253的編程----方式控制字3)工作方式(D3、D2、D1)8253的每個通道的6種不同工作方式,由這三位決定。4)數制設定(D0)8253的每個通道有兩種計數制:二進制和十進制(BCD碼)0~FFFFH(65535D),0~9999D。612、可編程定時器-8253定時計數器8253的編程----寫入計數值
每個計數器通道都有對應的計數器I/O地址,用于讀寫計數值。讀寫計數值時,必須按方式控制字規定的讀寫格式進行。因為計數器是先減1,再判斷是否為0,所以,寫入0實際上代表最大計數值。在二進制時,代表65536。選擇十進制(BCD碼)時,計數值范圍為0000~9999,其中0000代表最大值10000。622、可編程定時器-8253定時計數器8253的編程----讀取計數值
利用計數器I/O地址,可以讀取計數器的當前計數值。但對8位數據線的8253來說,讀取16位計數值需要分兩次。由于計數在不斷進行,在前后兩次執行輸入指令的過程中,計數值可能已經變化。所以,如果計數過程可以暫停,可在讀取計數值時,使GATE信號為低(對方式1和方式5無效)。否則應該將當前計數值先行鎖存,然后讀取。632、可編程定時器-8253定時計數器8253的編程順序1)寫方式控制字,設定工作方式。2)寫預置寄存器,設定計數初值。3)對方式1和方式5,需要硬件啟動,即GATE端出現一個上升沿信號;對其它方式不需要這個過程,直接進入下一步,即設定計數值后軟件啟動。4)CLK端的下一個下降沿,將預置寄存器的計數初值送入減1計數器。5)計數開始,當GATE為高電平時,CLK端每出現一個下降沿,計數器減1;當GATE為低電平時,不進行計數(方式1、5除外)。6)當計數值減至0,一次計數過程結束;通常OUT端在計數值減至0時發生改變,以指示一次計數結束。642、可編程定時器-8253定時計數器8253的編程順序需要注意:處理器寫入8253的計數初值只是寫入了預置寄存器,之后到來的第一個CLK輸入脈沖(需先由低電平變高,再由高變回低),才將預置寄存器的初值送到減1計數器。從第二個CLK信號的下降沿,計數器才真正開始減1計數。因此,若設置計數初值為N,則從輸出指令寫完計數初值到計數結束,CLK信號的下降沿有N+1個,但從第一個下降沿到最后一個下降沿之間正好又是N個完整的CLK信號。652、可編程定時器-8253定時計數器8253的工作過程方式0和方式4,如果不重新設定計數初值,計數器就停止計數過程。方式1和方式5,由GATE端的硬件啟動信號(上升沿),重新開始計數過程。方式2和方式3,計數值減至0后,8253自動將預置寄存器的計數初值送入減1計數器,同時重復計數過程,直到寫入新的方式控制字才停止。即使CPU停止工作,8253也會繼續工作。662、8253定時計數器應用舉例用8253監視一個生產流水線67預定義:8253cs0x40 8255cs0x80
2、8253定時計數器應用舉例用8253監視一個生產流水線68主程序為:
MOVAL,15H ;00010101 OUT43H,AL MOVAL,50H OUT40H,AL STI LOP:HLT JMPLOP2、8253定時計數器應用舉例用8253監視一個生產流水線69中斷服務程序為:
MOVAL,01H OUT80H,AL ;8255PA接口
MOVAL,77H ;01110111 OUT43H,AL MOVAL,50H OUT41H,AL MOVAL,12H OUT41H,AL CALLprocess
MOVAL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆職業大學《中學語文模擬教學》2023-2024學年第二學期期末試卷
- 甘肅省蘭州市天慶實驗中學2024屆中考數學適應性模擬試題含解析
- 廣東省佛山市禪城區2024屆中考數學考前最后一卷含解析
- 2025年廠級職工安全培訓考試試題附答案【完整版】
- 2025年承包商入廠安全培訓考試試題答案完整
- 2025班組三級安全培訓考試試題帶答案(A卷)
- 2025安全管理人員安全培訓考試試題及完整答案【奪冠】
- 2024-2025公司項目部負責人安全培訓考試試題及答案參考
- 2025新工人入場安全培訓考試試題及參考答案(滿分必刷)
- 2025年中國自動操舵儀行業市場規模及未來投資方向研究報告
- 2025-2030年中國冰激凌市場需求分析與投資發展趨勢預測報告
- 體育賽事運營方案投標文件(技術方案)
- 海綿城市施工質量保證措施
- 新華書店集團招聘筆試沖刺題2025
- 《凝結水精處理》課件
- 大學答題紙模板
- 福建省寧德福鼎市2024-2025學年七年級上學期期中考試語文試題
- 福建省普通高中6月學業水平合格性考試英語試題(含答案解析)
- 【MOOC】Office高級應用-成都信息工程大學 中國大學慕課MOOC答案
- 《化工新材料生產技術》課件-知識點1 聚酰胺概述
- 醫院患者信息保密管理制度
評論
0/150
提交評論