|
|
下边是一个隔1分钟翻页的代码,在此感谢客服28  
ORG 1000H
GOTO MAIN ;代码的第一条指令必须是GOTO指令跳转到初始化或者主程序
NOP ;中断定时器0服务程序入口,必须用GOTO跳转
NOP ;中断定时器1服务程序入口,NOP指令表示未使用
NOP ;中断定时器2服务程序入口
ORG 1080H
MAIN:
START:
CALL COUNTER ;开始计时,每隔1MS秒寄存器37加1ms
GOTO START
COUNTER:
CONFIG 0x01,0x02,0x01 ;初始化计时器
LDWR R0,0014H
MOVXR R26,1,1 ;把 DGUS 变量地址 0X0014 中的数据给到 R24:R25
IJNE R27,0002,NEXT2 ;判断当前页面是否为0002,否则跳转0002
LDWR R20,0 ;清空寄存器R20
MOVRD R20,37,2 ;清空寄存器37
NEXT2:
LDWR R0,0014H
MOVXR R24,1,1 ;把 DGUS 变量地址 0X0014 中的数据给到 R24:R25
IJNE R25,0001,NEXT1 ;判断当前页面是否为0001,否则什么都不做、
LDWR R20,0 ;从计时器取数放到R20
MOVDR 37,R20,2
LDWR R22,60000 ;当R20>=60000MS时继续,否则什么也不做
JU R20,R22,COUNTER_RET
LDWR R0, 0084H ;页面切换02
LDWR R80,5A01H
LDWR R82,0002H
MOVXR R80,0,2
LDWR R20,0 ;清空寄存器R20
MOVRD R20,37,2 ;清空寄存器37
NEXT1:
NOP
COUNTER_RET:
NOP
RET
|
|