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

📄 复件 sn8p2501a.asm

📁 RFID的电子标签原码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
CALL   DELAY_200MS
            JMP     BJBOOT


;*************************************************************************
;****************异常报警处理*********************************************
BJ:                                    ;切换到普通运行模式
            B0BCLR  FSTPHX             ;开启高速时钟
            CALL   DELAY_100MS         ;延时          
            B0BCLR  FCLKMD             ;进入普通模式 

            CALL    PWM_START          ;启动升压电路
 
 BJ_LP1:    CALL    PLAY_Voice_L_H              
            CALL    PLAY_Voice_H_L          
            JMP     BJ_LP1 
          
;**********************************************************
;**********************************************************



;******************报警声形成子程序***********************
;--------------停止声音输出--------------------------------
STOP_Voice:   B0BCLR  FTC0OUT            
              B0BCLR  FALOAD0
              B0BCLR  FTC0ENB
              B0BCLR  P5.4
              RET  
;-----------------------------------------------------------

;----------------播放“低音”到“高音”音阶------------------
PLAY_Voice_L_H:  MOV     A,#10
                 B0MOV   Voice,A
           
BJ_LOOP_1:       B0BTS0  P5.4
                 JMP     $-1
                 B0BCLR  FTC0ENB           ;输出为低电位时,才修改频率 

                 DECMS   Voice 
                 NOP
                 B0MOV  A,Voice            ;读取音阶数据(低音---高音) 
                 ADD    A,#DATAS$L
                 B0MOV  Z,A
                 MOVC           
                 B0MOV   TC0C,A
                 B0MOV   TC0R,A 

                 B0BSET  FTC0OUT           
                 B0BSET  FALOAD0
                 B0BSET  FTC0ENB                         
                 B0BCLR  P1.0              ;开LED

                 CALL    DELAY_200MS       ;输出延时 
                     
                 MOV     A,#0
                 CMPRS   A,Voice
                 JMP     BJ_LOOP_1
                 RET
;-----------------------------------------------------------------------

;-----------播放“高音”到“低音”音阶----------------------------------
       
PLAY_Voice_H_L: CLR   Voice  
BJ_LOOP_2:     
                B0BTS0  P5.4
                JMP     $-1
                B0BCLR  FTC0ENB           ;输出为低电位时,才修改频率

                B0MOV  A,Voice            
                ADD    A,#DATAS$L         ;读取音阶数据(高音---低音)
                B0MOV  Z,A
                MOVC           
                B0MOV   TC0C,A
                B0MOV   TC0R,A 

                B0BSET  FTC0OUT         
                B0BSET  FALOAD0
                B0BSET  FTC0ENB
                B0BSET  P1.0               ;关LED

                CALL    DELAY_200MS        ;输出延时 
                INCMS    Voice
                NOP
                MOV     A,#10
                CMPRS   A,Voice
                JMP     BJ_LOOP_2
                RET
;---------------------------------------------------------------------------

;*************************************************************************

;***************启动升压电路***************************************
;**************升压脉冲频率20KHz设置********************************
PWM_START: B0BCLR  FT0IEN      ;禁止T0中断
           B0BCLR  FT0ENB      ;停止记数 
           B0BCLR  FT0IRQ      ;清中断标志
           MOV     A,#01110000b
           B0MOV   T0M,A       ;选择内部时钟 1:2 
           MOV     A,#0F0H
           B0MOV   T0C,A
           B0BSET  FT0IEN
           B0BSET  FT0ENB
           B0BSET  FGIE        ;开全局中断
           RET
;***********************************************************************

;************关闭升压电路***********************************************

PWM_STOP:  B0BCLR  FT0ENB      ;停止记数
           B0BCLR  FGIE
           B0BCLR  FT0IEN      ;禁止T0中断           
           B0BCLR  FT0IRQ      ;清中断标志
           MOV     A,#00H
           B0MOV   T0M,A       ;选择内部时钟 1:256 
           B0BCLR  P2.5
           RET


;************************************************************************


;******************100ms延时**********************************************
DELAY_LED:      MOV     A,#20
                B0MOV   COUNT1,A
DELAY_LED_1:    @RST_WDT                ;清WDT
                DECMS   COUNT1
                JMP     DELAY_100MS_1
                RET
;*************************************************************************




;******************100ms延时**********************************************
DELAY_100MS:    MOV     A,#200
                B0MOV   COUNT1,A
DELAY_100MS_1:  @RST_WDT                ;清WDT
                DECMS   COUNT1
                JMP     DELAY_100MS_1
                RET
;*************************************************************************


;******************200ms延时**********************************************
DELAY_200MS:    MOV     A,#95
                B0MOV   COUNT0,A
DELAY_200MS_1:  MOV     A,#100
                B0MOV   COUNT1,A 
DELAY_200MS_0:  @RST_WDT               
                DECMS   COUNT1
                JMP     DELAY_200MS_0                        
                DECMS   COUNT0
                JMP     DELAY_200MS_1
                RET
;*************************************************************************


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -