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

📄 ada682.asm

📁 24V逆变AC220电源,采用SPWM双脉宽调制方法实现正弦波的输出.
💻 ASM
📖 第 1 页 / 共 3 页
字号:
             JBC ZTBZ1,5
             JMP GZM2
             JBC ZTBZ1,6
             JMP GZM2
             JBC ZTBZ1,4
             JMP GZM2
             JBC ZTBZ1,6
             JMP GZM2
             JBC ZTBZ1,7
             JMP GZM2
             JBC ZTBZ1,7
             JMP GZM2
             JBS PORT7,0		
             CALL SET_2            ;调用负离子发生器子程序 
        GZM2:WDTC
             MOV A,@0X09        
	         IOW IOC50	
             MOV A,@0X0B         
	         IOW IOC60	
         	MOV A,@0X00	        	
	         IOW IOC70	
             NOP
             BS PORT5,7
             BS PORT7,0
             BC PORT5,2
             BC PORT5,1	
             BC PORT5,6
             JBC PORT6,0           ;检测定时键S3是否有按下?
             BC  ZTBZ1,4
             JBC ZTBZ1,5
             JMP GZM3
             JBC ZTBZ1,6
             JMP GZM3
             JBC ZTBZ1,4
             JMP GZM3
             JBC ZTBZ2,6
             JMP GZM3
             JBC ZTBZ1,7
             JMP GZM3
             JBC ZTBZ1,7
             JMP GZM3
             JBS PORT6,0
             CALL SET_3            ;定时设置 
        GZM3:MOV A,@0XC1
             IOW IOC50
             MOV A,@0X0A
             IOW IOC60
             MOV A,@0X00
             IOW IOC70
             NOP
             BS PORT7,0
             BS PORT6,0
             BC PORT5,2
             BC PORT5,1
             BC PORT5,3
             NOP
             JBC PORT5,7           ;检测静音键S4是否按下?
             BC  ZTBZ2,6
             JBC ZTBZ1,5
             JMP GZM4
             JBC ZTBZ1,6
             JMP GZM4
             JBC ZTBZ1,4
             JMP GZM4
             JBC ZTBZ2,6
             JMP GZM4
             JBC ZTBZ1,7
             JMP GZM4
             JBC ZTBZ1,7
             JMP GZM4
             JBS PORT5,7           ;检测静音键S4是否释放?
             CALL SET_4            
        GZM4:MOV A,@0X41
             IOW IOC50
             MOV A,@0X0A
             IOW IOC60
             MOV A,@0X01
             IOW IOC70
             NOP
             BS PORT5,7
             BS PORT6,0
             BC PORT5,2
             BC PORT5,1
             BC PORT5,3
             NOP
             JBC PORT7,0           ;检测SPEED键S5是否按下?
             BC  ZTBZ1,7
             JBC ZTBZ1,5
             JMP GZM5
             JBC ZTBZ1,6
             JMP GZM5
             JBC ZTBZ1,4
             JMP GZM5
             JBC ZTBZ1,6
             JMP GZM5
             JBC ZTBZ1,7
             JMP GZM5
             JBC ZTBZ1,7
             JMP GZM5
             JBS PORT7,0
             CALL SET_5
        GZM5:MOV A,@0X41
             IOW IOC50
             MOV A,@0X0B
             IOW IOC60
             MOV A,@0X00
             IOW IOC70
             NOP
             BS PORT5,7
             BS PORT7,0
             BC PORT5,2
             BC PORT5,1
             BC PORT5,3
             NOP
             JBC PORT6,0           ;检测模式键MODE是否有按下?
             BC  ZTBZ2,7
             JBC ZTBZ1,5
             JMP GZM6
             JBC ZTBZ1,6
             JMP GZM6
             JBC ZTBZ1,4
             JMP GZM6
             JBC ZTBZ2,6
             JMP GZM6
             JBC ZTBZ1,7
             JMP GZM6
             JBC ZTBZ2,7
             JMP GZM6
             JBS PORT6,0           ;检测模式键MODE是否释放? 
             CALL SET_6
        GZM6:RET
