微機(jī)原理與接口技術(shù)-第7章8253_第1頁
微機(jī)原理與接口技術(shù)-第7章8253_第2頁
微機(jī)原理與接口技術(shù)-第7章8253_第3頁
微機(jī)原理與接口技術(shù)-第7章8253_第4頁
微機(jī)原理與接口技術(shù)-第7章8253_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)第七章可編程計(jì)數(shù)器/定時(shí)器8253/8254及其應(yīng)用18253工作原理:結(jié)構(gòu)、引腳、工作方式8253應(yīng)用舉例:定時(shí)功能、計(jì)數(shù)功能內(nèi)容提要第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用2第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用在微型計(jì)算機(jī)系統(tǒng)中,常需要用到定時(shí)功能。例如,按一定的時(shí)間間隔對動態(tài)RAM進(jìn)行刷新;揚(yáng)聲器的發(fā)聲;在計(jì)算機(jī)實(shí)時(shí)控制和處理系統(tǒng)中,按一定的采樣周期對處理對象進(jìn)行采樣,或定時(shí)檢測某些參數(shù),對外部事件進(jìn)行計(jì)數(shù),等等,都需要定時(shí)信號。實(shí)現(xiàn)定時(shí)功能主要有三種方法:軟件定時(shí)不可編程的硬件定時(shí)可編程的硬件定時(shí)第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述3軟件定時(shí)是最簡單的定時(shí)方法,它不需要硬件支持,只要讓機(jī)器循環(huán)執(zhí)行某一條或一系列指令,這些指令本身并沒有具體的執(zhí)行目的,但由于執(zhí)行每條指令都需要一定的時(shí)間,重復(fù)執(zhí)行這些指令就會占用一段固定的時(shí)間。利用這種方法定時(shí),完全由軟件編程來控制相改變定時(shí)時(shí)間,靈活方便,而且節(jié)省費(fèi)用。但CPU的利用率太低,在定時(shí)循環(huán)期間,CPU不能再去做任何其它有用的工作,而僅僅是在反復(fù)循環(huán),等待預(yù)定的定時(shí)時(shí)間的到來,這在許多情況下是不允許的。比如,對動態(tài)存儲器的定時(shí)刷新操作,只要處于開機(jī)狀態(tài),就需要一直不停地進(jìn)行下去,顯然不能采用軟件定時(shí)。1.軟件定時(shí)第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述4555芯片是一種常用的不可編程器件,加上外接電阻和電容就能構(gòu)成定時(shí)電路。這種定時(shí)電路結(jié)構(gòu)簡單,價(jià)格便宜,通過改變電阻或電容值,可以在一定的定時(shí)范圍內(nèi)改變定時(shí)時(shí)間。但這種電路在硬件已連接好的情況下,定時(shí)時(shí)間和范圍就不能由程序來控制和改變,而且定時(shí)精度也不高。2.不可編程的硬件定時(shí)3.可編程的硬件定時(shí)可編程定時(shí)器/計(jì)數(shù)器電路利用硬件電路和中斷方法控制定時(shí),定時(shí)時(shí)間和范圍完全由軟件來確定和改變,并由微處理器的時(shí)鐘信號提供時(shí)間基準(zhǔn),這種時(shí)鐘信號由晶體振蕩器產(chǎn)生,故計(jì)時(shí)精確穩(wěn)定。第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述5用可編程定時(shí)器/計(jì)數(shù)器電路進(jìn)行定時(shí)時(shí),先要根據(jù)預(yù)定的定時(shí)時(shí)間,用指令對計(jì)數(shù)器/定時(shí)器芯片設(shè)定計(jì)數(shù)初值,然后啟動芯片進(jìn)行工作。計(jì)數(shù)器一旦開始工作后,CPU就可以去做別的工作,等計(jì)數(shù)器計(jì)到預(yù)定的時(shí)間,便自動形成一個(gè)輸出信號,該信號可用來向CPU提出產(chǎn)斷請求,通知CPU定時(shí)時(shí)間已到,使CPU作相應(yīng)的處理?;蛘咧苯永幂敵鲂盘柸釉O(shè)備工作。這種方法不但顯著提高了CPU的利用率,而且定時(shí)時(shí)間由軟件設(shè)置,使用起來十分靈活方便,加上定時(shí)時(shí)間又很精確,所以獲得了廣泛的應(yīng)用。系統(tǒng)也可以利用計(jì)數(shù)器/定時(shí)器芯片對外部事件進(jìn)行計(jì)數(shù)。第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述6Intel8253就是一種能完成上述功能的計(jì)數(shù)器/定時(shí)器芯片,被稱為可編程間隔定時(shí)器(ProgrammableIntervalTimer,PIT)。4.可編程計(jì)數(shù)器/定時(shí)器82538253內(nèi)部具有3個(gè)獨(dú)立的16位計(jì)數(shù)器通道,通過對它進(jìn)行編程,每個(gè)計(jì)數(shù)器通道均可按6種不同的方式工作,并且都可以按2進(jìn)制或10進(jìn)制格式進(jìn)行計(jì)數(shù),最高計(jì)數(shù)頻率能達(dá)到2MHz。8253還可用作可編程方波頻率產(chǎn)生器、分頻器、程控單脈沖發(fā)生器等。第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述75.可編程計(jì)數(shù)器/定時(shí)器8254InteI8254是8253的增強(qiáng)型產(chǎn)品,它與8253的引腳兼容,功能幾乎完全相同,不同之處在于:8253的最大輸入時(shí)鐘頻率為2MHz,而8254的最大輸入時(shí)鐘頻率可高達(dá)5MHz,8254-2則為l0MHz。8254有讀回(read-back)功能,可以同時(shí)鎖存1~3個(gè)計(jì)數(shù)器的計(jì)數(shù)值及狀態(tài)值,供CPU讀取,而8253每次只能鎖存和讀取一個(gè)通道的計(jì)數(shù)器,且不能讀取狀態(tài)值。第七章可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用——概述8§7-18253的工作原理一、8253的內(nèi)部結(jié)構(gòu)和引腳信號圖7-18253的內(nèi)部結(jié)構(gòu)§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

圖8-291.?dāng)?shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器是8253與系統(tǒng)數(shù)據(jù)總線相連接時(shí)用的接口電路,由8位雙向三態(tài)緩沖器構(gòu)成,CPU用輸入/輸出指令對8253進(jìn)行讀/寫操作的信息,都經(jīng)8位數(shù)據(jù)總線D7~D0傳送,這些信息包括:⑴CPU在對8253進(jìn)行初始化編程時(shí),向它寫入的控制字。⑵CPU向某一計(jì)數(shù)器寫入的計(jì)數(shù)初值。⑶從計(jì)數(shù)器讀出的計(jì)數(shù)值?!?-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

102.讀/寫控制邏輯

接收系統(tǒng)控制總線送來的輸入信號,經(jīng)組合后形成控制信號,對各部分操作進(jìn)行控制??山邮盏男盘栍校?/p>

⑴CS片選信號,低電平有效,由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。只有當(dāng)CS為低電平時(shí),CPU才能對8253進(jìn)行連寫操作。

⑵RD讀信號,低電平有效。當(dāng)RD為低電平時(shí),表示CPU正在讀取所選定的計(jì)數(shù)器通道中的內(nèi)容。

⑶WR寫信號,低電平有效。當(dāng)WR為低電平時(shí),表示CPU正在將計(jì)數(shù)初值寫入所選中的計(jì)數(shù)通道中或者將控制字寫入控制字寄存器中。

⑷A1A0端口選擇信號。在8353內(nèi)部有3個(gè)計(jì)數(shù)器通道(0~2)和一個(gè)控制字寄存器端口。當(dāng)A1A0=00時(shí),選中通道0;A1A0=01時(shí),選中通道1;A1A0=10時(shí),選中通道2;A1A0=11時(shí),選中控制字寄存器端口?!?-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

11注意:如果8253與8位數(shù)據(jù)總線的微機(jī)相連,只要將A1A0分別與地址總線的最低兩位A1A0相連即可。如果系統(tǒng)采用的是8086CPU,則數(shù)據(jù)總線為16位。CPU在傳送數(shù)據(jù)時(shí),總是將低8位數(shù)據(jù)送往偶地址端口,將高8位數(shù)據(jù)送到奇地址端口。反之,偶地址端口的數(shù)據(jù)總是通過低8位數(shù)據(jù)總線送到CPU,奇地址端口的數(shù)據(jù)總是通過高8位數(shù)據(jù)總線送到CPU。當(dāng)僅具有8位數(shù)據(jù)總線的存儲器或I/O接口芯片與8086的16位數(shù)據(jù)總線相連時(shí),既可以連到高8位數(shù)據(jù)總線,也可以接在低8位數(shù)據(jù)總線上。在實(shí)際設(shè)計(jì)系統(tǒng)時(shí),為了方便起見,常將這些芯片的數(shù)據(jù)線D7~D0接到系統(tǒng)數(shù)據(jù)總線的低8位,這樣,CPU就要求芯片內(nèi)部的各個(gè)端口都使用偶地址(地址總線的A0=0)。應(yīng)改用地址總線中的A2A1實(shí)現(xiàn)端口選擇,即將A2連到8253的A1引腳,而將A1與8253的A0引腳相連?!?-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

12CSRDWRA1A0功能01000寫入計(jì)數(shù)器001001寫入計(jì)數(shù)器101010寫入計(jì)數(shù)器201011寫入控制字寄存器00100讀計(jì)數(shù)器000101讀計(jì)數(shù)器100110讀計(jì)數(shù)器200111無操作1××××禁止使用011××無操作8253輸入信號組合的功能表§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

133.計(jì)數(shù)器0~2包含3個(gè)完全相同的計(jì)數(shù)器/定時(shí)器通道,對3個(gè)通道的操作完全獨(dú)立。每個(gè)通道都包含:一個(gè)8位的控制字寄存器:只寫寄存器。對8253進(jìn)行編程時(shí),CPU用輸出指令向它寫入控制字,以選定計(jì)數(shù)器通道,規(guī)定各通道的工作方式,讀寫格式和數(shù)制。一個(gè)16位的計(jì)數(shù)初值寄存器:存放由CPU送來的計(jì)數(shù)初值。一個(gè)計(jì)數(shù)器執(zhí)行部件(實(shí)際的計(jì)數(shù)器):執(zhí)行部件實(shí)際是一個(gè)16位的減法計(jì)數(shù)器,它的起始值就是初值寄存器的值,該值可由程序設(shè)置。輸出鎖存器:用來鎖存計(jì)數(shù)器執(zhí)行部件的值,CPU可對它執(zhí)行讀操作,以了解某個(gè)時(shí)刻計(jì)數(shù)器的瞬時(shí)值。構(gòu)成§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

14§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

注意:計(jì)數(shù)初值寄存器、計(jì)數(shù)器執(zhí)行部件和輸出鎖存器都是16位寄存器,它們均可被分成高8位和低8位兩個(gè)部分。因此也可作為8位寄存器來使用。工作原理每個(gè)通道工作時(shí),都是對輸入到CLK引腳上的脈沖按2進(jìn)制或10進(jìn)制(BCD碼)格式進(jìn)行計(jì)數(shù),計(jì)數(shù)采用倒計(jì)數(shù)法,先對計(jì)數(shù)器預(yù)置一個(gè)初值,再把初值裝入實(shí)際的計(jì)數(shù)器。15然后,開始遞減計(jì)數(shù)。即每輸入一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器的值減1,當(dāng)計(jì)數(shù)器的值減為0時(shí),便從OUT引腳輸出一個(gè)信號。輸出信號的波形主要由工作方式?jīng)Q定,同時(shí)還受到從外部加到GATE引腳上的門控信號控制,它決定是否允許計(jì)數(shù)。當(dāng)用8253作外部事件計(jì)數(shù)器時(shí),在CLK腳上所加的計(jì)數(shù)脈沖是由外部事件產(chǎn)生的,這些脈沖的間隔可以是不相等的。如果要用它作定時(shí)器,則CLK引腳上應(yīng)輸入精確的時(shí)鐘脈沖。這時(shí),8253所能實(shí)現(xiàn)的定時(shí)時(shí)間,決定于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即

