智能家居远程控制系统源程序样本_第1页
智能家居远程控制系统源程序样本_第2页
智能家居远程控制系统源程序样本_第3页
智能家居远程控制系统源程序样本_第4页
智能家居远程控制系统源程序样本_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能家居远程控制系统刘庆宇

;*****************************************************;Filename:BSHB_1_0_2.ASM ;MCU:AT89S52OSC:6.0000MHz;IC:MT8870ISD4002LM38674LS04ULN280324C02;Display:LED*4;Buildby:LiuQingYu ;Vision:V1.0.2;Date:-06-13 ;********************************************************;功能: 运用电话线路,远程控制4组继电器通断,控制电饭煲、电; 暖风等家用电器。可以设定延时通断。恢复出厂设立时按住设; 置按键按复位键即可恢复默认密码123456; 默认开关状态为:关,延时为:无;;如需变化等待振铃次数,请搜索“振铃检测程序”并进行修改。;;;寄存器组使用:; 00:主程序; 01:显示子程序;******************************************;输入输出引脚定义;******************************************;MT8870:数据P0.0~P0.3MT_IN EQUP1;STD____INT0;ISD4002:;ISDINT____INT1 MOSI BITP0.4SS BITP0.5SCLK BITP0.6;HD7279:DATBITP2.4CSBITP3.5CLKBITP3.6;24C02:SCLBITP1.6SDABITP1.7;继电器(摘机电路):JDQK BITP1.4;低电平有效;继电器1(控制高压)JDQ0_DFB BITP0.0;电饭煲JDQ1_DNF BITP0.1;电暖风JDQ2_KT BITP0.2;空调JDQ3_RSH BITP0.3;电热水器;延时批示灯:(低电平有效)LED0 BITP2.0LED1 BITP2.1LED2 BITP2.2LED3 BITP2.3;振铃检测ZHENLJC BITP1.5HUIFU BIT P0.7 ;恢复出厂设立按键,默认密码123456,默认开关状态为:关,延时为:无 ;0=恢复出厂设立 1=不恢复 ;使用时按住此按键按复位键即可;******************************************;变量定义;******************************************;工作状态寄存(00-07)GZZHT EQU20HYSH0_KG BIT00H ;延时状态,1=启动0=关闭YSH1_KG BIT01HYSH2_KG BIT02HYSH3_KG BIT03HMIMA BIT04H ;GZZHT.1密码状态,与否已经输入错误一次1=是0=否STD BIT05H;有新数据输入 1=有 0=无XINMIMA BIT06H ;新密码校验位,校验两次输入密码与否一致 1=不一致0=一致ZHL6C BIT07H ;振铃次数已够,可以摘机 1=可以0=不可以;工作状态寄存2(08-0F)GZZHT2 EQU21H ;位寻址寄存21H;NOINPUT BIT08H ;10秒没有新数据输入,自动挂机。1=可以挂机0=不可以IS15S BIT09H ;DEC_ON BIT0AH ;与否显示小数点:1=显示0=不显示ISDINT BIT0BH ;4002中断置位标志OUT_PLAY BIT0CH ;从播放进程中终结标志 1=跳过背面语音提示;JDQ0_YSH BIT0AH ;继电器延时状态1=开0=关;JDQ1_YSH BIT0BH;JDQ2_YSH BIT0CH;JDQ3_YSH BIT0DH;YANSHI BIT05H;GZZHT.2延时 1=启动0=关闭;YANSHIKG BIT06H;GZZHT.3延时状态1=延时开0=延时关;YSH_OK BIT0BH ;延时数据已准备好,可以写入1=可以0=不可以M1 EQU22H ;密码寄存(1---6)M2 EQU23HM3 EQU24HM4 EQU25HM5 EQU26HM6 EQU27HDINGSHI EQU28H ;定期时间暂时存储DATA_IN EQU29H ;HD7279输入输出缓存DATA_OUT EQU2AHPLAY_ADD EQU2BHBAK_A_T1 EQU2CHYSH0_TM EQU30H;延时时间寄存YSH1_TM EQU31HYSH2_TM EQU32HYSH3_TM EQU33HOUT_BW EQU34H ;延时数据输出暂时存储(用于显示)OUT_SHW EQU35HOUT_GW EQU36HMIMAJSH EQU37H ;【密码计数】对输入密码个数进行计数 ;ZHENLING EQU31H ;【振铃计数】对振铃次数进行计数;TIMEMOOD EQU29H;定期器模式:03=关,80=4096Hz,81=64Hz,82=1Hz,83=1/60HzMTEMP EQU38H ;记录密码输入错误次数TEMP EQU39H;第一次输入新密码暂时存储(3AH~3FH)MT1 EQU3FHT0_TMP EQU40H ;T0暂时存储,每隔0.0005秒加1T0_TMP_S EQU41H ;T0暂时存储,每隔0.1S减1T0_TMP_M EQU42H ;T0暂时存储,每隔0.5S减1BAK_A EQU43H ;中断期间A备份BAK_R1 EQU44H;BAK_RS1 EQU45HBAK_RS0 EQU46HBAK_A_SOUND EQU47HBAK_DPH EQU48HBAK_DPL EQU49H;延时数据暂时存储YSH_BW EQU4AHYSH_SHW EQU4BHYSH_GW EQU4CHADDRESSL EQU4DH ;ISD4002放音地址低位PANDAH EQU4EH ;ISD4002放音地址高位TEMP2 EQU4FH ;密码暂时存储TEMP3 EQU50H ;T1中断检测暂时存储TIME EQU51H ;倒计时定期时间暂时存储,长度1字节DISP_CHT EQU52H ;更换显示继电器倒计时时间计数DISP_CH EQU53H ;显示开关批示(1-4)YSH0_KG_1 EQU54H ;延时状态,1=启动0=关闭YSH1_KG_1 EQU55HYSH2_KG_1 EQU56HYSH3_KG_1 EQU57HSOUND_OUT_BW EQU58H ;延时数据输出暂时存储(用于剩余时间提示)SOUND_OUT_SHW EQU59HSOUND_OUT_GW EQU5AHZHL_CSH EQU5BH ;;******************************************; 主程序;****************************************** ORG 0000H LJMP MAIN ORG 0003H LJMP STD_IN ORG 00BH LJMP T0STOP ORG 0013H LJMP INT1_STOP ORG 001BH LJMP T1STOP ORG 0030H;全局初始化MAIN: MOV SP,#60H ;堆栈 MOV IE,#00H ;禁止所有中断 LCALL LOAD ;载入状态 MOV MIMAJSH,#00H MOV DINGSHI,#00H MOV GZZHT,#00H MOV GZZHT2,#00H MOVT0_TMP,#200 ;T0暂时存储,每隔0.0005秒加1 MOVT0_TMP_S,#5 ;T0暂时存储,每隔0.1S加1 MOVT0_TMP_M,#120;T0暂时存储,每隔1S加1 MOVDISP_CHT,#4 ;更换显示继电器倒计时时间计数 MOVDISP_CH,#1 ;显示开关批示(1-4) MOVTMOD,#02H ;定期器0,方式2(8位自装载) MOVTH0,#06H MOVTL0,#06H ; MOVIP,#00000100B;设立外部中断1为高优先级中断 SETBIT1 ;脉冲触发方式 SETBET0 ;容许T0中断 SETBEA ;容许中断 SETBTR0 ;启动T0定期器 SETBIT0 ;脉冲触发方式 ; SETBEX0 CLROUT_PLAY ;使用寄存器组00 CLR RS1 CLR RS0 LCALL DELAY_30ms JNB HUIFU,HUIFU1 ;与否恢复出厂设立MAINLOOP: JBHUIFU,LP1 LCALLDELAY_30MS JNBHUIFU,LP2LP1: CLRZHL6C ;清振铃6次标志位 LCALLZHENLING1 ;检测振铃 JNBZHL6C,MAINLOOP ;振铃到6次,可以摘机LP2: LCALLZHAIJI ;振铃达到6次,摘机 SJMP MAINLOOP;---------------------------------------------------;恢复出厂设立HUIFU1: JNBHUIFU,$ MOVM6,#01H MOVM5,#02H MOVM4,#03H MOVM3,#04H MOVM2,#05H MOVM1,#06H LCALLSAVE LJMPMAINLOOP;**********************************************; 摘机子程序;**********************************************ZHAIJI: ; LCALLPOWEROFF ;屏蔽ISD4002,以免影响DTMF信号辨认 CLR JDQK ;继电器摘机 LCALLDELAY_BS LCALLDELAY_BS CLR MIMA CLREX0 ;不容许语音提示半途退出 MOVA,#13 LCALLSOUND ;语音提示:欢迎您使用智能家居远程控制系统,请输入密码 SETBEX0 ZHJ_MM: LCALLSTDJC ;检测输入数据,成果由A带回 JBNOINPUT,EXIT_1ZHJ_MM_JC1: MOVMIMAJSH,#00H INC MIMAJSH CJNE A,M6,ZHJ_MMC ;校验密码第一位与否对的; JB JDQK,EXIT LCALLSTDJC JBNOINPUT,EXIT_1 INC MIMAJSH CJNE A,M5,ZHJ_MMC ;校验密码第二位与否对的; JB JDQK,EXIT LCALLSTDJC JBNOINPUT,EXIT_1 INC MIMAJSH CJNE A,M4,ZHJ_MMC ;校验密码第三位与否对的; JB JDQK,EXITT3 LCALLSTDJC JBNOINPUT,EXIT_1 INC MIMAJSH CJNE A,M3,ZHJ_MMC ;校验密码第四位与否对的; JB JDQK,EXIT LCALLSTDJC JBNOINPUT,EXIT_1 INC MIMAJSH CJNE A,M2,ZHJ_MMC ;校验密码第五位与否对的; JB JDQK,EXIT LCALLSTDJC JBNOINPUT,EXIT_1 INC MIMAJSH CJNE A,M1,ZHJ_MMC ;校验密码第六位与否对的; JB JDQK,EXIT LJMPZHJ_2;---------------------------------------------------------- ;密码错ZHJ_MMC: LCALLSTDJC ;按键检测 JBNOINPUT,EXIT_1 INCMIMAJSH MOVA,MIMAJSH;密码输入次数存A CLRC SUBB A,#6 ;与否已输入6位 JCZHJ_MMC;未输入六位,继续检测按键 JBMIMA,ZHJ_MMC1 LCALLDELAY_BS MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND SETBMIMA LJMPZHJ_MMZHJ_MMC1: LJMPEXIT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EXIT_1: LJMPEXIT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;密码对的ZHJ_2: SETBEX0 ;容许语音提示半途退出 LCALLDELAY_BS MOVA,#14 ;语音提示:开关状态查询与修改请按"1",修改密码请按"2" LCALLSOUND JBOUT_PLAY,ZHJ_JC1 MOVA,#15 ;语音提示:挂机请按"*"号键 LCALLSOUND JBOUT_PLAY,ZHJ_JC1 ;语音播放中有按键输入,直接跳转到按键辨认某些 LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_1ZHJ_JC1: CJNE A,#01H,ZHJ_GMM_1 ;若按键为:1;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%状态查询;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZHJ_ZHT: LCALLDELAY_30MS SETBEX0 MOVA,#23 ;请依照语音提示选取设备 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N ;语音播放中有按键输入,直接跳转到按键辨认某些 MOVA,#1 ;语音提示:1 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N MOVA,#16 ;语音提示:电饭煲 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N LCALLDELAY_BS MOVA,#2 ;语音提示:2 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N MOVA,#17 ;语音提示:电暖风 LCALLDELAY_BS LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N MOVA,#3 ;语音提示:3 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N MOVA,#18 ;语音提示:空调 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N LCALLDELAY_BS MOVA,#4 ;语音提示:4 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N MOVA,#19 ;语音提示:电热水器 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_1 AJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_GMM_1: LJMPZHJ_GMMZHJ_DNF_1: LJMPZHJ_DNFZHJ_DNF_N_1: LJMPZHJ_DNF_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%电饭煲状态查询%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_DFB_N: CJNEA,#01H,ZHJ_DNF_N_1 ;若按键为:1ZHJ_DFB: CLREX0 ;禁止语音提示半途退出 MOVA,#16 ;语音提示:电饭煲 LCALLSOUND MOVA,#36 ;语音提示:状态为 LCALLSOUND JNBYSH0_KG,ZHJ_DFB2;无延时则跳转 JNBJDQ0_DFB,ZHJ_DFB1 ;延时关则跳转 MOVA,#26 ;语音提示:延时开 LCALLSOUND MOVA,#0 ;继电器0剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_DFBXG ZHJ_DFB1: MOVA,#27 ;语音提示:延时关 LCALLSOUND MOVA,#0 ;继电器0剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_DFBXGZHJ_DFB2: JNBJDQ0_DFB,ZHJ_0_K MOVA,#20 ;语音提示:关 LCALLSOUND AJMPZHJ_DFBXG ZHJ_0_K: MOVA,#21 ;语音提示:开 LCALLSOUND;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%电饭煲状态修改%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZHJ_DFBXG: SETBEX0 LCALLDELAY_30MS SETBEX0 ;容许语音提示半途退出 MOVA,#24 ;语音提示:启动 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#16 ;语音提示:电饭煲 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#1 ;语音提示:1 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#25 ;语音提示:关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#16 ;语音提示:电饭煲 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#2 ;语音提示:2 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#26 ;语音提示:延时开 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#3 ;语音提示:3 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#27 ;语音提示:延时关 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#4 ;语音提示:4 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB MOVA,#15 ;语音提示:返回上级请按9,挂机请按"*"号键 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_2;--------------------------------------------------------------------------;启动电饭煲ZHJ_DFB_SHB: CJNE A,#01H,ZHJ_DFBG ;若按键为:1 CLRJDQ0_DFB SETBLED0 CLRYSH0_KGZHJ_DFBK4: MOVA,#16 ;语音提示:电饭煲 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T2 MOVA,#30 ;语音提示:已启动 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T2 LJMPZHJ_ZHT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ EXIT_2: LJMPEXITZHJ_DFB_N_T2: LJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;--------------------------------------------------------------------------;关闭电饭煲ZHJ_DFBG: CJNEA,#02H,ZHJ_DFBY ;若按键为:2 SETBJDQ0_DFB SETBLED0 CLRYSH0_KGZHJ_DFBG4: MOVA,#16 ;语音提示:电饭煲 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T2 MOVA,#31 ;语音提示:已关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T2 LJMPZHJ_ZHT;--------------------------------------------------------------------------;电饭煲延时开ZHJ_DFBY: CJNEA,#03H,ZHJ_DFBY2ZHJ_DFBY_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_2 MOVYSH0_TM,TIME ;存延时数据 SETBJDQ0_DFB CLRLED0 ;开延时批示灯 SETBYSH0_KG ;置位延时开标志 CLREX0 MOVA,#26 ;延时开 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#0 ;继电器0剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;--------------------------------------------------------------------------;电饭煲延时关ZHJ_DFBY2: CJNEA,#04H,ZHJ_DFBFZHJ_DFBY2_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_3 MOVYSH0_TM,TIME ;存延时数据 CLRJDQ0_DFB CLRLED0 ;开延时批示灯 SETBYSH0_KG ;置位延时开标志 CLREX0 MOVA,#27 ;延时关 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#0 ;继电器0剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;-----------------------------------------------------------------------------ZHJ_DFBF: CJNEA,#09H,ZHJ_DFBF1 ;按键为9 LJMPZHJ_ZHT ZHJ_DFBF1: CJNEA,#00001011B,ZHJ_DFBF2 ;按键为"*" LJMPEXIT_3 ZHJ_DFBF2: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_SHB_T1 LJMPZHJ_DFBXG ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ EXIT_3: LJMPEXITZHJ_KT_1: LJMPZHJ_KTZHJ_KT_N_1: LJMPZHJ_KT_NZHJ_DFB_SHB_T1: LJMPZHJ_DFB_SHB;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%电暖风状态查询%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_DNF_N: CJNEA,#02H,ZHJ_KT_N_1 ;若按键为:1ZHJ_DNF: CLREX0 ;禁止语音提示半途退出 MOVA,#17 ;语音提示:电暖风 LCALLSOUND MOVA,#36 ;语音提示:状态为 LCALLSOUND JNBYSH1_KG,ZHJ_DNF2;无延时则跳转 JNBJDQ1_DNF,ZHJ_DNF1 ;延时关则跳转 MOVA,#26 ;语音提示:延时开 LCALLSOUND MOVA,#1 ;继电器1剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_DNFXG ZHJ_DNF1: MOVA,#27 ;语音提示:延时关 LCALLSOUND MOVA,#1 ;继电器1剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_DNFXGZHJ_DNF2: JNBJDQ1_DNF,ZHJ_1_K MOVA,#20 ;语音提示:关 LCALLSOUND AJMPZHJ_DNFXG ZHJ_1_K: MOVA,#21 ;语音提示:开 LCALLSOUND;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%电暖风状态修改%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZHJ_DNFXG: LCALLDELAY_30MS SETBEX0 ;容许语音提示半途退出 MOVA,#24 ;语音提示:启动 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#17 ;语音提示:电暖风 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#1 ;语音提示:1 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#25 ;语音提示:关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#17 ;语音提示:电暖风 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#2 ;语音提示:2 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#26 ;语音提示:延时开 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#3 ;语音提示:3 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#27 ;语音提示:延时关 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#4 ;语音提示:4 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB MOVA,#15 ;语音提示:返回上级请按9,挂机请按"*"号键 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_4;--------------------------------------------------------------------------;启动电暖风ZHJ_DNF_SHB: CJNE A,#01H,ZHJ_DNFG ;若按键为:1 CLRJDQ1_DNF SETBLED1 CLRYSH1_KGZHJ_DNFK4: MOVA,#17 ;语音提示:电暖风 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T3 MOVA,#30 ;语音提示:已启动 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T3 LJMPZHJ_ZHT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ EXIT_4: LJMPEXITZHJ_DFB_N_T3: LJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;--------------------------------------------------------------------------;关闭电暖风ZHJ_DNFG: CJNEA,#02H,ZHJ_DNFY ;若按键为:2 SETBJDQ1_DNF SETBLED1 CLRYSH1_KGZHJ_DNFG4: MOVA,#17 ;语音提示:电暖风 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T3 MOVA,#31 ;语音提示:已关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T3 LJMPZHJ_ZHT;--------------------------------------------------------------------------;电暖风延时开ZHJ_DNFY: CJNEA,#03H,ZHJ_DNFY2ZHJ_DNFY_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_4 MOVYSH1_TM,TIME ;存延时数据 SETBJDQ1_DNF CLRLED1 ;开延时批示灯 SETBYSH1_KG ;置位延时开标志 CLREX0 MOVA,#26 ;延时开 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#1 ;继电器1剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;--------------------------------------------------------------------------;电暖风延时关ZHJ_DNFY2: CJNEA,#04H,ZHJ_DNFFZHJ_DNFY2_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_5 MOVYSH1_TM,TIME ;存延时数据 CLRJDQ1_DNF CLRLED1 ;开延时批示灯 SETBYSH1_KG ;置位延时开标志 CLREX0 MOVA,#27 ;延时关 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#1 ;继电器1剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;-----------------------------------------------------------------------------ZHJ_DNFF: CJNEA,#09H,ZHJ_DNFF1 ;按键为9 LJMPZHJ_ZHT ZHJ_DNFF1: CJNEA,#00001011B,ZHJ_DNFF2 ;按键为"*" LJMPEXIT_3 ZHJ_DNFF2: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_DNF_SHB_T1 LJMPZHJ_DNFXG ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_DNF_SHB_T1: LJMPZHJ_DNF_SHBEXIT_5: LJMPEXITZHJ_RSH_1: LJMPZHJ_RSHZHJ_RSH_N_1: LJMP ZHJ_RSH_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%空调状态查询%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_KT_N: CJNEA,#03H,ZHJ_RSH_N_1 ;若按键为:1ZHJ_KT: CLREX0 ;禁止语音提示半途退出 MOVA,#18 ;语音提示:空调 LCALLSOUND MOVA,#36 ;语音提示:状态为 LCALLSOUND JNBYSH2_KG,ZHJ_KT2;无延时则跳转 JNBJDQ2_KT,ZHJ_KT1 ;延时关则跳转 MOVA,#26 ;语音提示:延时开 LCALLSOUND MOVA,#2 ;继电器2剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_KTXG ZHJ_KT1: MOVA,#27 ;语音提示:延时关 LCALLSOUND MOVA,#2 ;继电器2剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_KTXGZHJ_KT2: JNBJDQ2_KT,ZHJ_2_K MOVA,#20 ;语音提示:关 LCALLSOUND AJMPZHJ_KTXG ZHJ_2_K: MOVA,#21 ;语音提示:开 LCALLSOUND;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%空调状态修改%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZHJ_KTXG: LCALLDELAY_30MS SETBEX0 ;容许语音提示半途退出 MOVA,#24 ;语音提示:启动 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#18 ;语音提示:空调 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#1 ;语音提示:1 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#25 ;语音提示:关闭 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#18 ;语音提示:空调 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#2 ;语音提示:2 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#26 ;语音提示:延时开 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#3 ;语音提示:3 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#27 ;语音提示:延时关 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#4 ;语音提示:4 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB MOVA,#15 ;语音提示:返回上级请按9,挂机请按"*"号键 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_6;--------------------------------------------------------------------------;启动空调ZHJ_KT_SHB: CJNE A,#01H,ZHJ_KTG ;若按键为:1 CLRJDQ2_KT SETBLED2 CLRYSH2_KGZHJ_KTK4: MOVA,#18 ;语音提示:空调 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T4 MOVA,#30 ;语音提示:已启动 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T4 LJMPZHJ_ZHT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ EXIT_6: LJMPEXITZHJ_DFB_N_T4: LJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;--------------------------------------------------------------------------;关闭空调ZHJ_KTG: CJNEA,#02H,ZHJ_KTY ;若按键为:2 SETBJDQ2_KT SETBLED2 CLRYSH2_KGZHJ_KTG4: MOVA,#18 ;语音提示:空调 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T4 MOVA,#31 ;语音提示:已关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T4 LJMPZHJ_ZHT;--------------------------------------------------------------------------;空调延时开ZHJ_KTY: CJNEA,#03H,ZHJ_KTY2ZHJ_KTY_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_6 MOVYSH2_TM,TIME ;存延时数据 SETBJDQ2_KT CLRLED2 ;开延时批示灯 SETBYSH2_KG ;置位延时开标志 CLREX0 MOVA,#26 ;延时开 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#2 ;继电器2剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;--------------------------------------------------------------------------;空调延时关ZHJ_KTY2: CJNEA,#04H,ZHJ_KTFZHJ_KTY2_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_8 MOVYSH2_TM,TIME ;存延时数据 CLRJDQ2_KT CLRLED2 ;开延时批示灯 SETBYSH2_KG ;置位延时开标志 CLREX0 MOVA,#27 ;延时关 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#2 ;继电器2剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;-----------------------------------------------------------------------------ZHJ_KTF: CJNEA,#09H,ZHJ_KTF1 ;按键为9 LJMPZHJ_ZHT ZHJ_KTF1: CJNEA,#00001011B,ZHJ_KTF2 ;按键为"*" LJMPEXIT_3 ZHJ_KTF2: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_KT_SHB_T1 LJMPZHJ_KTXG ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EXIT_8: LJMPEXITZHJ_KT_SHB_T1: LJMPZHJ_KT_SHBZHJ_ERR_1: LJMPZHJ_ERR;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%电热水器状态查询%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_RSH_N: CJNEA,#04H,ZHJ_ERR_1 ;若按键为:1ZHJ_RSH: CLREX0 ;禁止语音提示半途退出 MOVA,#19 ;语音提示:电热水器 LCALLSOUND MOVA,#36 ;语音提示:状态为 LCALLSOUND JNBYSH3_KG,ZHJ_RSH2;无延时则跳转 JNBJDQ3_RSH,ZHJ_RSH1 ;延时关则跳转 MOVA,#26 ;语音提示:延时开 LCALLSOUND MOVA,#3 ;继电器3剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_RSHXG ZHJ_RSH1: MOVA,#27 ;语音提示:延时关 LCALLSOUND MOVA,#3 ;继电器3剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 AJMPZHJ_RSHXGZHJ_RSH2: JNBJDQ3_RSH,ZHJ_3_K MOVA,#20 ;语音提示:关 LCALLSOUND AJMPZHJ_RSHXG ZHJ_3_K: MOVA,#21 ;语音提示:开 LCALLSOUND;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%电热水器状态修改%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ZHJ_RSHXG: LCALLDELAY_30MS SETBEX0 ;容许语音提示半途退出 MOVA,#24 ;语音提示:启动 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#19 ;语音提示:电热水器 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#1 ;语音提示:1 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#25 ;语音提示:关闭 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#19 ;语音提示:电热水器 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#2 ;语音提示:2 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#26 ;语音提示:延时开 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#3 ;语音提示:3 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#27 ;语音提示:延时关 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#28 ;语音提示:请按 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#4 ;语音提示:4 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB MOVA,#15 ;语音提示:返回上级请按9,挂机请按"*"号键 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB LCALLSTDJC ;检测按键 JBNOINPUT,EXIT_7;--------------------------------------------------------------------------;启动电热水器ZHJ_RSH_SHB: CJNE A,#01H,ZHJ_RSHG ;若按键为:1 CLRJDQ3_RSH SETBLED3 CLRYSH3_KGZHJ_RSHK4: MOVA,#19 ;语音提示:电热水器 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T5 MOVA,#30 ;语音提示:已启动 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T5 LJMPZHJ_ZHT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ EXIT_7: LJMPEXITZHJ_DFB_N_T5: LJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;--------------------------------------------------------------------------;关闭电热水器ZHJ_RSHG: CJNEA,#02H,ZHJ_RSHY ;若按键为:2 SETBJDQ3_RSH SETBLED3 CLRYSH3_KGZHJ_RSHG4: MOVA,#19 ;语音提示:电热水器 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T5 MOVA,#31 ;语音提示:已关闭 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T5 LJMPZHJ_ZHT;--------------------------------------------------------------------------;电热水器延时开ZHJ_RSHY: CJNEA,#03H,ZHJ_RSHY2ZHJ_RSHY_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT_7 MOVYSH3_TM,TIME ;存延时数据 SETBJDQ3_RSH CLRLED3 ;开延时批示灯 SETBYSH3_KG ;置位延时开标志 CLREX0 MOVA,#26 ;延时开 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#3 ;继电器3剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;--------------------------------------------------------------------------;电热水器延时关ZHJ_RSHY2: CJNEA,#04H,ZHJ_RSHFZHJ_RSHY2_2: LCALLYSH_IN ;调用延时输入子程序 JBJDQK,EXIT MOVYSH3_TM,TIME ;存延时数据 CLRJDQ3_RSH CLRLED3 ;开延时批示灯 SETBYSH3_KG ;置位延时开标志 CLREX0 MOVA,#27 ;延时关 LCALLSOUND MOVA,#32 ;已设定 LCALLSOUND MOVA,#3 ;继电器3剩余时间提示 LCALLSOUND_YSH ;延时剩余时间提示子程序 SETBEX0 LJMPZHJ_ZHT ;延时设定完毕,转状态查询页;-----------------------------------------------------------------------------ZHJ_RSHF: CJNEA,#09H,ZHJ_RSHF1 ;按键为9 LJMPZHJ_ZHT ZHJ_RSHF1: CJNEA,#00001011B,ZHJ_RSHF2 ;按键为"*" LJMPEXIT_3 ZHJ_RSHF2: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_RSH_SHB_T1 LJMPZHJ_RSHXG ZHJ_RSH_SHB_T1: LJMPZHJ_RSH_SHBZHJ_DFB_N_T1: LJMPZHJ_DFB_N;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%输入错误%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_ERR: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_DFB_N_T1 LJMPZHJ_ZHT;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%挂机%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EXIT: SETBJDQK MOVMIMAJSH,#00H LCALLSAVE RET;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_GJ_T1: LJMPZHJ_GJ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%修改密码%%%%%%%%%%%%%%%%%%%%%%%;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ZHJ_GMM: CLREX0 CJNEA,#02H,ZHJ_GJ_T1 ;若按键为:2;修改密码 LCALLDELAY_BSZHJ_GMM_RE: MOVA,#35 ;语音提示:请输入6位新密码,按"#"号键结束 LCALLSOUND ; JBOUT_PLAY,ZHJ_GMM_SHB MOVR1,#06H ;密码位数 MOVR0,#MT1 ;密码位首地址 SETBXINMIMA ;新密码校验位置1。 ZHJ_GMM1: SETBEX0 LCALLSTDJC ;检测按键 CLREX0 JBNOINPUT,EXITZHJ_GMM_SHB: MOV@R0,A ;保存新密码 DECR0 ;地址位减一,准备输入下一位密码 DJNZR1,ZHJ_GMM1;检测6位与否输入完毕 SETBEX0 LCALLSTDJC ;检测按键与否为"#" CLREX0 JBNOINPUT,EXIT CJNEA,#00001100B,ZHJ_GMM2 LCALLDELAY_BS MOVA,#37 ;语音提示:请再输入一次 LCALLSOUND ; JBOUT_PLAY,ZHJ_GMM_SHB MOVR1,#06H MOVR0,#MT1ZHJ_GMM5: SETBEX0 LCALLSTDJC CLREX0 JBNOINPUT,EXIT MOVTEMP2,@R0 CJNEA,TEMP2,ZHJ_GMM3 ;比较密码,若错误,"XINMIMA"位清零ZHJ_GMM4: DECR0 DJNZR1,ZHJ_GMM5 SETBEX0 LCALLSTDJC CLREX0 JBNOINPUT,EXIT CJNEA,#00001100B,ZHJ_GMM2 JNBXINMIMA,ZHJ_GMM2 MOVR0,#MT1 ;保存新密码 MOVM6,@R0 DECR0 MOVM5,@R0 DECR0 MOVM4,@R0 DECR0 MOVM3,@R0 DECR0 MOVM2,@R0 DECR0 MOVM1,@R0 LCALLDELAY_BS CLREX0 MOVA,#38 ;语音提示:密码已更新 LCALLSOUND SETBEX0 LJMPZHJ_2ZHJ_GMM2: CLREX0 MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND SETBEX0 LJMPZHJ_GMM_REZHJ_GMM3: CLRXINMIMA ;密码错误,"XINMIMA"位清零。 LJMPZHJ_GMM4;----------------------------------------------------------------------ZHJ_GJ: CJNEA,#00001011B,ZHJ_GJ2 ;按键为"*" LJMPEXIT ZHJ_GJ2: MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,ZHJ_JC1_T1 LJMPZHJ_2ZHJ_JC1_T1: LJMPZHJ_JC1;**********************************************; 接受并解决延时数据,成果存于TIME;**********************************************YSH_IN: LCALLDELAY_BS MOVA,#34 ;语音提示:请输入时间,按"#"号键确认,单位为分,请不要超过255分 CLREX0 LCALLSOUND SETBEX0 JBOUT_PLAY,YSH_IN_SHB_1 MOVYSH_BW,#00H MOVYSH_SHW,#00H MOVYSH_GW,#00H LCALLSTDJC JBNOINPUT,YSH_ERRYSH_IN_SHB_1: MOVYSH_GW,A ;保存第一位 CLRC ;判断第一位与否为数字1~9 SUBBA,#0AH JCYSH_IN2 LCALLDELAY_BS MOVA,#33 ;语音提示:输入错误,请重新输入 LCALLSOUND JBOUT_PLAY,YSH_IN_SHB_1 SJMPYSH_IN ;跳转到开始,重新输入延时时间YSH_IN2: LCALLSTDJC JBNOINPUT,YSH_ERR CJNEA,#00001010B,YSH_IN222 ;如果输入为1010则转换为"0" MOVA,#00HYSH_IN222: CJNEA,#00001100B,YSH_IN22 ;判断输入与否是"#"号 LJMPYSH_EXIT ;输入是"#"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论