;***********************************************************
;             粉尘传感器检测 
;*********************************************************** 
       FCCGQ:MOV A,CNT2
             MOV CNT3,A
             MOV A,@0X80
             SUB A,CNT3
             JBS STATUS,2
             JMP FCCG1
             MOV A,@0X04
             JMP FCCG4
       FCCG1:MOV A,@0X40
             SUB A,CNT3
             JBS STATUS,2
             JMP FCCG2
             MOV A,@0X03
             JMP FCCG4
       FCCG2:MOV A,@0X26
             SUB A,CNT3
             JBS STATUS,2
             JMP FCCG3
             MOV A,@0X02
             JMP FCCG4
       FCCG3:MOV A,@0X01
       FCCG4:MOV CNT4,A
             CLR CNT1
             CLR CNT2
             RET
;***********************************************************
;         功能模块控制子程序 
;***********************************************************
       SET_1:BS  ZTBZ1,5           ;置按键S1
             CALL TIME             ;计数器各变量清0
             BS  ZTBZ1,2           ;置蜂鸣器响标志 
             JBC ZTBZ1,0           ;判断开关状态是ON&OFF?
             JMP SPE1              ;开关为ON,则停止工作 
;*****************净化器开机********************************
             JBC ZTBZ1,1           ;开关为OFF,则开启工作 
             BS  PORT6,5
             JBS ZTBZ1,1
             BC  PORT6,5
             CALL ZS_M
             MOV  A,@0X03
             MOV  FSCS,A
             BS  ZTBZ1,0
             BC  ZTBZ2,1
             BS  ZTBZ2,5           ;开机2S标志位 
             CLR DSCS        
             RET
;*****************净化器关机********************************
        SPE1:BC PORT6,5            ;电机停止工作 
	         BC PORT5,5
	         BC PORT6,2
	         BC PORT6,4
             CLR DSCS              ;清定时变量寄存器 
             CLR FSCS
             CLR JZDY_H
             CLR JZDY_L
	         BC ZTBZ1,1            ;置负离子为关状态 
	         BC ZTBZ2,1            ;置净化器为MANUAL模式 
	         BC ZTBZ2,3
	         BC ZTBZ1,0            ;净化器开关为关 
	         RET
       SET_2:BS  ZTBZ1,6
             BS  ZTBZ1,2           ;置蜂鸣器响标志 
             JBS ZTBZ1,1           ;负离子发生器控制程序 
             JMP FLZ_1
             BC PORT6,5
             BC ZTBZ1,1
             RET
       FLZ_1:BS PORT6,5
             BS ZTBZ1,1
             RET
       SET_3:BS   ZTBZ1,4
             CALL TIME             ;清定时计数各变量寄存器 
             BS   ZTBZ1,2          ;置蜂鸣器响标志 
             MOV  A,DSCS
             XOR  A,@0X0           ;定时2小时 
             JBS  STATUS,2
             JMP  SET1
             MOV  A,@0X02
             MOV  DSCS,A
             JMP  SET4
        SET1:MOV  A,DSCS           ;定时4小时 
             XOR  A,@0X02
             JBS  STATUS,2
             JMP  SET2
             MOV  A,@0X04
             MOV  DSCS,A
             JMP  SET4
        SET2:MOV  A,DSCS           ;定时8小时 
             XOR  A,@0X04
             JBS  STATUS,2
             JMP  SET3
             MOV  A,@0X08
             MOV  DSCS,A
             JMP  SET4
        SET3:MOV  A,DSCS           ;不定时 
             XOR  A,@0X08
             JBS  STATUS,2
             JMP  SET4
             MOV  A,@0X0
             MOV  DSCS,A
        SET4:RET
       SET_4:BS  ZTBZ2,6
             JBC ZTBZ2,1           ;判断净化器工作模式?
             RET
             BS  ZTBZ1,2           ;置蜂鸣器响标志 
             MOV A,FSCS            ;若是静音档,则跳到低档
             XOR A,@0X01
             JBS STATUS,2
             JMP ZS_1
             CALL ZS_L
             MOV A,@0X02
             MOV FSCS,A
             RET
        ZS_1:CALL ZS_J             ;若是其他档,则跳到静音档
             MOV A,@0X01
             MOV FSCS,A
             RET
       SET_5:BS  ZTBZ1,7
             JBC ZTBZ2,1           ;判断净化器工作模式?
             RET
             BS  ZTBZ1,2           ;置蜂鸣器响标志 
             MOV A,FSCS            ;静音档跳到低档 
             XOR A,@0X01
             JBS STATUS,2
             JMP ZS_2
             CALL ZS_L
             MOV A,@0X02
             MOV FSCS,A
             JMP ZS_5
        ZS_2:MOV A,FSCS            ;中档 
             XOR A,@0X02
             JBS STATUS,2
             JMP ZS_3
             CALL ZS_M
             MOV A,@0X03
             MOV FSCS,A
             JMP ZS_5
        ZS_3:MOV A,FSCS            ;高档 
             XOR A,@0X03
             JBS STATUS,2
             JMP ZS_4
             CALL ZS_H
             MOV A,@0X04
             MOV FSCS,A
             JMP ZS_5
        ZS_4:MOV A,FSCS            ;从高档跳到低档 
             XOR A,@0X04
             JBS STATUS,2
             JMP ZS_5
             CALL ZS_L
             MOV A,@0X02 
             MOV FSCS,A
        ZS_5:RET
       SET_6:BS  ZTBZ2,7
             BS  ZTBZ1,2
             JBS ZTBZ2,1           ;判断净化器工作模式?
             JMP ZS_6
             BC ZTBZ2,1
             BC ZTBZ2,3
             BS PORT6,6            ;关粉尘器开关 
             MOV A,@0X09
             IOW IOC90
             JMP ZS_7
        ZS_6:BS ZTBZ2,1
             BS ZTBZ2,3
             CALL ZS_L
             MOV  A,@0X02
             MOV  FSCS,A
             CLR KJTM
             CLR JZDY_H
             CLR JZDY_L
             CLR AUTO_30S
             BS  ZTBZ2,0
             BC PORT6,6            ;开粉尘器开关 
             MOV A,@0X19
             IOW IOC90
        ZS_7:RET
;***********************************************************
;           定时变量初始化 
;***********************************************************
        TIME:CLR TIME1
             CLR TIME2
             CLR TIME3
             CLR TIME4
             RET
;***********************************************************
;         电机风速子程序 
;***********************************************************
        ZS_J:BC PORT5,5            ;静音档 
             BS PORT6,2
             BC PORT6,4
             RET
        ZS_L:BC PORT5,5            ;低档 
             BC PORT6,2
             BS PORT6,4
             RET
        ZS_M:BC PORT5,5            ;中档 
             BC PORT6,2
             BS PORT6,4
             RET
        ZS_H:BS PORT5,5            ;高档 
             BC PORT6,2
             BC PORT6,4
             RET
;***********************************************************
;        中断服务程序 
;***********************************************************
      ZDFWCX:MOV STORE_A,A         ;保护现场 
             SWAP STORE_A  
             SWAPA STATUS 
             MOV STORE_STATUS,A
             DISI                  ;关中断 
             JBS IMR,0             ;判断是否TCC溢出中断? 
             JMP ZD0               ;不是,转ZD0
             BC  IMR,0             ;是,TCC中断标志位清0
             INC TIME1             ;12.5MS计数寄存器加1
             MOV A,TIME1
             XOR A,@0XA0        
             JBS STATUS,2          ;是否1S到了?  
             JMP  ZDFW1
             CLR  TIME1            ;清10MS计数寄存器 
             INC  TIME2            ;秒加1
             JBC  ZTBZ2,1
             JMP  ZDFW
             JBS  ZTBZ2,0          ;判断是否有第一次测量标志 
             INC  AUTO_30S
        ZDFW:MOV  A,TIME2
             XOR  A,@0X3C          ;是否1M到了?
             JBS  STATUS,2 
             JMP  ZDFW1
             CLR  TIME2            ;清秒计数寄存器 
             INC  TIME3            ;分钟加1
             INC  KJTM

⌨️ 快捷键说明

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