




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章計(jì)數(shù)/定時(shí)技術(shù)定時(shí)與計(jì)數(shù)技術(shù)及應(yīng)用定時(shí)/計(jì)數(shù)器——8253本章內(nèi)容了解定時(shí)/計(jì)數(shù)技術(shù)的應(yīng)用情況掌握8253的連接與編程學(xué)習(xí)目的熟習(xí)8253的工作方式6.1概述
定時(shí)計(jì)數(shù)技術(shù)在計(jì)算機(jī)中具有極為重要的作用。微機(jī)控制系統(tǒng)中,常要按一定的采樣周期對(duì)處理對(duì)象進(jìn)行采樣或定時(shí)檢測某些參數(shù)等,用計(jì)數(shù)器對(duì)外部事件計(jì)數(shù),即記錄外設(shè)提供的脈沖個(gè)數(shù)。在實(shí)時(shí)操作系統(tǒng)和多任務(wù)操作系統(tǒng)中,可以利用定時(shí)器產(chǎn)生的定時(shí)中斷進(jìn)行進(jìn)程調(diào)度。
定時(shí)器和計(jì)數(shù)器都由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成。前者記錄高精度晶振脈沖信號(hào),因此可以輸出準(zhǔn)確的時(shí)間間隔,稱為定時(shí)器,而當(dāng)記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號(hào)時(shí),它主要反映脈沖的個(gè)數(shù),稱為計(jì)數(shù)器。
定時(shí)的方法有3種:軟件定時(shí)、不可編程的硬件定時(shí)和可編程的定時(shí)。1.軟件定時(shí)
﹡CPU執(zhí)行每條指令需要一定的時(shí)間,重復(fù)執(zhí)行一些指令會(huì)占用一段固定的時(shí)間,適當(dāng)?shù)剡x取指令和循環(huán)次數(shù)便很容易實(shí)現(xiàn)定時(shí)功能﹡這種方法不需要增加硬件,可通過編程來控制和改變定時(shí)時(shí)間,靈活方便。﹡缺點(diǎn)是CPU重復(fù)執(zhí)行的這段程序的目的僅為延時(shí),從而降低了CPU利用率。2.不可編程的硬件定時(shí)
采用數(shù)字電路中的分頻器將系統(tǒng)時(shí)鐘進(jìn)行適當(dāng)?shù)姆诸l產(chǎn)生需要的定時(shí)信號(hào);也可以采用單穩(wěn)電路或簡易定時(shí)電路(如常用的555定時(shí)器)由外接RC電路控制定時(shí)時(shí)間。定時(shí)范圍不易由程序來改變和控制,使用不甚方便,而且定時(shí)精度也不高。3.可編程的定時(shí)采用軟、硬件相結(jié)合的方法,用可編程定時(shí)計(jì)數(shù)器芯片構(gòu)成一個(gè)方便靈活的定時(shí)計(jì)數(shù)電路。 這種電路不僅定時(shí)值和定時(shí)范圍可用程序確定和改變,而且具有多種工作方式,可以輸出多種控制信號(hào) 由微處理器的時(shí)鐘信號(hào)提供時(shí)間基準(zhǔn),故計(jì)時(shí)也精確穩(wěn)定。如Intel8253。
6.2Intel8253可編程定時(shí)器/計(jì)數(shù)器6.2.18253的基本功能和內(nèi)部結(jié)構(gòu)(1)3個(gè)獨(dú)立的16位計(jì)數(shù)器,最大計(jì)數(shù)范圍為1~65536;(2)每個(gè)計(jì)數(shù)器均可以按二進(jìn)制或二—十進(jìn)制計(jì)數(shù);(3)計(jì)數(shù)器速率可達(dá)2MHz;(4)可編程6種不同的工作方式;(5)所有輸入和輸出都與TTL兼容。
8253具有較好的通用性和使用靈活性,幾乎適合于任何一種微處理器組成的系統(tǒng)。
1.8253PIT的基本功能2.8253的內(nèi)部結(jié)構(gòu)圖6.18253的內(nèi)部結(jié)構(gòu)示意圖(1)數(shù)據(jù)總線緩沖器
8位、雙向、三態(tài)的緩沖器,可直接掛在數(shù)據(jù)總線上。CPU通過數(shù)據(jù)總線D0~D7傳送如下信息:
①向控制寄存器寫入控制字。②向某計(jì)數(shù)器寫入計(jì)數(shù)初值。③CPU通過緩沖器讀取計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值(2)讀/寫控制邏輯
決定三個(gè)計(jì)數(shù)器和控制字寄存器中哪一個(gè)能進(jìn)行工作,并控制內(nèi)部總線上數(shù)據(jù)傳送的方向。
①CS片選信號(hào),由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。②RD讀信號(hào),有效時(shí)允許CPU讀取所選定的計(jì)數(shù)器中的內(nèi)容。③WR寫信號(hào),有效時(shí)允許CPU將計(jì)數(shù)初值寫入所選中的計(jì)數(shù)器中或?qū)⒖刂谱謱懭肟刂萍拇嫫髦小"蹵1A0端口選擇信號(hào), 當(dāng)A1A0=00,01,10時(shí)表示分別選中計(jì)數(shù)器0,1,2當(dāng)A1A0=11時(shí)選中控制寄存器(3)控制寄存器接收從CPU來的控制字, 并由控制字的D7、D6位的編碼決定該控制字寫入哪個(gè)計(jì)數(shù)器的控制寄存器, 控制寄存器只能寫入,不能讀出。
(4)計(jì)數(shù)器8253所能實(shí)現(xiàn)的定時(shí)時(shí)間,取決于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即:定時(shí)時(shí)間=時(shí)鐘脈沖周期Tc×預(yù)置的計(jì)數(shù)初值n。外部輸入到CLK引腳上的時(shí)鐘脈沖頻率不能大于2MHz圖6.2計(jì)數(shù)器內(nèi)部邏輯圖控制單元初值寄存器減1計(jì)數(shù)器輸出鎖存器內(nèi)部總線CLKGATEOUT控制單元初值寄存器減1計(jì)數(shù)器輸出鎖存器內(nèi)部總線CLK6.2.28253的引腳信號(hào)圖6.38253PIT管腳圖計(jì)
數(shù)
器
0計(jì)
數(shù)
器
1計(jì)
數(shù)
器
2數(shù)
據(jù)
線控
制
線電
源
線
8253是一片具有3個(gè)獨(dú)立通道的16位計(jì)數(shù)器/定時(shí)器芯片,使用單一+5V電源,24引腳雙列直插式封裝,如圖6.3所示1.與CPU的接口信號(hào)(1)D0~D7——三態(tài)雙向數(shù)據(jù)線。與CPU數(shù)據(jù)總線相連, 用于傳遞CPU與8253之間的數(shù)據(jù)信息、控 制信息和狀態(tài)信息;(2)CS——片選信號(hào)(ChipSelect),輸入,低電平有效(3)WR——寫信號(hào),輸入,低電平有效,用于控制CPU對(duì) 8253的寫操作,可與A1,A0信號(hào)配合以決定 是寫入控制字還是計(jì)數(shù)初值;(4)RD——讀信號(hào),輸入,低電平有效。用于控制CPU 對(duì)8253的讀操作,可與A1,A0信號(hào)配合讀取 某個(gè)計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值;(5)A0,A1-——地址輸入線。用于8253內(nèi)部尋址的4個(gè) 端口,即3個(gè)計(jì)數(shù)器和一個(gè)控制字寄存 器。一般與CPU低位的地址線相連
。A1A0寄存器選擇和操作000000001011110000×100001111×100110011××01010101××寫入計(jì)數(shù)器0寫入計(jì)數(shù)器1寫入計(jì)數(shù)器2寫入控制字寄存器讀計(jì)數(shù)器0讀計(jì)數(shù)器1讀計(jì)數(shù)器2無操作
禁止使用無操作CSRDWR表6.18253讀/寫操作邏輯表
2.與外部設(shè)備的接口信號(hào)(1)CLK0(CLK1,CLK2)——時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào),加在CLK引腳的輸入時(shí)鐘周期不得小于380ns;(2)GATE0(GATE1,GATE2)——門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)或停止。當(dāng)GATE為高電平時(shí),允許計(jì)數(shù)器工作,當(dāng)GATE為低電平時(shí),禁止計(jì)數(shù)器工作;(3)OUT0(OUT1,OUT2-)-——計(jì)數(shù)輸出端。在不同工作方式中,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0時(shí),OUT引腳輸出相應(yīng)的信號(hào)。
6.2.38253的控制字與初始化編程1.8253的控制字8253的控制字有4個(gè)主要功能:*
選擇計(jì)數(shù)器;*
確定計(jì)數(shù)器數(shù)據(jù)的讀寫格式;*
確定計(jì)數(shù)器的工作方式;*
確定計(jì)數(shù)器計(jì)數(shù)的數(shù)制。
控制字的格式如圖6.4所示D7D6D5D4D3D2D1D0計(jì)數(shù)器讀/寫格式工作方式數(shù)制0—二進(jìn)制1—二―十進(jìn)制(BCD)000方式0001方式1
10方式2
11方式3100方式4101方式500計(jì)數(shù)器鎖存命令10只讀/寫高8位01只讀/寫低8位11首先寫低8位然后寫高8位00選擇計(jì)數(shù)器001選擇計(jì)數(shù)器110選擇計(jì)數(shù)器211非法選擇圖6.48253控制字格式注:圖中×可以是0,也可以是1,一般取0(1)計(jì)數(shù)器選擇(D7D6)控制字的最高兩位決定這個(gè)控制字是哪一個(gè)計(jì)數(shù)器的控制字。(2)讀/寫格式(D5D4)00—計(jì)數(shù)器鎖存命令,則把當(dāng)前計(jì)數(shù)值鎖存10—只讀/寫高8位,低8位就自動(dòng)為001—只讀/寫低8位,高8位自動(dòng)置0;11—先讀/寫低8位,后讀/寫高8位(3)工作方式(D3D2D1)
8253的每個(gè)計(jì)數(shù)器可以有6種不同的工作方式,由這3位決定選擇其中的一種。(4)數(shù)制選擇(D0)8253的每個(gè)通道都有兩種計(jì)數(shù)制:二進(jìn)制和二–十進(jìn)制(BCD碼)計(jì)數(shù),由D0位決定。選擇二進(jìn)制時(shí)(D0=0),寫入初值的范圍為0000H~FFFFH,其中0000H是最大值,代表65536選擇二–十進(jìn)制時(shí),寫入初值范圍為0000~9999,其中0000代表最大值10000。2.8253的初始化編程
剛接通電源時(shí),8253芯片通道都處于未定義狀態(tài),在使用之前,必須用程序把它們初始化為所需的特定模式,這個(gè)過程稱為初始化編程。
(1)寫入控制字
用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作方式和計(jì)數(shù)格式。
(2)寫入計(jì)數(shù)初值﹡若是8位數(shù),只要用一條輸出指令就可完 成初值的設(shè)置。﹡如果是16位數(shù),則必須用兩條輸出指令來 完成,而且規(guī)定先送低8位數(shù)據(jù),后 送高8位數(shù)據(jù)。﹡計(jì)數(shù)初值為0時(shí),也要分成兩次寫入。﹡采用二進(jìn)制計(jì)數(shù)時(shí)0表示65536,采用BCD 計(jì)數(shù)時(shí)0表示10000。
8253工作過程中,CPU可讀取任一通道的計(jì)數(shù)值。CPU讀到的是執(zhí)行輸入指令瞬間計(jì)數(shù)器的當(dāng)前值。但8253的計(jì)數(shù)器是16位,所以要分2次讀至CPU。因?yàn)槿舨绘i存的話,在前后兩次執(zhí)行輸入指令的過程中,計(jì)數(shù)值可能已經(jīng)變化了。鎖存當(dāng)前計(jì)數(shù)值有下面兩種方法:①利用GATE信號(hào)使計(jì)數(shù)過程暫停。②向8253寫入一個(gè)方式控制字,令8253通道的鎖存器鎖存。在某微機(jī)系統(tǒng)中,8253的3個(gè)計(jì)數(shù)器的端口地址分別為3F0H、3F2H和3F4H,控制字寄存器的端口地址為3F6H,要求8253的通道0工作于方式3,BCD計(jì)數(shù),并已知對(duì)它寫入的計(jì)數(shù)初值n=1234(十進(jìn)制數(shù)),則初始化程序?yàn)椋?/p>
MOVAL,00110111B;控制字:選擇通道0,先讀/寫低字節(jié),
;后高字節(jié),方式3,BCD計(jì)數(shù)MOVDX,3F6H;指向控制口OUTDX,AL;送控制字MOVAL,34H;計(jì)數(shù)值低字節(jié),代表00110100BCDMOVDX,3F0H;指向計(jì)數(shù)器0端口OUTDX,AL;寫入低字節(jié)MOVAL,12H;計(jì)數(shù)值高字節(jié),代表00010010BCDOUTDX,AL;寫入高字節(jié)6.2.48253的工作方式8253是一種面向微機(jī)系統(tǒng)的專用接口芯片,它的每一個(gè)計(jì)數(shù)器都可以按照控制字的規(guī)定有6種不同的工作方式,每種工作方式中都提供了以下三種情況:*
正常計(jì)數(shù)的波形圖;*
正在計(jì)數(shù)過程中改變門控信號(hào)GATE后對(duì)整個(gè)計(jì) 數(shù)工作的影響;*
正在計(jì)數(shù)的過程中改變計(jì)數(shù)值對(duì)整個(gè)計(jì)數(shù)工作的 影響。方式0——計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)方式0的工作時(shí)序如圖6.5(a)(b)(c)所示。圖6.5(a)方式0正常計(jì)數(shù)CW=10LSB=3WRCLKGATEOUT322210FFCW=10LSB=3WRCLKGATEOUT322210FF圖6.5(b)方式0時(shí)GATE信號(hào)的作用圖6.5(c)方式0時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值注意8253寫計(jì)數(shù)值是由CPU的WR信號(hào)控制的,在WR信號(hào)的上升沿,計(jì)數(shù)值被送入對(duì)應(yīng)計(jì)數(shù)器的計(jì)數(shù)值寄存器,在WR信號(hào)上升沿之后的下一個(gè)CLK脈沖才開始計(jì)數(shù)。如果設(shè)置計(jì)數(shù)初值N,輸出OUT是在寫入命令執(zhí)行后,第N+1個(gè)CLK脈沖之后,才變?yōu)楦唠娖降?。后面的方?、2、4、5也有同樣的特點(diǎn)。2.方式1——可編程的單穩(wěn)態(tài)觸發(fā)器(ProgrammableOneShort)方式1的工作波形如圖6.6(a)、(b)、(c)所示。
圖6.6(a)方式1正常計(jì)數(shù)LSB=3WRCLKGATEOUT3210FF32CW=12LSB=3WRCLKGATEOUT3210FF32CW=12圖6.6(b)方式1時(shí)GATE信號(hào)的作用LSB=3WRCLK321321CW=120GATEOUT圖6.6(c)方式1時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=4LSB=2WRCLKGATEOUT4210FF3FECW=12LSB=43.方式2——比率發(fā)生器、分頻器(RateGenerator)方式2用門控信號(hào)達(dá)到同步計(jì)數(shù)的目的,波形圖如圖6.7(a)、(b)、(c)、(d)所示。圖6.7(a)方式2正常計(jì)數(shù)圖6.7(b)方式2時(shí)GATE信號(hào)的作用4CW=14LSB=5WRCLKGATEOUT3214534CW=14LSB=4LSB=5WRCLKGATEOUT321453圖6.7(c)方式2時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值4.方式3——方波發(fā)生器(SquareWaveGenerator)方式3的工作過程同方式2,只是輸出的脈寬不同,波形如圖6.8(a)、(b)、(c)、(d)所示。圖6.8(a)方式3計(jì)數(shù)值為偶數(shù)時(shí)的波形圖6.8(b)方式3計(jì)數(shù)值為奇數(shù)時(shí)的波形圖6.8(c)方式3GATE信號(hào)的作用圖6.8(d)方式3計(jì)數(shù)過程中改變計(jì)數(shù)值5.方式4——軟件觸發(fā)選通方式(SoftwareTriggeredStrobe)GATE門控信號(hào)只是用來允許或停止定時(shí)操作,定時(shí)的執(zhí)行過程由裝入的初值決定,波形圖如圖6.9(a)、(b)、(c)所示。圖6.9(a)方式4正常計(jì)數(shù)圖6.9(b)方式4GATE信號(hào)的作用圖6.9(c)方式4計(jì)數(shù)過程中改變計(jì)數(shù)值6.方式5——硬件觸發(fā)選通方式(HardwareTriggeredStrobe)方式5為硬件觸發(fā)選通方式,完全由GATE端引入的觸發(fā)信號(hào)控制定時(shí)和計(jì)數(shù),波形圖如圖6.10(a)、(b)、(c)所示。圖6.10(a)方式5正常計(jì)數(shù)OUTLSB=3WRCLKGATECW=1A3210FF3圖6.10(b)方式5時(shí)GATE信號(hào)的作用圖6.10(c)方式5時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值例6.16.2.5應(yīng)用舉例1.8253定時(shí)功能的應(yīng)用
設(shè)某應(yīng)用系統(tǒng)中,提供一個(gè)頻率為10kHz的時(shí)鐘信號(hào),要求設(shè)計(jì)一個(gè)100ms定時(shí)器,每隔100ms向CPU發(fā)出一次中斷請(qǐng)求信號(hào)。
分析:采用8253定時(shí)器的通道0可以實(shí)現(xiàn)這一要求。將8253芯片的CLK0接到系統(tǒng)的10kHz時(shí)鐘上,OUT0輸出接到CPU的中斷請(qǐng)求線上,設(shè)8253的端口地址為10H~13H,如圖6.11所示。中斷請(qǐng)求信號(hào)CPU總線OUT0圖6.118253用于定時(shí)中斷(1)選擇工作方式由于系統(tǒng)要求每隔100ms定時(shí)中斷一次,即頻率為10Hz,可選用方式2來實(shí)現(xiàn)。每到100ms,即計(jì)數(shù)器減到1時(shí),輸出端OUT0輸出一個(gè)CLK周期的低電平,向CPU申請(qǐng)中斷,同時(shí)按原設(shè)定值重新開始計(jì)數(shù),即具有計(jì)數(shù)值自動(dòng)重裝的功能。
(2)確定計(jì)數(shù)初值已知fCLK0=10kHz,則TCLK0=0.1ms,所以,計(jì)數(shù)初值:
N=TOUT0/TCLK0=100ms/0.1ms=1000=03E8H
(3)初始化編程根據(jù)以上要求,可確定8253通道0的方式控制字為00110100B,即34H。
初始化程序段如下:
MOVAL,34H;通道0,16位計(jì)數(shù),方式2,二進(jìn)制計(jì)數(shù)OUT13H,AL;寫入方式控制字到控制字寄存器MOVAL,0E8H;計(jì)數(shù)初值低8位OUT10H,AL;寫入計(jì)數(shù)初值低8位到通道0MOVAL,03H;計(jì)數(shù)初值高8位OUT10H,AL;寫入計(jì)數(shù)初值高8位到通道0例6.22.8253計(jì)數(shù)功能的應(yīng)用在IBMPC機(jī)(8088CPU系統(tǒng))中,利用8253的通道0記錄外部事件的發(fā)生次數(shù),每輸入一個(gè)脈沖表示事件發(fā)生1次,當(dāng)事件發(fā)生100次后就向CPU提出中斷請(qǐng)求(邊沿觸發(fā))。假設(shè)8253片選信號(hào)的I/O地址范圍為200H~203H,8253的連接電路如圖6.12所示。外部事件產(chǎn)生A0A1A3~A9譯碼電路圖6.128253用于外部事件的計(jì)數(shù)
根據(jù)要求,可以選擇方式0來實(shí)現(xiàn),計(jì)數(shù)初值N=100。8253初始化程序段如下:
MOVDX,203H;設(shè)置方式控制字地址MOVAL,10H;設(shè)定通道0為工作方式0,二進(jìn)制計(jì)數(shù),只寫入
;低字節(jié)計(jì)數(shù)值OUTDX,AL
MOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項(xiàng)購買服務(wù)合同范本
- 公司聘請(qǐng)物業(yè)合同范本
- 2025年安徽道路貨運(yùn)駕駛員從業(yè)資格證考試題庫
- 前臺(tái)用工合同范本
- 辦公桌椅合同范本
- 中標(biāo)平臺(tái)合同范本
- 中鐵高速公路合同范本
- 加氣砌塊合同范本
- 勞務(wù)醫(yī)院合同范本
- 公司車輛供貨合同范例
- 2025年湖南鐵路科技職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫參考答案
- 酒店長包房租賃協(xié)議書范本
- 2025年幾內(nèi)亞水泥廠項(xiàng)目投資可行性報(bào)告
- 【道法】開學(xué)第一課 課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 口腔門診分診流程
- 提高設(shè)備基礎(chǔ)預(yù)埋螺栓一次安裝合格率
- 2025年春新外研版(三起)英語三年級(jí)下冊(cè)課件 Unit2第1課時(shí)Startup
- 2025年上半年天津市寧河區(qū)事業(yè)單位招聘12人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2024年科技節(jié)小學(xué)科普知識(shí)競賽題及答案(共100題)
- 心肺復(fù)蘇課件
- 中華民族共同體概論專家講座第一講中華民族共同體基礎(chǔ)理論
評(píng)論
0/150
提交評(píng)論