
GMS81C71XX LCD MCU附录
;
ORG
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
0FFE0H
NOT_USED
;计时器-3-
NOT_USED
;计时器2
WTIMER
;钟表定时器
int_ad
; A / D转换。
NOT_USED
;串行I / O
NOT_USED
;不使用
NOT_USED
;不使用
NOT_USED
; Int.2
TIMER1
;定时器1
TIMER0
;定时器0
INT1
; Int.1
INT0
; Int.0
NOT_USED ;看门狗定时器
NOT_USED ; BIT
INT_KEY
;键扫描
RESET
;重置
;
;**************************************************************************
;
主
节目
*
;**************************************************************************
;
ORG
0C000H
;程序的起始地址
; ORG
0E000H
; 8K ROM版本
;
RESET :
LDM
WDTR,#0
LDM
RPR,#1
;
CLRG
LDX
#0
RAMCLR :
LDA
#0
( ! 0000H - > 00BFH ) RAM清除
STA
{X}+
; M( X) <- A,则X <- X + 1
CMPX
#0C0H
; X = # 0C0H ?
BNE
RAMCLR
SETG
LDX
#0
RAMCLR1 :
LDA
#0
; RAM清除( ! 0100H - > 011AH )
STA
{X}+
; M( X) <- A,则X <- X + 1
CMPX
#1BH
; X = # 01BH ?
BNE
RAMCLR1
CLRG
;
LDX
#0FFH
;堆栈指针初始
TXSP
; SP 。 <- # 0FFH
;
; ********用户RAM初始化**********
;
; LDM
MODE,#4
; LDM
SUBMODE,#1
SET1
LPM
; KST PM 12:00刚过中午
LDM
LHOUR,#12H
LDM
LMINUTE,#00H
LDM
RHOUR,#03H
; UTC 03:00 AM
LDM
RMINUTE,#00H
SET1
外
SET1
F_ON
; POWER ON
;
; **********端口初始化************
;
LDM
LCDPM,#0
; SEG0 SEG23使用
LDM
R0,#0
; I / O端口数据克丽
LDM
R1,#0
; I / O端口数据清除
LDM
R2,#0
LDM
R3,#0
LDM
R0DD,#1111_0001B
; R05 , R06 , R07 :输出键扫描
LDM
R1DD,#0000_0000B
LDM
R2DD,#0000_0000B
; R20 R23 :输入键扫描
LDM
R3DD,#0000_0100B
LDM
R2PU,#0000_1111B
; R20 R23上拉了积极的
;
; *****控制寄存器初始化*****
;
LDM
CKCTLR,#0
;唤醒时间= 0.0625秒
;( 32768分之1 ) * 8 * 256 = 0.0625sec
LDM
TDR0,#249
; 8US ×( 249 + 1)= 2毫秒
LDM
TM0,#0000_1111B
; 8BIT定时器, 8US ,开始累加计数
LDM
TDR1,#249
; 2us的×( 249 + 1 ) = 500US
LDM
TM1,#0000_1111B
;定时器( 8位) , 32us ,开始累加计数
LDM
TM3,#1010_1011B
四月2001年版2.01
十二