微機(jī)原理課件第18講(電子ok)_第1頁(yè)
微機(jī)原理課件第18講(電子ok)_第2頁(yè)
微機(jī)原理課件第18講(電子ok)_第3頁(yè)
微機(jī)原理課件第18講(電子ok)_第4頁(yè)
微機(jī)原理課件第18講(電子ok)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

上節(jié)內(nèi)容回顧8253的結(jié)構(gòu)8253的地址分配8253的初始化控制字和讀取計(jì)數(shù)值控制字舉例對(duì)8253初始化編程實(shí)現(xiàn)如下功能:計(jì)數(shù)器0工作在方式3,CLK0為2MHz,要求OUT0輸出頻率為5KHz的方波。已知8253的端口地址為60H、62H、64H、66H。關(guān)于實(shí)驗(yàn)三實(shí)驗(yàn)儀不支持使用DOS功能調(diào)用置中斷向量的方法,僅允許使用程序直接設(shè)置段地址和偏移地址的方式。xorax,axmoves,axmovax,offsetint8255moves:wordptr[8*4],axmovax,csmoves:wordptr[8*4+2],axMOVAX,CSMOVDS,AXMOVDX,OFFSETINT8255MOVAL,08H;中斷類型號(hào)nMOVAH,25H;設(shè)置中斷向量INT21H第八章接口技術(shù)及應(yīng)用

8253有六種不同的工作方式。在不同的工作方式下,計(jì)數(shù)過(guò)程的啟動(dòng)方式不同,OUT端的輸出波形不同,自動(dòng)重復(fù)功能、GATE的控制作用以及更新計(jì)數(shù)初值對(duì)計(jì)數(shù)過(guò)程的影響也不完全相同。同一芯片中的三個(gè)計(jì)數(shù)器,可以分別編程選擇不同的工作方式。8253工作方式GATE的控制功能工作方式下降沿或低電平上升沿高電平方式0禁止計(jì)數(shù)——允許計(jì)數(shù)方式1——從初值開始計(jì)數(shù),下一個(gè)時(shí)鐘后輸出變低電平——方式2禁止計(jì)數(shù),out=1從初值開始計(jì)數(shù)允許計(jì)數(shù)方式3禁止計(jì)數(shù),out=1從初值開始計(jì)數(shù)允許計(jì)數(shù)方式4禁止計(jì)數(shù)——允許計(jì)數(shù)方式5——從初值開始計(jì)數(shù)——方式0

——計(jì)數(shù)結(jié)束中斷方式方式1——可編程單穩(wěn)態(tài)輸出方式方式2——比率發(fā)生器方式3

——方波發(fā)生器方式4

——軟件觸發(fā)選通方式5

——硬件觸發(fā)選通8253工作方式方式0-計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)

軟件啟動(dòng),不能自動(dòng)重復(fù)的計(jì)數(shù)方式設(shè)計(jì)數(shù)初值為4,方式0的計(jì)數(shù)過(guò)程。①方式0CLKWRnOUTn=4n=443210

計(jì)數(shù)過(guò)程中,若GATE不為高電平,則暫停計(jì)數(shù),上例中,若GATE有如下變化,則計(jì)數(shù)過(guò)程:①方式0CLKWRnOUTn=4n=44321GATE0方式1-可編程單穩(wěn)態(tài)輸出方式(ProgrammableOne-short)

工作過(guò)程:①CPU設(shè)定某計(jì)數(shù)器工作于方式1時(shí),OUT變成高電平。②裝入計(jì)數(shù)值n后,無(wú)論GATE為高或?yàn)榈?,?jì)數(shù)器均不計(jì)數(shù),必須在GATE有上升沿后,才能在下一個(gè)CLK下降沿裝入n,開始減1計(jì)數(shù);OUT產(chǎn)生負(fù)脈沖。③計(jì)數(shù)過(guò)程中,若GATE又有正脈沖,重新裝入n計(jì)數(shù)。④計(jì)數(shù)值減為零后,OUT輸出正脈沖。⑤計(jì)數(shù)過(guò)程中,GATE變低不影響計(jì)數(shù)。②方式1

總結(jié):方式1是硬件啟動(dòng)、不能自動(dòng)重復(fù)但通過(guò)GATE的正跳變可使計(jì)數(shù)過(guò)程重新開始的計(jì)數(shù)方式。設(shè)計(jì)數(shù)初值為5,方式1的計(jì)數(shù)過(guò)程。②方式1CLKWRnOUTn=55GATE4325432n=510方式2-比率發(fā)生器(RateGenerator)

工作過(guò)程:①CPU設(shè)定某計(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產(chǎn)生負(fù)脈沖。計(jì)數(shù)器的值減為0時(shí),OUT產(chǎn)生正脈沖。與此同時(shí),將計(jì)數(shù)初值重新裝入計(jì)數(shù)器,開始一個(gè)新的計(jì)數(shù)過(guò)程,并由此循環(huán)計(jì)數(shù)。③方式2

CPU可隨時(shí)寫入新的計(jì)數(shù)值,不影響當(dāng)前計(jì)數(shù)過(guò)程的進(jìn)行。當(dāng)計(jì)數(shù)值減為0時(shí),一個(gè)計(jì)數(shù)周期結(jié)束,8253將按新的n進(jìn)行計(jì)數(shù)。下為例子:

GATE上升沿時(shí),裝入初值重新計(jì)數(shù)。③方式2CLKWRnOUTn=33GATEn=232102102102方式3-方波發(fā)生器(SquareWaveGenerator)

與方式2有類似之處,其工作過(guò)程:①CPU設(shè)定某計(jì)數(shù)器工作于方式3時(shí),OUT變成高電平。②若GATE為高電平,則在寫入計(jì)數(shù)值后的下一個(gè)時(shí)鐘脈沖時(shí),將計(jì)數(shù)值裝入執(zhí)行部件,開始計(jì)數(shù)。③如果初值為偶數(shù),則每輸入一個(gè)脈沖,使計(jì)數(shù)器減2;如果初值為奇數(shù),則在第一個(gè)脈沖后,計(jì)數(shù)器減1,以后每個(gè)脈沖后計(jì)數(shù)器減2,直至為0重新計(jì)數(shù),當(dāng)OUT為低時(shí),第一個(gè)脈沖后,計(jì)數(shù)值減3,以后每個(gè)脈沖后減2。④方式3④當(dāng)計(jì)數(shù)值為零時(shí),OUT翻轉(zhuǎn)且裝入計(jì)數(shù)值繼續(xù)循環(huán)計(jì)數(shù)。⑤在計(jì)數(shù)過(guò)程中,若GATE變成低電平時(shí),就迫使OUT變?yōu)楦唠娖?,并禁止?jì)數(shù),當(dāng)GATE回到高電平時(shí),重新從初值n開始進(jìn)行計(jì)數(shù)⑥CPU可在任何時(shí)侯重新裝入新的計(jì)數(shù)初值,在下一個(gè)計(jì)數(shù)周期就可按新的計(jì)數(shù)值計(jì)數(shù),從而改變方波的速率。⑦從OUT端輸出的方波頻率都等于時(shí)鐘脈沖的頻率除以計(jì)數(shù)初值。④方式3

當(dāng)寫入的計(jì)數(shù)初值為偶數(shù)時(shí),輸出完全對(duì)稱的方波,下為例子(設(shè)GATE為高):④方式3CLKOUTn=4420(4)20(4)20(4)20(4)20(4)

當(dāng)寫入的計(jì)數(shù)初值為奇數(shù)時(shí),輸出波形中波形的高電平寬度比低電平多一個(gè)時(shí)鐘周期,下為例子(設(shè)GATE為高):④方式3CLKOUTn=5420(5)20(5)40(5)20(5)452方式4-軟件觸發(fā)選通(SoftwareTriggeredStrobe)

