計(jì)算機(jī)通信接口技術(shù)第5章_第1頁
計(jì)算機(jī)通信接口技術(shù)第5章_第2頁
計(jì)算機(jī)通信接口技術(shù)第5章_第3頁
計(jì)算機(jī)通信接口技術(shù)第5章_第4頁
計(jì)算機(jī)通信接口技術(shù)第5章_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第五章時(shí)間接口2023最新整理收集do

something5.1概述5.1.1定時(shí)與計(jì)數(shù)1.定時(shí)

定義:提供的時(shí)間基準(zhǔn)。

分類:內(nèi)部定時(shí)、外部定時(shí)。2.計(jì)數(shù)

定時(shí)與計(jì)數(shù)本質(zhì)上是一致的。

計(jì)數(shù)的信號(hào)隨機(jī),定時(shí)的信號(hào)具有周期性。3.應(yīng)用5.1.2定時(shí)方法1.軟件定時(shí)

通過軟件指令周期方法定時(shí),如執(zhí)行循環(huán)程序。

增加CPU負(fù)擔(dān),通用性差,一般用于短延時(shí)。2.不可編程硬件定時(shí)

采用中小規(guī)模IC構(gòu)成。

不增加CPU負(fù)擔(dān),成本低,定時(shí)值不可改變。3.可編程硬件定時(shí)

采用可編程計(jì)數(shù)器完成,軟件可改變計(jì)數(shù)值。

可編程定時(shí)/計(jì)數(shù)器:實(shí)質(zhì)上定時(shí)和計(jì)數(shù)本質(zhì)上都是脈沖計(jì)數(shù)器,定時(shí)計(jì)的是內(nèi)部基準(zhǔn)時(shí)鐘源產(chǎn)生的脈沖,計(jì)數(shù)是計(jì)外部脈沖。5.1.3定時(shí)/計(jì)數(shù)器基本原理1.內(nèi)部邏輯CPU接口:

譯碼、操作外設(shè)接口:

時(shí)鐘信號(hào)、控制、輸出內(nèi)部邏輯:

REG2.工作過程

設(shè)初值、控制、輸出5.2Intel82548253→82545.2.18254基本功能3個(gè)獨(dú)立的16位定時(shí)/計(jì)數(shù)器(T/C);

每個(gè)T/C功能:可按二、十進(jìn)制(BCD)計(jì)數(shù);有6種不同的工作方式;最高頻率10MHz;(82801BA為14.31818MHz)

有讀回狀態(tài)功能。(8253沒有)5.2.28254結(jié)構(gòu)與引腳1.內(nèi)部邏輯

總線緩沖器[8位R/W]:寫工作方式、計(jì)數(shù)初值、當(dāng)前計(jì)數(shù)值2.計(jì)數(shù)器內(nèi)部邏輯16位當(dāng)前計(jì)數(shù)值鎖存器OL16位減1計(jì)數(shù)器CE16位計(jì)數(shù)初值寄存器CROUT(減1至0時(shí))MSBLSB鎖存后讀出當(dāng)前值MSBLSB裝入/讀出初值&CLKGATECR:16位寫入[兩次]、清零CE:16位寫入、計(jì)數(shù)、輸出OL:16位先鎖存再讀出狀態(tài)REG:8位先鎖存再讀出

注意:GATE信號(hào)的作用與應(yīng)用,重寫CR的效果。

計(jì)數(shù)初值:N=fCLKi/fOUTi,在不同工作方式及定時(shí)/計(jì)數(shù)時(shí)的應(yīng)用不同。3.外部引腳

(1)譯碼:CS與A1A0:

(2)讀/寫:RD、WR;4.CPU操作功能及命令I(lǐng)/O端口地址:8254提供四個(gè)端口(使用A1A0);命令:初始化—設(shè)置工作方式、設(shè)置計(jì)數(shù)器初值; 操作—重寫計(jì)數(shù)器初值、取狀態(tài)命令。狀態(tài):當(dāng)前計(jì)數(shù)值、工作方式及當(dāng)前狀態(tài)。

I/O端口操作沖突時(shí)解決方法:

寫工作方式與寫讀取狀態(tài)命令采用特征位方法;

讀取當(dāng)前計(jì)數(shù)值或讀取狀態(tài)采取時(shí)序方法。

8254命令關(guān)系表:操作特征位時(shí)序D7D601000計(jì)數(shù)初值寫入0#計(jì)數(shù)器**無01001計(jì)數(shù)初值寫入1#計(jì)數(shù)器**無01010計(jì)數(shù)初值寫入2#計(jì)數(shù)器**無01011向控制字REG寫控制字00~10無寫“讀計(jì)數(shù)值/狀態(tài)”命令11無00100讀0#計(jì)數(shù)器當(dāng)前計(jì)數(shù)值無前一命令A(yù)1A0=11時(shí),D7D6為11且D5為0或D7D6為非11且D5D4為00時(shí),讀取的是當(dāng)前計(jì)數(shù)值;D7D6為11且D4為0讀取的是狀態(tài)。讀0#計(jì)數(shù)器狀態(tài)無00101讀1#計(jì)數(shù)器當(dāng)前計(jì)數(shù)值無讀1#計(jì)數(shù)器狀態(tài)無00110讀2#計(jì)數(shù)器當(dāng)前計(jì)數(shù)值無讀2#計(jì)數(shù)器狀態(tài)無00111無操作1****禁止訪問011**無操作CSRDWRA1A05.2.38254命令及編程1.工作方式控制字(A1A0=11)

特征位:D7D6=00~10、D5D4=01~11;

D7D6選擇計(jì)數(shù)器:00-T/C0;01-T/C1;10-T/C2

D5D4選擇讀/寫方式:01-只寫低字節(jié);10-只寫高字節(jié);11-先寫低字節(jié)再寫高字節(jié)(16位)

D3D2D1選擇工作方式:000~101六種工作方式。

D0選擇計(jì)數(shù)進(jìn)制:0-二進(jìn)制方式;1-BCD碼方式。例:MOV AL,01110100B;T/C1,先低后高字節(jié)

OUT

43H,AL;方式2,二進(jìn)制方式2.計(jì)數(shù)初值(1)不同通道的計(jì)數(shù)初值寫到不同地址中;

A1A0定時(shí)/計(jì)數(shù)器

00T/C001T/C110T/C2(2)每次寫入一個(gè)字節(jié);

(3)根據(jù)控制字定義,決定高、低字節(jié)寫入方法。

(4)初始值的范圍是:二進(jìn)制為65536(0000H)、65535(FFFFH)~1(0001H)。十進(jìn)制為10000(0000H)、9999(9999H)~1(0001H)。3.T/C初始化(1)寫工作方式控制字

(2)設(shè)置計(jì)數(shù)初值例: MOVAL,01110101B;

T/C1,先低后高字節(jié),方式2,BCD

OUT

43H,AL

MOV

AX,2000H;

計(jì)數(shù)初值為2000

OUT

41H,AL;

MOVAL,AH

OUT

41H,AL;

MOVAL,00010110B;

T/C0,只低字節(jié),方式3,二進(jìn)制

OUT

43H,AL

OUT40H,50H;

計(jì)數(shù)初值為50H(80)

注意:(1)每個(gè)使用的T/C均要初始化;

(2)計(jì)數(shù)初值的設(shè)置與T/C的CLK密切相關(guān);

(3)計(jì)數(shù)初值的設(shè)置方法由控制字決定。4.T/C數(shù)據(jù)讀取(1)讀取當(dāng)前計(jì)數(shù)值方法1

工作方式控制字(A1A0=11)D7D6=00~01,D5D4=00(a)鎖存當(dāng)前計(jì)數(shù)值或禁止計(jì)數(shù)

(b)讀取當(dāng)前計(jì)數(shù)值

