8253译码电路设计以及初始化编程讲解
先驗知識回顧:知識點不清晰的時候可以查詢相關(guān)知識點。
https://blog.csdn.net/qq_42604176/article/details/105810973
需掌握的主要知識點
1、譯碼電路設(shè)計
2、初始化編程
例題1
在以 8086構(gòu)成的最大方式系統(tǒng)中,有一片8254的端口地址分別為301H、303H、305H和307H,給定的外部時鐘為512kHz。 要求:、
(1)利用計數(shù)器0產(chǎn)生周期為1ms的周期信號,請編寫初始化程序;利用這一計數(shù)器能產(chǎn)生的最低信號頻率為_______, 這時的時常數(shù)CR。=________;
思路:
1、分析采用哪種方式
根據(jù)要求產(chǎn)生周期信號,采用方式2/3:分頻器/周期性方波輸出;
2、計算時常數(shù)CR0
CR0=輸出信號周期/外部時鐘周期=1ms/(1/512k)=512
3、了解該計數(shù)器的最大分頻次數(shù),計算最大分頻次數(shù)
最大分頻次數(shù)是62256次,這樣可以獲取最低頻率:512k/62256=8.22Hz
(2)利用計數(shù)器1和2產(chǎn)生如圖9. 17所示的周期信號,并編寫初始化程序;
產(chǎn)生這種非方波的周期信號,使用方式2,但是在方式2下,低電平時間僅為一個時鐘周期。因此,利用一個計數(shù)通道無法實現(xiàn)。現(xiàn)在采用計數(shù)器1和計數(shù)器2聯(lián)合,先利用計數(shù)器1產(chǎn)生周期為1.5ms的周期信號,然后將輸出OUT1信號作為計數(shù)器2的時鐘輸入CLK2。
對于計數(shù)器1,工作方式可以選擇方式2/3,一般選擇方式3,這樣可以使產(chǎn)生的信號近似對稱,其時常數(shù)CR1=1.5ms/(1/512k)=768,采用16位的時常數(shù)表示。
對于計數(shù)器2,工作方式只能選擇方式2,其時間常數(shù)CR2=(3s+1.5ms)/1.5ms=2001,所以也需要16位時常數(shù)表示。
(3)畫出8253的端口譯碼電路(地址線只使用Ao~Ag)及其連接圖。
譯碼電路地址要求:
| 00 | 11,0000,0001 | 301H |
| 01 | 11,0000,0011 | 303H |
| 10 | 11,0000,0101 | 305H |
| 11 | 11,0000,0111 | 307H |
注意由于是奇地址,數(shù)據(jù)線和A0所做出的的更改:
例題2
設(shè)8253的端口地址為260H ~ 263H,外部時鐘信號為1MHz,要求產(chǎn)生如圖所示的周期波形,畫出8253的連接圖,并編寫初始化程序段。
分析:
產(chǎn)生的信號低電平時間比高電平寬的多,所以不能直接采用方式2實現(xiàn)。如果可以增加外部器件,則可以在上一題的基礎(chǔ)上,將OUT端信號非門取反。
1、由于要采用方式3,產(chǎn)生周期:1s+12ms=1012ms的方波信號,題目給定的外部時鐘周期為1MHz,這時候需要的分頻系數(shù)(時常數(shù))為:1012ms/1us=1012000,顯然這個超過了65536(2^16),所以通過一個計數(shù)通道無法實現(xiàn),所以采用計數(shù)器0和計數(shù)器1聯(lián)合產(chǎn)生。CR0=1000,CR1=1012,這樣OUT0周期為1ms。
2、利用計數(shù)器2的方式1(可編程單穩(wěn)脈沖)實現(xiàn)單脈沖形成一次作為要求產(chǎn)生信號的低電平,時常數(shù)CR2=1s/1ms-1=1000-1=999,計數(shù)器0 的OUT0信號作為計數(shù)器2的時鐘輸入信號,OUT1作為計數(shù)器2的硬件觸發(fā)信號,確保周期為1012ms。這里注意,計數(shù)器的方式1的時常數(shù)確定的是輸出低電平的時長,也就是所謂的單脈沖寬度.
OUT0:輸出的是周期為1ms的方波
OUT1:輸出的是周期為1012ms的方波,也就是說每1012ms產(chǎn)生一個上升沿,這確定了計數(shù)器2的方式1一個周期寬度
OUT2:輸出的是周期為1012ms,低電平時長為1000ms的脈沖。
我覺得最需要關(guān)注的兩個連接點就是:OUT0->CLK1,OUT1->GATE2
例題3
在8088最小系統(tǒng)中,8253 的端口地址為284H~287H.系統(tǒng)提供的時鐘為IMHz,要求在OUT0輸出周期為20微秒的方波,在OUTI輸出周期為200微秒,其中每周期為負(fù)的時間是180微秒的信號。請編寫8253的初始化程序。
分析:這一題和上一題的思路很相似,主要的就是不需要聯(lián)合。
通道0產(chǎn)生方波,可以使用方式3產(chǎn)生。
時常數(shù)CR0=輸出信號周期/外部時鐘周期=20us/(1/1M)=20;
通道2產(chǎn)生方波,可以使用方式3產(chǎn)生。
時常數(shù)CR2=輸出信號周期/外部時鐘周期=200us/(1/1M)=200;
通道1,采用方式1,時常數(shù),CR1=180/20-1=8;
總結(jié)
以上是生活随笔為你收集整理的8253译码电路设计以及初始化编程讲解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 床大概多少钱啊?
- 下一篇: 微机原理——扩展存储器设计