杭電微機原理定時器計數(shù)器實驗報告_第1頁
杭電微機原理定時器計數(shù)器實驗報告_第2頁
杭電微機原理定時器計數(shù)器實驗報告_第3頁
杭電微機原理定時器計數(shù)器實驗報告_第4頁
杭電微機原理定時器計數(shù)器實驗報告_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、微型計算機原理與接口技術(shù)實驗報告班 級 : 學(xué) 號 : 姓 名 : 指導(dǎo)老師 : 朱亞萍 實驗名稱 : 定時器 / 計數(shù)器 8259單級中斷控制器實驗2015年12月23日定時器/計數(shù)器實驗六 定時器/計數(shù)器一、實驗?zāi)康?1. 學(xué)會8253芯片和微機接口的原理和方法;2. 掌握8253定時器/計數(shù)器的工作方式和編程原理。二、實驗內(nèi)容 用8253的0通道工作在方式3,產(chǎn)生方波。三、實驗接線圖 圖 6-1四、編程指南 1. 8253芯片介紹:8253是一種可編程定時/計數(shù)器,有三個十六位計數(shù)器,其計數(shù)頻率范圍為0-2MHz, 用+5V單電源供電。8253的功能用途:10延時中斷可編程頻率發(fā)生器事件

2、計數(shù)器二進制倍頻器實時時鐘數(shù)字單穩(wěn)態(tài)輸出復(fù)雜的電機控制器2. 8253的六種工作方式:方式0:計數(shù)結(jié)束中斷方式l:可編程頻率發(fā)生方式2:頻率發(fā)生器方式3:方波頻率發(fā)生器方式4:軟件觸發(fā)的選通信號方式5:硬件觸發(fā)的選通信號五、實驗程序框圖 圖 6-2六、實驗步驟 1. 斷電連接導(dǎo)線, 按圖6-1連好實驗線路:8253的GATE0接+5V;8253的CLK0插孔接分頻器74LS393(左下方)的T2插孔,分頻器的頻率源為8.0MHZ,T8.0MHZ。2. 在PC機和實驗系統(tǒng)聯(lián)機狀態(tài)下,新建實驗程序,編輯完成后進行保存(保存后綴為.asm文件);3. 編譯下載;4. 全速運行,運行程序。七、實驗程序

3、CODE SEGMENT ASSUME CS:CODETIME PROC FARSTART: MOV DX, 43H MOV AL, 37H OUT DX, AL MOV DX, 40H;控制口地址;設(shè)置通道0,先讀寫低字節(jié)后讀寫高;字節(jié),方式3,BCD計數(shù);通道0口地址MOV AL, 00H OUT DX, AL MOV AL, 90H OUT DX, AL JMP $TIME ENDPCODE ENDSEND START;先讀寫低字節(jié);后讀寫高字節(jié);結(jié)束程序八、實驗結(jié)果將OUT0接二極管,相應(yīng)的發(fā)光二極管會以一定周期閃爍。九、實驗中遇到的問題及解決方式問題:編程完成后,運行發(fā)現(xiàn)沒有任何現(xiàn)象

4、。解決:反復(fù)檢查程序后,確認不是程序錯誤,猜測可能是CLK0輸入時鐘頻率過高(查閱實驗指導(dǎo)書,分頻電路當脈沖輸入為8.0MHZ時,T0-T7輸出脈沖頻率依次為4.0MHZ,2.0MHZ,1.0MHZ,500KHZ,250KHZ,125KHZ,62500HZ,31250HZ),于是再不該程序的情況下,直接將CLK0接T7,發(fā)光二極管開始以一定周期閃爍。8259單級中斷控制器實驗實驗七8259單級中斷控制器實驗一、實驗?zāi)康?1. 掌握8259中斷控制器的接口方法;2. 掌握8259中斷控制器的應(yīng)用編程。二、實驗內(nèi)容 利用8259實現(xiàn)對外部中斷的響應(yīng)和處理,要求程序?qū)γ看沃袛噙M行計數(shù),并將計數(shù)結(jié)果送

5、數(shù)碼顯示。三、實驗接線圖 圖 7-1四、編程指南 1. 8259芯片介紹: 中斷控制器8259A是專為控制優(yōu)先級中斷而設(shè)計的芯片。它將中斷源優(yōu)先級排隊、辨別中斷源以及提供中斷矢量的電路集于一片中。因此無需附加任何電路,只需對8259A進行編程,就可以管理8級中斷,并選擇優(yōu)先模式和中斷請求方式。即中斷結(jié)構(gòu)可以由用戶編程來設(shè)定。同時,在不需要增加其它電路的情況下,通過多片8259A的級聯(lián),能構(gòu)成多達64級的矢量中斷系統(tǒng);中斷序號01234567變量地址20H23H24H27H28H2BH2CH2FH30H22H34H37H38H3BH3CH3FH表 7-12. 本實驗中使用3號中斷源IR3,“ ”

6、插孔和IR3相連,中斷方式為邊沿觸發(fā)方式,每撥二次AN開關(guān)產(chǎn)生一次中斷,滿5次中斷,顯示“555555”。如果中斷源電平信號不符合規(guī)定要求,則自動轉(zhuǎn)到7號中斷,顯示“Err”。五、實驗程序框圖 (c) IR7中斷服務(wù)程序(b) IR3中斷服務(wù)程序(a) 主程序圖 7-2六、實驗步驟 1. 斷電連接導(dǎo)線, 按圖7-1連好實驗線路: 8259的INT連8088的INTR;8259的INTA連8088的INTA;“ ”插孔和8259的3號中斷IR3插孔相連,“ ”端初始為低電平;8259的CS端接FF80H孔。2. 在PC機和實驗系統(tǒng)聯(lián)機狀態(tài)下,新建實驗程序,編輯完成后進行保存(保存后綴為.asm文

7、件);3. 編譯下載;4. 全速運行,運行程序。七、實驗程序DATA SEGMENTBUF DB 6 DUP(?)CONT DB ?DATA1: DB 0c0h,0f9h,0a4h,0b0h,99h, DB 92h,82h,0f8h,80h,90h, DB 88h,83h,0c6h,0a1h,86h, DB 8eh,0ffh,0ch,89h,0deh, DB 0c7h,8ch,0f3h,0bfh,8fhDATA ENDSCODE SEGMENTASSUME CS: CODE,DS: DATA INT_1 EQU 0FF80HINT_2 EQU 0FF81HINT_IR3 EQU ADD1_IR

8、3INT_IR7 EQU ERR_IR7MAIN PROC FARSTART: MOV AX, DATA MOV DS, AX MOV ES, AX CLD CALL BUF1CALL INIT_8259CALL WRI_INTEMOV CONT, 1STIWATING: CALL DISP JMP WATINGMAIN ENDPINIT_8259 PROC NEAR MOV DX, INT_1 MOV AL, 13H OUT DX, AL MOV DX, INT_2 MOV AL, 08H OUT DX, AL MOV AL, 09H OUT DX, AL MOV AL, F7H OUT D

9、X, ALRET;BUF用于存需顯示數(shù)據(jù);存放中斷次數(shù);存放數(shù)碼管顯示碼;設(shè)置數(shù)據(jù)段與附加段段基址;清方向標志;初始化8259;寫入中斷向量表;開中斷;循環(huán)掃描顯示并等待中斷到來;設(shè)置ICW1,邊沿觸發(fā),單級使用;設(shè)置ICW2,表示中斷類型碼是08H;設(shè)置ICW4,緩沖方式,8086/88配置;設(shè)置OCW1,開IR3中斷INIT_8259 ENDPWRI_INTE PROC NEARMOV AX, 0MOV ES, AXMOV DI, 002CH LEA AX, INT_IR3 STOSW MOV AX, 0STOSWMOV DI, 003CH LEA AX, INT_IR7STOSWMOV