例:MOV AL,01000101B;T/C1,鎖存 ;先低后高字節(jié),方式2,BCD OUT 43H,AL IN AL,41H MOV AH,AL IN AL,41H XCHG AH,AL;AX為T/C1當(dāng)前計(jì)數(shù)值(2)讀取當(dāng)前計(jì)數(shù)值方法2—使用讀回命令(A1A0=11)

特征位:D7D6=11。(A1A0=11)

功能選擇:鎖存狀態(tài)-D5D4=10; 鎖存計(jì)數(shù)值-D5D4=01; 鎖存狀態(tài)與計(jì)數(shù)值-D5D4=00。(先讀狀態(tài)再讀計(jì)數(shù)值)

計(jì)數(shù)器選擇:D1=1—T/C0,D2=1—T/C1,D3=1—T/C2

特點(diǎn):控制字同時(shí)只能鎖存單個(gè)通道,讀回命令可同時(shí)鎖存多個(gè)通道。例: MOV AL,11010100B ;T/C1,鎖存計(jì)數(shù)值

OUT 43H,AL IN AL,41H;

MOVAH,AL IN AL,41H XCHGAH,AL ;AX為當(dāng)前計(jì)數(shù)值

MOVAL,11011010B ;T/C0、T/C2鎖存計(jì)數(shù)值

OUT 43H,AL IN AL,40H;

MOV AH,AL IN AL,40H XCHGAH,AL ;AX為T/C0當(dāng)前計(jì)數(shù)值

IN AL,42H;

MOV AH,AL IN AL,42H XCHGAH,AL ;AX為T/C2當(dāng)前計(jì)數(shù)值(3)讀取計(jì)數(shù)器當(dāng)前狀態(tài)—使用讀回命令

例:MOV AL,11100100B ;T/C1,鎖存狀態(tài)值

OUT 43H,AL IN AL,41H ;若AL=00110101,表示T/C1

;

為方式2,BCD碼,先低后高

;讀/寫,當(dāng)前OUT為低電平

MOVAL,11100010B ;T/C0,鎖存狀態(tài)值

OUT 43H,AL IN AL,40H ;若AL=00010110,表示T/C0 ;為方式3,二進(jìn)制碼,只有低 ;字節(jié),當(dāng)前OUT為低電平

讀出的狀態(tài)字格式:5.2.48254工作方式1.方式0—計(jì)數(shù)結(jié)束時(shí)中斷

特點(diǎn):一次計(jì)數(shù);

GATE高允許、下降暫停、低禁止、上升繼續(xù)計(jì)數(shù);

WR#寫[重寫]后下一脈沖下降沿重新計(jì)數(shù);

OUT在控制字或計(jì)數(shù)初值寫完時(shí)變低、計(jì)數(shù)值為0時(shí)變高(N+1個(gè)時(shí)鐘的低)。2.方式1—硬件可重觸發(fā)單穩(wěn)

特點(diǎn):一次計(jì)數(shù);

GATE上升重新、高與下降和低不影響計(jì)數(shù);

WR#寫[重寫]在下次GATE從0到1的跳變時(shí)有效;

OUT在寫入控制字后變高,開始計(jì)數(shù)時(shí)變低、計(jì)數(shù)值為0時(shí)變高(N個(gè)時(shí)鐘周期的低)。3.方式2—頻率發(fā)生器

特點(diǎn):多次計(jì)數(shù);

GATE上升重新、高允許、下降停止、低禁止計(jì)數(shù);

WR#寫[重寫]在下次計(jì)數(shù)時(shí)有效;

OUT在計(jì)數(shù)值為1時(shí)輸出寬度為1個(gè)CLK的負(fù)脈沖(周期為N個(gè)時(shí)鐘周期,頻率為1/N的時(shí)鐘頻率,實(shí)際上是對(duì)CLK的N分頻)。4.方式3—方波發(fā)生器

特點(diǎn):多次計(jì)數(shù);

GATE上升重新、高允許、下降停止、低禁止計(jì)數(shù);

WR#寫[重寫]在下次計(jì)數(shù)時(shí)有效;

OUT在寫入控制字后變高,計(jì)數(shù)開始后,采用每脈沖計(jì)數(shù)減2:

當(dāng)計(jì)數(shù)初值為偶數(shù)N時(shí),計(jì)數(shù)到0時(shí)反向。脈沖寬度T×N/2,方波周期為T×N。

當(dāng)計(jì)數(shù)初值為奇數(shù)N時(shí),OUT變高的第一CLK減1后裝入CE,其余每個(gè)脈沖計(jì)數(shù)減2。OUT正脈沖時(shí),計(jì)數(shù)到0的下一個(gè)CLK時(shí)OUT反向OUT正脈沖寬度為T×(N+1)/2;OUT負(fù)脈沖時(shí)在計(jì)數(shù)到0時(shí)反向。負(fù)脈沖寬度為T×(N-1)/2,方波周期仍然是T×N。

特點(diǎn):一次計(jì)數(shù);

GATE上升重新、高允許、下降停止、低禁止計(jì)數(shù);

WR#寫[重寫]會(huì)立即重新計(jì)數(shù)(軟件觸發(fā));

OUT在寫入控制字及計(jì)數(shù)當(dāng)中為高電平,計(jì)數(shù)值為0時(shí)輸出1個(gè)CLK的負(fù)脈沖。5.方式4—軟件觸發(fā)選通6.方式5—硬件觸發(fā)選通

特點(diǎn):一次計(jì)數(shù);

GATE上升重新、高與下降和低不影響計(jì)數(shù);

WR#寫[重寫]在下次GATE從0到1的跳變時(shí)有效;

OUT在計(jì)數(shù)值為0時(shí)輸出1個(gè)CLK的負(fù)脈沖。

方式0方式1方式2方式3方式4方式5OUT輸出狀態(tài)寫入控制字后變0,計(jì)數(shù)結(jié)束變1,并維持至重寫控制字或計(jì)數(shù)初值寫入控制字后變1,GATE上升沿觸發(fā)變0,開始計(jì)數(shù),計(jì)數(shù)結(jié)束變1寫入控制字后變1,計(jì)數(shù)到1變0,維持一個(gè)Tclk變1寫入控制字后變1,裝入初值且GATE=1則OUT變1,計(jì)數(shù)到變0,重裝初值繼續(xù)計(jì)數(shù),計(jì)數(shù)到則反向?qū)懭肟刂谱趾笞?,計(jì)數(shù)結(jié)束變0,維持一個(gè)Tclk變1寫入控制字后變1,GATE上升沿觸發(fā)開始計(jì)數(shù),計(jì)數(shù)結(jié)束輸出一個(gè)CLK的負(fù)脈沖初值自動(dòng)重裝無無計(jì)數(shù)到0重裝根據(jù)初值奇偶分別重裝;無無計(jì)數(shù)過程中改變初值立即有效GATE觸發(fā)后有效計(jì)數(shù)到1或GATE觸發(fā)后有效計(jì)數(shù)結(jié)束或GATE觸發(fā)后有效立即有效GATE觸發(fā)后有效GATE0禁止計(jì)數(shù)無影響禁止計(jì)數(shù)禁止計(jì)數(shù)禁止計(jì)數(shù)無影響下降沿暫停計(jì)數(shù)無影響停止計(jì)數(shù)停止計(jì)數(shù)停止計(jì)數(shù)無影響上升沿繼續(xù)計(jì)數(shù)從初值開始重新計(jì)數(shù)從初值開始重新計(jì)數(shù)從初值開始重新計(jì)數(shù)從初值開始重新計(jì)數(shù)從初值開始重新計(jì)數(shù)1允許計(jì)數(shù)無影響允許計(jì)數(shù)允許計(jì)數(shù)允許計(jì)數(shù)無影響5.2.58254應(yīng)用舉例1.分頻器設(shè)計(jì)用8254(地址40H~43H)將5MHz的脈沖變?yōu)?Hz的脈沖。初值=fCLK/fOUT=5×106>65536,怎么辦?CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D0~D7A1A0RDWRCS5MHz1HzMOVAL,00110111B;T/C0OUT43H,ALMOVAX,5000HOUT40H,ALMOVAL,AHOUT40H,ALMOVAL,01110101B;T/C1MOVAX,1000HOUT41H,ALMOVAL,AHOUT41H,AL需要2個(gè)T/C級(jí)聯(lián),T/C0采用方式3產(chǎn)生連續(xù)分頻方波,做T/C1的CLK,T/C1采用方式2產(chǎn)生1Hz脈沖。兩個(gè)T/C的GATE統(tǒng)一控制。2.占空比4:9的方波發(fā)生器8254的CLK0的時(shí)鐘頻率是8KHz,問1)T/C0最大定時(shí)時(shí)間是多少?2)要求8254端口地址為90H、92H、94H和96H,請(qǐng)使用74LS138譯碼器加簡單門電路完成地址連線。3)現(xiàn)在要求使用該8254產(chǎn)生周期為9秒,占空比為4:9的方波,請(qǐng)?jiān)谏厦娴碾娐穲D中完成電路,并編寫初始化程序。答:1)TCLK0=1/fCLK0=1/8000=0.125ms最大定時(shí)時(shí)間=65536×0.25ms=8.192秒或:fCLK0/fOUT=65536=>Tmax=1/fOUT=65536/fclk0=65536/8000=8.192秒2)D7~D0IOWIORY2A1A2A7A5A4A3≥1≥1A8A9A6A0CLK1GATE1D7~D0WRRDA0A18254CSCBA74LS138G1G2AG2BCLK0GATE0OUT0CLK0GATE0OUT0OUT18KHz1Hz5V占空比4:9,周期9秒的方波3)MOVAL,00110111B;T/C0OUT96H,ALMOVAX,8000HOUT90H,ALMOVAL,AHOUT90H,ALMOVAL,01110111B;T/C1MOVAX,9HOUT

