一點(diǎn)點(diǎn)看!一定可以看懂!考試沒有問題的!加油??
前面知識(shí)寫的詳細(xì),看不懂可以先看典例,回頭來梳理就明白了【典例就是??嫉念}】
目錄
Part 1: 芯片知識(shí)總結(jié)?
(一)8253 芯片特點(diǎn)
(二) 8253芯片引腳功能? ? ??知道才好編程
(三) 8253編程
(1)8253 初始化
① 工作方式控制字?
②?計(jì)數(shù)初始值
③ 初始化流程
??(四)?單位轉(zhuǎn)換
Part 2 : 經(jīng)典考題典例
Part 1: 芯片知識(shí)總結(jié)?
(一)8253 芯片特點(diǎn)
1. 可編程的邏輯器件
2. 8位并行接口,但內(nèi)容計(jì)數(shù)寄存器是16位的
3. 非通道型的接口,控制型的即具有特定功能(計(jì)數(shù)、定時(shí)等)
4. 工作方式:
? ?減法計(jì)數(shù): 計(jì)數(shù)值減為0時(shí)輸出相應(yīng)控制系統(tǒng)
? ?輸出控制系統(tǒng)的形式可通過軟件設(shè)置(工作方式)?
(二) 8253芯片引腳功能? ? ??知道才好編程
?
(三) 8253編程
(1)8253 初始化
? ? ? ?① 工作方式控制字?
上述解釋補(bǔ)充:
二進(jìn)制計(jì)數(shù): 為0000H~FFFFH,其中0000H為最大值,代表65536; (默認(rèn))
十進(jìn)制(BCD碼): 計(jì)數(shù)為0000~9999,其中0000為最大值,代表10000
?
②?計(jì)數(shù)初始值
計(jì)數(shù)初始值 寫入對(duì)應(yīng)計(jì)數(shù)器的計(jì)數(shù)初值寄存器CR;
1. 計(jì)數(shù)初值為8位 —?控制字中的RL1、RL0應(yīng)取01?— 初值只寫入CR的低8位,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 高8位會(huì)自動(dòng)置0;
2. 計(jì)數(shù)初值16位,低8位是0 — RL1、RL0應(yīng)取10 —?初值高8位寫入CR的高8位,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CR的 低8位會(huì)自動(dòng)置0;
3. 若是一般16位初值,則RL1, RL0應(yīng)取11, 應(yīng)分兩次寫入初值,先寫低8位、再寫入高8位(此順序不能反)
計(jì)數(shù)初值 = OUT周期/ CLK周期
? ? ? ? ? ? ? ?= CLK頻率*OUT周期
? ? ? ? ? ? ? ?= CLK頻率/OUT頻率
③ 初始化流程
??(四)?單位轉(zhuǎn)換
1kHz = 1000Hz ?3
1MHz = 1000 000Hz?? 6
1GHz = 1000 000 000GHz??? 9
1s = 1000ms = 1000 000μs = 1000 000 000ns
Part 2 : 經(jīng)典考題典例
考題1難,后面基礎(chǔ)方便理解
【考題1】
(一)分析計(jì)算 : 設(shè)定CNTO工作于方式3,輸出方波信號(hào),其周期為10ms,那么,其計(jì)數(shù)初值計(jì)算如下:
??(二)工作方式分析:周期性:方式2(周期性負(fù)脈沖發(fā)生器)或 方式3(方波信號(hào)發(fā)生器)
? ? ? ? ? ? ? ? ? ? ? ? ?CNT1 :? 周期性秒脈沖:方式2
? ? ? ? ? ? ? ? ? ? ? ? ?CNT0 :? ?方式3
(三)CNT0 :??初值? =? ? 輸入信號(hào) 頻率 f? ×??輸出信號(hào) 周期T
? ? ? ? ? ? ? ? ? ? ? ? = 250KHZ? ×? 10ms
? ? ? ? ? ? ? ? ? ? ? ??=( 250HZ × 1000 ) ×? (10? ×? 0.0001 S)
? ? ? ? ? ? ? ? ? ? ?? ?= 2500 = 09C4H? ? ?十進(jìn)制轉(zhuǎn)16進(jìn)制
? ? ? ? ? CNT1?:??初值? =? CNT0的輸出頻率? ×??輸出信號(hào) 周期T
? ? ? ? ? ? ? ? ? ? ? ?= (1 / 0.001) 100HZ? ×? 1s
? ? ? ? ? ? ? ? ? ? ? ?= 100? ?=? 64H
2500/16 = 156......4? ? ? 同理
156/16 = 9......C
9/16 = 9......9
(四)地址規(guī)則:
?每個(gè)CNT編程:
1.選定控制寄存器地址,為控制寄存器寫控制字(查功能8位),選定該CNT,并將控制字輸出至I/O端口(OUT)
2.選定CNT地址,算出該CNT的計(jì)數(shù)初值,并將初值輸出至I/O端口?(OUT)?
START: MOV AX,DATA
MOV DS,AX
CLI
;CNT0
MOV DX,0203H ;CNT0初始化編程 ,產(chǎn)生方波信號(hào) ,周期為10ms
MOV AL,36H ;CNT0方式3控制字 , 0011 0110
OUT DX,AL ;控制字CPU傳入8253
MOV DX,0200H
MOV AL,0C4H
OUT DX,AL ;寫入低字節(jié)計(jì)數(shù)值
MOV AL,09H
OUT DX,AL ;寫入高字節(jié)計(jì)數(shù)值
;CNT1
MOV DX,0203H ;CNT1初始化編程 , 產(chǎn)生周期性負(fù)脈沖信號(hào) ,周期為1s
MOV AL,74H ;CNT1方式2控制字 , 0111 0100
OUT DX,AL
MOV DX,0201H
MOV AL,064H
OUT DX,AL ;寫入低字節(jié)計(jì)數(shù)值
MOV AL,00H
OUT DX,AL ;寫入高字節(jié)計(jì)數(shù)值
1. 已知,某外設(shè)需要8253提供頻率為1Hz方波,現(xiàn)8253的CLK0輸入頻率為2MHZ,其
端口地址為40H-43H試給出實(shí)現(xiàn)方案,并編寫相關(guān)程序段。
輸入頻率:? ?2MHZ=2000 000HZ
輸出頻率:? 1HZ
CLK0:40H
CLK1:41H
CLK2:42H
寄存器地址:43H
2. 設(shè)8253的端口地址為40~43H,選擇計(jì)數(shù)器1工作于方式2,計(jì)數(shù)初值為1024,二進(jìn)制計(jì)數(shù)方式,試編寫其初始化編程:
?3.已知芯片8253的端口地址為4F0H 4F3H,設(shè)計(jì)數(shù)器1工作在方式1,計(jì)數(shù)器初值為3060H,
采用二進(jìn)制計(jì)數(shù),請(qǐng)?jiān)O(shè)計(jì)實(shí)現(xiàn)上述功能的8253初始化程序。
?
?
?
? ? ? ??文章來源:http://www.zghlxwxcb.cn/news/detail-428523.html
? ? ? ? ??文章來源地址http://www.zghlxwxcb.cn/news/detail-428523.html
到了這里,關(guān)于微機(jī)原理 || 8253 芯片 (詳細(xì)講解 + 經(jīng)典例題)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!