10、AX, 0 STOSWRETWRI_INTE ENDPADD1_IR3 PROC NEARCTIPUSH AXPUSH BXPUSH CXPUSH DXMOV AL, CONTAND AL, 0FHMOV BX, OFFSET BUFMOV BUF+5, ALMOV AL, 10HMOV CX, 5R_DIS: MOV BX, AL INC BX LOOP R_DIS MOV AL, 20H MOV DX, INT_1 OUT DX, AL ADD CONT, 1 CMP CONT, 7 JNZ R_CONMOV CONT, 1 CALL BUF2INT_R: POP DX POP CXPOP

11、 BX;ES指向中斷向量表段地址0000H;DI=IR3的偏移地址;取中斷服務(wù)子程序偏移地址;放入中斷向量表;寫中斷服務(wù)子程序段地址;放入中斷向量表;DI=IR7的偏移地址;取中斷服務(wù)子程序偏移地址;放入中斷向量表;寫中斷服務(wù)子程序段地址;放入中斷向量表;IR3中斷服務(wù)子程序;關(guān)中斷,不允許中斷嵌套;保護現(xiàn)場;取中斷次數(shù);截取低四位;取BUF偏移地址;將AL的值放入BUF5;清除顯示;六位數(shù)碼管只顯示CONT一位;OCW2的EOI命令;發(fā)EOI命令,結(jié)束中斷;記錄本次中斷;判斷中斷次數(shù)是否達到5次;達到,CONT置1;顯示“555555”POP AX STI IRETADD1_IR3 ENDP

12、ERR_IR7 PROC NEAR CLI MOV AL, 20H MOV DX, INT_1 OUT DX, AL CALL BUF3 STI IRETERR_IR7 ENDPDISP PROC NEARMOV AL, 0FFH MOV DX, PA OUT DX, AL MOV CL, 0DFH MOV BX, OFFSET BUFDIS1: MOV AL, BX MOV AH, 00H PUSH BX MOV BX, OFFSET DATA1 ADD BX, AX MOV AL, BX POP BX MOV DX, PB OUT DX, AL MOV AL, CL MOV DX, PA

13、OUT DX, AL PUSH CXDIS2: MOV CX, 00A0H LOOP $ POP CX CMP CL, 0FEH JZ LX1 INC BX ROR CL, 1 JMP DIS1LX1: MOV AL, 0FFH MOV DX, PB;恢復(fù)現(xiàn)場;開中斷;中斷返回;IR7中斷服務(wù)子程序;關(guān)中斷,不允許中斷嵌套;OCW2的EOI命令;發(fā)EOI命令,結(jié)束中斷;開中斷;中斷返回;顯示子程序 OUT DX, AL RETDISP ENDPBUF1 PROC NEARMOV BUF,08H MOV BUF+1,02H MOV BUF+2,05H MOV BUF+3,09H MOV BUF+

14、4,17H MOV BUF+5,01H RET BUF1 ENDPBUF2 PROC NEAR MOV BUF,05H MOV BUF+1,05H MOV BUF+2,05H MOV BUF+3,05H MOV BUF+4,05H MOV BUF+5,05HRETBUF2 ENDPBUF3 PROC NEAR MOV BUF,0eH MOV BUF+1,18H MOV BUF+2,18H MOV BUF+3,10H MOV BUF+4,10H MOV BUF+5,10H RETBUF3 ENDPCODE ENDSEND START;在BUF中存放顯示“8259-1”的數(shù)據(jù);在BUF中存放顯示“555555”的數(shù)據(jù);在BUF中存放顯示“ERR”的數(shù)據(jù)八、實驗結(jié)果不撥動AN開關(guān),顯示“8259-1”每撥二次AN開關(guān)產(chǎn)生一次中斷,滿5次中斷,顯示 “555555”,顯示完“555555”后又從1開始計數(shù)中斷次數(shù),以此循環(huán)。如果出現(xiàn)中斷源電平信號不符合規(guī)定要求的情況,則自動轉(zhuǎn)到7號中斷,顯示“Err”。九、實驗中遇到的問題及解決方式問題:程序編寫過程中,不清楚實際情況下應(yīng)該如何初始化8259及其向量表。解決:參考書中初始8259的程序以及初始向量表的程序,以及在實驗過程中參考其他同學(xué)程序,終于成功。問題:下好程序后撥動開關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論