92H,ALMOVAL,AHOUT92H,AL5.38254在微機(jī)中應(yīng)用PC系列機(jī)定時(shí)系統(tǒng)結(jié)構(gòu)框圖來自主板上74LS138的Y2,地址范圍是40H~5FH,加上A1A0兩根地址線,組成8254的端口地址是40H、41H、42H、43H。5.3.1計(jì)數(shù)器0—系統(tǒng)定時(shí)器

工作方式:3方式,計(jì)數(shù)初值:65536。1.系統(tǒng)定時(shí)器OUT0連接到8259A的IRQ0(中斷類型號(hào)為8)上。

fOUT0=1.1931816MHz/65536=18.2Hz,即:每秒產(chǎn)生18.2次中斷用于日時(shí)鐘計(jì)時(shí)。

應(yīng)用:系統(tǒng)BIOS的INT8H用作日時(shí)鐘計(jì)時(shí);

INT8H調(diào)用INT1CH作為用戶定時(shí)中斷接口。2.軟盤驅(qū)動(dòng)器馬達(dá)自動(dòng)延遲控制6.3.2計(jì)數(shù)器1—?jiǎng)討B(tài)存儲(chǔ)器定時(shí)刷新控制

工作方式:2方式,計(jì)數(shù)初值:18。

連接到8237的DREQ0上,定時(shí)產(chǎn)生負(fù)脈沖。脈沖寬度=1/1.1931816MHz=838ns,脈沖周期=18/1.1931816MHz=15.08μs,即:每隔15.08μs產(chǎn)生一個(gè)脈沖用于刷新。6.3.3計(jì)數(shù)器2—揚(yáng)聲器音頻發(fā)生器

工作方式:3方式,計(jì)數(shù)初值:由調(diào)用程序控制。

與8255的PB口D1信號(hào)“與”后連接到揚(yáng)聲器上,控制揚(yáng)聲器發(fā)聲頻率及時(shí)長。8255控制發(fā)聲:8254的OUT2=1,CPU控制8255的PB口的D1位的電平實(shí)現(xiàn);8254控制發(fā)聲:8255的PB口的D1位

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論