当前位置:文档之家› 安工大——《微机原理与接口技术》实验报告

安工大——《微机原理与接口技术》实验报告

《微机原理与接口技术》实验报告安徽工业大学计算机学院姓名专业班级学号指导教师实验一 8255A应用—数码管动态显示一、实验目的1、掌握8255A的工作方式、编程原理和微机接口方法。

2、了解LED数码管动态显示的工作原理及编程方法。

二、实验内容编制程序,使数码管显示“DICE88”字样。

三、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌面OTA图标或通过开始-程序-dj8086k-DJ8086k微机原理与接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

(2)数码管显示“DICE88”字样。

脱机模式:(1)在P.态下,通过单板机小键盘,从2DF0地址开始输入机器码(参见附录三),完成后返回监控,输入起始地址2DF0,再按EX键执行。

(2)数码管显示“DICE88”字样。

四、实验程序清单CODE SEGMENT ; display "DICE88"ASSUME CS:CODEORG 2DF0HSTART: JMP START0PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口BUF DB ?,?,?,?,?,?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90 h,88h,83h,0c6h,0a1hdb86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0HSTART0: CALL BUF1CON1: CALL DISPJMP CON1DISP: MOV AL,0FFH;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH;01HJZ LX1MOV AL,0FFH;00HMOV DX,PAOUT DX,ALINC BXROR CL,1 ;SHR CL,1 JMP DIS1 LX1: MOV AL,0FFHMOV DX,PB OUT DX,ALRETBUF1: MOV BUF,0DH;实验修改 mov buf,0ahMOV BUF+1,01HMOV BUF+2,0CHMOV BUF+3,0EH MOV BUF+4,08H ;实验修改mov buf+4,00h MOV BUF+5,08H;实验修改mov ,buf+5,09hRET CODE ENDS END START实验二 8259单级中断控制器实验一、实验目的1.掌握8259中断控制器的接口方法。

2.掌握8259中断控制器的应用编程。

二、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。

三、实验接线图四、实验步骤1、按图6-2连好实验线路图。

⑴8259的INT 连8088的INTR ;⑵8259的INTA 连8088的INTA ;⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷8259的CS 端接FF80H 孔2、输入并运行实验程序,系统显示8259-1。

3、按动AN 开关按钮, 按满5次显示good 。

五、实验程序清单CODE SEGMENT;ASSUME CS: CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7 PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 12D0HSTART: JMP START0BUF DB ?,?,?,?,?,?intcnt db ?data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTART0: CLDCALL BUF1CALL WRINTVER;WRITE INTRRUPTMOV AL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0F7HOUT DX,ALMOV intcnt,01H;TIME=1STIWATING: CALL DISP;DISP 8259-1JMP WATINGWRINTVER: MOV AX,0HMOV ES,AXMOV DI,002CHLEA AX,INTQ3STOSWMOV AX,0000hSTOSWMOV DI,003CHLEA AX,INTQ7STOSWMOV AX,0000hSTOSWRETINTREEUP3: CLIpush axpush bxpush cxpush dxMOV AL,INTCNTCALL CONVERSMOV BX,OFFSET BUF;077BHMOV AL,10HMOV CX,05HINTRE0: MOV [BX],ALINC BXLOOP INTRE0MOV AL,20HMOV DX,INTPORT1OUT DX,ALADD INTCNT,01HCMP INTCNT,06HJNA INTRE2CALL BUF2;DISP:goodINTRE1: CALL DISPJMP INTRE1CONVERS: AND AL,0FHMOV BX,offset buf;077AHMOV [BX+5],ALRETINTRE2: MOV AL,20HMOV DX,INTPORT1OUT DX,ALpop dxpop cxpop bxpop axSTIIRETINTREEUP7: CLIMOV AL,20HMOV DX,INTPORT1OUT DX,ALcall buf3;disp:errINTRE3: CALL DISPJMP INTRE3DISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,08HMOV BUF+1,02HMOV BUF+2,05HMOV BUF+3,09HMOV BUF+4,17HMOV BUF+5,01HRETBUF2: MOV BUF,09HMOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0dHMOV BUF+4,10HMOV BUF+5,10HRETBUF3: MOV BUF,0eHMOV BUF+1,18HMOV BUF+2,18HMOV BUF+3,10HMOV BUF+4,10HMOV BUF+5,10HRETCODE ENDSEND START实验三 8253、8255、8259综合实验1.8253计数器实验要求:计数器1方式0计数,计满3个数产生中断,中断5次后结束。

实验线路见图6-6:图6-6 8253计数器实验电路图实验程序:INTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3TCONTR0 EQU 0043HTCON1 EQU 0041HPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口code segmentassume cs:codeORG 12D0HSTART: JMP START0BUF DB ?,?,?,?,?,?intcnt db ?data1db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h, 80h,90h,88h,83h,0c6hdb0a1h,86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0 f3h,0bfh,8FHSTART0: CLD CALL BUF1CALL WRINTVER ;WRITE INTRRUPTMOV AL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0F7HOUT DX,ALMOV intcnt,01H ;TIME=1MOV DX,TCONTR0MOV AL,51HOUT DX,ALMOV DX,TCON1MOV AL,03OUT DX,ALMOV DX,0FF23HMOV AL,80OUT DX,ALSTIWATING: CALL DISP ;DISP 825359 JMP WATINGWRINTVER: MOV AX,0HMOV ES,AXMOV DI,002CHLEA AX,INTQ3STOSWMOV AX,0000hSTOSWRETINTREEUP3: push axpush bxpush cxpush dxMOV DX,TCON1MOV AL,03OUT DX,ALMOV AL,INTCNTCALL CONVERSMOV BX,OFFSET BUFMOV AL,10HMOV CX,05HINTRE0: MOV [BX],ALINC BXLOOP INTRE0ADD INTCNT,01HCMP INTCNT,06HJNA INTRE2CALL BUF2 ;DISP:good INTRE1: CALL DISPJMP INTRE1CONVERS: AND AL,0FHMOV BX,offset bufMOV [BX+5],ALRETINTRE2: MOV AL,20HMOV DX,INTPORT1OUT DX,ALpop dxpop cxpop bxpop axIRETDISP: MOV AL,0FFH ;00HMOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUFDIS1: MOV DX,PCOUT DX,ALMOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,08HMOV BUF+1,02HMOV BUF+2,05HMOV BUF+3,03HMOV BUF+4,05HMOV BUF+5,09HRETBUF2: MOV BUF,09HMOV BUF+1,00HMOV BUF+2,00H MOV BUF+3,0dH MOV BUF+4,10H MOV BUF+5,10H RET CODEENDSEND START 要求做的改变:换成计数器0,计满11次后产生中断2、8253定时器实验要求:用8253定时器1通道定时,每隔1秒使PA 口的指示灯的状态右移一位。

相关主题