微機(jī)接口技術(shù)-第4章 定時(shí)計(jì)數(shù)技術(shù)_第1頁
微機(jī)接口技術(shù)-第4章 定時(shí)計(jì)數(shù)技術(shù)_第2頁
微機(jī)接口技術(shù)-第4章 定時(shí)計(jì)數(shù)技術(shù)_第3頁
微機(jī)接口技術(shù)-第4章 定時(shí)計(jì)數(shù)技術(shù)_第4頁
微機(jī)接口技術(shù)-第4章 定時(shí)計(jì)數(shù)技術(shù)_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第4章定時(shí)/計(jì)數(shù)技術(shù)

4.1基本概念一。定時(shí)/計(jì)數(shù)1.定時(shí)完成某一個時(shí)間段的設(shè)定,稱為定時(shí)2.計(jì)數(shù)對事件個數(shù)的測量,稱為計(jì)數(shù)3.定時(shí)和計(jì)數(shù)的關(guān)系定時(shí)的本質(zhì)就是對均勻時(shí)間段(用脈沖周期表示)的計(jì)數(shù)。二。頻率--聲音--音樂對脈沖個數(shù)的計(jì)數(shù)和時(shí)間的測量,就能測出脈沖頻率。數(shù)字錄音過程中,采樣脈沖的頻率設(shè)定需要定時(shí)和計(jì)數(shù)技術(shù)

設(shè)定聲音信號的頻率(音調(diào))和時(shí)長,就能獲得音樂三。微機(jī)系統(tǒng)中的定時(shí)內(nèi)部定時(shí):指CPU各總線周期的時(shí)間基準(zhǔn)或時(shí)序關(guān)系(設(shè)計(jì)CPU時(shí)設(shè)定的,固定的。用戶不可更改的)外部定時(shí):用戶通過某種方法獲得某一個時(shí)間段的定時(shí)。四。定時(shí)方法(指外部定時(shí)方法)軟件定時(shí):程序員利用程序執(zhí)行產(chǎn)生等待延時(shí)優(yōu)點(diǎn):不需增加硬件設(shè)備,成本低缺點(diǎn):增加CPU開銷,時(shí)間隨主機(jī)頻率改變而改變(即定時(shí)程序通用性插)

硬件定時(shí):通過通用的定時(shí)/計(jì)數(shù)器或單穩(wěn)延時(shí)電路產(chǎn)生定時(shí)或延時(shí)。優(yōu)點(diǎn):定時(shí)時(shí)間精確,定時(shí)程序通用性好。不占用CPU資源,定時(shí)時(shí)間長,使用靈活。缺點(diǎn):增加硬件成本4.2可編程定時(shí)/計(jì)數(shù)器8253/8254一。外部特性和內(nèi)部邏輯1.外部特性D0-7數(shù)據(jù)信號線/RD/WR讀寫控制信號/CS芯片選擇輸入,用來選擇芯片A1-0:地址輸入,用來選擇內(nèi)部端口

01000010010101001011001000010100110計(jì)數(shù)初值裝入計(jì)數(shù)器0寫控制器寄存器讀計(jì)數(shù)0讀計(jì)數(shù)1讀計(jì)數(shù)2A1A0CSRDWR操作功能計(jì)數(shù)初值裝入計(jì)數(shù)器2計(jì)數(shù)初值裝入計(jì)數(shù)器1表3-1

8253讀/寫操作邏輯與系統(tǒng)總線的連接方法。思考:按此連接方法,8253的四個內(nèi)部端口地址分別是什么?

/CS

A1

A0

D0-7

/RD

/WR

/IOY2

XA1

XA0

XD7-0

/XIOR

/XIOW

器T0端口(8bit)8個讀&寫&/WR/RDD0-7A0-1/CS8個同時(shí)控制8個3態(tài)門內(nèi)部選中線,用于選中1個存單元或IO端口外譯

器/XIOW/XIORXA0-1XA5--98253芯片與系統(tǒng)總線連接及T0口讀寫控制原理圖XD0-7I讀出I寫入/Y0/IOY2T1T2T3、TWT400010

000

