摘要
本文介绍了设计的框架结构和组成模块以及各模块的原理,介绍了各部分硬件设和各部分软件设计以及软件流程图。该设计是以 STC89C52 单片机为控制核心的集多种功能于一体的智能 LED 台灯。结合语音识别模块、A/D转换模块、红外感应模块以及按键系统等,来实现语音控制开关、光敏感应亮度自动调节、人体红外感应开关以及定时报警等功能。单片机控制就用 STC89C52,显示模块用 LCD1602 液晶显示计时时间、亮度等级等内容,按键模块用来调整时间计时功能、LED 的亮度等,台灯模块用LED,用蜂鸣器发出闹铃声,检测人的用BIS0001 红外热释传感器。软件设计用单片机 C 语言编写,实现了全部控制功能。
关键词:智能台灯;语音识别;STC89C52RC单片机;
引言
随着社会的不断进步,科技的高速发展,传统使用的台灯只有照明的功能,满足不了现代人希望在良好的环境下学习的愿望。随着智能控制理论和人工智能研究的深入,家用电器因为单片机的加入而走向智能化,并且随着人们生活水平的提高日益走向平民化,我们的生活也随着家用电器的发展越来越方便、舒适。随着家用电器的发展,作为家用电器当中的小台灯也要顺应科技的发展步伐走向智能化。所以我们的台灯的设计主要包括两个目的:
一是具有智能语音识别功能,通过口头语言来控制开关灯,提高亮度,降低亮度,从而解放你的双手,进而可以把更多的精力投入到你的工作和学习当中。
二是具有智能人体检测功能,可以通过红外线检测人体是否坐在台灯面前;因为我们发现很多人都没有随手关台灯的习惯,所以当人体感应模块感应到室内没人的时候会在延时后自动关闭台灯。并当检测到有人进入房间时,自动开灯。这使得生活更轻松智能的同时,也更有利的节约能源和环保。
一、设计目标
本设计以 STC89C52 为主控制芯片,选用合适的传感器及调光技术,并进行软硬件的合理设计,进而实现台灯的智能化功能。台灯主要包括自动模式和手动模式两种控制方式。
-
- 自动模式
(1)检测周围是否有人(可以调节检测距离),若检测到没人,则台灯会在延时后(可调节时间的长短)自动关闭,若检测到周围有人,则台灯会在延时后(可调节时间的长短)自动打开,以实现节能的目的。
(2)可以根据周围环境明暗程度,自动调节台灯的亮度,使环境灯光亮度达到最适宜人眼的亮度,以达到保护视力的目的。
(3)检测人体距离桌面的距离,若人体距离台灯过近的话,台灯则会发出嘀嘀嘀的报警声,以提示人及时矫正坐姿。
1.2 手动模式
(1)手动控制台灯的启动,使用时手动打开。
(2)手动调节台灯亮度,可将灯光亮度调至舒适的亮度。
(3)用灯时间提醒功能,可以设定用灯时间,时间到峰鸣提醒。可以防止长时间用灯导致视力下降问题。
二、方案设计
针对以上对功能要求分析,该台灯以 STC89C52 单片机作为主控制芯片,分为手动和自动两个控制模式。在手动控制模式下,光照强度分出5个档,进而实现对台灯光照亮度的手动调节。在自动控制模式下,台灯通过红外人体探测器检测周围是否有人,如果系统检测到有人,则通过检测光敏电阻的分布电压值,间接测量外界光照强度。然后信号经模拟——数字信号转换芯片传给单片机,单片机对LED显示模块进行控制。单片机通过将测得的电压和内部预设的阈值进行对比,然后调整 PWM 的占空比,从而对 LED 灯的内部电流强度进行控制,实现光照亮度的自动调节。与此同时,可通过红外接近传感器检测人体距桌面的距离,同样与内部预设值进行比较,当检测值不在预设值范围之内时,蜂鸣器发出报嘀嘀嘀警声响,提醒使用者注意坐姿,从而防止近视。如果台灯周围没有人,则台灯会自动熄灭,减少能源的不必要的浪费。通过光敏电阻感应外界光照,进而改变电阻阻值达到自动调节台灯亮度的目的。
综上所述,硬件电路主要由STC89C52单片机微处理控制单元、LCD液晶显示模块、语音识别模块、按键控制、实时时钟电路、晶振电路、AD转换等模块化电路组成。如下图所示(图一)

系统结构的组成图(图一)
三、主要原件设计介绍
3.1 单片机STC89C52RC
STC89C52单片机具有低功耗、高性能以及价格低廉抗、干扰能力强等特点。它具有8K的在系统可编程Flash存储器。并且它还使用经典的MCS-51做内核,既可以当作一般的51单片机使用。同时又可以实现51单片机不能实现的功能,为很多嵌入式控制应用系统提供了灵活有效的解决方案。
STC89C52的主要功能具有:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。外形及引脚排列如下所示(图二)

STC89C52外部引脚图(图二)
3.1.1 STC89C52端口介绍
VCC(40引脚):电源电压。
VSS(20引脚):接地。
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路8位双向I/O口。作为输出端,每个引脚能驱动8个TTL负载电路,当端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序或数据存储器时,P0口可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;然而在校验程序时,P0端口输出指令字节。验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用,因为内部有上拉电阻,所以那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作为定时器/计数器。
P2端口(P2.0~P2.7,21~28引脚):P2口是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入“1”时,通过内部上拉电阻把端口拉到高电平,此时可用作输入口。P2作为输入口使用时,因为P2口内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
P3端口(P3.0~P3.7,10~17引脚):P3是一个内部带上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(以吸收或输出电流方式)4个TTL输入。对端口写入“1”时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。
RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时有效,用来完成单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。
XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):振荡器反相放大器的输入端。
3.2红外人体感应模块
红外人体感应模块采用BISS0001芯片,这是一款高效传感信号处理集成电路芯片,通过内部运算放大器、电压比较器、状态控制器、延时定时器、封锁时间定时器通过一系列数模混合运算对信号进行处理。其引脚功能及内部框图如下图所示(图三):

本文介绍了以STC89C52单片机为核心的智能LED台灯设计。该台灯结合语音识别、A/D转换、红外感应等模块,实现语音控制开关、光敏感应亮度调节、人体红外感应开关及定时报警等功能。具备自动和手动两种模式,软件用单片机C语言编写,经调试达到智能化和多功能化效果。

8714

被折叠的 条评论
为什么被折叠?



