![可編程定時(shí)器計(jì)數(shù)器8254及其應(yīng)用課件_第1頁(yè)](http://file4.renrendoc.com/view/8a53e97d0caac88512aaf3936c28b141/8a53e97d0caac88512aaf3936c28b1411.gif)
![可編程定時(shí)器計(jì)數(shù)器8254及其應(yīng)用課件_第2頁(yè)](http://file4.renrendoc.com/view/8a53e97d0caac88512aaf3936c28b141/8a53e97d0caac88512aaf3936c28b1412.gif)
![可編程定時(shí)器計(jì)數(shù)器8254及其應(yīng)用課件_第3頁(yè)](http://file4.renrendoc.com/view/8a53e97d0caac88512aaf3936c28b141/8a53e97d0caac88512aaf3936c28b1413.gif)
![可編程定時(shí)器計(jì)數(shù)器8254及其應(yīng)用課件_第4頁(yè)](http://file4.renrendoc.com/view/8a53e97d0caac88512aaf3936c28b141/8a53e97d0caac88512aaf3936c28b1414.gif)
![可編程定時(shí)器計(jì)數(shù)器8254及其應(yīng)用課件_第5頁(yè)](http://file4.renrendoc.com/view/8a53e97d0caac88512aaf3936c28b141/8a53e97d0caac88512aaf3936c28b1415.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.4可編程定時(shí)/計(jì)數(shù)器8254及其應(yīng)用
為什么需要定時(shí)/計(jì)數(shù)器在自動(dòng)化流水線中在測(cè)控系統(tǒng)中在智能化儀器儀表中兩項(xiàng)基本工作計(jì)數(shù)定時(shí)關(guān)于定時(shí)定時(shí)軟件定時(shí)硬件定時(shí)不可編程芯片定時(shí)(如555定時(shí)器)可編程芯片(如8254定時(shí)器)定時(shí)器工作原理漏水模型如8254裝水模型如80C516.4可編程定時(shí)/計(jì)數(shù)器8254及其應(yīng)用為什么需要定時(shí)/
6.4.18254定時(shí)器/計(jì)數(shù)器
(1)8254的外部引腳和內(nèi)部結(jié)構(gòu)
*A1A0選擇片內(nèi)各端口(3個(gè)通道和一個(gè)控制寄存器)
00011011通道0通道1通道2
控制寄存器6.4.18254定時(shí)器/計(jì)數(shù)器(1)8254的外部8254與CPU連接示例
RDWRCSA1A0D0:D7
CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2地址譯碼器A9:A2A1A0IORIOW控制寄存器8254
DB
片選片內(nèi)端口選擇A9A8A7A6A5A4A3A2A1A0
1000001100
1000001101
1000001110
1000001111
20CH選中通道0
20DH選中通道120EH選中通道2
20FH選中控制寄存器
設(shè)當(dāng)A9~A2的地址信息為:10000011譯碼器輸出有效信號(hào)8254與CPU連接示例CLK0CLK1基本計(jì)數(shù)工作原理:
減法計(jì)數(shù)器計(jì)數(shù)工作單元CE代表外部事件發(fā)生的計(jì)數(shù)脈沖減法計(jì)數(shù)器計(jì)數(shù)工作單元CE頻率精確的時(shí)鐘脈沖串根據(jù)不同的工作方式,OUT輸出不同的信號(hào)CLK
基本定時(shí)工作原理:
CLK
計(jì)數(shù)初值N(定時(shí)系數(shù))
OUTOUT定時(shí)系數(shù)=要求定時(shí)的時(shí)間/時(shí)鐘脈沖周期
定時(shí)的本質(zhì)還是計(jì)數(shù),計(jì)數(shù)的對(duì)象必須是頻率精確的脈沖串。如果時(shí)鐘脈沖的周期是1μs,要求定時(shí)1ms,則計(jì)數(shù)1000次即可,即:定時(shí)系數(shù)為1000;(對(duì)秒計(jì)數(shù)60次就是1分鐘)
計(jì)數(shù)初值N
注意!!工作原理
基本計(jì)數(shù)工作原理:減法計(jì)數(shù)器代表外部事件減法計(jì)數(shù)器頻率
在計(jì)數(shù)工作方式下:計(jì)數(shù)初值寫入CR;CE為0時(shí)表明計(jì)數(shù)達(dá)到規(guī)定值。
在定時(shí)工作方式下:定時(shí)系數(shù)寫入CR;CE為0時(shí)表明定時(shí)時(shí)間到。
16計(jì)數(shù)初值寄存器CR16位計(jì)數(shù)工作單元CEOUT16輸出鎖存器OL用戶編程寫入外部控制外部事件脈沖時(shí)鐘脈沖計(jì)數(shù)結(jié)束時(shí)OUT輸出信號(hào)開(kāi)始計(jì)數(shù)時(shí)CR裝入CE隨CLK一次減1內(nèi)部總線
GATE
CLK
CLK:計(jì)數(shù)或定時(shí)脈沖輸入引腳GATE:門控引腳:允許/禁止計(jì)數(shù);啟動(dòng)/終止計(jì)數(shù)OUT:輸出引腳:
計(jì)數(shù)通道的內(nèi)部結(jié)構(gòu)CRHCRLOLHOLL不同的工作方式下有不同的輸出在計(jì)數(shù)工作方式下:計(jì)數(shù)初值寫入CR;CE為0(2)8254的工作方式8254的基本計(jì)數(shù)工作方式和基本定時(shí)工作方式是基礎(chǔ),在這兩種基本方式下,可以演繹出6種工作方式。
注意每一種方式下:*定時(shí)或計(jì)數(shù)的啟動(dòng)方式*GATE的控制作用*OUT引腳上的輸出波形每一種方式分為基本功能和工作特點(diǎn)兩部分,細(xì)節(jié)很多。我們通過(guò)波形圖,介紹概要。因?yàn)楦鞣N方式主要是通過(guò)OUT引腳表現(xiàn)出來(lái),請(qǐng)關(guān)注OUT。
1)方式0計(jì)數(shù)結(jié)束中斷典型的事件計(jì)數(shù)(基本計(jì)數(shù)工作方式)基本功能:完成計(jì)數(shù),OUT輸出高電平工作特點(diǎn):
*寫入控制字后,OUT的初始電平為低*計(jì)數(shù)到0時(shí),OUT送出高電平直到寫入了新的計(jì)數(shù)初值。*通常用OUT的低—高變化來(lái)產(chǎn)生中斷請(qǐng)求或查詢信號(hào)。*軟件啟動(dòng),不具備重復(fù)性,再次寫入初值,開(kāi)始新一輪計(jì)數(shù)
*寫入計(jì)數(shù)初值到CR后,第一個(gè)計(jì)數(shù)脈沖的作用是把計(jì)數(shù)初值裝入CE。所以當(dāng)計(jì)數(shù)初值=4時(shí),實(shí)際上當(dāng)CLK輸入5個(gè)計(jì)數(shù)脈沖后OUT才為1。
(2)8254的工作方式注意*定時(shí)或計(jì)數(shù)的啟動(dòng)方式每一種方式*GATE=0,暫停計(jì)數(shù);GATE=1,繼續(xù)計(jì)數(shù)*計(jì)數(shù)過(guò)程中可以寫入新的計(jì)數(shù)初值,從寫入后的下一個(gè)脈沖開(kāi)始,以新
的初值進(jìn)行計(jì)數(shù)
下圖中用波形表達(dá)了3種情況:*1GATE=1,完整的一輪計(jì)數(shù)*2計(jì)數(shù)過(guò)程中,GATE=0,暫停計(jì)數(shù)*3計(jì)數(shù)過(guò)程中,重新寫入計(jì)數(shù)初值的計(jì)數(shù)情況
*GATE=0,暫停計(jì)數(shù);GATE=1,繼續(xù)計(jì)數(shù)下圖中用波形2)方式1硬件可觸發(fā)單穩(wěn)基本功能:計(jì)數(shù)器相當(dāng)于一個(gè)可編程的單穩(wěn)態(tài)觸發(fā)器??捎么朔绞絹?lái)產(chǎn)生由程序控制脈沖寬度的負(fù)單脈沖,該脈沖的寬度(低電平持續(xù)時(shí)間)由計(jì)數(shù)初值N確定。
工作特點(diǎn):*輸入控制字后,OUT以高電平為初始電平*以GATE的上升邊為起點(diǎn),一個(gè)CLK脈沖后,OUT為低,計(jì)數(shù)完成后OUT又回到高電平,產(chǎn)生一個(gè)負(fù)的單脈沖。
相當(dāng)于單穩(wěn)電路從穩(wěn)態(tài)(高)到暫穩(wěn)態(tài)(低)又回到穩(wěn)態(tài)*該單脈沖的寬度(低電平繼續(xù)時(shí)間)是CLK周期的N倍*可重復(fù)觸發(fā)。GATE的上升邊啟動(dòng)新一輪工作。
圖中用波形表達(dá)了3種情況:*1正常的一次單穩(wěn)動(dòng)作全過(guò)程。*2N=3,表明暫穩(wěn)態(tài)為3個(gè)CLK時(shí)間;在暫穩(wěn)態(tài)過(guò)程中,再次觸發(fā),再進(jìn)行一次3個(gè)CLK周期的暫穩(wěn)態(tài)。*3改變計(jì)數(shù)初值N=4,由于沒(méi)有GATE啟動(dòng)新一輪動(dòng)作,本次仍然完成3個(gè)
CLK暫穩(wěn)態(tài)過(guò)程。當(dāng)GATE上升邊到來(lái)后,N=4的單穩(wěn)操作才開(kāi)始。
2)方式1硬件可觸發(fā)單穩(wěn)基本功能:計(jì)數(shù)器相當(dāng)于一個(gè)可編程3)方式2分頻器(N分頻方式,頻率發(fā)生器)基本功能:輸出頻率固定的脈沖(控制輸出信號(hào)的高/低電平的比例。)工作特點(diǎn):*控制字寫入后,OUT以高電平為初始電平。計(jì)數(shù)器減到1時(shí),OUT輸出一個(gè)寬度為一個(gè)CLK的負(fù)脈沖。*OUT輸出的脈沖串,以N—1個(gè)CLK脈沖為高電平,以一個(gè)CLK脈沖為低電平。實(shí)際上,OUT輸出的脈沖頻率為CLK脈沖的N分頻。*GATE門控:為高,計(jì)數(shù)器工作;為低,暫停工作。
3)方式2分頻器(N分頻方式,頻率發(fā)生器)該波形圖敘述了3種情況:*1GATE=1,OUT持續(xù)輸出分頻脈沖串(高電平為N-1,低電平為1)*2分頻過(guò)程中,GATE=0,暫停工作,OUT變?yōu)楦唠娖剑?1,繼續(xù)工作,重新計(jì)數(shù)*3GATE=1,工作過(guò)程中改寫N,CE要把本次的計(jì)數(shù)初值減到0,才開(kāi)始新一輪分頻工作。
該波形圖敘述了3種情況:
4)方式3方波發(fā)生器基本功能:基本上與方式2相同,只是OUT輸出的是完全對(duì)稱方波或基本對(duì)稱的連續(xù)方波。工作特點(diǎn):若N為偶數(shù),則輸出脈沖的高、低電平持續(xù)時(shí)間相同;若為奇,則高電平持續(xù)時(shí)間為(N+1)/2,低電平持續(xù)時(shí)間為(N-1)/2。3種情況:*1GATE=1,偶數(shù),OUT輸出對(duì)稱方波*2GATE=1,奇數(shù),OUT輸出不對(duì)稱方波(高電平多一個(gè)CLK時(shí)間)*3GATE=0,暫停工作;GATE=1,從初值開(kāi)始工作
4)方式3方波發(fā)生器3種情況:5)方式4軟件觸發(fā)選通基本功能:?jiǎn)蚊}沖發(fā)生器,以裝入計(jì)數(shù)初值來(lái)啟動(dòng)計(jì)數(shù)器開(kāi)始工作。
工作特點(diǎn):*無(wú)重裝初值功能*裝入控制字后,OUT的初始電平仍為高。*裝入計(jì)數(shù)初值后,計(jì)數(shù)器開(kāi)始倒數(shù)計(jì)數(shù),到0后OUT輸出一個(gè)負(fù)脈沖(寬度為一個(gè)CLK),然后又恢復(fù)為高電平,直到裝入下一個(gè)計(jì)數(shù)初值來(lái)啟動(dòng)新一輪計(jì)數(shù)。*通常用它來(lái)作為負(fù)選通信號(hào)
3種情況:*1GATE=1,正常軟件啟動(dòng)計(jì)數(shù)過(guò)程*2GATE在計(jì)數(shù)過(guò)程中的作用:=0,禁止計(jì)數(shù);恢復(fù)1,重新計(jì)數(shù)*3計(jì)數(shù)過(guò)程中,改寫初值對(duì)計(jì)數(shù)過(guò)程的影響5)方式4軟件觸發(fā)選通3種情況:6)方式5硬件觸發(fā)的選通信號(hào)發(fā)生器
基本功能:以外部GATE信號(hào)來(lái)啟動(dòng)計(jì)數(shù)器開(kāi)始工作,OUT輸出寬度為一個(gè)CLK的負(fù)脈沖。
工作特點(diǎn):*裝入控制字后,OUT的初始電平為高。*裝入計(jì)數(shù)初值后,必須等GATE引腳輸入一個(gè)上升邊后,計(jì)數(shù)器才開(kāi)始倒數(shù)計(jì)數(shù),到0后OUT輸出一個(gè)負(fù)脈沖,寬度為一個(gè)CLK脈沖——通常用它來(lái)作為負(fù)選通信號(hào),然后又恢復(fù)為高電平,直到裝入下一個(gè)計(jì)數(shù)初值來(lái)啟動(dòng)新一輪計(jì)數(shù)。6)方式5硬件觸發(fā)的選通信號(hào)發(fā)生器工作方式小結(jié)1)門控信號(hào)的影響高電平允許,當(dāng)GATE=0,即使出現(xiàn)CLK,也不計(jì)數(shù)-方式0,2,3,4上升沿允許(上升沿觸發(fā))-方式1,52)OUT信號(hào)的狀態(tài)寫入方式字后,OUT的狀態(tài)計(jì)數(shù)過(guò)程中,OUT的狀態(tài)計(jì)數(shù)終了,OUT的狀態(tài)3)計(jì)數(shù)操作可否重復(fù)不可重復(fù)——方式0,4自動(dòng)重復(fù)——方式2,3條件重復(fù)——方式1,5工作方式小結(jié)1)門控信號(hào)的影響(3)8254編程*8254有3個(gè)通道,即3個(gè)定時(shí)器/計(jì)數(shù)器單元,選擇哪個(gè)通道?*每一個(gè)定時(shí)器/計(jì)數(shù)器又有6種工作方式,如何確定工作方式?*每一種方式下又必須寫入計(jì)數(shù)初值,怎么送?*在某些情況下需要讀出計(jì)數(shù)器的余值或計(jì)數(shù)器的狀態(tài),怎么讀?
借助于用“0”“1”組成的“字”,把用戶的意圖告訴給8254這些字是我們使用8254的基礎(chǔ)*方式控制字——設(shè)置計(jì)數(shù)器工作方式
(3)8254編程借助于用“0”“1”組成的“字”,把用戶的*命令字和狀態(tài)字兩個(gè)命令字:計(jì)數(shù)器鎖存命令字和讀回命令字*1計(jì)數(shù)器鎖存命令字功能:把當(dāng)前計(jì)數(shù)工作單元CE的內(nèi)容鎖存到輸出鎖存器OL中,供CPU讀出CE的余值(如:預(yù)先設(shè)置計(jì)數(shù)初值=N,一段時(shí)間后,鎖存,讀剩余值n,在這段時(shí)間內(nèi)的計(jì)數(shù)值X=N-n)
SC1,SC0:選擇將要鎖存哪一個(gè)通道的CE(11無(wú)意義)D5、D4
:特征值(標(biāo)識(shí)),必須為00。
X
XXX00SC0SC1D7D6D5D4D3D2D1D0*2讀回命令字
功能:把指定通道的CE當(dāng)前值鎖存到OL,或把狀態(tài)寄存器內(nèi)容鎖存到狀態(tài)鎖存器SL,以供CPU讀出。鎖存命令字一次只能鎖存一個(gè)通道(計(jì)數(shù)器)讀回命令字能同時(shí)規(guī)定鎖存幾個(gè)通道。
0
CN0CN1CN2STATUSCOUNT11=1通道2=1通道1=1通道0*命令字和狀態(tài)字*1計(jì)數(shù)器鎖存命令字SC1,SC0:選擇將要
控制字鎖存命令字讀回命令字無(wú)標(biāo)識(shí)標(biāo)識(shí)00標(biāo)識(shí)110同一地址入口D7D6必須為11,D0必須為0這是特征值(標(biāo)識(shí))。D5:COUNT=0,鎖存選中的所有計(jì)數(shù)器D4:STATUS=0,鎖存選中的所有狀態(tài)寄存器
*狀態(tài)字功能:供用戶查看8254某一通道的狀態(tài):計(jì)數(shù)值、工作方式、OUT引腳的當(dāng)前狀態(tài)、BCD/二進(jìn)制計(jì)數(shù)方式、讀/寫操作
狀態(tài)字格式
BCD
M0M1M2RW0RW1NULLCOUNTOUTD7D6D5D4D3D2D1D0D7:OUT引腳狀態(tài)。=0,OUT=0;=1,OUT=1
D6:無(wú)效計(jì)數(shù)。=0,計(jì)數(shù)初值已裝入計(jì)數(shù)工作單元CE,計(jì)數(shù)值有效=1,計(jì)數(shù)初值未裝入計(jì)數(shù)工作單元CE,無(wú)效計(jì)數(shù)
D5…….D0與方式控制字的對(duì)應(yīng)位一致。
控制字鎖存命令字讀回命令字無(wú)標(biāo)識(shí)例:要讀通道0的狀態(tài)和余值,設(shè)8254的地址為20CH、20DH、20EH、20FH讀回命令的用法標(biāo)識(shí)位寫讀回命令字:11001000 C8H鎖存余值鎖存狀態(tài)鎖存通道0MOVDX,20FH
MOVAL,0C8H
OUTDX,AL
MOVDX,20CH
INAL,DX
MOVBL,AL
INAL,DX
MOVCL,AL
INAL,DX
MOVCH,AL先讀回狀態(tài)讀回余值低八位讀回余值高八位例:要讀通道0的狀態(tài)和余值,設(shè)8254的地址為20CH、20編程方法及示例1)初始化編程
可編程接口芯片,都有一個(gè)初始化編程問(wèn)題*8254的初始化編程有兩個(gè)步驟
對(duì)控制寄存器寫入控制字,確定某個(gè)通道的工作方式對(duì)通道寫入計(jì)數(shù)初值
設(shè)8254各個(gè)端口的地址為:通道0:20CH通道1:20DH通道2:20EH控制寄存器:20FH
例1
設(shè)置通道0工作于方式0,計(jì)數(shù)100次
填寫方式字:00
01
0000
選中只讀寫
方式0二進(jìn)制
通道0低字節(jié)方式控制字為10H初始化編程
MOVDX,20FH;取控制寄存器地址MOVAL,10H;取通道0的方式控制字
OUTDX,AL
;方式控制字送入控制寄存器
編程方法及示例1)初始化編程可編程接口芯片,都有一個(gè)初始MOVDX,20CH;取通道0地址MOVAL,64H;取通道0計(jì)數(shù)初值OUTDX,AL;計(jì)數(shù)初值送入通道0;到此,隨著CLK0引腳上的脈沖輸入,初值進(jìn)入CE,開(kāi)始計(jì)數(shù)。
例2設(shè)置通道1工作在方式3,輸出頻率為1KHz的方波填寫方式字:01
11
0110
選中先低
方式3二進(jìn)制
通道1后高方式控制字為76H計(jì)算計(jì)數(shù)初值:設(shè)從CLK1輸入的時(shí)鐘脈沖的頻率是2.5M,周期為0.4μs通道10.4μs
CLK1
OUT1
1ms
1×10-3/0.4×10-6=2500D=9C4H
每計(jì)滿2500(9C4H)個(gè)時(shí)鐘脈沖,OUT輸出一個(gè)間隔為1ms的脈沖
MOVDX,20CH;取通道0地址例2設(shè)置通道初始化編程MOVDX,20FH;取控制寄存器地址MOVAL,76H;取通道1的方式控制字OUTDX,AL;方式控制字送入控制寄存器MOVDX,20DH;取通道1地址MOVAX,09C4H;取通道1計(jì)數(shù)初值OUTDX,AL;先送計(jì)數(shù)初值的低字節(jié)(C4H)MOVAL,AH;OUTDX,AL;再送高字節(jié)(09H);到此,OUT1輸出頻率為1000Hz的方波
例3通道級(jí)聯(lián)要求通道2定時(shí)1秒如果仍采用2.5M的時(shí)鐘脈沖,按16位的最大計(jì)數(shù)值65536計(jì)算0.4×10-6×65536=26214.4μs≈26ms不能定時(shí)1000ms(1秒)
解決的辦法:采用級(jí)聯(lián)。
用通道1,通道2聯(lián)合完成1秒定時(shí)。
通道1
方式3通道2
方式02.5MHz
CLK1
OUT1
CLK2
1000Hz
OUT2
1秒到
初始化編程MOVDX,20FH;取控制寄通道安排:通道1:工作在方式3下,輸出頻率為1000Hz的方波(周期為1ms),作為通道2的時(shí)鐘脈沖。通道2:工作在方式0,對(duì)周期為1ms的脈沖計(jì)數(shù),計(jì)滿1000次,OUT2輸出高電平,表明1秒定時(shí)到。
填寫通道2方式字:10
11
0001
選中先低
方式0十進(jìn)制
通道2后高通道2方式控制字為:B1H初始化編程:通道1初始化……..(同例2)MOVDX,20FH;取控制寄存器地址MOVAL,0B1H;取通道2的方式控制字OUTDX,AL;方式控制字送控制寄存器MOVDX,20EH;取通道2的地址MOVAX,1000H;取通道2的計(jì)數(shù)初值OUTDX,AL;先送低字節(jié)(00)MOVAL,AHOUTDX,AL;再送高字節(jié)(10);以此為起點(diǎn),一秒到時(shí),OUT變?yōu)楦唠娖?/p>
通道安排:填寫通道2方式字:101
工作編程
a)工作過(guò)程中改變計(jì)數(shù)初值b)對(duì)控制寄存器寫入命令字(計(jì)數(shù)器鎖存命令字或讀回命令字)為讀某通道的當(dāng)前CE內(nèi)容和狀態(tài)寄存器內(nèi)容作準(zhǔn)備。c)從通道(0,1,2)讀回狀態(tài)字d)從通道(0,1,2)讀回CE當(dāng)前值(余值)
例4讀取通道2的當(dāng)前計(jì)數(shù)值(余值)
鎖存命令字
10
00
0000
選中通道2
特征值
無(wú)意義,可任選
計(jì)數(shù)器鎖存命令字
80H
MOVAL,80H;取通道2計(jì)數(shù)器鎖存命令字MOVDX,20FH;取控制寄存器地址OUTDX,AL;鎖存通道2的CE當(dāng)前值到鎖存器MOVDX,20EH;取通道2地址INAL,DX;從通道2鎖存器讀回余值低8位MOVCL,AL;轉(zhuǎn)存CLINAL,DX;讀回余值高8位MOVCH,AL;轉(zhuǎn)存CH工作編程例4讀取通道2的當(dāng)前計(jì)數(shù)值(余值)鎖存命令實(shí)驗(yàn)裝置8254接線圖I/O譯碼CS1CS2CS3CS4CS5CS6CS7CS8I/O地址300H320H340H360H380H3A0H3C0H3E0H實(shí)驗(yàn)裝置8254接線圖I/O譯碼CS1CS2CS3CS4CSIN指令產(chǎn)生IOR;OUT產(chǎn)生IOW
D0~D7:傳送控制字,命令字,余值,狀態(tài)
6.4.28254在PC中的應(yīng)用(課外閱讀)PC使用一片8254,其3個(gè)計(jì)數(shù)通道分別用于日時(shí)鐘計(jì)時(shí)、DRAM刷新定時(shí)和控制揚(yáng)聲器發(fā)聲聲調(diào)。揚(yáng)聲器發(fā)聲的前提:GATE2=1,即PB0=1與門控制端=1,即PB1=1OUT2輸出一定頻率的脈沖串8255B口地址:61H周期:0.838μs每55ms申請(qǐng)一次中斷IN指令產(chǎn)生IOR;OUT產(chǎn)生IOWD0~D78254的4個(gè)端口地址:T0:40HT1:41HT2:42H控制寄存器:43H定時(shí)中斷和定時(shí)刷新產(chǎn)生55ms方波對(duì)應(yīng)的計(jì)數(shù)值。計(jì)算P2031)MOVAL,36H;計(jì)數(shù)器0為方式3(方波發(fā)生器);;采用二進(jìn)制計(jì)數(shù),先低后高寫入計(jì)數(shù)值OUT43H,AL;寫入方式控制字MOVAL,0;計(jì)數(shù)值為0OUT40H,AL;寫入低字節(jié)計(jì)數(shù)值OUT40H,AL;寫入高字節(jié)計(jì)數(shù)值;到此,OUT0連續(xù)輸出周期為55ms的方波MOVAL,54H;計(jì)數(shù)器工作為方式2(分頻器(頻率發(fā)生器);采用二進(jìn)制計(jì)數(shù),只寫低8位計(jì)數(shù)值OUT43H,AL;寫入方式控制字MOVAL,18;計(jì)數(shù)初值為18(15μs。計(jì)算P204)OUT41H,AL;寫入計(jì)數(shù)值;到此,OUT1連續(xù)輸出周期為15μs的脈沖串
8254的4個(gè)端口地址:定時(shí)中斷和定時(shí)刷新產(chǎn)生55ms方如要求揚(yáng)聲器發(fā)出頻率為600Hz的聲音,則:AX=1.19318×106÷600=1988.6D=7C5HAH=07HAL=C5H;發(fā)音頻率設(shè)置子程序,入口參數(shù):AX=1.19318×106÷發(fā)音頻率SPEAKERPROC PUSHAX MOVAL,0B6H;定時(shí)器2為方式3,;先低后高寫16位計(jì)數(shù)值 OUT43H,AL POPAX OUT42H,AL;寫入低8位計(jì)數(shù)值 MOVAL,AH OUT42H,AL;寫入高8位汁數(shù)值 RETSPEAKERENDPSPEAKON PROC;揚(yáng)聲器開(kāi)子程序 PUSHAX INAL,61H;讀取61H端口的原控制信息 ORAL,03H;D1D0=PB1PB0=11B,其他位不變 OUT61H,AL;直接控制發(fā)聲 POPAXRETSPEAKONENDP如要求揚(yáng)聲器發(fā)出頻率為600Hz的聲音,則:;發(fā)音頻率設(shè)置子SPEAKOFFPROC;揚(yáng)聲器關(guān)子程序PUSHAX INAL,61H ANDAL,0FCH;D1D0=PB1PB0=00B,其他位不變OUT61H,AL;直接控制閉音POPAXRETSPEAKOFFENDP
3)可編程硬件延時(shí)中斷向量號(hào)1AH的日時(shí)鐘調(diào)用程序,用以在應(yīng)用程序中讀取或設(shè)置時(shí)間格式:MOV AH,0 INT 1AH功能:讀時(shí)鐘返回參數(shù):CH:CL=h:minDH:DL=s:10-2s時(shí)鐘的計(jì)時(shí)單位54.925493ms1s:18個(gè)計(jì)時(shí)單位54.925493msx18=0.98865887s1min:1092個(gè)計(jì)時(shí)單位54.925493msx1092=59.978683s1h:65543個(gè)計(jì)時(shí)單位54.925493msx65543=3599.9815s
SPEAKOFFPROC;揚(yáng)以計(jì)時(shí)單位表達(dá)的時(shí)間例如:DL=1,實(shí)際上是1x55ms=55msDL=90,即為90x55=4950ms=5s可編程硬件延時(shí);5秒延時(shí) MOVAH,0;讀取日時(shí)鐘功能調(diào)用(P314)INT1AH;CH:CL=h:minDH:DL=s:10-2sADDDX,90;加5秒(5×18=90)MOVBX,DX;期望值送BXL1:INT1AH;再讀日時(shí)鐘CMPBX,DX;與期望值比較INEL1;不等,則循環(huán)
……;相等,則延時(shí)結(jié)束
BIOS15H號(hào)中斷調(diào)用格式:MOV AH,86H INT 15H入口參數(shù):CX:DX=延時(shí)時(shí)間(以μs為單位)CX高字節(jié),DX低字節(jié)出口參數(shù):CF=0,表示調(diào)用正確,執(zhí)行了延時(shí);=1調(diào)用不正確,未執(zhí)行延時(shí)。2ms延時(shí)程序段:MOVCX,O;2ms延時(shí)MOVDX,1952;延時(shí)1.952MS=2×976μsMOVAH,86HINT15H;功能調(diào)用返回時(shí),定時(shí)時(shí)間到雖然以微秒為單位,但是實(shí)時(shí)時(shí)鐘的最小單位是976.56微秒,所以該功能的實(shí)際延時(shí)是976.56微秒的整倍數(shù).2ms延時(shí),只能取2X976=1952以計(jì)時(shí)單位表達(dá)的時(shí)間例如:DL=1,實(shí)際上是1x55ms=56.4可編程定時(shí)/計(jì)數(shù)器8254及其應(yīng)用
為什么需要定時(shí)/計(jì)數(shù)器在自動(dòng)化流水線中在測(cè)控系統(tǒng)中在智能化儀器儀表中兩項(xiàng)基本工作計(jì)數(shù)定時(shí)關(guān)于定時(shí)定時(shí)軟件定時(shí)硬件定時(shí)不可編程芯片定時(shí)(如555定時(shí)器)可編程芯片(如8254定時(shí)器)定時(shí)器工作原理漏水模型如8254裝水模型如80C516.4可編程定時(shí)/計(jì)數(shù)器8254及其應(yīng)用為什么需要定時(shí)/
6.4.18254定時(shí)器/計(jì)數(shù)器
(1)8254的外部引腳和內(nèi)部結(jié)構(gòu)
*A1A0選擇片內(nèi)各端口(3個(gè)通道和一個(gè)控制寄存器)
00011011通道0通道1通道2
控制寄存器6.4.18254定時(shí)器/計(jì)數(shù)器(1)8254的外部8254與CPU連接示例
RDWRCSA1A0D0:D7
CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2地址譯碼器A9:A2A1A0IORIOW控制寄存器8254
DB
片選片內(nèi)端口選擇A9A8A7A6A5A4A3A2A1A0
1000001100
1000001101
1000001110
1000001111
20CH選中通道0
20DH選中通道120EH選中通道2
20FH選中控制寄存器
設(shè)當(dāng)A9~A2的地址信息為:10000011譯碼器輸出有效信號(hào)8254與CPU連接示例CLK0CLK1基本計(jì)數(shù)工作原理:
減法計(jì)數(shù)器計(jì)數(shù)工作單元CE代表外部事件發(fā)生的計(jì)數(shù)脈沖減法計(jì)數(shù)器計(jì)數(shù)工作單元CE頻率精確的時(shí)鐘脈沖串根據(jù)不同的工作方式,OUT輸出不同的信號(hào)CLK
基本定時(shí)工作原理:
CLK
計(jì)數(shù)初值N(定時(shí)系數(shù))
OUTOUT定時(shí)系數(shù)=要求定時(shí)的時(shí)間/時(shí)鐘脈沖周期
定時(shí)的本質(zhì)還是計(jì)數(shù),計(jì)數(shù)的對(duì)象必須是頻率精確的脈沖串。如果時(shí)鐘脈沖的周期是1μs,要求定時(shí)1ms,則計(jì)數(shù)1000次即可,即:定時(shí)系數(shù)為1000;(對(duì)秒計(jì)數(shù)60次就是1分鐘)
計(jì)數(shù)初值N
注意??!工作原理
基本計(jì)數(shù)工作原理:減法計(jì)數(shù)器代表外部事件減法計(jì)數(shù)器頻率
在計(jì)數(shù)工作方式下:計(jì)數(shù)初值寫入CR;CE為0時(shí)表明計(jì)數(shù)達(dá)到規(guī)定值。
在定時(shí)工作方式下:定時(shí)系數(shù)寫入CR;CE為0時(shí)表明定時(shí)時(shí)間到。
16計(jì)數(shù)初值寄存器CR16位計(jì)數(shù)工作單元CEOUT16輸出鎖存器OL用戶編程寫入外部控制外部事件脈沖時(shí)鐘脈沖計(jì)數(shù)結(jié)束時(shí)OUT輸出信號(hào)開(kāi)始計(jì)數(shù)時(shí)CR裝入CE隨CLK一次減1內(nèi)部總線
GATE
CLK
CLK:計(jì)數(shù)或定時(shí)脈沖輸入引腳GATE:門控引腳:允許/禁止計(jì)數(shù);啟動(dòng)/終止計(jì)數(shù)OUT:輸出引腳:
計(jì)數(shù)通道的內(nèi)部結(jié)構(gòu)CRHCRLOLHOLL不同的工作方式下有不同的輸出在計(jì)數(shù)工作方式下:計(jì)數(shù)初值寫入CR;CE為0(2)8254的工作方式8254的基本計(jì)數(shù)工作方式和基本定時(shí)工作方式是基礎(chǔ),在這兩種基本方式下,可以演繹出6種工作方式。
注意每一種方式下:*定時(shí)或計(jì)數(shù)的啟動(dòng)方式*GATE的控制作用*OUT引腳上的輸出波形每一種方式分為基本功能和工作特點(diǎn)兩部分,細(xì)節(jié)很多。我們通過(guò)波形圖,介紹概要。因?yàn)楦鞣N方式主要是通過(guò)OUT引腳表現(xiàn)出來(lái),請(qǐng)關(guān)注OUT。
1)方式0計(jì)數(shù)結(jié)束中斷典型的事件計(jì)數(shù)(基本計(jì)數(shù)工作方式)基本功能:完成計(jì)數(shù),OUT輸出高電平工作特點(diǎn):
*寫入控制字后,OUT的初始電平為低*計(jì)數(shù)到0時(shí),OUT送出高電平直到寫入了新的計(jì)數(shù)初值。*通常用OUT的低—高變化來(lái)產(chǎn)生中斷請(qǐng)求或查詢信號(hào)。*軟件啟動(dòng),不具備重復(fù)性,再次寫入初值,開(kāi)始新一輪計(jì)數(shù)
*寫入計(jì)數(shù)初值到CR后,第一個(gè)計(jì)數(shù)脈沖的作用是把計(jì)數(shù)初值裝入CE。所以當(dāng)計(jì)數(shù)初值=4時(shí),實(shí)際上當(dāng)CLK輸入5個(gè)計(jì)數(shù)脈沖后OUT才為1。
(2)8254的工作方式注意*定時(shí)或計(jì)數(shù)的啟動(dòng)方式每一種方式*GATE=0,暫停計(jì)數(shù);GATE=1,繼續(xù)計(jì)數(shù)*計(jì)數(shù)過(guò)程中可以寫入新的計(jì)數(shù)初值,從寫入后的下一個(gè)脈沖開(kāi)始,以新
的初值進(jìn)行計(jì)數(shù)
下圖中用波形表達(dá)了3種情況:*1GATE=1,完整的一輪計(jì)數(shù)*2計(jì)數(shù)過(guò)程中,GATE=0,暫停計(jì)數(shù)*3計(jì)數(shù)過(guò)程中,重新寫入計(jì)數(shù)初值的計(jì)數(shù)情況
*GATE=0,暫停計(jì)數(shù);GATE=1,繼續(xù)計(jì)數(shù)下圖中用波形2)方式1硬件可觸發(fā)單穩(wěn)基本功能:計(jì)數(shù)器相當(dāng)于一個(gè)可編程的單穩(wěn)態(tài)觸發(fā)器??捎么朔绞絹?lái)產(chǎn)生由程序控制脈沖寬度的負(fù)單脈沖,該脈沖的寬度(低電平持續(xù)時(shí)間)由計(jì)數(shù)初值N確定。
工作特點(diǎn):*輸入控制字后,OUT以高電平為初始電平*以GATE的上升邊為起點(diǎn),一個(gè)CLK脈沖后,OUT為低,計(jì)數(shù)完成后OUT又回到高電平,產(chǎn)生一個(gè)負(fù)的單脈沖。
相當(dāng)于單穩(wěn)電路從穩(wěn)態(tài)(高)到暫穩(wěn)態(tài)(低)又回到穩(wěn)態(tài)*該單脈沖的寬度(低電平繼續(xù)時(shí)間)是CLK周期的N倍*可重復(fù)觸發(fā)。GATE的上升邊啟動(dòng)新一輪工作。
圖中用波形表達(dá)了3種情況:*1正常的一次單穩(wěn)動(dòng)作全過(guò)程。*2N=3,表明暫穩(wěn)態(tài)為3個(gè)CLK時(shí)間;在暫穩(wěn)態(tài)過(guò)程中,再次觸發(fā),再進(jìn)行一次3個(gè)CLK周期的暫穩(wěn)態(tài)。*3改變計(jì)數(shù)初值N=4,由于沒(méi)有GATE啟動(dòng)新一輪動(dòng)作,本次仍然完成3個(gè)
CLK暫穩(wěn)態(tài)過(guò)程。當(dāng)GATE上升邊到來(lái)后,N=4的單穩(wěn)操作才開(kāi)始。
2)方式1硬件可觸發(fā)單穩(wěn)基本功能:計(jì)數(shù)器相當(dāng)于一個(gè)可編程3)方式2分頻器(N分頻方式,頻率發(fā)生器)基本功能:輸出頻率固定的脈沖(控制輸出信號(hào)的高/低電平的比例。)工作特點(diǎn):*控制字寫入后,OUT以高電平為初始電平。計(jì)數(shù)器減到1時(shí),OUT輸出一個(gè)寬度為一個(gè)CLK的負(fù)脈沖。*OUT輸出的脈沖串,以N—1個(gè)CLK脈沖為高電平,以一個(gè)CLK脈沖為低電平。實(shí)際上,OUT輸出的脈沖頻率為CLK脈沖的N分頻。*GATE門控:為高,計(jì)數(shù)器工作;為低,暫停工作。
3)方式2分頻器(N分頻方式,頻率發(fā)生器)該波形圖敘述了3種情況:*1GATE=1,OUT持續(xù)輸出分頻脈沖串(高電平為N-1,低電平為1)*2分頻過(guò)程中,GATE=0,暫停工作,OUT變?yōu)楦唠娖剑?1,繼續(xù)工作,重新計(jì)數(shù)*3GATE=1,工作過(guò)程中改寫N,CE要把本次的計(jì)數(shù)初值減到0,才開(kāi)始新一輪分頻工作。
該波形圖敘述了3種情況:
4)方式3方波發(fā)生器基本功能:基本上與方式2相同,只是OUT輸出的是完全對(duì)稱方波或基本對(duì)稱的連續(xù)方波。工作特點(diǎn):若N為偶數(shù),則輸出脈沖的高、低電平持續(xù)時(shí)間相同;若為奇,則高電平持續(xù)時(shí)間為(N+1)/2,低電平持續(xù)時(shí)間為(N-1)/2。3種情況:*1GATE=1,偶數(shù),OUT輸出對(duì)稱方波*2GATE=1,奇數(shù),OUT輸出不對(duì)稱方波(高電平多一個(gè)CLK時(shí)間)*3GATE=0,暫停工作;GATE=1,從初值開(kāi)始工作
4)方式3方波發(fā)生器3種情況:5)方式4軟件觸發(fā)選通基本功能:?jiǎn)蚊}沖發(fā)生器,以裝入計(jì)數(shù)初值來(lái)啟動(dòng)計(jì)數(shù)器開(kāi)始工作。
工作特點(diǎn):*無(wú)重裝初值功能*裝入控制字后,OUT的初始電平仍為高。*裝入計(jì)數(shù)初值后,計(jì)數(shù)器開(kāi)始倒數(shù)計(jì)數(shù),到0后OUT輸出一個(gè)負(fù)脈沖(寬度為一個(gè)CLK),然后又恢復(fù)為高電平,直到裝入下一個(gè)計(jì)數(shù)初值來(lái)啟動(dòng)新一輪計(jì)數(shù)。*通常用它來(lái)作為負(fù)選通信號(hào)
3種情況:*1GATE=1,正常軟件啟動(dòng)計(jì)數(shù)過(guò)程*2GATE在計(jì)數(shù)過(guò)程中的作用:=0,禁止計(jì)數(shù);恢復(fù)1,重新計(jì)數(shù)*3計(jì)數(shù)過(guò)程中,改寫初值對(duì)計(jì)數(shù)過(guò)程的影響5)方式4軟件觸發(fā)選通3種情況:6)方式5硬件觸發(fā)的選通信號(hào)發(fā)生器
基本功能:以外部GATE信號(hào)來(lái)啟動(dòng)計(jì)數(shù)器開(kāi)始工作,OUT輸出寬度為一個(gè)CLK的負(fù)脈沖。
工作特點(diǎn):*裝入控制字后,OUT的初始電平為高。*裝入計(jì)數(shù)初值后,必須等GATE引腳輸入一個(gè)上升邊后,計(jì)數(shù)器才開(kāi)始倒數(shù)計(jì)數(shù),到0后OUT輸出一個(gè)負(fù)脈沖,寬度為一個(gè)CLK脈沖——通常用它來(lái)作為負(fù)選通信號(hào),然后又恢復(fù)為高電平,直到裝入下一個(gè)計(jì)數(shù)初值來(lái)啟動(dòng)新一輪計(jì)數(shù)。6)方式5硬件觸發(fā)的選通信號(hào)發(fā)生器工作方式小結(jié)1)門控信號(hào)的影響高電平允許,當(dāng)GATE=0,即使出現(xiàn)CLK,也不計(jì)數(shù)-方式0,2,3,4上升沿允許(上升沿觸發(fā))-方式1,52)OUT信號(hào)的狀態(tài)寫入方式字后,OUT的狀態(tài)計(jì)數(shù)過(guò)程中,OUT的狀態(tài)計(jì)數(shù)終了,OUT的狀態(tài)3)計(jì)數(shù)操作可否重復(fù)不可重復(fù)——方式0,4自動(dòng)重復(fù)——方式2,3條件重復(fù)——方式1,5工作方式小結(jié)1)門控信號(hào)的影響(3)8254編程*8254有3個(gè)通道,即3個(gè)定時(shí)器/計(jì)數(shù)器單元,選擇哪個(gè)通道?*每一個(gè)定時(shí)器/計(jì)數(shù)器又有6種工作方式,如何確定工作方式?*每一種方式下又必須寫入計(jì)數(shù)初值,怎么送?*在某些情況下需要讀出計(jì)數(shù)器的余值或計(jì)數(shù)器的狀態(tài),怎么讀?
借助于用“0”“1”組成的“字”,把用戶的意圖告訴給8254這些字是我們使用8254的基礎(chǔ)*方式控制字——設(shè)置計(jì)數(shù)器工作方式
(3)8254編程借助于用“0”“1”組成的“字”,把用戶的*命令字和狀態(tài)字兩個(gè)命令字:計(jì)數(shù)器鎖存命令字和讀回命令字*1計(jì)數(shù)器鎖存命令字功能:把當(dāng)前計(jì)數(shù)工作單元CE的內(nèi)容鎖存到輸出鎖存器OL中,供CPU讀出CE的余值(如:預(yù)先設(shè)置計(jì)數(shù)初值=N,一段時(shí)間后,鎖存,讀剩余值n,在這段時(shí)間內(nèi)的計(jì)數(shù)值X=N-n)
SC1,SC0:選擇將要鎖存哪一個(gè)通道的CE(11無(wú)意義)D5、D4
:特征值(標(biāo)識(shí)),必須為00。
X
XXX00SC0SC1D7D6D5D4D3D2D1D0*2讀回命令字
功能:把指定通道的CE當(dāng)前值鎖存到OL,或把狀態(tài)寄存器內(nèi)容鎖存到狀態(tài)鎖存器SL,以供CPU讀出。鎖存命令字一次只能鎖存一個(gè)通道(計(jì)數(shù)器)讀回命令字能同時(shí)規(guī)定鎖存幾個(gè)通道。
0
CN0CN1CN2STATUSCOUNT11=1通道2=1通道1=1通道0*命令字和狀態(tài)字*1計(jì)數(shù)器鎖存命令字SC1,SC0:選擇將要
控制字鎖存命令字讀回命令字無(wú)標(biāo)識(shí)標(biāo)識(shí)00標(biāo)識(shí)110同一地址入口D7D6必須為11,D0必須為0這是特征值(標(biāo)識(shí))。D5:COUNT=0,鎖存選中的所有計(jì)數(shù)器D4:STATUS=0,鎖存選中的所有狀態(tài)寄存器
*狀態(tài)字功能:供用戶查看8254某一通道的狀態(tài):計(jì)數(shù)值、工作方式、OUT引腳的當(dāng)前狀態(tài)、BCD/二進(jìn)制計(jì)數(shù)方式、讀/寫操作
狀態(tài)字格式
BCD
M0M1M2RW0RW1NULLCOUNTOUTD7D6D5D4D3D2D1D0D7:OUT引腳狀態(tài)。=0,OUT=0;=1,OUT=1
D6:無(wú)效計(jì)數(shù)。=0,計(jì)數(shù)初值已裝入計(jì)數(shù)工作單元CE,計(jì)數(shù)值有效=1,計(jì)數(shù)初值未裝入計(jì)數(shù)工作單元CE,無(wú)效計(jì)數(shù)
D5…….D0與方式控制字的對(duì)應(yīng)位一致。
控制字鎖存命令字讀回命令字無(wú)標(biāo)識(shí)例:要讀通道0的狀態(tài)和余值,設(shè)8254的地址為20CH、20DH、20EH、20FH讀回命令的用法標(biāo)識(shí)位寫讀回命令字:11001000 C8H鎖存余值鎖存狀態(tài)鎖存通道0MOVDX,20FH
MOVAL,0C8H
OUTDX,AL
MOVDX,20CH
INAL,DX
MOVBL,AL
INAL,DX
MOVCL,AL
INAL,DX
MOVCH,AL先讀回狀態(tài)讀回余值低八位讀回余值高八位例:要讀通道0的狀態(tài)和余值,設(shè)8254的地址為20CH、20編程方法及示例1)初始化編程
可編程接口芯片,都有一個(gè)初始化編程問(wèn)題*8254的初始化編程有兩個(gè)步驟
對(duì)控制寄存器寫入控制字,確定某個(gè)通道的工作方式對(duì)通道寫入計(jì)數(shù)初值
設(shè)8254各個(gè)端口的地址為:通道0:20CH通道1:20DH通道2:20EH控制寄存器:20FH
例1
設(shè)置通道0工作于方式0,計(jì)數(shù)100次
填寫方式字:00
01
0000
選中只讀寫
方式0二進(jìn)制
通道0低字節(jié)方式控制字為10H初始化編程
MOVDX,20FH;取控制寄存器地址MOVAL,10H;取通道0的方式控制字
OUTDX,AL
;方式控制字送入控制寄存器
編程方法及示例1)初始化編程可編程接口芯片,都有一個(gè)初始MOVDX,20CH;取通道0地址MOVAL,64H;取通道0計(jì)數(shù)初值OUTDX,AL;計(jì)數(shù)初值送入通道0;到此,隨著CLK0引腳上的脈沖輸入,初值進(jìn)入CE,開(kāi)始計(jì)數(shù)。
例2設(shè)置通道1工作在方式3,輸出頻率為1KHz的方波填寫方式字:01
11
0110
選中先低
方式3二進(jìn)制
通道1后高方式控制字為76H計(jì)算計(jì)數(shù)初值:設(shè)從CLK1輸入的時(shí)鐘脈沖的頻率是2.5M,周期為0.4μs通道10.4μs
CLK1
OUT1
1ms
1×10-3/0.4×10-6=2500D=9C4H
每計(jì)滿2500(9C4H)個(gè)時(shí)鐘脈沖,OUT輸出一個(gè)間隔為1ms的脈沖
MOVDX,20CH;取通道0地址例2設(shè)置通道初始化編程MOVDX,20FH;取控制寄存器地址MOVAL,76H;取通道1的方式控制字OUTDX,AL;方式控制字送入控制寄存器MOVDX,20DH;取通道1地址MOVAX,09C4H;取通道1計(jì)數(shù)初值OUTDX,AL;先送計(jì)數(shù)初值的低字節(jié)(C4H)MOVAL,AH;OUTDX,AL;再送高字節(jié)(09H);到此,OUT1輸出頻率為1000Hz的方波
例3通道級(jí)聯(lián)要求通道2定時(shí)1秒如果仍采用2.5M的時(shí)鐘脈沖,按16位的最大計(jì)數(shù)值65536計(jì)算0.4×10-6×65536=26214.4μs≈26ms不能定時(shí)1000ms(1秒)
解決的辦法:采用級(jí)聯(lián)。
用通道1,通道2聯(lián)合完成1秒定時(shí)。
通道1
方式3通道2
方式02.5MHz
CLK1
OUT1
CLK2
1000Hz
OUT2
1秒到
初始化編程MOVDX,20FH;取控制寄通道安排:通道1:工作在方式3下,輸出頻率為1000Hz的方波(周期為1ms),作為通道2的時(shí)鐘脈沖。通道2:工作在方式0,對(duì)周期為1ms的脈沖計(jì)數(shù),計(jì)滿1000次,OUT2輸出高電平,表明1秒定時(shí)到。
填寫通道2方式字:10
11
0001
選中先低
方式0十進(jìn)制
通道2后高通道2方式控制字為:B1H初始化編程:通道1初始化……..(同例2)MOVDX,20FH;取控制寄存器地址MOVAL,0B1H;取通道2的方式控制字OUTDX,AL;方式控制字送控制寄存器MOVDX,20EH;取通道2的地址MOVAX,1000H;取通道2的計(jì)數(shù)初值OUTDX,AL;先送低字節(jié)(00)MOVAL,AHOUTDX,AL;再送高字節(jié)(10);以此為起點(diǎn),一秒到時(shí),OUT變?yōu)楦唠娖?/p>
通道安排:填寫通道2方式字:101
工作編程
a)工作過(guò)程中改變計(jì)數(shù)初值b)對(duì)控制寄存器寫入命令字(計(jì)數(shù)器鎖存命令字或讀回命令字)為讀某通道的當(dāng)前CE內(nèi)容和狀態(tài)寄存器內(nèi)容作準(zhǔn)備。c)從通道(0,1,2)讀回狀態(tài)字d)從通道(0,1,2)讀回CE當(dāng)前值(余值)
例4讀取通道2的當(dāng)前計(jì)數(shù)值(余值)
鎖存命令字
10
00
0000
選中通道2
特征值
無(wú)意義,可任選
計(jì)數(shù)器鎖存命令字
80H
MOVAL,80H;取通道2計(jì)數(shù)器鎖存命令字MOVDX,20FH;取控制寄存器地址OUTDX,AL;鎖存通道2的CE當(dāng)前值到鎖存器MOVDX,20EH;取通道2地址INAL,DX;從通道2鎖存器讀回余值低8位MOVCL,AL;轉(zhuǎn)存CLINAL,DX;讀回余值高8位MOVCH,AL;轉(zhuǎn)存CH工作編程例4讀取通道2的當(dāng)前計(jì)數(shù)值(余值)鎖存命令實(shí)驗(yàn)裝置8254接線圖I/O譯碼CS1CS2CS3CS4CS5CS6CS7CS8I/O地址300H320H340H360H380H3A0H3C0H3E0H實(shí)驗(yàn)裝置8254接線圖I/O譯碼CS1CS2CS3CS4CSIN指令產(chǎn)生IOR;OUT產(chǎn)生IOW
D0~D7:傳送控制字,命令字,余值,狀態(tài)
6.4.28254在PC中的應(yīng)用(課外閱讀)PC使用一片8254,其3個(gè)計(jì)數(shù)通道分別用于日時(shí)鐘計(jì)時(shí)、DRAM刷新定時(shí)和控制揚(yáng)聲器發(fā)聲聲調(diào)。揚(yáng)聲器發(fā)聲的前提:GATE2=1,即PB0=1與門控制端=1,即PB1=1OUT2輸出一定頻率的脈沖串8255B口地址:61H周期:0.838μs每55ms申請(qǐng)一次中斷IN指令產(chǎn)生IOR;OUT產(chǎn)生IOWD0~D78254的4個(gè)端口地址:T0:40HT1:41HT2:42H控制寄存器:43H
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 申請(qǐng)學(xué)生資助申請(qǐng)書
- 大學(xué)生創(chuàng)業(yè)項(xiàng)目可以貸款嗎西藏
- 四年級(jí)數(shù)學(xué)三位數(shù)除以兩位數(shù)水平自測(cè)習(xí)題帶答案
- 閱讀力孩子的翅膀
- 創(chuàng)新教學(xué)實(shí)踐
- 餐飲禮儀與服務(wù)提升
- 壓力與應(yīng)對(duì)模板
- 給物業(yè)裝修申請(qǐng)書
- 法律職業(yè)客觀題二-2021年國(guó)家法律職業(yè)資格考試《客觀題卷二》真題匯編
- 初級(jí)銀行管理-銀行專業(yè)初級(jí)《銀行管理》預(yù)測(cè)試卷1
- 職業(yè)學(xué)院學(xué)生晚出、晚歸、不歸管理辦法
- 2025年高三歷史高考第二輪復(fù)習(xí)知識(shí)梳理中國(guó)史部分復(fù)習(xí)提綱
- 《安利蛋白質(zhì)粉》課件
- 2025年蒙鹽集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 護(hù)理三基三嚴(yán)習(xí)題+參考答案
- 椎間孔鏡的手術(shù)配合
- 2025門診護(hù)理工作計(jì)劃
- 員工互評(píng)表(含指標(biāo))
- 電氣領(lǐng)域知識(shí)培訓(xùn)課件
- 山東省部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月選科指導(dǎo)聯(lián)合測(cè)試地理試題( 含答案)
- focus-pdca改善案例-提高護(hù)士對(duì)糖尿病患者胰島素注射部位正確輪換執(zhí)行率
評(píng)論
0/150
提交評(píng)論