00來自CPU中(AL)的數(shù)據(jù)執(zhí)行OUT40H,AL指令,寫8253T0端口的系統(tǒng)總線時(shí)序CLKXA9-0XREADYXD7-0XA9-5通過外部譯碼器選中8253芯片通過內(nèi)部譯碼器選中T0口XA4-2沒有使用,可以取任意值XXXT1T2T3、TWT4寫8253T0端口時(shí),8253內(nèi)部信號時(shí)序圖CLK/CS

來自CPU內(nèi)部的(AL)D7-0(來自XD7-0)I寫入(內(nèi)部“寫”與門輸出)/Y0XA9-5來自外部譯碼器/IOY2,僅在T1-T4節(jié)拍生效,啟動內(nèi)部譯碼器XA1-0使內(nèi)部譯碼器/Y0生效,僅在T1-T4節(jié)拍生效內(nèi)部“寫”與門僅在/XIOW和/Y0都為0時(shí)才輸出1,只有在T2T3節(jié)拍,2個輸入才同時(shí)為0,故僅T2t2拍才打開寫開關(guān)2.內(nèi)部邏輯OUT0OUT1GATE2數(shù)據(jù)總線緩沖器計(jì)數(shù)器

0#計(jì)數(shù)器

1#計(jì)數(shù)器

2#讀/寫邏輯控制字寄存器內(nèi)部總線D0~D7WRRDA0A1CSGNDVCCCLK0GATE0CLK1GATE1CLK2OUT2OUT0OUT1GATE2(1).數(shù)據(jù)總線緩沖器:負(fù)責(zé)與CPU的接口,CPU通過數(shù)據(jù)總線緩沖器向8253寫入控制字、計(jì)數(shù)初值,讀取某一通道的計(jì)數(shù)值。D0~D7

