;******************;
; 定时器程序 ;
; 采用89c2051 ;
;******************;
;
;******************
; 伪定义 ;
;******************
SL EQU 30H ;SL存放秒的个位数
SH EQU 31H ;SH存放秒的十位数
ML EQU 32H ;ML存放分的个位数
MH EQU 33H ;MH存放分的十位数
HL EQU 34H ;HL存放时的个位数
HH EQU 35H ;HH存放时的十位数
;
L0 EQU 36H ;L0~L3:显示数据存储器
L1 EQU 37H
L2 EQU 38H
L3 EQU 39H
DSPLYP EQU 3AH ;显示数据指针(DISPLAY-POINT)
PLYTS EQU 3BH ;显示次数计数器(DISPLAY-TIMES)
;
LPLMOD BIT 39H ;低两位显示方式(LOW-PLAY-MOD)
HPLMOD BIT 3AH ;高两位显示方式(HIGH-PLAY-MOD)
BRIGHT BIT 3BH ;DISPLAY子程序参数:亮灭指示位
;
TCOUNT EQU 3CH ;时间计数器(TIME-COUNT)
;
ADDRES EQU 3DH ;加1子程序参数
MAX EQU 3EH ;加1子程序参数
IFDEC BIT 20H ;BCD加法子程序参数
;
R_MOD EQU 3FH ;响铃方式参数
;
LED4 BIT 30H ;发光管状态位
BELL BIT P1.7 ;蜂鸣器
SWITCH BIT P3.7 ;继电器
FKEY BIT P3.0 ;功能键 (S1)
MKEY BIT P3.1 ;修改键 (S2)
;
WORKIN BIT 38H ;工作状态指示位
;
;******************
; 中断入口 ;
;******************
ORG 0000H
START: LJMP MAIN ; 0000H 引向主程序
LJMP ERR ; 0003H
NOP
NOP
LJMP ERR ; 引向出错处理程序
LJMP PGT0 ; 000BH 引向中断处理程序PGT0
NOP
NOP
LJMP ERR ; 引向出错处理程序
LJMP ERR ; 0013H INT1
NOP
NOP
LJMP ERR
LJMP ERR ; 001BH T1
NOP
NOP
LJMP ERR
LJMP ERR ; 0023H
NOP
NOP
LJMP ERR
LJMP ERR ; 002BH
NOP
NOP
;
;************
; 主程序 ;
;************
MAIN: MOV IE, #00H ;关中断
MOV SP, #57H ;设置堆栈指针
MOV PSW, #00H ;选用寄存器组0
MOV TMOD, #11H ;设定中断工作方式为T0和T1
;
[1] [2] [3] [4] [5] [6] [7] 下一页