基于单片机的智能家居控制系统Word格式.docx
- 文档编号:19950329
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:23
- 大小:75.79KB
基于单片机的智能家居控制系统Word格式.docx
《基于单片机的智能家居控制系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能家居控制系统Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
3设计原理分析
3.1传感器模块的设计
当传感器检测到信号(烟雾、人体发射的红外线)时,会输出一组高低变化的电平,送往单片机的I/O口。
3.1.1烟感传感器
烟感传感器是检测室内的烟雾量,当室内的烟雾量超过一定值时,传感器发出信号,即有高电平输出,使报警电路报警。
3.1.2门磁、红外探测器
门磁、红外探测器也用于防盗报警系统。
门在关闭状态下,门磁处于断开状态,此时无输出;
当门被打开时,门磁吸合,此时有高电平输出。
3.1.3热释电传感器
热释电传感器用于检测室内是否有人。
在无人时,让系统处于省电模式;
有人时,跳出省电模式。
3.2矩阵键盘模块
该系统采用矩阵式键盘,外观美观,便于扩展。
主要用于时间的调整和家用电器的启停操作。
每一水平线(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通。
在这种行列矩阵式非编码键盘的单片机系统中,键盘处理程序首先执行有无键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下。
对键的识别常用逐行扫描查询法。
如图2所示。
图2矩阵键盘电路图
3.3单片机最小系统
该系统采用AT89S51单片机,采用串口显示电路以节省端口,采用4*4矩阵试键盘,用来控制以及调试电路,采用固态继电器实现对家用电器的强电控制和隔离强电干扰。
AT89C51的主电路如图。
图3单片机最小系统电路图
3.4显示模块
显示电路采用动态数码显示技术,由于一次只能让一个数码管显示,然而要显示6位的数据,必须由数码管一个一个轮流显示才可以实现,人的视觉暂留的时间为0.1秒,所以每位显示的间隔不必超过20ms,为了保证正确显示,必须每隔2ms,就要刷新一个数码管。
本电路使得每个数码管显示的时间大约在2ms,而这刷新时间我们采用软件延时程序.每隔12ms对数码管刷新一次。
电路如图4所示。
图4显示电路
3.5输出部分
输出部分是智能家居控制的一个重要环节,是控制系统的终端。
选用单片机的P2口。
其中P2.7用于控制室内的电源使用情况,即普通模式和省电模式的转换。
用一个三极管来驱动继电器控制220V的电源;
P2.6是烟感传感器的输出指示;
P2.5是控制娱乐性家电的使用情况,用一个计时器来控制娱乐性家电的工作时长,到一定时间后自动断开电源。
P2.4—P2.1是控制室内的其他家电的通断及扩展。
P2.0是用于安检系统的报警。
具体电路如图5所示。
图5输出部分电路图
4总结与体会
通过这次课程设计提高了对简单的单片机应用电路的设计能力。
设计时应该先完全领会要求再去动手,不能急躁。
知道了有科学的态度才能完成科学的试验。
该系统软硬件实现技术具有接口电路简单、可靠性高、成本低、灵活性强优点。
由于设计经验不是很丰富,该次设计没有完全实现。
总之,通过这次实习,我真正学到了很多东西,真正体会到了理论联系实际的重要性。
我想如果在平时多搞几次这样的实习,多提供一些好的条件,那我们的知识会掌握的更多,更牢固。
参考文献
[1]李朝青.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2005.9
[2]钟睿.MCS-51单片机原理及应用开发技术[M].北京:
中国铁道出版社,2006.4
[3]沙占友,孟志永,王彦朋,等.单片机外围电路设计[M].北京:
电子工业出版社,2006.6
[4]陈杰,黄鸿.传感器与检测技术[M].北京:
高等教育出版社,2002.8
附录一程序流程图
系统初始化
时钟显示
判断键盘是否按下-
键盘扫描
判断判断是何键按下-
调时电路
家居控制
报警显示
图6程序流程图
附录二程序列表
;
*******************
LED1EQU20H;
存秒单元
LED2EQU21H;
存分单元
LED3EQU22H;
存时单元
COMEQU23H;
调时间转换标志单元
COM1EQU24H;
定时转换标志单元
ORG0000H
AJMPSTART
ORG01BH
LJMPT1ZHONG
ORG000BH;
T0的中断入口地址
AJMPSERVE;
转向中断服务程序
ORG0030H
START:
MOVR0,#20H;
秒单元存入首地址
MOVR1,#30H;
秒单元发送首地址
MOVR2,#6;
各单元清零循环次数
MOVR3,#5
MOVDPTR,#TAB;
字型码首地址
MOV25H,#0AH;
装入中断次数
MOVTMOD,#11H;
设T0工作于模式1
MOVIE,#82H;
允许CPU,T0中断
MOVTH0,#3CH
MOVTL0,#0B0H;
赋计数初值
BK:
MOV@R0,#00H
INCR0
DJNZR3,BK
MOVLED3,#12
MOV40H,#00H
MOV41H,#00H
MOV42H,#06H;
定时单元初始化6:
00:
00
ACALLDIS;
赋初值12:
SETB30H;
标志位置1
SETBTR0;
启动定时器T0,开始计时
MOVTH1,#3CH
MOVTL1,#0B0H
SETBET1
SETBEA
MOVR3,#50
MOVA,#0F0H
MOVP2,#0FFH
MAIN:
JNBP0.0,K16
JNBP0.1,K12;
判断传感器是否动作
JNBP0.2,K16
JNBP0.3,K13
MOVP1,#0F0H
MOVA,P1
ANLA,#0F0H
CJNEA,#0F0H,DELAY
AJMPKEY
DELAY:
ACALLDL10MS
MOVP1,#0F0H
CJNEA,#0F0H,KEYJ
RET
KEYJ:
MOVP1,#0FEH
L1:
CJNEA,#07EH,L2
MOVR5,#20
A10:
DJNZR5,A10
CLRTR0;
关闭定时器T0
INCCOM;
标志单元加1
MOVA,COM
调时间标志位
CJNEA,#4,KEY;
K1,如果K1键未按四下进入调时间闪烁状态
启动定时器
MOVCOM,#00H;
如果K1键按四下,标志单元清零
;
************************************
KEY:
MOVA,COM
CJNEA,#1,PD1
ACALLDIS
ACALLDELAY600
MOV36H,#10
MOV37H,#10
MOV38H,32H
MOV39H,33H
MOV3AH,34H
MOV3BH,35H
ACALLCCC
ACALLDELAY600;
秒闪烁/准备进入调秒状态PD1:
CJNEA,#2,PD2
MOV36H,30H
MOV37H,31H
MOV38H,#10
MOV39H,#10
ACALLCCC
分闪烁/准备进入调分状态
PD2:
CJNEA,#3,KEY2
MOV36H,30H
MOV37H,31H
MOV38H,32H
MOV39H,33H
MOV3AH,#10
MOV3BH,#10
ACALLCCC
ACALLDELAY600
ACALLDIS
时闪烁/准备进入调时状态
KEY2:
AJMPMAIN
L2:
CJNEA,#0BEH,L3
MOVR5,#20
A20:
ACALLDL10MS
DJNZR5,A20
MOVA,COM;
调时间标志
JB30H,N0;
为1调时间/为0定时
MOVA,COM1;
定时标志
N0:
CJNEA,#1,N1
ACALLTS;
转向调秒/加
N1:
CJNEA,#2,N2
ACALLTM;
转向调分/加
N2:
CJNEA,#3,KEY3
ACALLHOUR;
转向调时/加
KEY3:
AJMPKEY
L3:
CJNEA,#0DEH,L4
MOVR5,#20
A30:
DJNZR5,A30
MOVA,COM
JB30H,M0;
M0:
CJNEA,#1,M1
转向调秒/减
M1:
CJNEA,#2,M2
ACALLTM1;
转向调分/减
M2:
CJNEA,#3,CHS
ACALLHOUR1;
转向调时/减
CHS:
JB30H,KEY4
MOV41H,LED2;
分定时存入41H单元
MOV42H,LED3;
时定时存入42H单元
KEY4:
AJMPKEY
L4:
CJNEA,#0EEH,M10
A40:
ACALLDL10MS
DJNZR5,A40
SETBP1.4
CLR30H;
定时标志位
INCCOM1
MOVA,COM1
CJNEA,#4,YYY
MOVCOM1,#00H
SETB30H
MOVLED2,3EH;
还原分
MOVLED3,3FH;
还原时
AAA:
JNB30H,NNN
MOVA,LED3
CJNEA,42H,NNN;
时比较
MOVA,LED2
CJNEA,41H,NNN1;
分比较
ACALLMM
MOV43H,41H
INC43H
NNN1:
CJNEA,43H,NNN
NNN:
MOVA,COM
JB30H,XXX
XXX:
AJMPZZZ
YYY:
CJNEA,#1,ZZZ
MOV3EH,LED2;
暂存分
MOV3FH,LED3;
暂存时
ZZZ:
M10:
MOVP1,#0FDH
MOVA,P1
L5:
CJNEA,#07DH,L6
CPLP2.2
B10:
DJNZR5,B10
AJMPMAIN
L6:
CJNEA,#0BDH,L7
B20:
DJNZR5,B20
L7:
CJNEA,#0DDH,L8
B30:
DJNZR5,B30
L8:
CJNEA,#0EDH,M20
B40:
DJNZR5,B40
M20:
MOVP1,#0FBH
L9:
CJNEA,#07BH,L10
C10:
DJNZR5,C10
L10:
CJNEA,#0BBH,L11
C20:
DJNZR5,C20
L11:
CJNEA,#0DBH,L12
C30:
DJNZR5,C30
L12:
CJNEA,#0EBH,M30
C40:
DJNZR5,C40
AJMPK12
M30:
MOVP1,#0F7H
L13:
CJNEA,#077H,L14
D10:
DJNZR5,D10
AJMPK13
L14:
CJNEA,#0B7H,L15
D20:
DJNZR5,D20
AJMPK14
L15:
CJNEA,#0D7H,L16
D30:
DJNZR5,D30
AJMPK15
L16:
CJNEA,#0E7H,CHS0
D40:
DJNZR5,D40
AJMPK16
CHS0:
AJMPCHS
K16:
CPLP2.6
E10:
DJNZR5,E10
K12:
CPLP2.0
E20:
DJNZR5,E20
K13:
CPLP2.7
E30:
DJNZR5,E30
K14:
CLRP2.5
SETBTR1
K15:
CPLP2.4
E4:
DJNZR5,E4
*****加秒子程序*********
TS:
MOVR3,#60
A1:
ACALLDELAY100
INCLED1
MOVA,LED1
CJNEA,#60,A2
MOVLED1,#0
A2:
ACALLDIS
MOVP1,#0F0H
ANLA,#0F0H
CJNEA,#0F0H,A33
AJMPA3
A33:
DJNZR3,A1
SJMPTS
A3:
******减秒子程序**********
TS1:
MOVR3,#60
B1:
ACALLDELAY100
MOVA,LED1
CJNEA,#0FFH,B2
MOVLED1,#59
B2:
MOVP1,#0F0H
CJNEA,#0F0H,B33
AJMPB3
B33:
DECLED1
DJNZR3,B1
SJMPTS1
B3:
SETBP1.5
*******加分子程序************
TM:
C1:
INCLED2
CJNEA,#60,C2
MOVLED2,#0
C2:
CJNEA,#0F0H,C33
AJMPC3
C33:
DJNZR3,C1
SJMPTM
C3:
SETBP1.6
**********减分子程序*************
TM1:
D1:
CJNEA,#0FFH,D2
MOVLED2,#59
D2:
CJNEA,#0F0H,D33
AJMPD3
D33:
DECLED2
DJNZR3,D1
SJMPTM1
D3:
SETBP1.5
********加时子程序*************
HOUR:
MOVR3,#13
E1:
ACALLDELAY100
INCLED3
MOVA,LED3
CJNEA,#13,E2
MOVLED3,#1
E2:
ACALLDIS
CJNEA,#0F0H,E33
AJMPE3
E33:
DJNZR3,E1
SJMPHOUR
E3:
*********减时子程序***********
HOUR1:
MOVR3,#12
F1:
CJNEA,#0,F2
MOVLED3,#12
F2:
CJNEA,#0F0H,F33
AJMPF3
F33:
DECLED3
DJNZR3,F1
SJMPHOUR1
F3:
**********中断子程序************
SERVE:
PUSHPSW
PUSHACC
MOVTH0,#3CH
重新赋计数初值
DJNZ25H,MT1;
1S未到,返回
重置中断次数
MOVA,#01H
ADDA,LED1;
秒位加1
MOVLED1,A
CJNEA,#60,RETURN;
未计满60秒,返回
MOVLED1,#00H;
计满60秒,秒位清0
ADDA,LED2;
分位加1
MOVLED2,A
未计满60分,返回
MOVLED2,#00H;
计满60分,分位清0
ADDA,LED3;
时位加1
MOVLED3,A
CJNEA,#13,RETURN;
未计满13时,返回
MOVLED3,#01H;
计满13时,时位清1
RETURN:
MT1:
POPACC
POPPSW
RETI
DL1MS:
MOVR5,#14H
DL1:
MOVR4,#19H
DL2:
DJNZR4,DL2
DJNZR5,DL1
DL10MS:
MOVR7,#14H
LOOP1:
MOVR6,#0F9H
LOOP2:
DJNZR6,LOOP2
DJNZR7,LOOP1
T1ZHONG:
MOVTH1,#3CH
MOVTL1,#0B0H
DJNZR3,LOOP
CLRTR1
SETBP2.5
MOVR3,#50
LOOP:
*********显示子程序**********DIS:
MOVA,LED1
MOVB,#10
DIVAB
MOV30H,B
MOV31H,A
MOVB,#10
MOV32H,B
MOV33H,A
MOV34H,B
MOV35H,A
MOVR2,#6
MOVR1,#30H
BBB:
MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能家居 控制系统