微机原理与接口技术实验报告
时间:2025-04-04
时间:2025-04-04
实验一 8255A应用—数码管动态显示
一、实验目的
1、掌握8255A的工作方式、编程原理和微机接口方法。 2、了解LED数码管动态显示的工作原理及编程方法。 二、实验内容
编制程序,使数码管显示“DICE88”字样。 三、实验程序框图
图6-1 实验程序流程图
四、实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌面OTA图标或通过开始-程序-dj8086k-DJ8086k微机原理与接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“DICE88”字样。
脱机模式:
(1)在P.态下,通过单板机小键盘,从2DF0地址开始输入机器码(参见附录三),完成后返回监控,输入起始地址2DF0,再按EX键执行。
(2)数码管显示“DICE88”字样。 五、实验程序清单
CODE SEGMENT ; display "DICE88" ASSUME CS:CODE
ORG 2DF0H
START: JMP START0
PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB ?,?,?,?,?,?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H
START0: CALL BUF1 CON1: CALL DISP
JMP CON1
DISP: MOV AL,0FFH MOV DX,PA OUT DX,AL
MOV CL,0DFH MOV BX,OFFSET BUF
DIS1: 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 OUT DX,AL PUSH CX
DIS2: MOV CX,00A0H
LOOP $ POP CX
CMP CL,0FEH JZ LX1
MOV AL,0FFH MOV DX,PA OUT DX,AL INC BX
ROR CL,1 JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB OUT DX,AL RET
BUF1: MOV BUF,0DH MOV BUF+1,01H MOV BUF+2,0CH MOV BUF+3,0EH
MOV BUF+4,08H MOV BUF+5,08H RET CODE ENDS
;00H
;显示子程序 ,5ms ;01H ;00H ;SHR CL,1 ;实验修改 mov buf,0ah
;实验修改mov buf+4,00h ;实验修改mov,buf+5,09h
END START 六、思考题:
修改程序使之可以显示其他字符,如“AHUt09”。
STOSW MOV DI,003CH LEA AX,INTQ7 STOSW MOV AX,0000h STOSW RET INTREEUP5: CLI push ax push bx push
cx push dx MOV AL,INTCNT CALL CONVERS MOV BX,OFFSET BUF MOV AL,10H MOV CX,05H INTRE0: MOV [BX],AL INC BX LOOP INTRE0 MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ADD INTCNT,01H CMP INTCNT,06H JNA INTRE2 CALL BUF2 INTRE1: CALL DISP JMP INTRE1 CONVERS: AND AL,0FH MOV BX,offset buf MOV [BX+5],AL RET INTRE2: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL pop dx pop cx pop bx pop ax STI IRET INTREEUP7: CLI MOV AL,20H
;077BH
;DISP:good
;077AH
MOV DX,INTPORT1 OUT DX,AL call buf3 INTRE5: CALL DISP JMP INTRE5 DISP: MOV AL,0FFH MOV DX,PA OUT DX,AL MOV CL,0DFH MOV BX,OFFSET BUF DIS1: 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 OUT DX,AL PUSH CX DIS2: MOV CX,00A0H LOOP $ POP CX CMP CL,0FEH JZ LX1 INC BX ROR CL,1 JMP DIS1 LX1: MOV AL,0FFH MOV DX,PB OUT DX,AL RET BUF1: MOV BUF,08H MOV BUF+1,02H MOV BUF+2,05H MOV BUF+3,09H MOV BUF+4,17H MOV BUF+5,01H RET BUF2: MOV BUF,09H MOV BUF+1,00H
;disp:err
;00H
;20H ;显示子程序 ,5ms
;01H
;SHR CL,1
实验三 8253、8255、8259综合实验
1.8253计数器实验
要求:计数器1方式0计数,计满3个数产生中断,中断5次后结束。 实验线路见图6-6:
图6-6 8253计数器实验电路图
实验程序:
INTPORT1 EQU 0FF80H ;8259A的偶地址入口 INTPORT2 EQU 0FF81H ;8259A的偶地址入口 INTQ3 EQU INTREEUP3 ;INTREEUP3地址 TCONTR0 EQU 0043H ;8253端口地址 TCON1 EQU 0041H ;8253端口地址 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 code segment
assume cs:code
ORG 12D0H ;源地址
START: JMP START0 ; 跳转到START0 BUF DB ?,?,?,?,?,? ;六字节缓冲区 intcnt db ? ;一字节的缓冲区 data1
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h db 0a1h,86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH;七段码定义 START0: CLD;置方向位
CALL BUF1 ;调用子程序BUF1
CALL WRINTVER ;WRITE INTRRUPT MOV AL,13H ;写ICW1,边沿触发,单片,需要ICW4 MOV DX,INTPORT1 OUT DX,AL
MOV AL,08H;ICW2,中断类型号高5位 MOV DX,INTPORT2 OUT DX,AL
MOV AL,09H;写ICW4,BUF位在缓冲方式下工作,8086/8088系统
OUT DX,AL
MOV AL,0F7H OUT DX,AL
MOV intcnt,01H ;TIME=1 MOV DX,TCONTR0;指向控制口
MOV AL,51H ;8253控制字,通道1,方式0,只读/写低字节,BCD码计
数
OUT DX,AL;送控制字
MOV DX,TCON1;指向控制口 MOV AL,03;计数值低字节 OUT DX,AL;送控制字
MOV DX,0FF23H;指向8255A控制口
MOV AL,80;A口方式0,输出,C口上半部输出,B口方式0,输出,C口下半部输出
OUT DX,AL;送控制字
STI; 开中断
WATING: CALL DISP ;DISP 825359 JMP WATING WRINTVER: MOV AX,0H MOV ES,AX
MOV DI,002CH;目的地址
LEA AX,INTQ3;INTQ3的偏移地址 STOSW;存字
MOV AX,0000h;清零 STOSW
RET;中断返回 INTREEUP3: push ax;入栈 push bx push cx push dx
MOV DX,TCON1;指向控制口 MOV AL,03;计数值 …… 此处隐藏:7327字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:建筑工程申报程序