軟件啟動(dòng),不能自動(dòng)重復(fù)計(jì)數(shù),其工作過(guò)程:①CPU設(shè)定某計(jì)數(shù)器工作于方式4后,OUT變成高電平。②若GATE為高電平,則在寫入計(jì)數(shù)值后的下一個(gè)時(shí)鐘脈沖時(shí),將計(jì)數(shù)值裝入執(zhí)行部件,開始計(jì)數(shù)。③當(dāng)計(jì)數(shù)值成為0時(shí),OUT端輸出變低,經(jīng)過(guò)一個(gè)時(shí)鐘周期后,又回到高電平,形成一個(gè)負(fù)脈沖。④用這種方法裝入的計(jì)數(shù)初值n僅一次有效,若要繼續(xù)進(jìn)行計(jì)數(shù),必須重新裝入計(jì)數(shù)初值。⑤方式4⑤若在計(jì)數(shù)過(guò)程中寫入一個(gè)新的計(jì)數(shù)值,則在現(xiàn)行計(jì)數(shù)周期內(nèi)不受影響,但當(dāng)計(jì)數(shù)值回0后,將按新的計(jì)數(shù)初值進(jìn)行計(jì)數(shù),同樣也只計(jì)一次。⑥如果在計(jì)數(shù)的過(guò)程中GATE變?yōu)榈碗娖?,則停止計(jì)數(shù),當(dāng)GATE變?yōu)楦唠娖胶?,又重新將初值裝入計(jì)數(shù)器,從初值開始計(jì)數(shù),直至計(jì)數(shù)器的值減為0時(shí),從OUT端輸出一個(gè)負(fù)脈沖。⑤方式4

方式4舉例⑤方式4WRnOUTn=43GATEn=2434210210方式5-硬件觸發(fā)選通(HardwareTriggeredStrobe)

硬件啟動(dòng),不能自動(dòng)重復(fù)計(jì)數(shù),其工作過(guò)程:①CPU設(shè)定某計(jì)數(shù)器工作于方式5后,OUT變成高電平。②若GATE有一個(gè)由低到高的正跳變后,裝入初值,在下一個(gè)脈沖時(shí)減1計(jì)數(shù)。③當(dāng)計(jì)數(shù)值成為0時(shí),OUT端輸出變低,經(jīng)過(guò)一個(gè)時(shí)鐘周期后,又回到高電平,形成一個(gè)負(fù)脈沖。④計(jì)數(shù)過(guò)程中,只要GATE有正脈沖進(jìn)入,則重新按初值計(jì)數(shù)。⑥方式5⑤計(jì)數(shù)回零后若GATE有正脈沖,按初值重新開始計(jì)數(shù)。⑥計(jì)數(shù)過(guò)程中若改變計(jì)數(shù)值,若GATE無(wú)正跳變,計(jì)數(shù)不改變;反之則按新的計(jì)數(shù)值重新計(jì)數(shù)。⑥方式5WRnOUTn=43GATEn=24342102CLK218253工作方式比較①方式0:在寫入控制字后,輸出端即變低,計(jì)數(shù)結(jié)束后,輸出端由低變高,常用該輸出信號(hào)作為中斷源。也可實(shí)現(xiàn)定時(shí)或?qū)ν獠渴录M(jìn)行計(jì)數(shù)。其余5種方式寫入控制字后,輸出均變高。②方式1:產(chǎn)生單脈沖。③方式2:產(chǎn)生序列負(fù)脈沖,每個(gè)負(fù)脈沖的寬度與CLK脈沖的周期相同。④方式3:產(chǎn)生連續(xù)的方波。方式2和方式3都實(shí)現(xiàn)對(duì)時(shí)鐘脈沖進(jìn)行n分頻。⑤方式4、方式5:波形相同,都在計(jì)數(shù)器回0后,從OUT端輸出一個(gè)負(fù)脈沖,其寬度等于一個(gè)時(shí)鐘周期。但方式4由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)計(jì)數(shù),而方式5由硬件(門控信號(hào)GATE)觸發(fā)計(jì)數(shù)。⑥這6種工作方式中,方式0、1和4,計(jì)數(shù)初值裝進(jìn)計(jì)數(shù)器后,僅一次有效。如果要通道再次按此方式工作,必須重新裝入計(jì)數(shù)值。對(duì)于方式2、3和5,在減1計(jì)數(shù)到0值后,8253會(huì)自動(dòng)將計(jì)數(shù)值重裝進(jìn)計(jì)數(shù)器。8253工作方式比較8253舉例

一個(gè)工廠需要自動(dòng)統(tǒng)計(jì)在流水線上所生產(chǎn)的某種產(chǎn)品的數(shù)量,可采用8086微處理器和8253芯片設(shè)計(jì)實(shí)現(xiàn)這種自動(dòng)計(jì)數(shù)的系統(tǒng)。+5VR62Ω+5VR1KΩ光電晶體管CLK1GATE1+5VD7~D0OUT1去8259的IR0A1A0A2A1CS高位譯碼74LS148253舉例

設(shè)8253的4個(gè)端口地址分別是0F0H,

