|
|

楼主 |
发表于 2024-1-2 18:11:18
|
显示全部楼层
这是缝缝补补写的,但没成功,请教大佬
ORG 3000H ; 设置程序起始地址为0x1000
GOTO MAIN ; 跳转到主程序入口
NOP ; 无操作
NOP
NOP
ORG 3080H ; 设置程序起始地址为0x1080
MAIN:
CONFIG 0X01,0X02,1 ; 初始化计时器
LDWR R80, 0
MOVRD R80, 37, 2 ; 清空37寄存器
LDWR R0, 0014H
MOVXR R40, 1, 1 ; 读取当前页面ID
TOUCH:
LDWR R0, 0016H
MOVXR R60, 1, 1
IJNE R61, 0, SAVER ; 有触摸操作判断页面,无触摸进入计时
; 计时器逻辑
MOVDR 37, R80, 2 ; 从计时器取数到R80
LDWR R82, 60000 ; 一分钟的计数值
LDWR R83, 2 ; 乘以2,得到两分钟的计数值
MATH 0, R83, R0 ; 将结果放在R0寄存器中
ADD R82, R0, R82 ; 计算两分钟的计数值
JU R80, R82, TIMEOUT ; 当R80 >= 120000 时跳转到TIMEOUT
GOTO TOUCH ; 回到触摸处理逻辑
SAVER:
GOTO TOUCH ; 回到触摸处理逻辑
TIMEOUT:
; 两分钟无触摸操作的处理逻辑
LDWR R0, 0084H
LDWR R30, 5A01H
LDWR R32, 0001H
MOVXR R30, 0, 2 ; 翻到1页
GOTO MAIN ; 跳转到主程序入口
END
|
|