ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:31.82KB ,
资源ID:5857500      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5857500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能家居远程控制系统源程序1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能家居远程控制系统源程序1.docx

1、智能家居远程控制系统源程序1智能家居远程控制系统刘庆宇;*; Filename: BSHB_1_0_2.ASM ; MCU: AT89S52 OSC:6.0000MHz; IC: MT8870 ISD4002 LM386 74LS04 ULN2803 24C02; Display: LED*4; Build by: Liu Qing Yu ; Vision : V1.0.2; Date:2008-06-13 ;*;功能: 利用电话线路,远程控制4组继电器的通断,控制电饭煲、电; 暖风等家用电器。可以设定延时通断。恢复出厂设置时按住设; 置按键按复位键即可恢复默认密码123456; 默认开关状态

2、为:关,延时为:无;如需改变等待振铃次数,请搜索“振铃检测程序”并进行修改。; ;寄存器组使用:; 00:主程序; 01:显示子程序;*; 输入输出引脚定义;*;MT8870: 数据P0.0P0.3MT_IN EQU P1 ;STD_INT0;ISD4002:;ISDINT_INT1 MOSI BIT P0.4SS BIT P0.5SCLK BIT P0.6;HD7279:DAT BIT P2.4CS BIT P3.5CLK BIT P3.6;24C02:SCL BIT P1.6SDA BIT P1.7;继电器(摘机电路):JDQK BIT P1.4 ;低电平有效;继电器1(控制高压)JDQ0

3、_DFB BIT P0.0 ;电饭煲JDQ1_DNF BIT P0.1 ;电暖风JDQ2_KT BIT P0.2 ;空调JDQ3_RSH BIT P0.3 ;电热水器;延时指示灯:(低电平有效)LED0 BIT P2.0LED1 BIT P2.1LED2 BIT P2.2LED3 BIT P2.3;振铃检测ZHENLJC BIT P1.5HUIFU BIT P0.7 ;恢复出厂设置按键,默认密码123456,默认开关状态为:关,延时为:无 ;0=恢复出厂设置 1=不恢复 ;使用时按住此按键按复位键即可 ;*; 变量定义;*;工作状态寄存(00-07)GZZHT EQU 20HYSH0_KG B

4、IT 00H ;延时状态, 1=开启 0=关闭YSH1_KG BIT 01HYSH2_KG BIT 02HYSH3_KG BIT 03HMIMA BIT 04H ;GZZHT.1 密码状态,是否已经输入错误一次 1=是 0=否STD BIT 05H ;有新数据输入 1=有 0=无XINMIMA BIT 06H ;新密码校验位,校验两次输入密码是否一致 1=不一致 0=一致ZHL6C BIT 07H ;振铃次数已够,可以摘机 1=可以 0=不可以;工作状态寄存2(08-0F)GZZHT2 EQU 21H ;位寻址寄存 21H;NOINPUT BIT 08H ;10秒没有新数据输入,自动挂机。 1

5、=可以挂机 0=不可以IS15S BIT 09H ;DEC_ON BIT 0AH ;是否显示小数点:1=显示 0=不显示ISDINT BIT 0BH ;4002中断置位标志OUT_PLAY BIT 0CH ;从播放进程中终止标志 1=跳过后面的语音提示;JDQ0_YSH BIT 0AH ; 继电器延时状态 1=开 0=关;JDQ1_YSH BIT 0BH;JDQ2_YSH BIT 0CH;JDQ3_YSH BIT 0DH;YANSHI BIT 05H ;GZZHT.2 延时 1=开启 0=关闭;YANSHIKG BIT 06H ;GZZHT.3 延时状态 1=延时开 0=延时关;YSH_OK

6、BIT 0BH ;延时数据已准备好,可以写入 1=可以 0=不可以M1 EQU 22H ;密码寄存(1-6)M2 EQU 23HM3 EQU 24HM4 EQU 25HM5 EQU 26HM6 EQU 27HDINGSHI EQU 28H ;定时时间临时存储DATA_IN EQU 29H ;HD7279输入输出缓存DATA_OUT EQU 2AHPLAY_ADD EQU 2BHBAK_A_T1 EQU 2CHYSH0_TM EQU 30H ;延时时间寄存YSH1_TM EQU 31HYSH2_TM EQU 32HYSH3_TM EQU 33HOUT_BW EQU 34H ;延时数据输出临时存储

7、(用于显示)OUT_SHW EQU 35HOUT_GW EQU 36HMIMAJSH EQU 37H ;【密码计数】对输入的密码个数进行计数 ;ZHENLING EQU 31H ;【振铃计数】对振铃次数进行计数;TIMEMOOD EQU 29H;定时器模式:03=关,80=4096Hz,81=64Hz,82=1Hz,83=1/60HzMTEMP EQU 38H ;记录密码输入错误次数TEMP EQU 39H;第一次输入新密码临时存储(3AH3FH)MT1 EQU 3FHT0_TMP EQU 40H ;T0临时存储,每隔0.0005秒加1T0_TMP_S EQU 41H ;T0临时存储,每隔0.

