資源描述:
《可編程計數(shù)器定時器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第八章可編程計數(shù)器/定時器82538-18253簡介8-28253應(yīng)用舉例一、8253結(jié)構(gòu)及引腳功能二、8253工作方式三、8253初始化8-18253簡介定時/計數(shù)器的作用生產(chǎn)線上統(tǒng)計產(chǎn)品的數(shù)目----計數(shù)器系統(tǒng)的動態(tài)存儲器刷新----定時器系統(tǒng)時鐘計時----定時器揚聲器的頻率源----定時器如何定時軟件定時,由CPU執(zhí)行指令序列所花費的時間來構(gòu)成一定的時間間隔,從而達到定時的目的。優(yōu)點是節(jié)省硬件;缺點是執(zhí)行程序期間CPU一直被占用,降低了CPU效率。例如:MOVCX,××××HHERE:LOOPHERE硬件定時,要用額外的硬件—計數(shù)/定時器,但可提高CPU的利用率。一
2、、8253結(jié)構(gòu)及引腳功能1.結(jié)構(gòu):由四部分組成。數(shù)據(jù)總線緩沖器8D0~D7內(nèi)部總線CLK0計數(shù)器0GATE0OUT0計數(shù)器1CLK1GATE1OUT1計數(shù)器2CLK2GATE2OUT2讀/寫邏輯A0A1WRRDCS控制字寄存器(1)數(shù)據(jù)總線緩沖器這是8253與CPU的數(shù)據(jù)總線(D7~D0)連接的8位雙向三態(tài)緩沖器。CPU用輸入輸出指令對8253進行讀寫操作時的所有信息都通過這個緩沖器傳送。(2)讀/寫邏輯這是8253內(nèi)部操作的控制電路,它從系統(tǒng)控制總線上接收輸入信號,然后轉(zhuǎn)換成8253內(nèi)部操作的各種控制信號。(3)控制字寄存器當?shù)刂沸盘朅1和A0都為1時,訪問控制字寄存器。
3、控制字寄存器從數(shù)據(jù)總線上接收CPU送來的控制字,并由控制字的D7、D6兩位的編碼決定控制字寫入哪個通道的控制寄存器中去。由寄存在每個通道內(nèi)的控制寄存器的內(nèi)容決定該通道的工作方式,選擇計數(shù)器是按二進制還是BCD數(shù)計數(shù),并確定每個計數(shù)器初值的寫入順序。(4)計數(shù)器0、計數(shù)器1、計數(shù)器2這是三個計數(shù)器/定時器通道,每一個都由16位的可設(shè)置計數(shù)初值的減法計數(shù)器構(gòu)成。三個通道的操作是完全獨立的。每個通道都有兩個輸入引腳CLK和GATE以及一個輸出引腳OUT。每個通道(計數(shù)器)是16位二進制計數(shù)器,每個計數(shù)器中有3個寄存器。(1)初值寄存器:初始化時寫入該計數(shù)器的初始值。(2)減一計數(shù)
4、器:初值寄存器寫入減一計數(shù)器,減1到0為止。(3)計數(shù)值鎖存器:在計數(shù)器工作的過程中,跟隨計數(shù)值的變化,在接收到CPU發(fā)來的讀計數(shù)值命令時,用以鎖存計數(shù)值,供CPU讀取,讀取完畢之后,輸出鎖存器又跟隨減1計數(shù)器變化。&CLKGATE16位當前計數(shù)值鎖存器16位減一計數(shù)器16位計數(shù)初值寄存器OUT(減1至0時)MSBLSB裝入初值LSBMSB鎖存后讀出當前值因8253是減計數(shù)器,故計數(shù)初值越大,則計數(shù)減至0所用時間(即定時時間)就越長,但由于8253是先減1,再判是否到0,故最長的定時時間是設(shè)置計數(shù)初值為0,代表65536。十進制計數(shù)時范圍是0001~10000,其中當計數(shù)初
5、值寄存器為0000H代表十進制數(shù)10000。計數(shù)取值范圍在二進制計數(shù)時是0001H~10000H,其中10000H代表65536,在計數(shù)初值寄存器中的值是0000H。可以從8253中讀出當前計數(shù)值,但其讀出過程是:先將當前計數(shù)初值寫入到輸出鎖存器,然后再從輸出鎖存器中讀出,同時,8253還在不停地進行減計數(shù),雖然輸出鎖存器中的值不變,但減計數(shù)單元卻在不斷地減計數(shù),因此,從輸出鎖存器中讀出的值并不一定是真正的當前計數(shù)值。2.引腳3.功能(1)具有三個獨立的16位計數(shù)通道;(2)每個計數(shù)通道可按二進制或二-十進制計數(shù);(3)具有計數(shù)和定時功能,基于減1計數(shù)工作;(4)定時器減為
6、0后,可自動裝入定時常數(shù)初值,并產(chǎn)生輸出信號;(5)每個計數(shù)通道有六種工作方式;(6)8253實質(zhì)上是計數(shù)器,但計數(shù)器的脈沖輸入端如果送定時脈沖就可以做定時器用。作為計數(shù)器時減到0之后輸出一個信號,此時計數(shù)過程結(jié)束;作為定時器時,減到0后輸出一個信號接著自動裝入計數(shù)初值并開始下一個周期的計時。二、初始化在使用8253時都要由CPU對8253寫入控制字,以確定8253的工作方式,這個設(shè)置過程稱為初始化。初始化有兩個控制命令字:方式選擇控制字和計數(shù)常數(shù)字。方式選擇字寫入控制口,計數(shù)常數(shù)字寫入相應(yīng)通道內(nèi)。例1:將計數(shù)器2初始化為工作方式3,計數(shù)初值為533H,為二進制計數(shù)方式,設(shè)
7、寄存器地址為40H-43H??刂谱郑?0110110B6HMOVAL,0B6H;計數(shù)器2,先低后高字節(jié)OUT43H,AL;寫命令字MOVAX,533H;計數(shù)初值OUT42H,AL;寫計數(shù)值低位MOVAL,AHOUT42H,AL;寫計數(shù)值高位例2:8253工作為計數(shù)器1,方式3,初值為4020D,設(shè)寄存器地址為40H-43H??刂谱郑?111011177HMOVAL,77HOUT43H,AL;寫計數(shù)器1的控制字MOVAL,20HOUT41H,AL;寫計數(shù)器1的低8位初值MOVAL,40HOUT41H,AL;寫計數(shù)器1