《實驗十四 可編程的計數(shù)、定時器 8253芯片實驗》由會員分享,可在線閱讀,更多相關(guān)《實驗十四 可編程的計數(shù)、定時器 8253芯片實驗(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
實驗十四 8253 可編程計數(shù)器/定時器實驗要求
一、實驗?zāi)康?
1、掌握8253的主要性能及其初始化編程。
2、學(xué)會根據(jù)實驗要求設(shè)計8253的接口電路。
二、實驗技術(shù)準備
8253主要功能有:
(1)一片上有三個獨立的16位計數(shù)器通道。
(2)每個計數(shù)器都可以按照二進制或十進制計數(shù)。
(3)每個計數(shù)器的計數(shù)速率可達2MHz。
(4)每個通道有6種工作方式,可由程序設(shè)置和改變。
1 / 15
8253內(nèi)部結(jié)構(gòu)
8253管
2、腳圖
注:實驗箱上使用的是8254芯片,8254芯片是8253芯片的增強型,管腳完全相同。
實驗箱上的8254芯片電源和數(shù)據(jù)線均已連接好,實驗時連接好讀寫控制模塊信號
芯片即可工作。
8253的端口選擇表
CS
RD
WR
A1
A0
寄存器選擇和操作
0
1
0
0
0
寫入計數(shù)器#0
0
1
0
0
1
寫入計數(shù)器#1
0
1
0
3、
1
0
寫入計數(shù)器#2
0
1
0
1
1
寫入控制寄存器
0
0
1
0
0
讀計數(shù)器#0
0
0
1
0
1
讀計數(shù)器#1
0
0
1
1
0
讀計數(shù)器#2
0
0
1
1
1
無操作(三態(tài))
1
禁止(三態(tài))
0
1
1
無操作(三態(tài))
8253控制字格式
4、
計數(shù)值N與輸出波形關(guān)系
方式
N與輸出波形的關(guān)系
0
寫入計數(shù)值N后,經(jīng)過N+1個CLK脈沖輸出變高
1
單拍脈沖的寬度為N個CLK脈沖
2
每N個CLK脈沖,輸出一個寬度為CLK周期的脈沖
3
寫入N后,輸出:1)1/2N個CLK高電平,1/2N個CLK低電平(N為偶數(shù))2)(N+1)/個CLK高電平,(N-1)/2個CLK低電平(N為奇數(shù))
4
寫入N后過N+1個CLK,輸出寬度為1個CLK脈沖
5
門控觸發(fā)后,過N+1個CLK,輸出寬度為1個CLK脈沖
門控輸入信號的作用
方式
5、
GATE
低或變?yōu)榈?
上升沿
高
0
禁止計數(shù)
允許計數(shù)
1
1)啟動計數(shù)
2)下一個CLK脈沖使輸出變低
2
1)立即計數(shù)
2)立即使輸出變高
1)重新裝入計數(shù)值
2)啟動計數(shù)
允許計數(shù)
3
1)禁止計數(shù)
2)立即使輸出變高
啟動計數(shù)
允許計數(shù)
4
禁止計數(shù)
允許計數(shù)
5
啟動計數(shù)
6、
8253有六種不同的工作方式:
方式0——計數(shù)結(jié)束產(chǎn)生中斷方式
方式1——可編程單次脈沖方式
方式2——分頻工作方式
方式3——方波方式
方式4——軟件觸發(fā)選通方式
方式5——硬件觸發(fā)選通方式
我們要求通過對方式0、方式1的實驗,來了解和掌握8253主要性能及其初始化編程。
1、 方式0 計數(shù)器結(jié)束中斷方式
當選定8253工作于方式0,并對選定的計數(shù)器寫入控制字時,該計數(shù)器的輸出端OUT立即變?yōu)榈碗娖?。要使計?shù)器能夠進行計數(shù),門控信號GATE必須為高。若CPU利用輸出指令向計數(shù)器寫入計數(shù)值
7、時(N=5),寫WRn的上升沿把計數(shù)值寫入計數(shù)寄存器。在WRn上升沿后的下一個時鐘脈沖
CLK的下降沿時,才把計數(shù)值N寫入計數(shù)寄存器執(zhí)行單元CE。在CLK到來時開始減1計數(shù)??偣惨?jīng)過N+1個CLK脈沖后計數(shù)器減為0,這時OUT引腳由低電平變?yōu)楦唠娖?。利用由低電平變?yōu)楦唠娖秸冃盘栂駽PU發(fā)出中斷請求。
方式0波形圖
2、 方式1 可編程單穩(wěn)態(tài)輸出方式
當CPU用控制字設(shè)定計數(shù)器工作于方式1時,計數(shù)器的輸出OUT立即變?yōu)楦唠娖?,在CPU裝入計數(shù)值N后,必須等到GATE由低電平到高電平的跳變,產(chǎn)生一個上升沿后
8、,才能在下一個時鐘脈沖CLK的下降沿將N值裝入計數(shù)器執(zhí)行單元,同時輸出端OUT由高電平向低電平跳變,以后每來一個時鐘脈沖,計數(shù)器就開始減1操作,當計數(shù)器的值減為0時,OUT產(chǎn)生由低到高的正跳變。
這樣,在OUT的引腳得到一個負的單脈沖,單脈沖的寬度可以由程序控制,寬度等于時鐘脈沖寬度乘以計數(shù)器N的值。
方式1波形圖
實驗內(nèi)容:
第一題:
8253方式0:用消抖電路產(chǎn)生的脈沖作為CLK信號,OUT接LED。程序運行5秒后將計數(shù)器的余值顯示在屏幕上。分析計數(shù)常數(shù)N與CLK的關(guān)系(要求在5秒鐘內(nèi)產(chǎn)生LCK脈沖若干次)。
9、 硬件測試:
1、 硬件接線完畢檢查無誤后,點擊工具欄中的“工具軟件”,選“接口調(diào)試工具”。
2、 在數(shù)據(jù)發(fā)送框里,選“IO地址”,在“起始地址”欄里先填寫8254控制字地址,
在右邊輸入框內(nèi)填寫控制字,再點擊“發(fā)送數(shù)據(jù)”。(寫8254控制字)
3、 在數(shù)據(jù)發(fā)送框里,選“IO地址”,在“起始地址”欄里先填寫選中計數(shù)器地址,
在右邊輸入框內(nèi)填寫計數(shù)值,再點擊“發(fā)送數(shù)據(jù)”。(填寫計數(shù)器值)
4、 在數(shù)據(jù)接收框里,選“IO地址”,在“起始地址”欄里填寫選中計數(shù)器地址,按動消抖脈沖按鈕一次,
產(chǎn)生一個計數(shù)脈沖,再點擊“
10、接收數(shù)據(jù)”,在右邊輸出框內(nèi)為填入計數(shù)器的值。
5、 再按動消抖脈沖按鈕一次,產(chǎn)生一個計數(shù)脈沖,再點擊“接收數(shù)據(jù)”,在右邊輸出框內(nèi)為計數(shù)器
(N-1)的值。
第二題:
8253方式1:計數(shù)器1工作在方式1,CLK1和GATE1信號由消抖電路產(chǎn)生,OUT1接LED,驗證CLK1、GATE1和OUT1三者關(guān)系。
要求:CLK1、GATE1分別接LED監(jiān)視,初態(tài)LED均滅。
思考題:在不改動源程序的條件下,如何控制GATE信號的
再次插入,來加寬輸出脈沖的寬度。
實驗要求:
1、 畫出正確的邏輯圖;
2、 寫出正確的源程序并加以必要的注釋;
3、
4、
5、
6、 溫馨提示:最好仔細閱讀后才下載使用,萬分感謝!
7、
8、