建议不用查询方式,而是用定时器中断方式,51汇编语言程序示例如下:
ORG 0000H
JMP START
;;--------------------------------------------
ORG 000BH ;定时器T0中断处理入口地址
AJMP T0_INT
;;--------------------------------------------
ORG 0030H ;; 主程序入口地址
START: ;;
;;--------------------------------------------
SET_T0: ;; T0初始化,
;; 定时65ms的计数值 =65000μs/1μs =65000
;; 方式1,16位计数器,计数值 =65536-65000 =536 =218H
MOV TMOD, #01H ;; T0定时模式.方式1(16位计数器)
MOV TH0, #02H ;; 装入计数初值高字节
MOV TL0, #18H ;; 装入计数初值低字节
SETB TR0 ;; 启动T0
SETB ET0 ;; 允许T0中断
SETB EA ;; MPU开中断
RET
;;-------------------------------------------
T0_INT: ;; T0定时中断处理
ACALL DSPLAY ;; 调用LCD1602显示子程序
MOV TH0, #02H ;; 重装计数初值高字节
MOV TL0, #18H ;; 重装计数初值低字节
RETI
;;--------------------------------------------
|