與CPU的數(shù)據(jù)總線D0~D7相連。(2).讀/寫邏輯:接收CPU發(fā)出的讀、寫信號和地址信號,負(fù)責(zé)對8253內(nèi)部有關(guān)寄存器的讀/寫操作。(3).控制字寄存器:接收CPU寫入的控制字,只能寫入,不能讀出。(4).三個計(jì)數(shù)器(0#,1#,2#)

注意:可以直接讀取計(jì)數(shù)初值,但不可以從減1計(jì)數(shù)器中讀出當(dāng)前值。要想讀當(dāng)前值,應(yīng)該先發(fā)鎖存命令把當(dāng)前值鎖入當(dāng)前計(jì)數(shù)值鎖存器,然后讀出所存器的值。二。計(jì)數(shù)初值初值的設(shè)定為輸入脈沖頻率和輸出脈沖的頻率比值三。編程命令1.方式命令作用計(jì)數(shù)器選擇(D7D6)數(shù)據(jù)讀/寫格式(D5D4)工作方式選擇(D3D2D1)數(shù)制選擇(D0)若D0=0,則按二進(jìn)制計(jì)數(shù),計(jì)數(shù)范圍0000H~0FFFFH,即1~65536。若D1=1,則按BCD碼計(jì)數(shù),計(jì)數(shù)范圍4位10進(jìn)制數(shù),即1~10000。D7D6D5D4D3D2D1D0計(jì)數(shù)器讀/寫格式工作方式數(shù)制0—二進(jìn)制1—二―十進(jìn)制(BCD)000方式0001方式110方式211方式3100方式4101方式500計(jì)數(shù)器鎖存命令10只讀/寫高8位01只讀/寫低8位11首先寫低8位然后寫高8位00選擇計(jì)數(shù)器001選擇計(jì)數(shù)器110選擇計(jì)數(shù)器211非法選擇2.方式命令的格式2.8253計(jì)數(shù)過程中,讀取當(dāng)前計(jì)數(shù)值的方法(1).利用GATE信號使計(jì)數(shù)過程暫停。(2).寫入控制字,令8253通道中的鎖存器鎖存當(dāng)前計(jì)數(shù)值,再讀取。例2。讀0#計(jì)數(shù)器的當(dāng)前值先鎖存當(dāng)前計(jì)數(shù)值Moval,0000XXXXBOut43H,al再讀0#計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值鎖存器Inal,40H四。工作方式

8253的每個計(jì)數(shù)通道有六種工作方式可供選擇,完成定時(shí),計(jì)數(shù)或脈沖發(fā)生器等多種功能。結(jié)合每種方式的工作時(shí)序波形圖,注意以下幾點(diǎn):1.寫入方式字后,OUT引腳信號的變化。2.啟動計(jì)數(shù)器開始計(jì)數(shù)的觸發(fā)方式。3.計(jì)數(shù)過程中,OUT引腳的輸出波形。4.GATE信號的作用1.方式0(低電平輸出,軟觸發(fā))方式0計(jì)數(shù):GATE高電平時(shí),寫入計(jì)數(shù)初值啟動計(jì)數(shù)表示寫入控制命令10表示寫入計(jì)數(shù)初值4軟件觸發(fā):指GATE=1時(shí),CPU執(zhí)行OUT指令后引起計(jì)數(shù)開始方式0時(shí)GATE信號的作用:GATE低電平電平期間計(jì)數(shù)暫停方式0時(shí)計(jì)數(shù)過程中重新寫入計(jì)數(shù)值:觸發(fā)重新計(jì)數(shù)自己學(xué)學(xué)看,應(yīng)該沒有問題吧2.方式1(低電平輸出,硬觸發(fā))方式1正常計(jì)數(shù):寫入初值并不啟動計(jì)數(shù),GATE上跳沿觸發(fā)計(jì)數(shù)硬件觸發(fā):外部硬件電路對GATE引腳送來一個上跳變時(shí)引起計(jì)數(shù)開始方式1時(shí)GATE信號的作用:計(jì)數(shù)期間,新的GATE上跳沿觸發(fā)重新計(jì)數(shù)3.方式2(周期負(fù)脈沖輸出,軟觸發(fā))方式2正常計(jì)數(shù):GATE高電平時(shí),寫入計(jì)數(shù)初值啟動計(jì)數(shù)方式2時(shí)GATE的作用:GATE低電平電平期間計(jì)數(shù)暫停4.方式3(方波發(fā)生器)方式3計(jì)數(shù)值為偶數(shù)時(shí)的波形方式3計(jì)數(shù)值為奇數(shù)時(shí)的波形方式3GATE信號的作用:同于方式0方式3計(jì)數(shù)過程中改變計(jì)數(shù)值:同于方式2自己學(xué)學(xué)看,應(yīng)該沒有問題吧5.方式4(單次負(fù)脈沖輸出)方式4啟動計(jì)數(shù):GATE=1時(shí),寫入初值就觸發(fā)計(jì)數(shù)(同于方式0)方式4GATE信號的作用:GATE=1,計(jì)數(shù);GATE=0,暫停。(同于方式0)方式4計(jì)數(shù)過程中改變計(jì)數(shù)值:同于方式2自己學(xué)學(xué)看,應(yīng)該沒有問題吧6.方式5(單次負(fù)脈沖方式,硬觸發(fā))

方式5啟動計(jì)數(shù):GATE上跳沿觸發(fā)計(jì)數(shù)(同于方式1)OUTLSB=3WRCLKGATECW=1A3210FF3方式5時(shí)GATE信號的作用:計(jì)數(shù)過程中GATE新的上跳沿到來觸發(fā)重新計(jì)數(shù)。同于方式1方式5時(shí)計(jì)數(shù)過程中改變計(jì)數(shù)值:同于方式1自己學(xué)學(xué)看,應(yīng)該沒有問題吧總結(jié):(1):輸出信號:方式0,1計(jì)數(shù)期間輸出低電平;方式2、3輸出周期信號;方式4、5輸出單個負(fù)脈沖(2)觸發(fā)方式:方式0、2、3、4軟觸發(fā),即GATE保持高電平,寫入初值開始計(jì)數(shù);計(jì)數(shù)期間GATE低電平計(jì)數(shù)暫停;重新寫入初值觸發(fā)重新計(jì)數(shù)。

方式1、5硬觸發(fā),即寫入初值不能觸發(fā)計(jì)數(shù),必須等GATE上跳沿開始計(jì)數(shù);計(jì)數(shù)期間新的GATE上跳沿觸發(fā)重新計(jì)數(shù);重新寫入初值并不觸發(fā)重新計(jì)數(shù),必須等新的GATE上跳沿觸發(fā)重新計(jì)數(shù)。4.38253應(yīng)用舉例可編程定時(shí)器/計(jì)數(shù)器8253可與各種微型計(jì)算機(jī)系統(tǒng)相連并構(gòu)成完整的定時(shí)、計(jì)數(shù)或脈沖發(fā)生器。使用8253時(shí),要先根據(jù)實(shí)際應(yīng)用要求,設(shè)計(jì)一個包含8253的硬件邏輯電路或接口,再對8253進(jìn)行初始化編程,只有初始化后8253才可以按要求正常工作。1.8253定時(shí)功能的應(yīng)用例1:設(shè)某應(yīng)用系統(tǒng)中,系統(tǒng)提供一個頻率為10KHZ的時(shí)鐘信號,要求每隔10ms完成一次掃描鍵盤的工作。為了提高CPU的工作效率,采用定時(shí)中斷的方式進(jìn)行鍵盤的掃描。(一)硬件設(shè)計(jì):在系統(tǒng)中,采用8253定時(shí)器的通道0來實(shí)現(xiàn)這一要求。將8253芯片的CLK0接到系統(tǒng)的10KHZ時(shí)鐘上,OUT0輸出接到CPU的中斷請求線上,8253口地址為10H~13H,所示。

CLK

0

10KH

Z

GATE

0

+5V

OUT

0

中斷請求

信號

10

ms

10ms

XA1

XA0

DB

CS

8253

OUT

0

A

1

A

0

/RD

/WR

CLK

0

10KH

Z

GATE

0

+5V

OUT

0

中斷請求

信號

10

ms

10ms

XD0-7

/XIOR

/XIOW

CS

8253

OUT

0

8253用于定時(shí)中斷

A

1

A

0

譯碼器10H-13H

(二).軟件設(shè)計(jì)(1)選擇工作方式由于系統(tǒng)每隔10ms完成一次動作,則掃描鍵盤的動作頻率為100HZ,可選用方式2來實(shí)現(xiàn)。當(dāng)8253定時(shí)器工作在方式2時(shí),在寫入控制字與計(jì)數(shù)初值后,定時(shí)器就啟動工作,每到10ms時(shí)間到,即計(jì)數(shù)器減到1時(shí),輸出端OUT0輸出一個CLK周期的低電平,向CPU申請中斷,完成鍵盤掃描,同時(shí)按原設(shè)定值重新開始計(jì)數(shù),實(shí)現(xiàn)了計(jì)數(shù)值的自動重裝。(2)確定計(jì)數(shù)初值

已知fCLK0=10KHZ,則TCLK0=0.1ms。所以計(jì)數(shù)初值N=TOUT0/TCLK0=10ms/0.1ms=100,即64H。(3)初始化編程根據(jù)以上要求,可確定8253通道0的方式控制字為00010100B,即14H。初始化程序段如下:MOV

AL,14H;通道0,寫入初值低8位,高8位置0,;方式2,二進(jìn)制計(jì)數(shù)。OUT

13H,AL ;寫入方式到控制字寄存器MOV

AL,64HOUT

10H,AL ;寫入計(jì)數(shù)初值低8位到通道02.8253計(jì)數(shù)功能的應(yīng)用例2:通過PC機(jī)系統(tǒng)總線在外部擴(kuò)展一片8253,利用其通道0記錄外部事件的發(fā)生次數(shù),每輸入一個高脈沖表示事件發(fā)生一次。當(dāng)事件發(fā)生100次后就向CPU提出中斷請求(邊沿觸發(fā)),假設(shè)8253片選信號的I/O地址范圍為200H~203H。(一)硬件設(shè)計(jì)(一)。硬件設(shè)計(jì)

/CSGATE0

A1OUT0

A0

D0-7

/RDCLK0

/WR

XA1

XA0

XD7-0

/XIOR

/XIOW

譯碼器

XA2-9

VCC

中斷請求

外部事件脈沖

XA9

XA8

XA7

XA6

XA5

XA4

XA3

XA2

譯碼器:200H-203H,輸出有效“選中”信號/Y

200H-203H/Y8253初始化程序段如下:MOV

DX,203H;設(shè)置方式控制字MOVAL,10H;設(shè)定為工作方式0,二進(jìn)制,只寫 ;低字節(jié)計(jì)數(shù)值OUT

DX,ALMOV

DX,200H;設(shè)置計(jì)數(shù)初值MOV

AL,64H;計(jì)數(shù)初值為100OUT

DX,AL(二)軟件設(shè)計(jì):根據(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

提交評論