8、1S减1T0_TMP_M EQU 42H ;T0临时存储,每隔0.5S减1BAK_A EQU 43H ;中断期间A的备份BAK_R1 EQU 44H;BAK_RS1 EQU 45HBAK_RS0 EQU 46HBAK_A_SOUND EQU 47HBAK_DPH EQU 48HBAK_DPL EQU 49H;延时数据临时存储YSH_BW EQU 4AHYSH_SHW EQU 4BHYSH_GW EQU 4CHADDRESSL EQU 4DH ;ISD4002放音地址 低位PANDAH EQU 4EH ;ISD4002放音地址 高位TEMP2 EQU 4FH ;密码临时存储TEMP3 EQU 5

9、0H ;T1中断检测临时存储TIME EQU 51H ;倒计时定时时间临时存储,长度1字节DISP_CHT EQU 52H ;更换显示继电器倒计时时间计数DISP_CH EQU 53H ;显示开关指示(1-4)YSH0_KG_1 EQU 54H ;延时状态, 1=开启 0=关闭YSH1_KG_1 EQU 55HYSH2_KG_1 EQU 56HYSH3_KG_1 EQU 57HSOUND_OUT_BW EQU 58H ;延时数据输出临时存储(用于剩余时间提示)SOUND_OUT_SHW EQU 59HSOUND_OUT_GW EQU 5AHZHL_CSH EQU 5BH ;*; 主程序;* O

10、RG 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 MOV T0_TMP,#200 ;T0临时存储,每隔0.0005秒加1 MOV T0_TMP_S,#5

11、;T0临时存储,每隔0.1S加1 MOV T0_TMP_M,#120;T0临时存储,每隔1S加1 MOV DISP_CHT,#4 ;更换显示继电器倒计时时间计数 MOV DISP_CH,#1 ;显示开关指示(1-4) MOV TMOD,#02H ;定时器0,方式2(8位自装载) MOV TH0,#06H MOV TL0,#06H ; MOV IP,#00000100B;设置外部中断1为高优先级中断 SETB IT1 ;脉冲触发方式 SETB ET0 ;允许T0中断 SETB EA ;允许中断 SETB TR0 ;启动T0定时器 SETB IT0 ;脉冲触发方式 ; SETB EX0 CLR O

12、UT_PLAY ;使用寄存器组00 CLR RS1 CLR RS0 LCALL DELAY_30ms JNB HUIFU,HUIFU1 ;是否恢复出厂设置MAINLOOP: JB HUIFU,LP1 LCALL DELAY_30MS JNB HUIFU,LP2LP1: CLR ZHL6C ;清振铃6次标志位 LCALL ZHENLING1 ;检测振铃 JNB ZHL6C,MAINLOOP ;振铃到6次,可以摘机LP2: LCALL ZHAIJI ;振铃达到6次,摘机 SJMP MAINLOOP;-;恢复出厂设置HUIFU1: JNB HUIFU,$ MOV M6,#01H MOV M5,#02

13、H MOV M4,#03H MOV M3,#04H MOV M2,#05H MOV M1,#06H LCALL SAVE LJMP MAINLOOP;*; 摘机子程序;*ZHAIJI: ; LCALL POWEROFF ;屏蔽ISD4002,以免影响DTMF信号识别 CLR JDQK ;继电器摘机 LCALL DELAY_BS LCALL DELAY_BS CLR MIMA CLR EX0 ;不允许语音提示中途退出 MOV A,#13 LCALL SOUND ;语音提示:欢迎您使用智能家居远程控制系统,请输入密码 SETB EX0 ZHJ_MM: LCALL STDJC ;检测输入数据,结果由

14、A带回 JB NOINPUT,EXIT_1ZHJ_MM_JC1: MOV MIMAJSH,#00H INC MIMAJSH CJNE A,M6,ZHJ_MMC ;校验密码第一位是否正确; JB JDQK,EXIT LCALL STDJC JB NOINPUT,EXIT_1 INC MIMAJSH CJNE A,M5,ZHJ_MMC ;校验密码第二位是否正确; JB JDQK,EXIT LCALL STDJC JB NOINPUT,EXIT_1 INC MIMAJSH CJNE A,M4,ZHJ_MMC ;校验密码第三位是否正确; JB JDQK,EXITT3 LCALL STDJC JB NO

15、INPUT,EXIT_1 INC MIMAJSH CJNE A,M3,ZHJ_MMC ;校验密码第四位是否正确; JB JDQK,EXIT LCALL STDJC JB NOINPUT,EXIT_1 INC MIMAJSH CJNE A,M2,ZHJ_MMC ;校验密码第五位是否正确; JB JDQK,EXIT LCALL STDJC JB NOINPUT,EXIT_1 INC MIMAJSH CJNE A,M1,ZHJ_MMC ;校验密码第六位是否正确; JB JDQK,EXIT LJMP ZHJ_2;- ;密码错ZHJ_MMC: LCALL STDJC ;按键检测 JB NOINPUT,E