定時(shí)時(shí)間=時(shí)鐘脈沖周期tc×預(yù)置的計(jì)數(shù)初值n§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

168253的3個(gè)計(jì)數(shù)器都各有3個(gè)引腳,它們是:

CLK0~CLK2:計(jì)數(shù)器0~2的輸入時(shí)鐘脈沖從這里輸入。頻率不能大于2MHz。OUT0~OUT2:計(jì)數(shù)器0~2的輸出端。GATE0~GATE2:計(jì)數(shù)器0~2的門控脈沖輸入端。引腳§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

174.控制字寄存器BCDM2M1M0RL1RL0SC1SC0D7D6D5D4D3D2D1D01BCD碼計(jì)數(shù)0二進(jìn)制計(jì)數(shù)000方式0001方式1X10方式2X11方式3100方式4101方式500計(jì)數(shù)器鎖存,供CPU讀01只讀/寫計(jì)數(shù)器低字節(jié)10只讀/寫計(jì)數(shù)器高字節(jié)11先讀/寫計(jì)數(shù)器低字節(jié),后讀/寫高字節(jié)00選擇通道001選擇通道110選擇通道211無效圖8-38253控制字格式§7-18253的工作原理——8253的內(nèi)部結(jié)構(gòu)和引腳信號

18二、初始化編程步驟和門控信號的功能1.8253的初始化編程步驟剛接通電源時(shí),8253處于未定義狀態(tài),在使用之前,必須用程序把它們初始化為所需的特定模式,這個(gè)過程稱為初始化編程。初始化編程按下列步驟進(jìn)行:

⑴寫入控制字用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作方式和計(jì)數(shù)格式。寫入控制字還起到復(fù)位作用,使輸出端OUT變?yōu)橐?guī)定的初始狀態(tài),并使計(jì)數(shù)器清0?!?-18253的工作原理——初始化編程步驟和門控信號的功能

19⑵寫入計(jì)數(shù)初值用輸出指令向選中的計(jì)數(shù)器端口地址中寫入一個(gè)計(jì)數(shù)初值,初值可以是8位數(shù)據(jù),也可以是16位數(shù)據(jù)。若是8位數(shù),只要用一條輸出指令就可完成初值的設(shè)置。如果是16位數(shù),則必須用兩條輸出指令來完成,且先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。注意,計(jì)數(shù)初值為0時(shí),也要分成兩次寫入,因?yàn)樵诙M(jìn)制計(jì)數(shù)時(shí),它表示65536,BCD計(jì)數(shù)時(shí),它表示10000。說明:由于3個(gè)計(jì)數(shù)器分別具有獨(dú)立的編程地址,而控制字寄存器本身的內(nèi)容又確定了所控制的寄存器的序號,因此對3個(gè)計(jì)數(shù)器通道的編程沒有先后順序的規(guī)定,可任意選擇某一個(gè)計(jì)數(shù)器通道進(jìn)行初始化編理,只要符合先寫入控制字,后寫入計(jì)數(shù)初值的規(guī)定即可?!?-18253的工作原理——初始化編程步驟和門控信號的功能

20例如,某微機(jī)系統(tǒng)的8253的3個(gè)計(jì)數(shù)器的端口地址分別為3F0H、3F2H和3F4H,控制字寄存器的端口地址為3F6H,要求8253的通道0工作于方式3,計(jì)數(shù)初值n=1234H,則初始化程序?yàn)椋?MOV AL, 00110111B ;控制字:選擇通道0,先讀/寫低字節(jié), ;后高字節(jié),方式3,BCD計(jì)數(shù)MOV DX, 3F6H ;指向控制口OUT DX, AL ;送控制字MOV AL, 34H ;計(jì)數(shù)值低字節(jié)MOV DX, 3F0H ;指向計(jì)數(shù)器0端口OUT DX, AL ;先寫入低字節(jié)MOV AL, 12H ;計(jì)數(shù)值高字節(jié)OUT DX, AL ;后寫入高字節(jié)注意:初值寫入后,經(jīng)過一個(gè)時(shí)鐘脈沖的上升沿和下降沿,才能將初值裝入實(shí)際計(jì)數(shù)器,再在GATE的控制下,對CLK引腳輸入的脈沖遞減計(jì)數(shù)?!?-18253的工作原理——初始化編程步驟和門控信號的功能

212.門控信號控制功能工作方式GATE為低電平或下降沿GATE為上升沿GATE為高電平方式0禁止計(jì)數(shù)——允許計(jì)數(shù)方式1——從初值開始計(jì)數(shù),下一個(gè)時(shí)鐘后輸出變?yōu)榈碗娖?/p>

——方式2禁止計(jì)數(shù),使輸出變高從初值開始計(jì)數(shù)允許計(jì)數(shù)方式3禁止計(jì)數(shù),使輸出變高從初值開始計(jì)數(shù)允許計(jì)數(shù)方式4禁止計(jì)數(shù)——允許計(jì)數(shù)方式5——從初值開始計(jì)數(shù)——表8-2門控信號GATE的控制功能§7-18253的工作原理——初始化編程步驟和門控信號的功能

01234522三、8253的工作方式1.方式0——計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)§7-18253的工作原理——8253的工作方式

GATE23§7-18253的工作原理——8253的工作方式

24方式0——計(jì)數(shù)結(jié)束中斷方式當(dāng)對8253的任一個(gè)通道寫入控制字,并選定工作于方式0時(shí),該通道的輸出端OUT立即變?yōu)榈碗娖健R?253能夠進(jìn)行計(jì)數(shù),門控信號GATE必須為高電平。若CPU利用輸出指令向計(jì)數(shù)通道寫入初值n(=4)時(shí),WRn變成低電平。在WRn的上升沿時(shí),n被寫入8253內(nèi)部的計(jì)數(shù)器初值寄存器。在WRn上升沿后的下一個(gè)時(shí)鐘脈沖的下降沿時(shí),才把n裝入通道內(nèi)的實(shí)際計(jì)數(shù)器中,開始進(jìn)行減1計(jì)數(shù)。也就是說,從寫入計(jì)數(shù)器初值到開始減1計(jì)數(shù)之間,有一個(gè)時(shí)鐘脈沖的延遲。此后,每從CLK引腳輸入一個(gè)脈沖,計(jì)數(shù)器就減1??偣步?jīng)過n十1個(gè)脈沖后,計(jì)數(shù)器減為0,表示計(jì)數(shù)計(jì)到§7-18253的工作原理——8253的工作方式

25終點(diǎn),計(jì)數(shù)過程結(jié)束,這時(shí)OUT引腳由低電平變成高電平。這個(gè)由低到高的正跳變信號,可以接到8259A的中斷請求輸入端,利用它向CPU發(fā)中斷請求信號。OUT引腳上的高電平信號,一直保持到對該計(jì)數(shù)器裝入新的計(jì)數(shù)值,或設(shè)置新的工作方式為止。在計(jì)數(shù)的過程小,如果GATE變?yōu)榈碗娖?,則暫停減1計(jì)數(shù),計(jì)數(shù)器保持GATE有效時(shí)的值不變,OUT仍為低電平。待GATE回到高電平后,又繼續(xù)往下計(jì)數(shù)。按方式0進(jìn)行計(jì)數(shù)時(shí),計(jì)數(shù)器只計(jì)一遍。當(dāng)計(jì)數(shù)器計(jì)到0時(shí),不會再裝入初值重新開始計(jì)數(shù),其輸出將保持高電平。若重新寫入一個(gè)新的計(jì)數(shù)初值,OUT立即變成低電平,計(jì)數(shù)器按照新的計(jì)數(shù)值開始計(jì)數(shù)。

§7-18253的工作原理——8253的工作方式

262.方式1——可編程單穩(wěn)態(tài)輸出方式§7-18253的工作原理——8253的工作方式

GATE2728方式1——可編程單穩(wěn)態(tài)輸出方式(ProgrammableOne-short)當(dāng)CPU用控制字設(shè)定某計(jì)數(shù)器工作于方式1時(shí),該計(jì)數(shù)器的輸出OUT立即變?yōu)楦唠娖?。在這種方式下,在CPU裝入計(jì)數(shù)值n后,無論GATE是高電平還是低電平,都不進(jìn)行減1計(jì)數(shù),必須等到GATE由低電平向高電平跳變,形成一個(gè)上升沿后,才能在下一個(gè)時(shí)鐘脈沖的下降沿,將n裝入計(jì)數(shù)器的執(zhí)行部件,同時(shí),輸出端OUT由高電平向低電平跳變。以后,每來一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器就開始減1操作。§7-18253的工作原理——8253的工作方式

29⑤當(dāng)計(jì)數(shù)器的值減為零時(shí),輸出端OUT產(chǎn)生由低到高的正跳變。這樣,就可在OUT引腳上得到一個(gè)負(fù)的單脈沖,單脈沖的寬度可由程序來控制,它等于時(shí)鐘脈沖的寬度乘以計(jì)數(shù)值n。⑥在計(jì)數(shù)過程中,若GATE產(chǎn)生負(fù)跳變,不會影響計(jì)數(shù)過程的進(jìn)行。但若在計(jì)數(shù)器回零前,GATE又產(chǎn)生從低到高的正跳變,則8253又將初值n裝入計(jì)數(shù)器執(zhí)行部件,重新開始計(jì)數(shù),其結(jié)果會使輸出的單脈沖寬度加寬。因此,只要計(jì)數(shù)器沒有回零,利用GATE的上升沿可以多次觸發(fā)計(jì)數(shù)器從n開始重新計(jì)數(shù),直到計(jì)數(shù)器減為0時(shí),OUT才回到高電平?!?-18253的工作原理——8253的工作方式

303.方式2——比率發(fā)生器(RateGenerator)

§7-18253的工作原理——8253的工作方式

GATE3132方式2——比率發(fā)生器(RateGenerator)

當(dāng)對某一計(jì)數(shù)通道寫入控制字,選定工作方式2時(shí),OUT端輸出高電平。如果GATE為高電平,則在寫入計(jì)數(shù)值后的下一個(gè)時(shí)鐘脈沖時(shí),將計(jì)數(shù)值裝入執(zhí)行部件。此后,計(jì)數(shù)器隨著時(shí)鐘脈沖的輸入而遞減計(jì)數(shù)。當(dāng)計(jì)數(shù)值減為1時(shí),OUT端由高電平變?yōu)榈碗娖?,待?jì)數(shù)器的值減為0時(shí),OUT引腳又回到高電平,即低電平的持續(xù)時(shí)間等于一個(gè)輸入時(shí)鐘周期。與此同時(shí),還將計(jì)數(shù)初值重新裝入計(jì)數(shù)器,開始一個(gè)新的計(jì)數(shù)過程,并由此循環(huán)計(jì)數(shù)。§7-18253的工作原理——8253的工作方式

33④如果裝入計(jì)數(shù)器的初值為n,那么在OUT引腳上,每隔n個(gè)時(shí)鐘脈沖就產(chǎn)生一個(gè)負(fù)脈沖,其寬度與時(shí)鐘脈沖的周期相同,頻率為輸入時(shí)鐘脈沖頻率的n分之一。在操作過程中,任何時(shí)候都可由CPU重新寫入新的計(jì)數(shù)值,不影響當(dāng)前計(jì)數(shù)過程的進(jìn)行。當(dāng)計(jì)數(shù)值減為0時(shí),一個(gè)計(jì)數(shù)周期結(jié)束,8253將按新寫入的計(jì)數(shù)值n進(jìn)行計(jì)數(shù)。在計(jì)數(shù)過程中,當(dāng)GATE變?yōu)榈碗娖綍r(shí),使OUT變?yōu)楦唠娖?,禁止?jì)數(shù);當(dāng)GATE從低電平變?yōu)楦唠娖剑珿ATE端產(chǎn)生上升沿,則在下一個(gè)時(shí)鐘脈沖時(shí),把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,從初值開始遞減計(jì)數(shù),并循環(huán)進(jìn)行。需要產(chǎn)生連續(xù)的負(fù)脈沖序列信號時(shí),可使8253工作于方式2。

§7-18253的工作原理——8253的工作方式

344.方式3——方波發(fā)生器(SquareWaveGenerator)

§7-18253的工作原理——8253的工作方式

GATE3536方式3——方波發(fā)生器(SquareWaveGenerator)

方式3和方式2的工作相類似,但從輸出端得到的不是序列負(fù)脈沖,而是對稱的方波或基本對稱的矩形波。當(dāng)輸入控制字后,OUT端輸出變?yōu)楦唠娖?。如果GATE為高電平,則在寫入計(jì)數(shù)值后的下一個(gè)時(shí)鐘脈沖時(shí),將計(jì)數(shù)值裝入執(zhí)行部件,并開始計(jì)數(shù)。如果寫入計(jì)數(shù)器的初值為偶數(shù),則當(dāng)8253進(jìn)行計(jì)數(shù)時(shí),每輸入一個(gè)時(shí)鐘脈沖,均使計(jì)數(shù)值減2。計(jì)數(shù)值減為0時(shí),OUT輸出引腳由高電平變成低電平,同時(shí)自動重新裝入計(jì)數(shù)初值,繼續(xù)進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)值減為0時(shí),OUT引腳又回到高電平,同時(shí)再一次將計(jì)數(shù)初值裝入計(jì)數(shù)器,開始下一輪循環(huán)計(jì)數(shù);§7-18253的工作原理——8253的工作方式

37如果寫入計(jì)數(shù)器的初值為奇數(shù),則當(dāng)輸出端OUT為高電平時(shí),第一個(gè)時(shí)鐘脈沖使計(jì)數(shù)器減1,以后每來一個(gè)時(shí)鐘脈沖,都使計(jì)數(shù)器減2,當(dāng)計(jì)數(shù)值減為0時(shí),輸出端OUT由高電平變?yōu)榈碗娖?,同時(shí)自動重新裝入計(jì)數(shù)初值繼續(xù)進(jìn)行計(jì)數(shù)。這時(shí)第一個(gè)時(shí)鐘脈沖使計(jì)數(shù)器減3,以后每個(gè)時(shí)鐘脈沖都使計(jì)數(shù)器減2,計(jì)數(shù)值減為0時(shí),OUT端又回到高電平,并重新裝入計(jì)數(shù)初值后,開始下一輪循環(huán)計(jì)數(shù)。在計(jì)數(shù)過程中,若GATE變成低電平時(shí),就迫使OUT變?yōu)楦唠娖?,并禁止?jì)數(shù),當(dāng)GATE回到高電平時(shí),§7-18253的工作原理——8253的工作方式

38重新從初值n開始進(jìn)行計(jì)數(shù)。⑦如果希望改變輸出方波的速率,CPU可在任何時(shí)侯重新裝入新的計(jì)數(shù)初值,在下一個(gè)計(jì)數(shù)周期就可按新的計(jì)數(shù)值計(jì)數(shù),從而改變方波的速率。從OUT端輸出的方波頻率都等于時(shí)鐘脈沖的頻率除以計(jì)數(shù)初值。⑧注意:當(dāng)寫入的計(jì)數(shù)初值為偶數(shù)時(shí),輸出完全對稱的方波,寫入初值為奇數(shù)時(shí),其輸出波形的高電平寬度比低電平多一個(gè)時(shí)鐘周期。§7-18253的工作原理——8253的工作方式

395.方式4—軟件觸發(fā)選通(SoftwareTriggeredStrobe)§7-18253的工作原理——8253的工作方式

GATE4041方式4——軟件觸發(fā)選通(SoftwareTriggeredStrobe)當(dāng)對8253寫入控制宇,進(jìn)入工作方式4后,OUT端輸出變?yōu)楦唠娖健H绻鸊ATE為高電平,那么,寫入計(jì)數(shù)初值后,在下一個(gè)時(shí)鐘脈沖后沿將自動把計(jì)數(shù)初值裝入執(zhí)行部件,并開始計(jì)數(shù)。當(dāng)計(jì)數(shù)值成為0時(shí),OUT端輸出變低,經(jīng)過一個(gè)時(shí)鐘周期后,又回到高電平,形成一個(gè)負(fù)脈沖。用這種方法裝入的計(jì)數(shù)初值n僅一次有效,若要繼續(xù)進(jìn)行計(jì)數(shù),必須重新裝入計(jì)數(shù)初值。§7-18253的工作原理——8253的工作方式

42⑤若在計(jì)數(shù)過程中寫入一個(gè)新的計(jì)數(shù)值,則在現(xiàn)行計(jì)數(shù)周期內(nèi)不受影響,但當(dāng)計(jì)數(shù)值回0后,將按新的計(jì)數(shù)初值進(jìn)行計(jì)數(shù),同樣也只計(jì)一次。⑥如果在計(jì)數(shù)的過程中GATE變?yōu)榈碗娖?,則停止計(jì)數(shù),當(dāng)GATE變?yōu)楦唠娖胶?,又重新將初值裝入計(jì)數(shù)器,從初值開始計(jì)數(shù),直至計(jì)數(shù)器的值減為0時(shí),從OUT端輸出一個(gè)負(fù)脈沖?!?-18253的工作原理——8253的工作方式

436.方式5—硬件觸發(fā)選通(HardwareTriggeredStrobe)

§7-18253的工作原理——8253的工作方式

GATE4445方式5—硬件觸發(fā)選通(HardwareTriggeredStrobe)

編程進(jìn)入工作方式5后,OUT端輸出高電平。當(dāng)裝入計(jì)數(shù)值n后,不管GATE是高電平還是低電平,減1計(jì)數(shù)器都不會工作。一定要等到從GATE引腳上輸入一個(gè)從低到高的正跳變信號時(shí),才能在下一個(gè)時(shí)鐘脈沖后沿把計(jì)數(shù)初值裝入執(zhí)行部件,并開始減1計(jì)數(shù)。當(dāng)計(jì)數(shù)器的值減為0時(shí),輸出端OUT產(chǎn)生一個(gè)寬度為一個(gè)時(shí)鐘周期的負(fù)脈沖,然后OUT又回到高電平。計(jì)數(shù)器回0后,8253又自動將計(jì)數(shù)值n裝入執(zhí)行部件,但并不開始計(jì)數(shù),要等到GATE端輸入正跳變后,才又開始減1計(jì)數(shù)。計(jì)數(shù)器在計(jì)數(shù)過程中,不受門控信號GATE電平的影響,但只要計(jì)數(shù)器未回0,GATE的上升沿卻能多次觸發(fā)§7-18253的工作原理——8253的工作方式

46計(jì)數(shù)器,使它重新從計(jì)數(shù)初值n開始計(jì)數(shù),直到計(jì)數(shù)值減為0時(shí),才輸出一個(gè)負(fù)脈沖。⑥如果在計(jì)數(shù)過程中寫入新的計(jì)數(shù)值,但沒有觸發(fā)脈沖,則計(jì)數(shù)過程不受影響。當(dāng)計(jì)數(shù)器的值減為0后,GATE端又輸入正跳變觸發(fā)脈沖時(shí),將按新寫入的初值進(jìn)行計(jì)數(shù)。7.各種方式的主要特點(diǎn)方式0:在寫入控制字后,輸出端即變低,計(jì)數(shù)結(jié)束后,輸出端由低變高,常用該輸出信號作為中斷源。也可實(shí)現(xiàn)定時(shí)或?qū)ν獠渴录M(jìn)行計(jì)數(shù)。其余5種方式寫入控制字后,輸出均變高。方式1:用來產(chǎn)生單脈沖?!?-18253的工作原理——8253的工作方式

47§7-18253的工作原理——8253的工作方式

②方式2:用來產(chǎn)生序列負(fù)脈沖,每個(gè)負(fù)脈沖的寬度與CLK脈沖的周期相同。③方式3:用于產(chǎn)生連續(xù)的方波。方式2和方式3都實(shí)現(xiàn)對時(shí)鐘脈沖進(jìn)行n分頻。④方式4、方式5:波形相同,都在計(jì)數(shù)器回0后,從OUT端輸出一個(gè)負(fù)脈沖,其寬度等于一個(gè)時(shí)鐘周期。但方式4由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)計(jì)數(shù),而方式5由硬件(門控信號GATE)觸發(fā)計(jì)數(shù)。⑤這6種工作方式中,方式0、1和4,計(jì)數(shù)初值裝進(jìn)計(jì)數(shù)器后,僅一次有效。如果要通道再次按此方式工作,必須重新裝入計(jì)數(shù)值。對于方式2、3和5,在減1計(jì)數(shù)到0值后,8353會自動將計(jì)數(shù)值重裝進(jìn)計(jì)數(shù)器。48工作方式小結(jié)方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N0149編程原則:①設(shè)置初值前必須先寫控制字②初值設(shè)置要符合控制字中的格式規(guī)定編程命令有兩類:①讀出命令②寫入命令

設(shè)置控制字命令設(shè)置初始值命令鎖存命令

501寫入方式控制字計(jì)數(shù)器讀寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211非法00計(jì)數(shù)器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進(jìn)制1十進(jìn)制控制字寫入控制字I/O地址(A1A0=11)512寫入計(jì)數(shù)值選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進(jìn)制(BCD碼)計(jì)數(shù)值范圍:0000~99990000代表最大值10000計(jì)數(shù)值寫入計(jì)數(shù)器各自的I/O地址52§8-28253的應(yīng)用舉例一、8253定時(shí)功能的應(yīng)用例子1.用8253產(chǎn)生各種定時(shí)波形在某個(gè)以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地址為310H,所用的時(shí)鐘脈沖頻率為1MHz。要求3個(gè)計(jì)數(shù)通道分別完成以下功能:⑴通道0工作于方式3,輸出頻率為2kHz的方波;⑵通道1產(chǎn)生寬度為480us的單脈沖;⑶通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26?!?-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

53用8253產(chǎn)生各種定時(shí)波形§8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

CBA54分析:由圖可見,8253芯片的片選信號CS由74LS138構(gòu)成的地址譯碼電路產(chǎn)生,只有當(dāng)M/IO=0,A9A8A7A6A5=11000時(shí),譯碼器才能工作,當(dāng)A4A3A0=100時(shí),Y4=0,使8253的片選信號CS有效,選中偶地址端口,端口基地址為310H。CPU的A2A1分別與8253的A1A0相連,用于8253芯片內(nèi)部尋址,使8253的4個(gè)端口地址分別為310H、312H、3l4H和316H。8253的8根數(shù)據(jù)線D7~D0必須與CPU的低8位數(shù)據(jù)總線D7~D0相連。另外,8253的RD、WR腳分別與CPU的相應(yīng)引腳相連。3個(gè)通道的CLK引腳連在一起,均由頻率為1MHz(周期為1μs)的時(shí)鐘脈沖驅(qū)動?!?-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

55通道0:工作于方式3,即構(gòu)成一個(gè)方波發(fā)生器,它的控制端GATE0須接+5V,為了輸出2kHz的連續(xù)方波,應(yīng)使時(shí)間常數(shù):

N0=1MHz/2kHz=500。通道1:工作于方式1,即構(gòu)成一個(gè)單穩(wěn)態(tài)電路,由GATE1的正跳變觸發(fā),輸出一個(gè)寬度由時(shí)間常數(shù)決定的負(fù)脈沖。此功能一次有效,需要再形成一個(gè)脈沖時(shí),不但GATE1腳上要有觸發(fā),通道也需重新初始化。需輸出寬度為480us的單脈沖時(shí),應(yīng)取時(shí)間常數(shù):

