基于89c51单片机设计智能家居控制系统.doc
文本预览下载声明
基于89c51单片机设计智能家居控制系统
院系:计算机科学与工程学院
专业:物联网工程
姓名: XXXXXX
学号:1111111111
班级:XXXXXXX
指导老师:XXX
完成时间:2016.12.30
控制系统的主要由核心芯片STC89C51、数模转换芯片PCF89C51、时钟芯片DS1302、步进电机驱动芯片ULN2003几部分构成。
控制系统可实现光信号控制步进电机转向及转动圈数来达到控制窗帘开合状态的功能。窗帘开合状态分为五档,窗帘当前所处档位和当前时间均可以在液晶上显示出来。当前时间可以通过按键来设置。手动控制模式下可以通过按键选择窗帘预期的档位。自动模式需设定预设时间(默认为7:00-18:00),在预设时间内窗帘可处于光控状态,当光信号转换来的数字信号超过80时窗帘拉合,低于20时完全打开。
《基于AT89C51单片机的智能窗帘控制系统》
随着物联网概念的发展,智能家居的理念也渐渐渗透到我们的生活中,受此启发,我们想尝试着做一个智能窗帘的控制系统,希望可以通过光强和时间来控制窗帘的开合。恰好我们都进行了电路、模电数电的学习,也曾初步接触了单片机,我们想通过设计这个控制系统来加深我们对所学内容的理解和掌握,更加熟悉使用protel等专业软件。
计划设计一个系统可以实现以下功能:
在自动模式下,在设定的时间内,如早成6点至晚上8点,晚上8点至早晨6点,时间控制,可以避免室内开灯造成窗帘自动拉开。通过光强控制,在设定光照强度范围内,窗帘拉开,超过设定强度,如夏日中午,为避免房间被光直射造成温度过高,窗帘关闭。在手动模式下,通过按键来调整窗帘的开合状态。
最终设计使用STC89C51单片机,STC89C51有512字节的数据存储空间,是AT89C51的两倍,并且带有4K字节的EEPROM存储空间,可以断电后保存资料,可以直接使用串口下载,而AT89C51需要专用下载器。
控制系统可以实现对光信号的采集、转换、传输,并根据单片机接收到的信号,结合时钟电路的信号,对步进电机进行控制,通过控制步进电机转向及转动圈数,来实现对窗帘的打开及拉合控制。
设计时对硬件进行了模块化分析,以STC89C51作为主控芯片,光信号采集使用光敏模块,数模转换主要使用PCF8591芯片,显示模块采用1602液晶显示器,时钟电路采用DS1302芯片,电机驱动器主要使用ULN2003。
控制器设计:
构成模块主要功能:
单片机控制系统:处理信号并控制电机运行。
AD转换:将光敏模块输出的模拟信号转换为数字信号。
光敏模块:采集光信号并转换为模拟信号。
液晶模块:用于显示时间及控制模式。
时钟电路:配合外部晶体实现振荡,为单片机提供运行时钟。
按键:设置时间及选择模式。
电机驱动:为步进电机提供足够大的驱动电流。
复位:进行复位。
电源:为系统运行进行供电。
图1 模块功能图
硬件设计
单片机控制模块
图2 单片机控制模块电路原理图:
STC89C51芯片 共40引脚,1~8脚是通用I/O接口(p1.0~p1.7),9脚rst复位键,10、11脚RXD串口输入、TXD串口输出,12~19脚:p3接口 (12,13脚 INT0中断0、INT1中断1,14,15:计数脉冲T0 T1 16,17:WR写控制RD读控制输出端) ,18,19脚:晶振谐振器,20脚接地线,21~28 p2接口高8位地址总线29: psen 片外rom选通端,单片机对片外rom操作时 29脚(psen)输出低电平30:ALE/PROG 地址锁存器31:EA rom取指令控制器,电源+5V。
本系统采用P0口及P1^0、P1^1、P1^2控制液晶显示,P1^3-P1^7口控制按键、P3^0、P3^1、P3^4口控制DS1302、P3^5、P3^6口控制PCF8591,P2^0-P2^3口控制ULN2003。
光敏模块:
功能:采集光信号并转换为模拟信号。
说明:VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)
GND 外接GND
DO 小板数字量输出接口(0和1)
AO 小板模拟量输出接口 图3 光敏模块电路图
本系统使用AO端作为AD转换模块的模拟信号输入。
模数转换模块:
图 4 AD转换模块电路原理图
功能:将光敏模块输出的模拟信号转换为数字信号,本系统采用第三通道(AIN3)
说明:因为STC89C51芯片没有AD转换模块,故而采用PCF8591T芯片来实现AD与DA转换功能的,它有4路模拟输入,1路模拟输出,一个I2C-BUS接口,3个给硬件地址编程的脚。通过I2C总线与处理器通信,其价格低廉,接口简单,转换控制容易等优点,在单片机应用系统中得到了广泛的应用。其引脚定义如
显示全部