⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 def.inc

📁 嵌入式程序
💻 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_T0       EQU     256-100                      ;  0.1mS
DATA_T1       EQU     256-(FOSC/BAND*5/16+3)/6     ;  波特率


;------ SFR -------
P1M0        EQU       091H
P1M1        EQU       092H

P3M0        EQU       0B1H
P3M1        EQU       0B2H

;------ IO -------

BP          BIT      P1.4
G1          BIT      P1.5
G2          BIT      P1.6
K_OFF1      BIT      P3.2            
K_ON1       BIT      P1.3
K_OFF2      BIT      P3.4
K_ON2       BIT      P1.7
K_MODE      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 


;-------------------------------------------
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 + -