




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、8253的工作方式1. 方式0計數結束產生中斷8253用作計數器時一般工作在方式 0。所謂計數結束產生中 斷,是指在計數值減到 0時,輸出端(OUT產生的輸出 信 號可作為中斷申請信號,要求CPU進行相應的處理。方式 0有如下特點: 當控制字寫進控制字寄存器確定了方式0時,計數器的輸出(OUT端口)保持低電平,一直保持到計數值減到0。 計數初值裝入計數器之后,在門控GATE言號為高電平時計數器開始減1計數。當計數器減到 0時輸出端OUT才由低 變高,此高電平輸出一直保持到該計數器裝入新的計數值或 再次寫入方式0控制字為止。若要使用中斷,可以計數到0的輸出信號向CPU發(fā)出中斷請求,申請中斷。 G
2、ATE為計數控制門,方式 0的計數過程可由 GATE空制暫 停,即GATE=1時,允許計數;GATE=0寸,停止計 數。GATE 信號的變化不影響輸出 OUT端 口的狀態(tài)。 計數過程中,可重新裝入計數初值。如果在計數過程中, 重新寫入某一計數初值,則在寫完新計數值后,計數器將從 該值重新開始作減1計數。2. 方式 1 可編程的單拍負脈沖 可編程的單拍負脈沖又稱為單穩(wěn)態(tài)輸出方式,簡稱單穩(wěn)定 時。方式 1的特點是: CPU寫入控制字后,計數器輸出 OUT端為高電平作為起始電平,在寫入計數值后計數器并不開始計數 (不管此時 GATE 是高電平還是低電平),而要由外部門控GATE脈沖上升沿啟動,并在上
3、升沿之后的下一個 CLK輸 入脈沖的下降沿開 始計數。 GATE上升沿啟動計數的同時,使輸出OUT變低,每來一個計數脈沖,計數器作減一計數,直到計數減為0時,OUT輸出端再變?yōu)楦唠娖健?OUT端輸出的單拍負脈沖的寬度為計 數初值乘以CLK端脈沖周期。設計數初值為 N,則單拍脈沖 寬度為N個CLK時鐘脈沖周期。 如果在計數器未減到 0時,GATE又來一觸發(fā)脈沖,則由 下一個時鐘脈沖開始,計數器將從初始值重新作 減 1計數。當減至 0時,輸出端又變?yōu)楦唠娖健_@樣,使輸出脈沖寬度 延長。3. 方式 2 分頻脈沖發(fā)生器方式2是一種具有自動予置計數初值N的脈沖發(fā)生器。從OUT 端可以輸出連續(xù)脈沖信號,脈
4、沖寬度等于時鐘脈沖周期,而計數初值N決定了輸出端兩個負脈沖之間的寬度即輸出脈沖 周期。方式2也叫N分頻器,因為輸出脈沖為輸 入脈沖的N 分頻,即出現(xiàn)N個輸入脈沖才輸出一個脈沖。方式2有如下特點: N分頻計數器,這種方式是輸出對輸入脈沖按計數器計數 初值N分頻后的連續(xù)脈沖。 當CPU寫入控制字后OUT端輸出為高電平作為起始電平,在寫入計數值N后將立即自動開始對輸入脈沖 CLK計數,輸 出端仍一直為高;當計數器減到 1時,輸出變低,計數器減 到0時又變?yōu)楦撸嫈灯髦匦掳匆褜懭氲挠嫈抵礜繼續(xù)計數,周而復始,在 OUT端輸出一個N分頻脈沖,其正脈搏沖 寬度為(N-1)個輸入脈沖時鐘周期(是 N個CLK
5、時鐘脈沖 周期之和),而負脈沖輸出寬度(持續(xù)時間)是一個CLK脈沖周期。 GATE用于控制計數,GATE=1允許計數;GATE=0停止 計數。因此,可以用 GATE來使計數器同步。 在方式 2下,不但高電平的門控信號有效,上升跳變的 門信號也是有效的。4. 方式 3 分頻方波發(fā)生器方式 3 的特點是: 方式 3 常用于波特率發(fā)生器。方式 3 和方式 2 類似。但 輸出為方波或近似方波的矩形波。 寫入方式 3 控制字后輸出為高電平。寫入計數值后計數器自動開始對輸入 CLK脈沖計數,輸出OUT仍保持為高;在計數完成一半時,輸出 OUT變?yōu)榈碗娖剑钡接嫈灯魅客瓿桑敵鯫UT又變?yōu)楦唠娖剑⒅貜蜕?/p>
6、述計數過程。 若計數值N為偶數時,OUT方波的占空比為1:1 ;若N 為奇數,其占空比為:( N+1)/2 :(N-1 )/2 即輸出分頻 波高電平寬度為( N+1)/2 CLK 周期,低電平周期為( N-1 ) /2 CLK 周期 。5. 方式 4 軟件觸發(fā)選通脈沖發(fā)生器方式 4 是類似于方式 0 的工作方式,計數器是靠置入新的計 數初值這個軟件操作來觸發(fā)計數器工作的,故稱為軟件觸 發(fā)。方式 4 有如下特點: 方式 4 是靠寫入計數值來進行軟件觸發(fā)的“一次性有效”的選通脈沖發(fā)生器。寫入控制字后輸出端OUT變?yōu)楦撸⒁恢北3帧T趯懭胗嫈党踔抵箝_始計數,當計數到 0 時 輸出端OUT變?yōu)榈停S
7、持一個 CLK周期后又恢復為 高,并 一直保持為高,直到再次寫入計數來進行“軟件觸發(fā)”才能 再次開始。 若GATE=1允許計數;GATE=0停止計數。 方式4的負脈沖輸出常作為選通脈沖。6. 方式5硬件觸發(fā)選通脈沖發(fā)生器方式5有如下特點: 方式5類似于方式4,所不同的是GATE端輸入信號的作 用不同。方式5是硬件觸發(fā),是在外部硬件發(fā)出門控 信號 后才發(fā)生的。 方式5是靠門控脈沖GATE的上升沿來進行觸發(fā)的選通脈沖發(fā)生器。寫入控制字后輸出端OUT為高,這是初始電平;寫入計數值后計數器并不開始計數,而要由門控脈沖GATE上升沿觸發(fā)后才開始計數, 計數到0輸出由高變低,一個CLK 時鐘周期后又恢復為
8、高,并一直保持,直到下次門控脈沖觸發(fā)再次開始計數。 在此方式中,計數器可重新觸發(fā),在任何時候,當GATE信號的上升沿到來,將把計數初值重新送入計數器,然后開 始計數過程。8253的控制字SCi $CbRLi RLqNh Mi 皿BCDli BCD計數 'I 0: 2進制計數f 000 :方式0 001 方式1J X10=方起 Xll:方式3100:方式400:計數器鎖存,供CPU讀1 101=方式3 LJoi:只鍛寫計數器低字節(jié)10=只i卻寫計數器離字節(jié)II:先讀/寫計數器低字節(jié)JE讀/寫高字節(jié)00:迭揮通道。01:選擇通道L10 .選樣通道Z lit無效8253的控制字SC1, SC
9、O計數通道選擇位。由于8253內部3個計數通 道各有一個8位的控制字寄存器,而這三個控制字寄存器 共 用同一個控制端口地址,所以控制字中設置SCi,SCo這兩位來確定CPU當前發(fā)出的控制字是寫入哪個計數通道的控 制字寄存器中。具體選擇如圖.RLi,RLo讀/寫操作方式位。這兩位用來確定對選中的計數通道進行讀/寫操作方式。當CPU對8253進行16位讀 /寫操作時,可以只讀/寫高8位或只讀/寫低8位,也可以讀/ 寫16位。讀/寫16位時,先讀/寫低8位,后讀/寫高8位, 具體是哪種操作方式由RLi,RLo這兩位的編碼確定。由于8253的數據線只有(D7Do), 一次只能傳送8位數據,故 傳送16
10、位數據時,要分兩次進行。M2, M1, Mo工作方式擇位。8253的每個計數通道有 6種不同的工作方式,即方式0到方式5 , M2M1M0這三類就是用來選擇具體的工作方式,具體選擇如圖。BCD 計數方式選擇位。8253的每個計數通道有兩種計 數方式按二進制計數或按十進制(BCD碼)計數。BCD位用來具體確定采用哪種計數方式。例:若選擇計數器1,工作在方式3,計數初值為588H ( 2 個字節(jié))采用二進制計數,則其控制字為:01110110=76H,設控制口地址為 043H,則將該控制字寫入控制字寄存器的 指令如下:MOV AL,076HOUT 043H,AL? 8253的初始化編程內容:一是首
11、先向控制寄存器寫入控 制字,以選定計數通道(三個中之一),規(guī)定該計數的工作 方式和計數方式以及計數初值的長度和裝入順序(初值寫入方式);二是向已選定的計數器按控制字的要求寫入計數初值。8253初始化的要求:(1)對每個計數器,控制字必須寫在計數值之前。這是因 為計數器的讀/寫格式由它的控制字決定。(2)計數值必須按控制字所規(guī)定的格式寫入。若控制字規(guī) 定只寫8位,只需寫入一次(8位)計數值即可(規(guī)定寫低8位則高8位自動置0,規(guī)定寫高8位則低8位自動置0); 規(guī)定寫16位時必須寫兩次,先寫低8位,后寫高8位。當初 值為0時,也要分兩寫入,因在二進制計數時,“0”表示65336,在 BCD碼計數時“
12、 0” 表示 10000=104。(3)對所有方式計數器都可以在計數過程中或計數結束后 改變計數值,重寫計數值也必須遵守控制字所規(guī)定的格式, 并且不會改變當前計數器的工作方式。(4)計數值不能直接寫到減 1計數器中,而只能寫入計數值寄存器中,并由寫操作之后的下一個CLK脈沖將計數值寄存器的內容裝入減 1計數器開始計數。(5)初始化編程必須明確各個計數器的控制字和計數值不是寫到同一個地址單元。各個計數器的控制字各自獨立確定,但它們都寫入同一個端口地址(控制字寄存器)中,各個計數器的計數值則根據需要獨立確定并寫入各自計數器的相應寄存器中。例1:設8086系統(tǒng)中8253的三個計數器的端口地址為 06
13、0H, 062H和064H,控制口地址為066H,要求計數器0為方式1, 按BCD計數;計數初值為1800D,計數器1為方式0,按二 進制計數;計數初值為 1234H,計數器2為方式3,按二進 制計數;當計數初值為 065H時,試分別寫出計數器 0,1, 2的初始化程序。計數器0的初始化: 計數0的控制字:00100011B=23HMOV AL 23H ;計數器0的控制字OUT 0 66H, AL ;控制字寫入 8253的控制器MOV AL 18H ;取計數初值的高 8位,低8位00可不送OUT 060H, AL ;計數初值送計數器 0端口 計數器1和初始化:計數器1的控制字:01110000
14、B=70HMOV AL 70H ;計數器的控制字:方式0,送高8位和低8位,二進制計數OUT 066H, AL ;控制字寫入 8253的控制器MOV AL 034H ;取計數初值的低 8位OUT 062H, AL ;計數初值的低 8位,寫入計數器1端口MOV AL 12H ;取計數初值的高 8位OUT 062H, AL ;計數初值的高8位寫入計數器1端口 計數器2的初始化:計數器2的控制字:10010110B=96HMOV AL 96H ;計數器2的控制字96H:方式3,只送低8 位,二進制計數OUT 066H, AL ;控制字寫入 8253的控制口MOV AL 056H ;計數初值的低 8位
15、OUT 064H, AL ;計數初值的低 8位寫入計數器2的端口 例2:要求讀出計數器 2的當前計數值,并檢查是否為全8253在讀取計數器的當前計數值時,必須分兩步進行。首先發(fā)一鎖存命令(即控制字中RL1RLO=O0 ,將當前計數 值 鎖存到輸出鎖存器中。第二步執(zhí)行讀操作,即用IN指令將鎖存器中內容讀入CPU假設計數初值只有低 8位,設其程序段如下(控制口地址為066H,計數器2的口地址為 064H):KEEP MOV AL 80H ;計數器2的鎖存命令OUT 066H, AL ;鎖存命令寫入控制寄存器IN AL,064H ;讀輸出鎖存器中的當前計數值(從計數器2端口讀)CMP AL 0FFH
16、 ;比較當前計數值是否為全“ 1”JME KEEP;非全“ 1”繼續(xù)讀HLT ;為全“ 1”暫停? 8253的應用舉例例1:將8253的計數器1作為5ms定時器,設輸入時鐘頻 率為200kHz,試編寫8253的初始化程序。(1)計數初值N計算已知輸入時鐘CLK頻率為200kHz,則時鐘周期為T=1/f=1/200kHz=5卩s,于是計數初值N為:N=5ms/T=5ms/5i s=1000。(2)確定控制字按題意選計數器1,按BCD碼計數,工作于方式 0,由于計 數初值N=1000,控制字C5C4應為11,于是8253的控制字 為: 01110001B=71H(3)選擇8253各端口地址設計數器
17、1的端口地址為3F82H,控制口地址為 3F86H。(4)初始化程序如下MOV AL,71H ;控制字MOV DX 3F68H ;控制 口地址OUT DX AL ;控制字送8253控制寄存器MOV DX 3F82H ;計數器1端口地址MOVAL,00 ;將計數初值N=1000的低8位寫入計數器1OUT DX, ALMOVAL,10 ;將 N 的高8位寫入計數器1OUT DX, AL例2:以8086為CPU的某微機系統(tǒng)中使用了一塊8253芯片,其通道端口地址為 308H, 30AH, 30CH,控制口地址為 30EH, 3個通道使用同一輸入時鐘,頻率為2MHz要求完成如下功能:利用計數器0采用硬
18、件觸發(fā),輸出寬度等于時鐘周期的單脈 沖,定時常數為36H;利用計數器1輸出頻率為2kHz的對稱方波;利用計數器2產生寬度為0. 6ms的單脈沖,試設計該定時系統(tǒng)硬件電路和初始化程序。(1) 硬件電路設計硬件電路設計主要是地址譯碼電路設計及時8253與CPU間的連接。根據給定的端口地址可知,地址總線低位部分的AA分別為:AA=11, A幾=0000, AAA=100111, A0=0, 由它們經譯碼器譯碼產生 8253的片選信號 ,8253的數 據線DD0必須與系統(tǒng)數據總線的低8位相連,8253的端口的選擇信號A1A0應連系統(tǒng)地址的 A2A1。根據上 述要求, 譯碼器應選3-8譯碼器74LS13
19、8。該譯碼器有3個代碼輸入 端(C B, A),輸入3位代碼決定譯碼信號從 丫。丫7中哪 一個輸出,本例中顯然應以丫2輸出。(2) 初始化編程根據題意要求,對3個通道的工作方式,計數初值確定如下:由 CLK0CLK2=2MHz可得,時鐘周期 T=1/f=1/2MHz=0 . 5 卩 s。選計數器0:選擇方式5,門控信號GATE應接一正跳變信號, OUT端當計數為0時產生一個寬度等于時鐘周期的單脈沖。計數系數為36,用BCD計數。所以,計數器 0的控制字應 為 00011011B=1BH選計數器1:選擇方式3, GATE按 +5V,CLK1=2MHZ俞出方波 頻率為2kHz,所以,計數常數 Ni=2MHz/2kHz=1000,采用BCD 計數,于是計數器1的控制字為:01110111B=77H選計數器2:選擇方式1,以構成一個單穩(wěn)態(tài)電路,輸出脈 沖寬度由計數常數 N2決定,計數常數N2=600卩s/0 .5卩s=1200,采用 BCD計數,于是計數器 2的控制字為:10110011B=B3H根據以上分析可得3個計數通道的初始化程序如下。計數通道0的初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025綜合物流服務合同范本
- 2025屆高三數學“8+3+3”小題期末專項練(10)復數與平面向量(新高考地區(qū)專用)解析版
- 2025贈與合同協(xié)議書范本
- 2025租賃合同終止的方法
- 2025年農科院作物學筆試題
- 2025年牙科綜合治療機合作協(xié)議書
- 2025年高、低能校正磁鐵項目合作計劃書
- 2025年麻疹、風疹、腮腺炎聯(lián)合疫苗合作協(xié)議書
- 2025年金融擔保服務項目合作計劃書
- 2025年碳纖維預浸布項目合作計劃書
- 湖北省武漢市部分學校2025屆高三第三次模擬考試數學試卷含解析
- 《宜家在華門店擴張戰(zhàn)略實施環(huán)境及實施途徑研究》9700字(論文)
- 華為鴻蒙系統(tǒng)應用開發(fā)H14-231 V1.0備考試題庫(含答案)
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術標準》條文解讀
- 2024年江蘇泰州市第四人民醫(yī)院招考聘用高層次人才11人管理單位遴選500模擬題附帶答案詳解
- 火災現(xiàn)場危險隱患培訓
- 2024ESC心房顫動管理指南解讀
- 晨檢課件完整版本
- 美術教室裝修合同模板
- 少年羽毛球教學課程設計
- 安裝護眼燈合同范本(2篇)
評論
0/150
提交評論