📄 amji.asm
字号:
;=========================================================================
;修改说明:20031111.dt程序根据键新电子的要求修改:
;1:由于PCB不错,模式1234全部颠倒
;2:开机后红外,数码亮,
;3: 数码管高位没记到时不显示
;======================================================================================
;本程序为气血循环按摩机器所写
;======================================================================================
TCC == 0X01
PC == 0x02
R3 == 0X03
P5 == 0X05
P6 == 0X06
IOC5 == 0X05
IOC6 == 0X06
IOC7 == 0X07
IOCA == 0X0A
IOCB == 0X0B
IOCC == 0X0C
IOCD == 0X0D
IOCE == 0X0E
IOCF == 0X0F
RF == 0X0F
C == 0
Z == 2
;======================================================================================
;电路外设定义
;======================================================================================
CLK == 2 ;P52
DATA == 1 ;P51
;=======================================================================================
; 数码管显示寄存器,1为底位,4为高位 ;根据级数决定增加的频率
;=======================================================================================
DISP_REG1 == 0X10
DISP_REG2 == 0X11
DISP_REG3 == 0X12
DISP_REG4 == 0X13
;=======================================================================================
;按键指示灯状态寄存位, 键值寄存器,其中模式、氖管灯开关状态与键值公用
;=======================================================================================
KEY_DETECT_REG == 0X14 ;键值检测积存器
KEY_REG == 0X15 ;键值保存积存器
ISUP == 0 ;+状态值
ISDOWN == 1 ;-状态值
ISMODE == 2 ;模式状态值
ISLAMP == 3 ;氖管开关值
ISSWITCH == 4 ;有按键标志,供蜂鸣气子程序查询
ISLED == 5
CLASS_REG == 0X16 ;分为12个等级,+,-共用此寄存器
DELAY_CLASS_REG== 0X17
MODE_REG == 0X18 ;分为4种模式
;========================================================================================
;为按键,显示子程序程序设置转移状态,时间等积存器,细化任务
;========================================================================================
DISP_STATE_ID == 0X19 ;由于按键和数码管位选复用,故公用总状态
KEY1_STATE_ID == 0X1A ;按键延时用,用于按键和延时状态区分
KEY2_STATE_ID == 0X3b
KEY3_STATE_ID == 0X3c
SPEAK_STATE_ID == 0X3d
LAMP_STATE_ID == 0X1C
DISP_TIME == 0X1D
SPEAK_TIME == 0X1F
SYS60MSREG == 0X20
TCC2msREG == 0X21
SYS15SREG == 0X23
SYS128SREG == 0X24
XSYS128SREG == 0X25
SYS15MREG == 0X26
SPEAK3REG == 0X3F
; 状态常数
STATEID1 == 1
STATEID2 == 2
STATEID3 == 3
STATEID4 == 4
STATEID5 == 5
STATEID6 == 6
STATEID7 == 7
STATEID8 == 8
CTRLFLAG == 0X27
CLASSOVERFLAG_H == 0 ;等级数到最高挡
SWITCH_SPEAK == 1
ENABLE_SPEAK == 2
ENABLE_TIME == 3
AC_FLAG == 4
CHANGE_FLAG == 5
CLASSOVERFLAG_L == 6 ;等级数到最底挡标志
;CTRLSPEAKFLAG == 7
SYSFLAG == 0X28
ENABLE_DEALKEY == 0
SYS10MSFLAG == 1
SYS2msFLAG == 2
TCC2MSFLAG == 3
SYS15MFLAG == 4
SCANKEYFLAG == 4
ACZERO_FLAG == 5
SYS60MSFLAG == 7
;=====================================================================================
;数码管显示累加数据保存寄存器,数码管数据累加频率积存器
;=====================================================================================
FREQ_REG == 0X29 ;累加频率计数器,根据+,-,键值中的级数设置相应的值
;======================================================================================
;模式等级,马达在每个模式下震动时保存的等级数
;=======================================================================================
;MODE1_CLASS_REG == 0X2B
MODE2_CLASS_REG == 0X2C
MODE3_CLASS_REG == 0X2D
MODE4_CLASS_REG == 0X2E
MOTO_MODE_STATE_ID == 0X2F
DEAL_STATE_ID == 0X2A
;=======================================================================================
;每个片选下的按键延时分别对应的延时积存器,避免同时按下干扰
;=======================================================================================
LAMP_TIME == 0X33
RR3 == 0X35 ;局部变量 (变量可庸
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -