首页 > 代码库 > 用IO检测方式判断交流220V与110V(松瀚汇编程序)
用IO检测方式判断交流220V与110V(松瀚汇编程序)
;-----------------------代码------------------------------------------ ;---220V/110V检测-------------------- V_CH220NUM EQU 10 ;检测上半波的个数 ;150V-0 180V-80 220V-120 V_220VNUM EQU 60 ;电压信号为高的总个数 //*************************************** // 函数名称: DLY500US // 函数功能: 16MRC 下耗时500US //*************************************** DLY500US: MOV A,#250 MOV I,A L_DLY500US: NOP NOP NOP NOP DECMS I JMP L_DLY500US RET //*************************************** // 函数名称: CHECKAC220V // 函数功能: 检测输出电压为110V 或 220V //*************************************** CHECKAC220V: /* // 测试用 CALL DLY500US MOV A, #0X04 XOR P2, A JMP CHECKAC220V */ ;------------检测前延时 等待电压稳定------------------- MOV A, #200 ;1ms*200=200ms MOV X0, A L_PWLDY: CALL DLY500US ;1ms CALL DLY500US MOV A, #0X5A B0MOV WDTR, A DECMS X0 JMP L_PWLDY ;------------------------------------------------------- MOV A, #V_CH220NUM ;检测上半波的个数 MOV X0, A CLR X1 L_CHACVOG: B0BTS1 P_ZERO JMP L_CHACVOG JMP $+1 JMP $+1 JMP $+1 B0BTS1 P_ZERO JMP L_CHACVOG JMP $+1 JMP $+1 JMP $+1 MOV A, #0X5A B0MOV WDTR, A L_CHACVOG2: B0BTS0 P_ACV INCMS X1 NOP CALL DLY500US B0BTS0 P_ZERO JMP L_CHACVOG2 JMP $+1 JMP $+1 B0BTS0 P_ZERO JMP L_CHACVOG2 ;上半波结束 DECMS X0 JMP L_CHACVOG MOV A, X1 SUB A, #V_220VNUM BSET F_220V B0BTS1 FC BCLR F_220V RET
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。