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

📄 amji.asm

📁 《单片机应用系统设计与产品开发》配套源码
💻 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 + -