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