mov dx,clockc ;计数器控制端地址
mov al,Clock2Mode ;通道2,先读写低位再读写高位,方式2,2进制 out dx,al
cmp cx,0 je CX_1 jmp Next CX_1:
mov cx,1 ;1倍频 Next:
mov ax,Clock2Count ;计数器2计数值16 mov dx,00h mul cx
mov dx,Clock2 ;定时器2的地址 out dx,al mov al,ah out dx,al ret
InitClock2 endp
;检测定时器0是否定时0.5秒结束 CheckClock0Over proc near
mov dx,InputAdr ;IO输入端口地址 Compare:
in al,dx
and al,Clock0End ;检测计数器0是否工作结束(通过与运算截获第二位)
cmp al,00h ;比较该位是否为低电平 je Compare
mov dx,clockc ;计数器控制端地址
mov al,Clock1Read ;设置计数器1锁存,供CPU读 out dx,al
26
mov dx,clock1 ;定时器1的地址 in al,dx ;读低位
xchg ah,al ;交换AL与AH的值 in al,dx ;读高位
xchg ah,al ;交换AL与AH的值 mov cx,ax ;用CX临时储存AX mov ax,0ffffh ;将最大值65535赋值给AX sub ax,cx ;得出计数的最终频率的一半
mov cx,2 ;乘数2 mov dx,00h
mul cx ;ax * 2 ret
CheckClock0Over endp
LED db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h ;0~9 LED数码管显示 Signed db 01h ;使用标志 CODE ENDS END START
27