发布时间 : 星期一 文章《微机原理接口技术》课程设计--反应速度测试仪更新完毕开始阅读
.
MY8254_COUNT2 EQU IOY1+02H*4 ;8254 计数器2 端口地址
MY8254_MODE EQU IOY1+03H*4 ;8254 控制寄存器端口地址
IOY0 EQU 3000H ;片选IOY0 对应的端口始地址 MY8255_A EQU IOY0+00H*4 ;8255 的A 口地址 MY8255_B EQU IOY0+01H*4 ;8255 的B 口地址 MY8255_C EQU IOY0+02H*4 ;8255 的C 口地址 MY8255_MODE EQU IOY0+03H*4 ;8255 的控制寄存器地址
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT TAB1 DB
0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH;开辟一个空间TAB1用于存放数字
TAB2 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
Word 文档
.
START:
MOV AX,DATA MOV DS,AX
MOV DX,MY8254_MODE ;初始化8254 工作方式 MOV AL,36H ;计数器0,方式3 OUT DX,AL
MOV DX,MY8254_COUNT0 ;装入计数初值 MOV AX,1125h ;100 分频 OUT DX,AL MOV AL,AH OUT DX,AL
mov AH,0h
MOV DX,MY8255_MODE ; 初始化8254 工作方式 MOV AL,89H OUT DX,AL
A1:MOV DX,MY8255_C IN AL,DX
Word 文档
.
TEST AL,01H JZ A1
MOV DX,MY8254_COUNT0
MOV AX,1125H OUT DX,AL MOV AL,AH OUT DX,AL MOV CX,0
A2:MOV DX,MY8255_C IN AL,DX
TEST AL,04H;比较AL和04H的大小 JNZ A3;不为0跳转到A3
TEST AL,80H
JNZ A2 CALL DALLY TEST AL,00H JNZ A2
INC CX;CX自增1 JMP A2
Word 文档
.
A3:MOV AX,CX MOV CL,0AH DIV CL
MOV DX,MY8255_A LEA BX,TAB1 XLAT OUT DX,AL
MOV DX,MY8255_B LEA BX,TAB2 MOV AL,AH XLAT OUT DX,AL
QUIT: MOV AX,4C00H ;结束程序退出 INT 21H
DALLY PROC NEAR ;软件延时子程序
Word 文档