MOV AH,0 - 13 -
课程设计报告纸
MUL D1 DIV E1 INC SI CMP AH,19H JNBE S11
MOV AL,0 JMP S2 S11: INC AL S2: MOV [SI],AL
MOV CL, 8 MOV SI, OFFSET B MOV AL, [SI] LEA BX, DCTBL
XLAT ADD AL,80H MOV DX, PB55 OUT DX, AL MOV DX, PA55
MOV AL, CL OUT DX, AL
CALL DELAY
INC SI ROL CL, 1 MOV AL, [SI] LEA BX, DCTBL XLAT
MOV DX, PB55 OUT DX, AL MOV DX, PA55
MOV AL, CL OUT DX, AL CALL DELAY
INC SI ;从最左边开始显示 ;输出段码 ;输出位码 ;段码地址+1 ;位码向左移1位 ;输出位码 ;段码地址+1
ROL CL, 1 ;位码向左移1位 MOV AL, [SI] LEA BX, DCTBL XLAT
MOV DX, PB55 OUT DX, AL MOV DX, PA55
MOV AL, CL ;输出位码 OUT DX, AL
CALL DELAY ;输出三位码 - 14 -
课程设计报告纸
MOV SI, OFFSET B MOV AL,[SI] CMP AL,2 JB A2
MOV DX, PC55
MOV AL, 0FFH OUT DX, AL JMP G3 A2:MOV DX, PC55
MOV AL, 00H OUT DX, AL
MOV DX, TCTL ;8254计数器1控制蜂鸣器 MOV AL, 77H OUT DX, AL MOV DX, TIMER1; MOV AL,00 OUT DX,AL MOV AL,01 OUT DX,AL G3: POP AX POP DS RET DISPINT0 ENDP
MYISR PROC NEAR ;中断处理程序MYISR PUSH AX
PUSH DX
CLI ;关中断 MOV DX,MY8259_OCW3 IN AL,DX AND AL,03H CMP AL,01H JE IROISR JMP OVER IROISR: CMP FLAG,0FFH JE S MOV DX,IN1 IN AL,DX
MOV IN1OUT,AL ; A2为IN1 AD后的值 JMP OVER S: MOV DX,ADCS IN AL, DX
MOV IN0IN, AL ; A1为IN0 MOV AH,0 - 15 -
课程设计报告纸
DIV N ; IN0 AD后线性转换给0832的值 NEG AL ADD AL,80H MOV BL,AL CMP BL,40H JB SS1 SUB BL,4 SS1: MOV AL,BL
MOV A3,AL MOV DX,DACS OUT DX,AL
MOV DX,IN1 ; 启动IN1 OUT DX,AL MOV AL,0 MOV FLAG,AL
OVER: MOV DX,INTR_OCW2 ; 向PC机内部8259发送中断结束命令
MOV AL, 20H
OUT DX, AL MOV AL, 20H OUT 20H, AL STI
POP DX POP AX IRET MYISR ENDP
DELAY PROC NEAR ;延时 PUSH CX MOV CX, 0FFFFH LOOP $ POP CX RET DELAY ENDP CODE ENDS END START - 16 -
相关推荐: