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

更新时间:2024-05-29 02:41:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

智能家居是时代发展的产物,是住户想享受快速网上冲浪、便捷实时的通讯、安全防范、丰富娱乐生活、便捷的生活家居管理,优质物业管理等智能化住宅所特有的生活方式,使忙碌一天的人们真正体会到智慧家带来的生活乐趣。本设计以STC89C52RC单片机为核心设计数字时钟和智能窗帘:通过光敏电阻检测光线强弱,当光线强度达到一定的程度时,通过单片机控制电机将窗帘拉上,否则打开窗帘。另外用点阵显示时间和当前室内温度,由于下午十点后基本属于睡眠时间,故忽略光线强度,拉上窗帘并自动切换到手动模式,以节约电能,待第二天起床再将其切换至自动模式。由于一般电机无法自主精确定位,需要辅助器件构成一个闭环系统才能精确的控制窗帘的张合程度,故本设计采用步进电机控制,通过齿轮变速,精确控制窗帘的张合程度,避免窗帘由于过度的张合造成损害,同时由于减少了辅助器件,节省了能源。同时,本设计还选用DS12C887时钟芯片,该芯片内部自带锂电池,即使在断电的情况下仍然能继续工作。该芯片有内置晶振,能够提供准确的时间,正常工作状态下工作一个月误差为+ 1分钟。芯片内部带有闹钟功能,带有世纪寄存器,能够解决世纪问题,还有闰年补偿能多项功能。比只利用晶振驱动的电子时钟功能更强大,时间更准确。

关键词:单片机;智能窗帘;时钟芯片

I

Abstract

Intelligent furniture is outcome of the developing time. It is a special lifestyle with which residents can enjoy fast online surfing, convenient communication, safety guard and which can enrich residents’ entertainment, make their furnishing management more convenient and which can optimize their property management. It can provide people who have been busy for a whole day with entertainment that intelligent ones bring to them. These are designs called digital clock and intelligent curtain that center on STC89C52RC MCU. It detects whether the light is hard or not through photosensitive electric resistance. When light is hard to some level, the curtain is closed under the control of the MCU on the generator, and is opened on the contrary. In addition, it shows time and the present indoor’s temperature with dot matrix. Light can be neglected after 10 o’clock pm when most people have fallen asleep. At this time, the curtain is closed and get to be under manual mode, so as to cut down electricity consumption, it was not turned to automatic mode until residents’ getting up in the morning. Commonly seen generators are not able to fix precisely, they can form a closed loop system to realize precise control on curtains only with the help of some assistant devices. Thus, this design precisely controls curtains under the control of steering engines and with gears to alter the speed. By that, curtains are protected from damages by over-operation. At the same time, less assistant devices are used and energy consumption is cut down. Meanwhile, the design selects DS12C887 chips which contain lithium cells themselves and which can continue operating even when it is out of electricity. Such chips contain some internally installed crystal that can provide precise time with only one minute’s error within one month when operating normally. Such chips also have alarm function and century register. Thus, they can solve century problem. This design is much stronger and preciser than any electric clocks using only crystal to operate. Keywords: MCU; intelligent curtain; clock chip

II

设计说明

基于单片机的智能家居控制系统设计是在指导老师给出的任务书并在其指导下完成的。设计任务主要是以STC89C52RC单片机为核心设计数字时钟和智能窗帘:通过光敏电阻检测光线强弱,当光线强度达到一定的程度时,通过单片机控制电机将窗帘拉上,否则打开窗帘。另外用点阵显示时间,由于下午十点后基本属于睡眠时间,故忽略光线强度,拉上窗帘,待第二天八点之后再将其切换至自动模式。

该智能家居系统设计有以下几点基本要求: (1)硬件电路的设计(包含元器件的选择)。 (2)窗帘和电机之间的连接。 (3)程序设计。

针对上述要求,经过考虑,我构思出具有自身特色的智能家居系统,设计主要内容为: (1)单片机最小系统模块:整个控制系统都是依靠单片机完成。从功能和价位以及本题目要求来看,我们选择STC89C52RC芯片作为本系统的控制核心,同时可以实现控制、显示等功能。

(2)点阵显示模块:由于本系统比较复杂,且所有软件和硬件设计都由本人独立完成,点阵模块原理本人比较了解,本系统需要四块16*16的点阵显示,电路焊接工作量比较大,故采购市场上现成的点阵模块。四块16*16的点阵级联后,显示年月日,星期,时分秒和当前室内温度。

(3)数字时钟模块:选用DS12C887时钟芯片,该芯片内部自带锂电池,即使在断电的情况下仍然能继续工作。DS12C887在完全没有外部电源的情况下工作11天花费10%的电量,电池最多充电1000次,即每11天充一次电,芯片能工作30年。该芯片有内置晶振,能够提供准确的时间,正常工作状态下工作一个月误差为1分钟。芯片内部带有闹钟功能,带有世纪寄存器,能够解决世纪问题,还有闰年补偿能多项功能。比只利用晶振驱动的电子时钟功能更强大,时间更准确。

(4)光敏模块:通过光敏电阻检测室内光线强度,并转换为数字量输出。

(5)温度采集模块:选择温度传感器进行数据采集,并通过点阵显示当前室内温度。 (6)窗帘控制模块:通过步进电机控制窗帘是否打开。

在做本设计的过程中,我查阅了很多的相关资料,其中主要的技术资料是各个芯片的资料,如:STC89C52RC单片机资料、点阵显示资料、光敏元件资料、温度传感器资料等。

关键词:单片机;点阵显示;温度;时钟

III

目 录

1 引言 ........................................................................................................................................ 1

1.1 研究背景 ....................................................................................................................... 1 1.2 研究的目的与意义 ....................................................................................................... 1

1.2.1 国外研究情况 .................................................................................................... 1 1.2.2 国内研究情况 .................................................................................................... 2 1.3 本课题研究的主要内容和研究方案 ........................................................................... 2

2 智能家居控制系统总体介绍 ......................................................................................... 3

2.1 系统总体方案 ............................................................................................................... 3 2.2 系统功能 ....................................................................................................................... 3 2.3 系统结构 ....................................................................................................................... 3

3 智能家居控制系统硬件设计 ......................................................................................... 4

3.1 系统主要芯片介绍 ....................................................................................................... 4

3.1.1 STC89C52RC ..................................................................................................... 4 3.1.2 DS12C887 ........................................................................................................... 5 3.1.3 DS18B20 ............................................................................................................. 8 3.1.4 74HC138 ............................................................................................................. 9 3.1.5 74HC595 ........................................................................................................... 10 3.2 系统各个模块硬件电路介绍 ..................................................................................... 11

3.2.1 单片机最小系统设计 ...................................................................................... 11 3.2.2 DS12C887时钟电路设计 ................................................................................ 12 3.2.3 点阵显示电路设计 .......................................................................................... 13

4 智能家居控制系统软件设计 ....................................................................................... 17

4.1 主程序设计 ................................................................................................................. 17 4.2 显示程序的设计 ......................................................................................................... 18 4.3 DS18B20程序流程图 ................................................................................................. 22 4.4 DS12C887程序流程图 ............................................................................................... 23 4.5 步进电机控制程序 ..................................................................................................... 23

IV

5 智能家居控制系统调试................................................................................................. 25

5.1 软件调试 ..................................................................................................................... 25 5.2 硬件调试 ..................................................................................................................... 26

5.2.1 短路与虚焊检测 .............................................................................................. 26 5.2.2 上电测试 .......................................................................................................... 27

6 结论 ...................................................................................................................................... 29 参考文献 ................................................................................................................................. 30 致谢........................................................................................................................................... 31 附录........................................................................................................................................... 32

附录A 电路原理图 .......................................................................................................... 32 附录B 设计源程序 .......................................................................................................... 34

V

1 引 言

智能家居概念的起源很早,但一直未有具体的建筑案例出现,直到1984年美国联合科技公司将建筑设备信息化、整合化概念应用于美国康乃迪克州哈特佛市的CityPlaceBuilding时,才出现了首栋的“智能型建筑”,从此揭开了全世界争相建造智能家居的序幕。

1.1 研究背景

智能家居又称智慧家居/智能住宅,在国外常用Smart Home表示。与智能家居含义近似的有家庭自动化、电子家庭、数字家园、家庭网络、网络家居、智能家庭/建筑,在中国香港和台湾等地区,还有数码家庭、数码家居等称法。

智能家居是时代发展的产物,是住户想享受快速网冲浪、便捷实时的通讯、安全防范、丰富娱乐生活、便捷的生活家居管理,优质物业管理等智能化住宅所特有的生活方式,使忙碌一天的人们真正体会到智慧家带来的生活乐趣。

