📄 def.inc
字号:
FOSC EQU 11059 ;晶体频率 KHz
BAND EQU 12 ;通信波特率 *100 bps
NEWSP EQU 60H
G_OFF EQU 120
NO_CMD EQU 0
N_KEY EQU 20 ;按键统计次数
Kn_ORG EQU 128-2*N_KEY/3 ;统计初值,统计的2/3为低,则判 按键按下
DATA_T1 EQU 256-(FOSC/BAND*5/16+3)/6 ; 波特率
DATA_TL0_5mS EQU 078H ; 65536-5000=EC78h
DATA_TH0_5mS EQU 0ECH
DATA_TL0_13uS EQU 0F5H ; 65536-13=FFF3h
DATA_TH0_13uS EQU 0FFH
DATA_TH1 EQU 256-(FOSC/BAND*5/16+3)/6
PWCH_DATA EQU 3 ;开机时间=(PWCH_DATA-1)×255+PWCL_DATA (单位:100mS)
PWCL_DATA EQU 88 ;3,88=60秒; 8,8=180秒
IDLE EQU 10000000B ;10000001B ;等待模式(老版本IC不很好支持)
POWDN EQU 10000011B
;------ SFR -------
P1M0 EQU 091H
P1M1 EQU 092H
P3M0 EQU 0B1H
P3M1 EQU 0B2H
;------ IO -------
K_OFF1 BIT P1.3
K_ON1 BIT P1.4
K_OFF2 BIT P3.3
K_ON2 BIT P1.5
K_MODE BIT P1.7
IR BIT P1.6
LED BIT P1.4
;------ 位寻址区 -------
CMD EQU 20H ;
CMD_OFF1 BIT CMD.0
CMD_ON1 BIT CMD.1
CMD_OFF2 BIT CMD.2
CMD_ON2 BIT CMD.3
CMD_MODE BIT CMD.4
CLICK5mS BIT 10H ;5mS滴答
STA_OFF1 BIT 11H ;当前按键值
STA_ON1 BIT 12H
STA_OFF2 BIT 13H
STA_ON2 BIT 14H
STA_MODE BIT 15H
;----------------------------------
COUNT100uS EQU 30H ;从同步开始,100uS为单位计时值
COUNT5mS EQU 31H ;5mS定时计数
COUNT_K_OFF1 EQU 32H ;按键统计
COUNT_K_ON1 EQU 33H
COUNT_K_OFF2 EQU 34H
COUNT_K_ON2 EQU 35H
COUNT_K_MODE EQU 36H
COUNT_KEY EQU 37H ;按键统计计数
T_G1 EQU 38H ;G1触发时间变量
T_G2 EQU 39H ;
N_G1 EQU 3AH ;G1开档位(亮度档位)
N_G2 EQU 3BH
POWLED EQU 3DH ;电源灯延时计时
PWCL EQU 3EH ;休眠计时
PWCH EQU 3FH
;-------------------------------------------
STA_KEY MACRO CMD_BIT, COUNT_KEY, OLD_STA
LOCAL LL1, LL2
MOV A, COUNT_KEY ;如果 CMD_BIT=OLD_STA,则不做任何操作,保证按键长按无二次动作
ANL A, #10000000B
MOV COUNT_KEY, A
MOV A, #0
MOV C, OLD_STA
RRC A
CJNE A, COUNT_KEY, LL1
JMP LL2
LL1: MOV A, COUNT_KEY ;如果 CMD_BIT!=OLD_STA,则传指令,并更新状态
RLC A
MOV CMD_BIT, C
MOV OLD_STA, C
LL2:
ENDM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -