基于单片机的智能家居控制系统.docx

上传人:b****2 文档编号:16918144 上传时间:2023-04-24 格式:DOCX 页数:26 大小:75.88KB
下载 相关 举报
基于单片机的智能家居控制系统.docx_第1页
第1页 / 共26页
基于单片机的智能家居控制系统.docx_第2页
第2页 / 共26页
基于单片机的智能家居控制系统.docx_第3页
第3页 / 共26页
基于单片机的智能家居控制系统.docx_第4页
第4页 / 共26页
基于单片机的智能家居控制系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于单片机的智能家居控制系统.docx

《基于单片机的智能家居控制系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能家居控制系统.docx(26页珍藏版)》请在冰豆网上搜索。

基于单片机的智能家居控制系统.docx

基于单片机的智能家居控制系统

单片机原理与应用技术

课程设计报告

 

题目基于单片机的智能家居控制系统的设计

 

专业班级:

__

姓  名:

______

时间:

_

指导教师:

 

单片机课程设计项目系列:

基于单片机的智能家居控制系统的设计

一.设计要求

(一)基本功能

(1)家居内无人时,切断所有家电的220V电源,既消除了各种电器的待机能耗,又避免了因供电异常、屋内漏水等不可预知事件损坏电器的危险。

(2)通过预设时间和时长控制娱乐性家电,避免了孩子在家因过度娱乐而延误学习。

(3)所有电器的电源都直接通过系统控制进行供电/断电,在使用电器时无需插拔电源插头,避免了因经常插拔电源插头而造成接触不良及触电的危险。

(4)根据预设室内温度和湿度对空调和加湿器自动进行启/停控制,以达到最佳舒适度。

(5)各电器的工作状态在主控面板上以LED直观显示,并通过键盘集中控制电器,例如在观看电视时可随手打开/关闭厨房电灶。

(6)远程控制家电的启动操作。

(7)设定/显示日期、时间、星期及定时叫醒服务。

(8)为避免煤气中毒设置了一氧化碳及燃气报警。

(9)烟感和水感可及时发现家居内的水、火灾并报警。

(10)通过门磁和窗户红外线完成防盗报警。

(二)扩展功能

加入住宅配房安全防盗报警功能和住宅门禁系统功能。

二.计划完成时间三周

1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。

2.第二周完成软件的具体设计和硬件的制作。

3.第三周完成软件和硬件的联合调试。

 

基于单片机的智能家居控制系统的设计

摘要:

介绍了以单片机为核心,并加以热释电传感器、烟感传感器、振动传感器、门磁和红外报警系统,共同构成了智能家居控制系统。

制作简单、方便、价格低廉,适宜广大用户消费。

关键词:

智能家居报警传感器矩阵键盘

1引言

随着中国信息化发展水平的逐步提高,智能化系统越来越受人们的重视。

智能家居系统将现代高科技控制手段运用于家居设计,通过一套专用控制系统将室内家居,家居环境,家用电器,室外场所(车库、花园等),防盗报警(门磁探测器、玻璃探测器、红外探测器)、安检系统(烟感探测器、煤气泄露探测器)和智能设备有机的融为一个整体,统一控制起来,并通过电话网络对所有家电进行异地或远程开启、关闭控制。

2总体设计方案

2.1设计思路

根据设计要求可以分为以下几个模块:

传感器模块、矩阵键盘、单片机最小系统、显示模块和输出部分。

2.1.1方案确立

传感器模块主要有烟感传感器、门磁探测器、红外探测器和热释电传感器。

用于室内的安检系统(烟感探测器、振动探测器)、防盗报警(门磁探测器、红外探测器)、省电模式(热释电传感器)。

矩阵键盘和单片机最小系统是实现该设计的基本部分。

矩阵键盘选用单片机的P1口,晶振选用6MHz。

显示模块和输出部分用于显示时间、启动(停止)家用电器、安检报警,并以指示。

2.2总体设计框图

 

单片机

键盘输入

数码显示

传感器

电器工作

报警输出

复位、振荡

图1总体设计框图

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:

00:

00

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

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,KEYJ

AJMPKEY

RET

KEYJ:

MOVP1,#0FEH

MOVA,P1

L1:

CJNEA,#07EH,L2

MOVR5,#20

A10:

ACALLDL10MS

DJNZR5,A10

CLRTR0;关闭定时器T0

INCCOM;标志单元加1

MOVA,COM

SETB30H;调时间标志位

CJNEA,#4,KEY;K1,如果K1键未按四下进入调时间闪烁状态

SETBTR0;启动定时器

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

ACALLDIS

ACALLDELAY600

MOV36H,30H

MOV37H,31H

MOV38H,#10

MOV39H,#10

MOV3AH,34H

MOV3BH,35H

ACALLCCC

ACALLDELAY600;分闪烁/准备进入调分状态

PD2:

CJNEA,#3,KEY2

MOV36H,30H

MOV37H,31H

MOV38H,32H

MOV39H,33H

MOV3AH,#10

MOV3BH,#10

ACALLCCC

ACALLDELAY600

ACALLDIS

ACALLDELAY600;时闪烁/准备进入调时状态

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:

ACALLDL10MS

DJNZR5,A30

MOVA,COM

JB30H,M0;为1调时间/为0定时

MOVA,COM1;定时标志

M0:

CJNEA,#1,M1

ACALLTS;转向调秒/减

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

MOVR5,#20

A40:

ACALLDL10MS

DJNZR5,A40

SETBTR0;启动定时器

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

ACALLMM

NNN:

MOVA,COM

JB30H,XXX

MOVA,COM1

XXX:

AJMPZZZ

YYY:

CJNEA,#1,ZZZ

MOV3EH,LED2;暂存分

MOV3FH,LED3;暂存时

ZZZ:

AJMPKEY

M10:

MOVP1,#0FDH

MOVA,P1

L5:

CJNEA,#07DH,L6

CPLP2.2

MOVR5,#20

B10:

ACALLDL10MS

DJNZR5,B10

AJMPMAIN

L6:

CJNEA,#0BDH,L7

CPLP2.2

MOVR5,#20

B20:

ACALLDL10MS

DJNZR5,B20

AJMPMAIN

L7:

CJNEA,#0DDH,L8

CPLP2.2

MOVR5,#20

B30:

ACALLDL10MS

DJNZR5,B30

AJMPMAIN

L8:

CJNEA,#0EDH,M20

CPLP2.2

MOVR5,#20

B40:

ACALLDL10MS

DJNZR5,B40

AJMPMAIN

M20:

MOVP1,#0FBH

MOVA,P1

L9:

CJNEA,#07BH,L10

CPLP2.2

MOVR5,#20

C10:

ACALLDL10MS

DJNZR5,C10

AJMPMAIN

L10:

CJNEA,#0BBH,L11

CPLP2.2

MOVR5,#20

C20:

ACALLDL10MS

DJNZR5,C20

AJMPMAIN

L11:

CJNEA,#0DBH,L12

CPLP2.2

MOVR5,#20

C30:

ACALLDL10MS

DJNZR5,C30

AJMPMAIN

L12:

CJNEA,#0EBH,M30

MOVR5,#20

C40:

ACALLDL10MS

DJNZR5,C40

AJMPK12

M30:

MOVP1,#0F7H

MOVA,P1

L13:

CJNEA,#077H,L14

MOVR5,#20

D10:

ACALLDL10MS

DJNZR5,D10

AJMPK13

L14:

CJNEA,#0B7H,L15

MOVR5,#20

D20:

ACALLDL10MS

DJNZR5,D20

AJMPK14

L15:

CJNEA,#0D7H,L16

MOVR5,#20

D30:

ACALLDL10MS

DJNZR5,D30

AJMPK15

L16:

CJNEA,#0E7H,CHS0

MOVR5,#20

D40:

ACALLDL10MS

DJNZR5,D40

AJMPK16

CHS0:

AJMPCHS

K16:

CPLP2.6

MOVR5,#20

E10:

ACALLDL10MS

DJNZR5,E10

AJMPMAIN

K12:

CPLP2.0

MOVR5,#20

E20:

ACALLDL10MS

DJNZR5,E20

AJMPMAIN

K13:

CPLP2.7

MOVR5,#20

E30:

ACALLDL10MS

DJNZR5,E30

AJMPMAIN

K14:

CLRP2.5

SETBTR1

AJMPMAIN

K15:

CPLP2.4

MOVR5,#20

E4:

ACALLDL10MS

DJNZR5,E4

AJMPMAIN

MOV41H,LED2;分定时存入41H单元

MOV42H,LED3;时定时存入42H单元

RET

;*****加秒子程序*********

TS:

MOVR3,#60

A1:

ACALLDELAY100

INCLED1

MOVA,LED1

CJNEA,#60,A2

MOVLED1,#0

A2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,A33

AJMPA3

A33:

DJNZR3,A1

SJMPTS

A3:

RET

;******减秒子程序**********

TS1:

MOVR3,#60

B1:

ACALLDELAY100

MOVA,LED1

CJNEA,#0FFH,B2

MOVLED1,#59

B2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,B33

AJMPB3

B33:

DECLED1

DJNZR3,B1

SJMPTS1

B3:

SETBP1.5

RET

;*******加分子程序************

TM:

MOVR3,#60

C1:

ACALLDELAY100

INCLED2

MOVA,LED2

CJNEA,#60,C2

MOVLED2,#0

C2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,C33

AJMPC3

C33:

DJNZR3,C1

SJMPTM

C3:

SETBP1.6

RET

;**********减分子程序*************

TM1:

MOVR3,#60

D1:

ACALLDELAY100

MOVA,LED2

CJNEA,#0FFH,D2

MOVLED2,#59

D2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,D33

AJMPD3

D33:

DECLED2

DJNZR3,D1

SJMPTM1

D3:

SETBP1.5

RET

;********加时子程序*************

HOUR:

MOVR3,#13

E1:

ACALLDELAY100

INCLED3

MOVA,LED3

CJNEA,#13,E2

MOVLED3,#1

E2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,E33

AJMPE3

E33:

DJNZR3,E1

SJMPHOUR

E3:

SETBP1.6

RET

;*********减时子程序***********

HOUR1:

MOVR3,#12

F1:

ACALLDELAY100

MOVA,LED3

CJNEA,#0,F2

MOVLED3,#12

F2:

ACALLDIS

MOVP1,#0F0H

MOVA,P1

ANLA,#0F0H

CJNEA,#0F0H,F33

AJMPF3

F33:

DECLED3

DJNZR3,F1

SJMPHOUR1

F3:

SETBP1.5

RET

;**********中断子程序************

SERVE:

PUSHPSW

PUSHACC

MOVTH0,#3CH

MOVTL0,#0B0H;重新赋计数初值

DJNZ25H,MT1;1S未到,返回

MOV25H,#0AH;重置中断次数

MOVA,#01H

ADDA,LED1;秒位加1

MOVLED1,A

CJNEA,#60,RETURN;未计满60秒,返回

MOVLED1,#00H;计满60秒,秒位清0

MOVA,#01H

ADDA,LED2;分位加1

MOVLED2,A

CJNEA,#60,RETURN;未计满60分,返回

MOVLED2,#00H;计满60分,分位清0

MOVA,#01H

ADDA,LED3;时位加1

MOVLED3,A

CJNEA,#13,RETURN;未计满13时,返回

MOVLED3,#01H;计满13时,时位清1

RETURN:

ACALLDIS

MT1:

POPACC

POPPSW

RETI

DL1MS:

MOVR5,#14H

DL1:

MOVR4,#19H

DL2:

DJNZR4,DL2

DJNZR5,DL1

RET

DL10MS:

MOVR7,#14H

LOOP1:

MOVR6,#0F9H

LOOP2:

DJNZR6,LOOP2

DJNZR7,LOOP1

RET

T1ZHONG:

MOVTH1,#3CH

MOVTL1,#0B0H

DJNZR3,LOOP

CLRTR1

SETBP2.5

MOVR3,#50

LOOP:

RETI

;*********显示子程序**********DIS:

MOVA,LED1

MOVB,#10

DIVAB

MOV30H,B

MOV31H,A

MOVA,LED2

MOVB,#10

DIVAB

MOV32H,B

MOV33H,A

MOVA,LED3

MOVB,#10

DIVAB

MOV34H,B

MOV35H,A

MOVR2,#6

MOVR1,#30H

BBB:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

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

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