1.2 研究的目的与意义

20世纪70年代,发达国家就开始对智能家居进行研究。1984年,美国第一栋智能建筑落成,从此以后欧美国家也相继提出了各种智能家居方案,并且广泛进行推广。目前,发达国家的智能家居已经获得长足发展。如美国的x-10,CEBus和Lonwork,日本的HBS,欧洲的EIB和EHS,在国际上都比较有影响[1]。

1.2.1 国外研究情况

1983年,美国电子工业协会组织专门机构开始制定家庭电气设计标准,并于1988年编制了第一个适用于家庭住宅的电气设计标准--《家庭自动系统与通信标准》。1998年5月,在“98亚洲家庭电器与电子消费品国际博览会”上,新加坡首次推出了新加坡模式的智能家居系统,并现场模拟“未来之家”,其系统功能强大,包括三表抄送、电话接入、智能布线箱、安防报警、监控中心、有线电视接入、住宅信息留言、可视对讲、家庭智能控制面板、家电控制、宽带网介入和系统软件配置等功能。目前美国则有近4万户家庭安装了这类系统,在新加坡有近30个社区的约5000户家庭采用了这种家庭智能化系统[2]。

1

1.2.2 国内研究情况

与国外相比,我国对智能家居和家庭网络等相关产品的研制起步较晚,但是政府部门在政策和标准等方面,不断加大扶持力度,指导行业发展。目前,建设部批准建立7个普及型网络社区,北京市已经计划建设30个网络社区,总户数达3万户。我国将住宅小区智能化定义为:利用4C(计算机、通信与网络、自控、IC卡)技术,通过有效的传输网络,将多元信息服务与管理、物业管理与安防、住宅智能化系统集成,为住宅小区的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的家居环境。

1.3 本课题研究的主要内容和研究方案

以STC89C52RC单片机为核心,设计数字时钟和智能窗帘:通过光敏电阻检测光线强弱,当光线强度达到一定的程度时,通过单片机控制电机将窗帘拉上,否则打开窗帘。窗帘有手动和自动两种模式。另外用点阵显示时间,由于下午十点后基本属于睡眠时间,故忽略光线强度,拉上窗帘并自动切换到手动模式,以节约电能,待第二天起床再将其切换至自动模式。

研究方案:

(1)利用光敏电阻采集室外的光线强度。

(2)利用单片机来分析光敏电阻采集的信号,然后输出控制信号。 (3)通过单片机控制电机来调节窗帘的起闭。

(4)利用DS12C887时钟芯片制作数字时钟,并通过点阵显示。 (5)利用温度传感器检测室内温度,并通过点阵显示。

2

2 智能家居控制系统总体介绍

2.1 系统总体方案

本设计以STC89C52RC单片机为核心,通过光敏电阻检测光线强弱,然后通过步进电机控制窗帘的张合程度。用温度传感器DS18B20检测当前室内温度,DS12C887时钟芯片制作数字时钟并用点阵显示时间和温度。

2.2 系统功能

本系统的开发设计有一下功能:

(1)通过检测光线的强弱控制窗帘是否打开。 (2)通过温度传感器DS18B20检测当前室内温度。 (3)通过时钟芯片DS12C887时钟芯片制作数字时钟。 (4)通过点阵显示年月日,时分秒,星期,温度。

2.3 系统结构

该系统的组成结构如图2.1所示。

图2.1 系统组成结构

点阵模块 时钟电路 控制器 STC89C52RC 温度传感器 光敏电阻 步进电机

3

3 智能家居控制系统硬件设计

3.1 系统主要芯片介绍

3.1.1 STC89C52RC

STC89C52RC是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52RC使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选[3]。

参数:

(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。

(2)工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。

(3)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。

(4)用户应用程序空间为8K字节。 (5)片上集成512字节RAM。

(6)通用I/O口(32个),复位后为:P0/P1/P2/P3是准双向口/弱上拉, P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻[4]。

(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。

(8)具有EEPROM功能。

4

(9)具有看门狗功能。

(10)共3个16位定时器/计数器。即定时器T0、T1、T2。

(11)外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒。

(12)通用异步串行口(UART),还可用定时器软件实现多个UART。 (13)工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)。 (14)PDIP封装[5]。

3.1.2 DS12C887

(1)器件特性:

DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。

由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决了“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113直接通过RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽[6]。

(2)引脚功能:

DS12C887的引脚图排列如图3.1所示,各管脚说明如下:

GND、VCC:直流电源,其中VCC接+5输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3时,DS12C887会自动将电源转换到内部自带的锂电池上,以保证内部的电路能够正常工作。

MOT:模式选择脚,DS12C887有两种工作模式,即Motorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。本文主要讨论Intel模式。

5

图3.1 DS12C887引脚图

SQW:方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。

AD0~AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的数据信息。

AS:地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。

DS/RD:数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。在写操作中,DS的下降沿将使总线AD0~AD7上的数据锁存在DS12C887中;当MOT接GND时,选用Intel工作模式,在该模式中,该引脚是读允许输入脚,即Read Enable。

R/W:读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intel模式,此时该作为写允许输入,即Write Enable。

CS:片选输入,低电平有效。

IRQ:中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以

6

直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。

在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息,其具体的地址及取值如表3.1所列。

由表3.1可以看出:DS12C887内部有控制寄存器的A-B等4个控制寄存器,用户都可以在任何时候对其进行访问以对DS12C887进行控制操作[7]。

表3.1 DS12C887的存储功能

取值范围十地址 功能 进制数 0 1 2 3 秒 秒闹钟 分 分闹钟 0--59 0--59 0--59 0--59 二进制 00--3B 00--3B 00--3B 00--3B 01--0C AM 12小时模式 4 24小时模式 0--23 1--12 81--8C PM 00--17 01--0C AM 时闹钟,12小时制 5 时闹钟,24小时制 6 7 8 9 10 11 12 13 50 星期几(星期天=1) 日 月 年 控制寄存器A 控制寄存器B 控制寄存器C 控制寄存器D 世纪 0--23 1--7 1--31 1--12 0--99 0--99 NA 1--12 81--8C PM 00--17 01--07 01--1F 01--0C 00--63 81--92 PM 00--23 01--07 01--31 01--12 00--99 19,20 81--92 PM 00--23 01--12 AM BCD码 00--59 00--59 00--59 00--59 01--12 AM 取值范围

7

3.1.3 DS18B20

DSl8B20数字温度计提供9位(二进制)温度读数,指示器件的温度信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线(和地线)。 DSl8B20的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl8B20在出厂时已经给定了唯一的序号,因此任意多个DSl8B20可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl8B20的测量范围从-55℃到+125℃,增量值为0.5℃,可在ls(典型值)内把温度变换成数字[8]。

每一个DSl8B20包括一个唯一的64位长的序号,该序号值存放在DSl8B20内部的ROM(只读存贮器)中。开始8位是产品类型编码(DSl8B20编码均为10H)。接着的48位是每个器件唯一的序号。最后8位是前面56位的CRC(循环冗余校验)码。DSl8B20中还有用于贮存测得的温度值的两个8位存贮器RAM,编号为0号和1号。 1号存贮器存放温度值的符号,如果温度为负(℃),则1号存贮器8位全为1,否则全为0。0号存贮器用于存放温度值的补码,LSB(最低位)的“1”表示0.5℃。将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值(-55℃——125℃)。DSl8B20的引脚如图3.2所示。每只DS18B20都可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但完成温度测量的时间较长;采取外部供电方式则多用一根导线,但测量速度较快[9]。

图3.2 DS18B20引脚图

DS18B20电路图如图3.3所示:

8

图3.3 DS18B20电路图

3.1.4 74HC138

74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。

74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态[10]。

74HC138与74HC238逻辑功能一致,只不过74HC138为反相输出。 74HC138的功能表如表3.2所示:

表3.2 74HC138功能表

9

74HC138引脚图如图3.4所示:

图3.4 74HC138引脚图

3.1.5 74HC595

74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。数据在SHcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线[11]。

8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。 将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。

特点:8位串行输入/8位串行或并行输出;存储状态寄存器,三种状态;输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路。)可以直接清除100MHz的移位频率[12]。

引脚说明:

Q0--Q7:8位并行数据输出,其中Q0为第15脚。 GND:第8脚,地。

Q7’:第9脚,串行数据输出。 MR:第10脚,主复位(低电平)。 SHCP:第11脚,移位寄存器时钟输入。 STCP:第12脚,存储寄存器时钟输入。

10

本文来源:https://www.bwwdw.com/article/uqu7.html

Top