N1=480us/1us=480。通道2:工作于方式5,即由GATE2的正跳變觸發(fā)減1計(jì)數(shù),在計(jì)到0時(shí)形成一個(gè)寬度與時(shí)鐘周期相同的負(fù)脈沖。此后,若GATE2腳上再次出現(xiàn)正跳變,又能產(chǎn)生一個(gè)負(fù)脈沖。這里假設(shè)預(yù)置的時(shí)間常數(shù)為26?!?-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

56對3個(gè)通道的初始化程序如下:

;通道0初始化程序 MOV DX,316H ;控制口地址 MOV AL,00110111B;通道0控制字,先讀寫低字節(jié),后高字節(jié),方式3,BCD計(jì)數(shù) OUT DX,AL ;寫入方式字 MOV DX,310H ;通道0口地址 MOV AL,00H ;低字節(jié) OUT DX,AL ;先寫入低字節(jié) MOV AL,05H ;高字節(jié) OUT DX,AL ;后寫入高字節(jié)§8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

57

;通道1初始化程序 MOV DX,316H ;控制口地址 MOV AL,01110011B ;通道1控制字,先讀寫低字節(jié),后高字節(jié),方式1,BCD計(jì)數(shù) OUT DX,AL ;寫入方式字 MOV DX,312H ;通道1口地址 MOV AL,80H ;低字節(jié) OUT DX,AL ;先寫入低字節(jié) MOV AL,04H ;高字節(jié) OUT DX,AL ;后寫入高字節(jié)§8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

58

;通道2初始化程序 MOV DX,316H ;控制口地址 MOV AL,10011011B ;通道2控制字,只讀寫低字節(jié),方式5,BCD計(jì)數(shù) OUT DX,AL ;寫入方式字 MOV DX,314H ;通道2口地址 MOV AL,26H ;低字節(jié) OUT DX,AL ;只寫入低字節(jié) §8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

5960圖示出了8253用作方波發(fā)生器與8088總線的接口方法。圖中僅用了A7~A2作為8253片選地址線,產(chǎn)生片選信號Y0與8253的CS端相連。CS信號與A1、A0地址線相配合決定了0、1、2#計(jì)數(shù)器及控制寄存器的地址號分別為40H、41H、42H、43H。要求2#計(jì)數(shù)器用作方波發(fā)生器產(chǎn)生40kHz方波輸出。已知CLK2時(shí)鐘端輸入信號頻率為2MHz。根據(jù)上述要求2#計(jì)數(shù)器應(yīng)設(shè)置成方式3工作狀態(tài),按雙字節(jié)傳送的50分頻計(jì)數(shù)值應(yīng)為0032H。此時(shí),2#計(jì)數(shù)器的初始化程序如下:61

MOVAL,10110110B;對2#計(jì)數(shù)器送控制字。OUT43H,ALMOVAL,32H ;對送50分頻計(jì)數(shù)值0032H的低8位。OUT42H,ALXORAL,AL ;送高8位值為00H。OUT42H,AL

622.控制LED的點(diǎn)亮或熄滅用8253來控制一個(gè)LED發(fā)光二極管的點(diǎn)亮和熄滅,要求點(diǎn)亮10秒鐘后再讓它熄滅10秒鐘,并重復(fù)上述過程。加上適當(dāng)?shù)尿?qū)動電路后,便可以用在交通紅綠燈控制和燈塔等場合?!?-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

2MHz63分析:假設(shè)這是一個(gè)8086系統(tǒng),8253的各端口地址為81H、83H、85H和87H。8253的8根數(shù)據(jù)線D7~D0與CPU的高8位數(shù)據(jù)線D15~D8相連,這樣選中奇地址瑞口。通道1的OUT1與LED相連,當(dāng)它為高電平時(shí),LED點(diǎn)亮,低電平時(shí)LED熄滅。只要對8253編程,使OUT1輸出周期為20秒,占空比為1:1的方波,就能使LED交替地點(diǎn)亮和熄滅10秒鐘。若將頻率為2MHz(周期為0.5us)的時(shí)鐘直接加到CLK1端,則OUT1輸出的脈沖周期最大只有32.768ms,達(dá)不到20秒的要求。為此,需用幾個(gè)通道級連的方案來解決問題?!?-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

64③如圖所示,將頻率為2MHz的時(shí)鐘信號加在CLK0輸入端,并讓通道0工作于方式2。若選擇計(jì)數(shù)初值N0=5000,則從OUT0端可得到序列負(fù)脈沖,其頻率為2MHz/5000=400Hz,周期為2.5ms。再把該信號連到CLK1輸入端,并使通道1工作于方式3。為了使OUT1輸出周期為20秒(頻率為1/20=0.05Hz)的方波,應(yīng)取時(shí)間常數(shù)N1=400Hz/0.05Hz=8000。

§8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

65初始化程序如下: MOV AL,00110101B ;通道0控制字,先讀寫低字節(jié), ;后高字節(jié),方式2,BCD計(jì)數(shù) OUT 87H,AL ;寫入方式字 MOV AL,00H ;低字節(jié) OUT 81H,AL ;先寫入低字節(jié) MOV AL,50H ;高字節(jié) OUT 81H,AL ;后寫入高字節(jié) MOV AL,01110111B ;通道1控制字,先讀寫低字節(jié), ;后高字節(jié),方式3,BCD計(jì)數(shù) OUT 87H,AL ;寫入方式字 MOV AL,00H ;低字節(jié) OUT 83H,AL ;先寫入低字節(jié) MOV AL,80H ;高字節(jié) OUT 83H,AL ;后寫入高字節(jié)§8-28253的應(yīng)用舉例——8253定時(shí)功能的應(yīng)用例子

66二、8253計(jì)數(shù)功能的應(yīng)用例子1.硬件電路設(shè)計(jì)假設(shè)一個(gè)自動化工廠需要統(tǒng)計(jì)在流水線上所生產(chǎn)的某種產(chǎn)品的數(shù)量,可采用8086微處理器和8253等芯片來設(shè)計(jì)實(shí)現(xiàn)這種自動計(jì)數(shù)的系統(tǒng)。這種自動計(jì)數(shù)系統(tǒng)的電路和控制軟件的設(shè)計(jì)如下:§8-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

