
GMS81508B / 16B / 24B , GMS82512 /二十四分之十六
推
ENDM
;
REG_RESTORE
万家乐
POP
POP
POP
ENDM
Y
;从堆栈恢复注册
Y
X
A
;
; ***********常量定义***********
;
SEG_PORT
EQU
R0
; 7段输出端口
STROBE_PORT
EQU
R2
;频闪信号端口
;
;**************************************************************************
;
内存
分配
*
;**************************************************************************
DIGIT10
DS
1
; DIG10显示数据
DIGIT1
DS
1
;段1显示数据
频闪
DS
1
;频闪信号数据
TMR_500mS
DS
1
; 500ms的时间计数器
FL AGS
DS
1
;功能标志
UP_F
EQU
0,FLAGS
;1=Down,0=Up
F_500ms
EQU
1,FLAGS
;
;
;**************************************************************************
;
打断
向量
表*
;**************************************************************************
;
ORG0FFE4H
DW
NOT_USED
;串行I / O
DW
NOT_USED
;基本间隔定时器
DW
NOT_USED
;看门狗定时器
DW
NOT_USED
; A / D转换。
DW
NOT_USED
;计时器-3-
DW
NOT_USED
;计时器2
DW
NOT_USED
;定时器1
DW
TMR0_INT
;定时器0
DW
NOT_USED
; Int.3
DW
NOT_USED
; Int.2
DW
INT_1
; Int.1
DW
INT_0
; Int.0
DW
NOT_USED
;
DW
RESET
;重置
;
;**************************************************************************
;
主
节目
*
;**************************************************************************
;
ORG
0C000H
;程序的起始地址
;
RESET :
DI
;禁止所有中断
LDX
#0
RAM_CLR :
LDA
#0
( ! 0000H - > 00BFH ) RAM清除
STA
{X}+
; M( X) <- A,则X <- X + 1
CMPX
#0C0H
; X = # 0C0H ?
BNE
RAM_CLR
;
LDX
#0FEH
;堆栈指针初始
TXSP
; SP 。 <- # 0FEH
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
SET1
EI
R0,#0
R2,#0
R0DD,#0FFH
R2DD,#00FH
STROBE,#0000_1011B
TDR0,#250
TM0,#0001_1111B
IRQH,#0
IRQL,#0
IENH,#1100_1000B
IENL,#00H
IEDS,#0101_0101B
PMR4,#03H
UP_F
; I / O端口数据清除
7 -SEG 。数据输出模式
7 -SEG 。选通输出模式
; 8US ×250 = 2000us
;定时器0 ( 8位) , 8US ,开始累加计数
;清除所有中断Requeat标志
;EnableT0,Int0,Int1,Interrupt
;外部INT 。下降沿选择
;通用端口或者int ?
;使能中断
MAY 。 2001年版2.0
v