0F2H,

0F4H,

0F6H。當(dāng)件數(shù)到200時(shí),向8259發(fā)出中斷申請(qǐng),由中斷服務(wù)程序使工件總數(shù)加上200,寫出8253的初始化程序

。MOVAL,71H;計(jì)數(shù)器1,方式0,高低位,BCD計(jì)數(shù)OUT0F6,AL;送控制字MOVAL,99H;送低位數(shù)據(jù)OUT0F2H,ALMOVAL,01H;送高位數(shù)據(jù)OUT0F2H,AL8253應(yīng)用舉例1

某個(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。A9A8A7A6A5M/IO#A4A3A0A2A1RD#WR#D7~D08086CPUG1G2AG2BCBACLK0CLK1CLK2GATE0OUT0GATE1OUT1GATE2OUT2

D7~D0CSA1A0RDWR1M方波5V2KHZ方波480μs寬脈沖單脈沖825574138

某個(gè)以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地址為310H,所用的時(shí)鐘脈沖頻率為1MHz。

通道0工作在方式3,輸出頻率為2KHZ的方波;通道1產(chǎn)生寬度為480μs的單脈沖;通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26。A9A8A7A6A5A4A3A2A1A0

1100010000480us/1us=480,方式1計(jì)數(shù)值480>255,分兩次送,BCD計(jì)數(shù)方式5,n=26<255,1次送,BCD計(jì)數(shù)/Y41MHZ/2KHZ=500(此M非MB中的M)計(jì)數(shù)值500>255,分兩次送,BCD計(jì)數(shù)

控制字寄存器用來(lái)保存來(lái)自CPU的控制字??刂谱旨拇嫫鱀7D6D5D4D3D2D1D0SC1SC2RL1RL2M2M1M0BCD1BCD碼計(jì)數(shù)0

二進(jìn)制計(jì)數(shù)000方式0001

方式1×10

方式2×11

方式3100

方式4101

方式500計(jì)數(shù)器鎖存,CPU讀01

只讀/寫計(jì)數(shù)器低字節(jié)10

只讀/寫計(jì)數(shù)器高字節(jié)11

先讀/寫計(jì)數(shù)器地字節(jié),后高字節(jié)00選擇通道001選擇通道110選擇通道211

無(wú)效通道0⑴通道0工作于方式3,輸出頻率為2KHz的方波MOVAL,00110111B;數(shù)據(jù)分兩次送,BCD計(jì)數(shù)MOVDX,316HOUTDX,AL;送控制字MOVAL,00H;送0500的低位MOVDX,310HOUTDX,AL;送數(shù)據(jù)MOVAL,05H;送0500的高位OUTDX,AL;送數(shù)據(jù)通道1⑵通道1產(chǎn)生寬度為480us的單脈沖MOVAL,01110011B;數(shù)據(jù)分兩次送,BCD計(jì)數(shù),方式1MOVDX,316HOUTDX,AL;送控制字MOVAL,80H;送0480的低位MOVDX,312HOUTDX,AL;送數(shù)據(jù)MOVAL,04H;送0480的高位OUTDX,AL;送數(shù)據(jù)通道2⑶通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26MOVAL,10011011B;方式5,BCD計(jì)數(shù)MOVDX,316HOUTDX,AL;送控制字MOVAL,26H;送計(jì)數(shù)值26MOVDX,314HOUTDX,AL;送數(shù)據(jù)8253應(yīng)用舉例2

設(shè)某8086系統(tǒng)中,8253的各端口地址為81H,83H,85H,87H,要求8253控制LED,使得LED交替點(diǎn)亮和熄滅10秒鐘,8253的輸入頻率為2MHZ,編程實(shí)現(xiàn)。

分析:交替點(diǎn)亮和熄滅10秒鐘,即要求加載在LED上的時(shí)鐘周期為20秒鐘,采用方式2可以實(shí)現(xiàn)分頻功能。假設(shè)使用某個(gè)通道工作在方式0,需要送入的初值N=20s/0.5us=40,000000,很顯然,寄存器無(wú)法裝載如此巨大的數(shù)據(jù)。

怎么辦??8253應(yīng)用舉例2解決辦法:讓多個(gè)通道都工作在方式2,用其中某個(gè)通道的OUT當(dāng)作另一個(gè)通道的CLK,從

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論