OUT1圖7-1267自動計(jì)數(shù)系統(tǒng)由8086CPU控制,8253作計(jì)數(shù)器,8259A作中斷控制器,若干其它電路。圖7-12僅給出了計(jì)數(shù)器部分的電路圖。計(jì)數(shù)電路:一個(gè)紅外LED發(fā)光管,一個(gè)復(fù)合型光電晶體管,兩個(gè)施密持觸發(fā)器74LS14,一片8253芯片。用8253的通道1計(jì)數(shù)。工作過程:當(dāng)LED發(fā)光管與光電管之間無工件通過時(shí),LED發(fā)出的光能照到光電管上,使光電晶體管導(dǎo)通,集電極變?yōu)榈碗娖?。此信號?jīng)施密特觸發(fā)器驅(qū)動整形后,送到8253的CLK1,使CLK1端變成低電平。當(dāng)LED與光電管之間有工件通過時(shí),LED發(fā)出的光被擋住,照不到光電管上,使光電管截止,其集電極輸出高電平,§8-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

分析:68從而使CLK1端變成高電平。待工件通過后,CLK1端又回到低電平。即每通過一個(gè)工件,就從CLK1端輸入一個(gè)正脈沖,8253對此脈沖計(jì)數(shù),就可統(tǒng)計(jì)出工件個(gè)數(shù)。兩個(gè)施密持觸發(fā)反相器74LS14的作用,是將光電晶體管集電極上的緩慢上升信號,變換成滿足計(jì)數(shù)電路要求的TTL電平信號。④8253的片選輸入CS端接到I/O端口地址譯碼器的一個(gè)輸出端,RD和WR端分別與CPU的RD和WR信號相連。8253的數(shù)據(jù)線D7~D0與CPU的低8位地址線相連,這時(shí)I/O端口地址必須是偶地址,所以把A1和A0分別與CPU地址總線的A2和A1相連。8253通道1的門控輸入端GATE1接+5V高電平,即始終允許計(jì)數(shù)器工作。通道1的輸出端OUT1接到8259A的一個(gè)中斷請求輸入端IR0。§8-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

692.初始化編程編程時(shí),可選擇計(jì)數(shù)器1工作于方式0,按BCD碼計(jì)數(shù),先讀/寫低字節(jié),后讀/寫高字節(jié),根據(jù)圖8-3可得到控制字為01110001B。如選取計(jì)數(shù)初值n=499,則經(jīng)過n+1個(gè)脈沖,也就是500個(gè)脈沖OUT1端輸出一個(gè)正跳變。它作用于8259A的IR0端,通過8259A的控制,向CPU發(fā)出一次中斷請求,表示汁滿了500個(gè)數(shù),在中斷服務(wù)程序中使工件總數(shù)加上500。中斷服務(wù)程序執(zhí)行完后,返回主程序,這時(shí)需要由程序把計(jì)數(shù)初值499再次裝入計(jì)數(shù)器1,才能繼續(xù)進(jìn)行計(jì)數(shù)。§8-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

70設(shè)8253的4個(gè)端口地址分別為F0H,F(xiàn)2H.F4H和F6H,則初始化程序?yàn)椋?MOV AL,01110001B ;控制字 OUT 0F6H,AL MOV AL,99H OUT 0F2H,AL ;計(jì)數(shù)值低字節(jié)送計(jì)數(shù)器1 MOV AL,04H OUT 0F2H,AL ;計(jì)數(shù)值低字節(jié)送計(jì)數(shù)器1§8-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

713.計(jì)數(shù)值的讀取在讀計(jì)數(shù)器現(xiàn)行值時(shí),計(jì)數(shù)過程仍在進(jìn)行,而且不受CPU的控制。因此,在CPU讀取計(jì)數(shù)器的輸出值時(shí),可能計(jì)數(shù)器的輸出正在發(fā)生改變,即數(shù)值不穩(wěn)定,可能導(dǎo)致錯(cuò)誤的讀數(shù)。為了防止這種情況發(fā)生,必須在讀數(shù)前設(shè)法終止計(jì)數(shù)或?qū)⒂?jì)數(shù)器輸出端的現(xiàn)行值鎖存??刹捎孟旅鎯煞N方法:

方法一:在讀數(shù)前用外部硬件切斷計(jì)數(shù)脈沖信號,或者使門控信號變?yōu)榈碗娖剑仁?253停止計(jì)數(shù)。這種方法的缺點(diǎn)是需要硬件電路配合。此外,由于外部事件源被切斷或正常的計(jì)數(shù)過程被禁止,干擾了實(shí)際的計(jì)數(shù)過程。

方法二:先用計(jì)數(shù)器鎖存命令鎖存現(xiàn)行計(jì)數(shù)值,然后將它讀出。由于每個(gè)計(jì)數(shù)通道都有一個(gè)16位輸出鎖存器,可在任何時(shí)刻將計(jì)數(shù)器的現(xiàn)行值鎖住?!?-28253的應(yīng)用舉例——8253計(jì)數(shù)功能的應(yīng)用例子

72計(jì)數(shù)值的讀取方法二:當(dāng)需要讀取計(jì)數(shù)器的現(xiàn)行值時(shí),先向8253送一個(gè)控制字,并使控制字中的RL1RL0=00,現(xiàn)行計(jì)數(shù)值立即被鎖存起來。該控制字中的SC1SC0用來確定要鎖存的是3個(gè)計(jì)數(shù)器中的哪一個(gè)??刂谱值牡?位對鎖存命令無影響,可以將它們置為0。讀取計(jì)數(shù)值的方法由對8253進(jìn)行初始化編程時(shí)所寫入的控制字中的RL1RL0位來確定,當(dāng)RL1RL0=01時(shí),只讀取計(jì)數(shù)器的低字節(jié),RL1RL0=10時(shí),只讀取計(jì)數(shù)器的高字節(jié),RL1RL0=11時(shí),先讀寫計(jì)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論