16、XIT_1 INC MIMAJSH MOV A,MIMAJSH;密码输入次数存A CLR C SUBB A,#6 ;是否已输入6位 JC ZHJ_MMC;未输入六位,继续检测按键 JB MIMA,ZHJ_MMC1 LCALL DELAY_BS MOV A,#33 ;语音提示:输入错误,请重新输入 LCALL SOUND SETB MIMA LJMP ZHJ_MMZHJ_MMC1: LJMP EXIT;$EXIT_1: LJMP EXIT;$ ;密码正确ZHJ_2: SETB EX0 ;允许语音提示中途退出 LCALL DELAY_BS MOV A,#14 ;语音提示:开关状态查询与修改请按1,

17、修改密码请按2 LCALL SOUND JB OUT_PLAY,ZHJ_JC1 MOV A,#15 ;语音提示:挂机请按*号键 LCALL SOUND JB OUT_PLAY,ZHJ_JC1 ;语音播放中有按键输入,直接跳转到按键识别部分 LCALL STDJC ;检测按键 JB NOINPUT,EXIT_1ZHJ_JC1: CJNE A,#01H,ZHJ_GMM_1 ;若按键为:1;% 状态查询 ;%ZHJ_ZHT: LCALL DELAY_30MS SETB EX0 MOV A,#23 ;请根据语音提示选择设备 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N ;语音播放

18、中有按键输入,直接跳转到按键识别部分 MOV A,#1 ;语音提示:1 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N MOV A,#16 ;语音提示:电饭煲 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N LCALL DELAY_BS MOV A,#2 ;语音提示:2 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N MOV A,#17 ;语音提示:电暖风 LCALL DELAY_BS LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N MOV A,#3 ;语音提示:3 LCALL SOUND JB OUT_PLAY,

19、ZHJ_DFB_N MOV A,#18 ;语音提示:空调 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N LCALL DELAY_BS MOV A,#4 ;语音提示:4 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N MOV A,#19 ;语音提示:电热水器 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N LCALL STDJC ;检测按键 JB NOINPUT,EXIT_1 AJMP ZHJ_DFB_N;$ZHJ_GMM_1: LJMP ZHJ_GMMZHJ_DNF_1: LJMP ZHJ_DNFZHJ_DNF_N_1: LJMP

20、ZHJ_DNF_N;$ ;$;% %;% 电饭煲 状态查询 %;% %;$ZHJ_DFB_N: CJNE A,#01H,ZHJ_DNF_N_1 ;若按键为:1ZHJ_DFB: CLR EX0 ;禁止语音提示中途退出 MOV A,#16 ;语音提示:电饭煲 LCALL SOUND MOV A,#36 ;语音提示:的状态为 LCALL SOUND JNB YSH0_KG,ZHJ_DFB2 ;无延时则跳转 JNB JDQ0_DFB,ZHJ_DFB1 ;延时关则跳转 MOV A,#26 ;语音提示:延时开 LCALL SOUND MOV A,#0 ;继电器0剩余时间提示 LCALL SOUND_YSH

21、 ;延时剩余时间提示子程序 AJMP ZHJ_DFBXG ZHJ_DFB1: MOV A,#27 ;语音提示:延时关 LCALL SOUND MOV A,#0 ;继电器0剩余时间提示 LCALL SOUND_YSH ;延时剩余时间提示子程序 AJMP ZHJ_DFBXGZHJ_DFB2: JNB JDQ0_DFB,ZHJ_0_K MOV A,#20 ;语音提示:关 LCALL SOUND AJMP ZHJ_DFBXG ZHJ_0_K: MOV A,#21 ;语音提示:开 LCALL SOUND;% 电饭煲 状态修改 %ZHJ_DFBXG: SETB EX0 LCALL DELAY_30MS S

22、ETB EX0 ;允许语音提示中途退出 MOV A,#24 ;语音提示:开启 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#16 ;语音提示:电饭煲 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#28 ;语音提示:请按 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#1 ;语音提示:1 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#25 ;语音提示:关闭 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,

23、#16 ;语音提示:电饭煲 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#28 ;语音提示:请按 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#2 ;语音提示:2 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#26 ;语音提示:延时开 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#28 ;语音提示:请按 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#3 ;语音提示:3 LCALL SOUND JB

24、 OUT_PLAY,ZHJ_DFB_SHB MOV A,#27 ;语音提示:延时关 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#28 ;语音提示:请按 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#4 ;语音提示:4 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB MOV A,#15 ;语音提示:返回上级请按9,挂机请按*号键 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_SHB LCALL STDJC ;检测按键 JB NOINPUT,EXIT_2;-;开启电饭煲ZHJ_DFB_SHB: CJNE A,#01H,ZHJ_DFBG ;若按键为:1 CLR JDQ0_DFB SETB LED0 CLR YSH0_KGZHJ_DFBK4: MOV A,#16 ;语音提示:电饭煲 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N_T2 MOV A,#30 ;语音提示:已开启 LCALL SOUND JB OUT_PLAY,ZHJ_DFB_N_T2 LJMP ZHJ_ZHT;$

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1