单片机的智能窗帘系统设计
目录
引言 5
一、总体设计方案 5
二、主要选用的元器件 6
(一)、AT89C51单片机 6
(二)、LCD1602液晶显示器 8
三、系统硬件电路设计 9
(一)、 振荡电路设计 9
(二)、复位电路设计 10
10
(三)、步进电机设计 10
(四)、按键模块 11
(五)、光敏传感器模块 12
(七)、LCD1602液晶显示模块 12
四、系统软件实现 13
(一)、主程序设计 13
(二)、步进电机程序设计 14
(三)、显示子程序设计 15
(四)、键盘程序设计 16
(五)、定时程序设计 17
五、系统的调试与测试 19
六、结束语 19
七、参考文献 20
附录 22
附录1:原理图 22
附录二:PCB图 23
附录三:元器件清单 25
附录四:程序 25
附录五:实物图 31
引言
由于经济的发展与电子技术的前进,更多的人们开始关注家居智能。智能家居是一种以室第为平台安置有智能家居系统的生活所住的周围情况,他可以使生活变得加倍安宁、节能、智能、平安和方便。其将网络通信知识和技巧、综合布线知识和技巧、自动控制知识和技巧、音视频知识和技巧和智能家居-体系设计方案平安提防技术高密度地集成,以提高 *好棒文|www.hbsrm.com +Q: 3 5 1 9 1 6 0 7 2
家庭日程事件和房屋设备措施管理体系的高效性为首要方针,实现一种平安安宁而且优雅高调的家居生活,其对节能环保的意思也进行了阐明叙述。
而窗帘则是家居智能生活中很重要的一部分。本文用了微控制器AT89C51,设计了一款能够根据室外光照的强度来开合的智能窗帘。电动窗帘有下面的几个功能:
手动控制:能让窗帘的电机手动来正转、手动来反转或手动来停止;
半自动手动控制:这个是在关上或是拉开窗帘的时候,就只要人工按一下“正转”或者“反转”的按键后,窗帘到位自发主动的停止。
环境亮度控制:经由光敏传感器的作用,感应室内的光线强度,当光线较弱的时候,自发主动的打开窗帘;
时间自动控制:内部设置计时模块,当到设定时间时,窗帘自发主动打开或关上;
电动窗帘的拉开、合上都是经由步进电机的转动功能来实现的,经由单片机对步进电机的驱动,实现它的正转反转以及停止等功能,而光线感应的功能是通过单片机与光敏传感器的配合来采集室内外的光线情况来实现的;由单片机的内部定时器来把握时间。
一、总体设计方案
本次设计采用模块化设计方式,具有条理清晰,层次分明的效果,为以后对系统的功能扩展或者修复提供诸多便利。系统采用51单片机作为控制核心,片外配合光敏传感器模块、LCD1602液晶显示器模块、蜂鸣器模块、复位电路模块和振荡电路模块而组成的自动窗帘启闭系统。该系统在自发主动模式下可以按照室外光照强度来自发主动启闭窗帘,在非自发主动模式下可以经由按键人工启闭窗帘。系统可以自发主动感到室外的光照的强度,当室外光照的强度很强时自发主动将窗帘打开;经由按键可以灵活拉开或合闭窗帘;具有显示的功能,显示的体系运行的相干信息。如图1所示:
图1 智能窗帘系统的框架图
二、主要选用的元器件
(一)、AT89C51单片机
可以经由正确的控制信号组合而且使ALE管脚保持在10ms低电平来进行整个EPROM阵列和三个锁定位的电擦除。当EPROM被擦除后,其内部阵列将全数被写1。
此外,AT89C51有稳态逻辑的功能,其有两种可选的掉电的模式,可以在低到零频率的条件下来稳定逻辑。在低功耗的闲置模式应用下,单片机内部的CPU将停止运行,然而其RAM、计数器/定时器、串口和终端系统仍能正常工作。在掉电的模式应用下,会将RAM中的内容保存起来,振动器将停止工作,片内其他模块也将停止工作,只有等到复位信号来临时才能正常工作。
DIP-40封装类型AT89C51单片机的芯片引脚图如2所示:
图2 AT89C51单片机的芯片引脚图
AT89C51内部结构如图3所示:
图3 AT89C51内部结构
(1)AT89C51芯片引脚功能
VCC:供电电压。
GND:接地。
P0口:P0口是双向漏级开路的I/O口,每脚能吸收8TTL门电流。它可以作为地址或者是数据总线。P0还可以用于外部程序数据存储器。
P1口:P1口是内部提供上拉电阻的8位双向I/O口,可以能够作为输出和输入的口线,4个LSTTL的门电路都可以让它驱动。
P2口:P1口上的功能P2口也具备,外部的扩展存储器的地址总线也是由P2口实现的 。
P3口:P3口也具备P1口上的功能,而且还是系统控制功能的控制线
RST:复位输入。当振荡器能够正常复位的时候,RST的引脚就会处在高电平的状态下,电平的状态至少在两个机器周期的期间内才会被获得。
ALE/PROG:它能用为对外部输出的脉冲或者用为定时的目的。
/PSEN:外部程序存储器的选通信号。
/EA/VPP:FLASH编程时,这个引脚也被用在施加12V的编程电源(VPP)。
XTAL1:反向振荡放大器的输入端和内部时钟工作电路的输入。
XTAL2:反向振荡器的输出端。
(2)AT89C51的功能特性如表1所示:
表1 AT89C51的功能特性
(二)、LCD1602液晶显示器
LCD1602液晶屏的工作电压范围是4.5-5.5V,而它最佳的工作电压是5.0V。其工作电流是2.0mA(5.0V),能够显示16×2个字符,字符的尺寸是2.95×4.35(W×H)mm。 LCD1602引脚功能介绍如表2所示:
表2 1602引脚功能表
三、系统硬件电路设计
(一)、 振荡电路设计
XTAL1和XTAL2端口各为AT89C51内部反向放大器的输入和输出管脚。能将这个反向的放大器设置装备摆设成片内的震荡器。在用外部的时钟源做作为震荡信号时,XTAL2不用接。因为进入内部的时钟信号要经二分频来处理,是以对时钟信号的脉宽没有严格要求。
晶振电路是的单片机的关键部分,决定着整个体系的节奏,一般来说一定的范围内,可以经由使晶振电路的频率提高来使单片机的主频提高,本控制系统采用12M的晶振。如图5所示:
图5 晶振电路原理图
(二)、复位电路设计
复位电路的功能就如同电脑出现死机等异常现象后的重启电脑。在51单片机中,只要在其9号管脚保持2us的高电平,就可以使其被“重新启动”。在给51最小系统上电的瞬间,系统自动被复位一次,如果按动S10按键一次,系统也会被复位。
引言 5
一、总体设计方案 5
二、主要选用的元器件 6
(一)、AT89C51单片机 6
(二)、LCD1602液晶显示器 8
三、系统硬件电路设计 9
(一)、 振荡电路设计 9
(二)、复位电路设计 10
10
(三)、步进电机设计 10
(四)、按键模块 11
(五)、光敏传感器模块 12
(七)、LCD1602液晶显示模块 12
四、系统软件实现 13
(一)、主程序设计 13
(二)、步进电机程序设计 14
(三)、显示子程序设计 15
(四)、键盘程序设计 16
(五)、定时程序设计 17
五、系统的调试与测试 19
六、结束语 19
七、参考文献 20
附录 22
附录1:原理图 22
附录二:PCB图 23
附录三:元器件清单 25
附录四:程序 25
附录五:实物图 31
引言
由于经济的发展与电子技术的前进,更多的人们开始关注家居智能。智能家居是一种以室第为平台安置有智能家居系统
家庭日程事件和房屋设备措施管理体系的高效性为首要方针,实现一种平安安宁而且优雅高调的家居生活,其对节能环保的意思也进行了阐明叙述。
而窗帘则是家居智能生活中很重要的一部分。本文用了微控制器AT89C51,设计了一款能够根据室外光照的强度来开合的智能窗帘。电动窗帘有下面的几个功能:
手动控制:能让窗帘的电机手动来正转、手动来反转或手动来停止;
半自动手动控制:这个是在关上或是拉开窗帘的时候,就只要人工按一下“正转”或者“反转”的按键后,窗帘到位自发主动的停止。
环境亮度控制:经由光敏传感器的作用,感应室内的光线强度,当光线较弱的时候,自发主动的打开窗帘;
时间自动控制:内部设置计时模块,当到设定时间时,窗帘自发主动打开或关上;
电动窗帘的拉开、合上都是经由步进电机的转动功能来实现的,经由单片机对步进电机的驱动,实现它的正转反转以及停止等功能,而光线感应的功能是通过单片机与光敏传感器的配合来采集室内外的光线情况来实现的;由单片机的内部定时器来把握时间。
一、总体设计方案
本次设计采用模块化设计方式,具有条理清晰,层次分明的效果,为以后对系统的功能扩展或者修复提供诸多便利。系统采用51单片机作为控制核心,片外配合光敏传感器模块、LCD1602液晶显示器模块、蜂鸣器模块、复位电路模块和振荡电路模块而组成的自动窗帘启闭系统。该系统在自发主动模式下可以按照室外光照强度来自发主动启闭窗帘,在非自发主动模式下可以经由按键人工启闭窗帘。系统可以自发主动感到室外的光照的强度,当室外光照的强度很强时自发主动将窗帘打开;经由按键可以灵活拉开或合闭窗帘;具有显示的功能,显示的体系运行的相干信息。如图1所示:
图1 智能窗帘系统的框架图
二、主要选用的元器件
(一)、AT89C51单片机
可以经由正确的控制信号组合而且使ALE管脚保持在10ms低电平来进行整个EPROM阵列和三个锁定位的电擦除。当EPROM被擦除后,其内部阵列将全数被写1。
此外,AT89C51有稳态逻辑的功能,其有两种可选的掉电的模式,可以在低到零频率的条件下来稳定逻辑。在低功耗的闲置模式应用下,单片机内部的CPU将停止运行,然而其RAM、计数器/定时器、串口和终端系统仍能正常工作。在掉电的模式应用下,会将RAM中的内容保存起来,振动器将停止工作,片内其他模块也将停止工作,只有等到复位信号来临时才能正常工作。
DIP-40封装类型AT89C51单片机的芯片引脚图如2所示:
图2 AT89C51单片机的芯片引脚图
AT89C51内部结构如图3所示:
图3 AT89C51内部结构
(1)AT89C51芯片引脚功能
VCC:供电电压。
GND:接地。
P0口:P0口是双向漏级开路的I/O口,每脚能吸收8TTL门电流。它可以作为地址或者是数据总线。P0还可以用于外部程序数据存储器。
P1口:P1口是内部提供上拉电阻的8位双向I/O口,可以能够作为输出和输入的口线,4个LSTTL的门电路都可以让它驱动。
P2口:P1口上的功能P2口也具备,外部的扩展存储器的地址总线也是由P2口实现的 。
P3口:P3口也具备P1口上的功能,而且还是系统控制功能的控制线
RST:复位输入。当振荡器能够正常复位的时候,RST的引脚就会处在高电平的状态下,电平的状态至少在两个机器周期的期间内才会被获得。
ALE/PROG:它能用为对外部输出的脉冲或者用为定时的目的。
/PSEN:外部程序存储器的选通信号。
/EA/VPP:FLASH编程时,这个引脚也被用在施加12V的编程电源(VPP)。
XTAL1:反向振荡放大器的输入端和内部时钟工作电路的输入。
XTAL2:反向振荡器的输出端。
(2)AT89C51的功能特性如表1所示:
表1 AT89C51的功能特性
(二)、LCD1602液晶显示器
LCD1602液晶屏的工作电压范围是4.5-5.5V,而它最佳的工作电压是5.0V。其工作电流是2.0mA(5.0V),能够显示16×2个字符,字符的尺寸是2.95×4.35(W×H)mm。 LCD1602引脚功能介绍如表2所示:
表2 1602引脚功能表
三、系统硬件电路设计
(一)、 振荡电路设计
XTAL1和XTAL2端口各为AT89C51内部反向放大器的输入和输出管脚。能将这个反向的放大器设置装备摆设成片内的震荡器。在用外部的时钟源做作为震荡信号时,XTAL2不用接。因为进入内部的时钟信号要经二分频来处理,是以对时钟信号的脉宽没有严格要求。
晶振电路是的单片机的关键部分,决定着整个体系的节奏,一般来说一定的范围内,可以经由使晶振电路的频率提高来使单片机的主频提高,本控制系统采用12M的晶振。如图5所示:
图5 晶振电路原理图
(二)、复位电路设计
复位电路的功能就如同电脑出现死机等异常现象后的重启电脑。在51单片机中,只要在其9号管脚保持2us的高电平,就可以使其被“重新启动”。在给51最小系统上电的瞬间,系统自动被复位一次,如果按动S10按键一次,系统也会被复位。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2177.html