基于AT89S52单片机控制的声光控开关设计与实现
2018-11-26位磊左远东赵少伟
位磊 左远东 赵少伟
摘要:设计了一个电路简洁、节能节电、声光控工作的电子智能开关。利用AT89S52单片机进行可编程控制,结合外围光敏感信号采样、声音感应器采样、触摸感应器采样、LED控制电路、继电器控制电路等,实现了声光控开关;降低了生产硬件成本;提高了电路的可靠性和稳定性;不仅节能、省电,而且使用寿命长等特点。
关键词:单片机;传感器;智能开关;声光控;节能
中图分类号:TP338 文献标识码:A 文章编号:1009-3044(2018)22-0228-05
Abstract: An electronic intelligent switch with simple circuit, energy saving, sound and light control is designed. Using AT89S52 microcontroller for programmable control, combined with peripheral light-sensitive signal sampling, sound sensor sampling, touch sensor sampling, LED control circuit, relay control circuit, etc., to achieve the sound and light control switch; reduce the production cost of the hardware; improve the circuit The reliability and stability; not only energy saving, energy saving, but also long life and other characteristics.
Key words: Single chip microcomputer, sensor; intelligent switch; sound and light control, energy saving
1 背景
隨着现代电子技术的发展,智能控制显得越来越重要,其中重要的一点是采用智能控制代替人工控制,智能控制不仅能为人们的生活带来实实在在的方便,更重要的时它能根据实际需要进行调控,达到节省能源的目的。在智能控制中声光控开关早已成为人们工作生活中的熟客,它的实现原理就是声光控电路,它不需要加装手动开关,实现控制只需要简单声光敏电路和小信号放大电路即可完成。它的使用生也非常方便快捷,可以将它安装在像走廊过道灯地方,只有在黑暗无光照且有一定声源的条件下它便会自动点亮,否则不会开启。
该文设计制作了一款操作方便、更高效、更智能化的声光控延时开关装置,由节能灯、声音传感器、光控传感器,放大器和由555芯片构成的单稳态时电路以及降压整流电路组成。其优点是价格低廉,具有省电节能、寿命长等特点。
2 系统功能
声光控延时开关装置通电后开始工作。当有光照到该装置时,只能通过触摸开关触发;当无光照到该装置时,既能通过声音触发,又能通过触摸开关触发;当触发时,有红色指示灯和蓝色指示灯伴随发光;当蓝色指示灯熄灭时,表示开关马上就要断开了,此时可以二次触发继续延时。
3 系统实现
该系统以AT89S52单片机位核心,主要由单片机最小系统、A/D转换模块、电源模块、声光敏模块、触摸模块、继电器及可控硅控制电路组成,系统模块框图如图1所示。
3.1 PCF8591 A/D转换芯片
PCF8591是一个功耗低、8位数模转换器件。如图2所示。
PCF8591具有多路模拟电平输入、单路模拟电平输出和1个I2C总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,最多允许在同一个I2C总线上接入8个A/D转换器件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输[2]。
该系统使用到PCF8591的3个模拟电平输入端口,其中光敏电阻接AIN0端口,触摸模块接AIN1端口,声音信号经放大电路放大后接AIN2端口。
3.2 AT89S52单片机
AT89S52 单片机是一种功耗低、性能高、8位微控制器,拥有灵巧的8 位CPU 和在系统可编程Flash,使其在众多嵌入式控制应用得到广泛的应用。如图3所示。
AT89S52单片机的主要功能:定时器在短时间内实现产生中断,中断事件为通过IIC获取三路经A/D芯片模数转换后的数字电平,最高为5000mV,最低为0mV,获取到电平信息后通过内部的代码逻辑判断是否达到开启状态。
3.3 声控电路
声控电路是由声音控制的电路设备,其作用是把声音传感器采集到的声波信号转换为电信号,从而通过这种信号去控制其他被控制的电路或电器设备。
该系统采用数字控制电路,故需要将小信号放大,再由A/D转换模块将模拟量转化为数字量,最后送给单片机处理。处理流程如图4所示。
3.4 光控电路
光控电路是利用外来的光源做控制电路,其作用是把外来的光源信号转换为电信号,从而通过这种信号去控制其他被控制的电路或电器设备。
该系统采用光敏电路对外部光源检测,并将检测到的光信号转换为电信号,经A/D模块将模拟量转换为数字量后送给单片机处理。
3.5 延时控制电路
延时电子开关电路是用电路中输出的电信号进行电路控制的设备,其作用是用输出的信号去控制电路,是电路达到延时的目的。
该系统的延时通过单片机的定时器进行精准延时,并且延时电路的延时时长可根据使用场景进行精确的调节。
3.6 系统实现
该声光控开关以AT89S52单片机为核心器件,通过PCF8591A/D转换模块将模拟的电信号转换为数字电信号,以KEIL5为系统软件开发平台,用Proteus仿真,并用Portel 99 se电路仿真软件进行了PCB板设计。实物和系统原理图如图5、图6所示。
使用说明:装置检查无误后上电即可开始正常工作,当希望重启时,按下“复位”按钮即可。
4 系统软件实现
该系统采用C语言程序设计,程序主要由3部分构成,即初始化程序,PCF8591驱动程序,主程序。
4.1 初始化程序
4.2 PCF8591驱动程序
PCF8591的通信方式为IIC总线通信,系统需要使能某个端口转换,只需通过IIC协议写入需要使能的端口地址及转换命令即可。
该系统的转换函数如下:光敏电阻接的A/D端口轉换使能函数为unsigned int ReadADC(0x40),触摸模块A/D端口转换使能函数为unsigned int ReadADC(0x41),声音信号放大电路A/D端口转换使能函数为unsigned int ReadADC(0x42),通过执行使能函数对相关端口的转换使能,得到A/D转换后的电压数据,返回给主程序。
4.3 主程序
程序启动后,首先调用PCF8591模块初始化程序,调用声光以及触摸信号值转换模块,将模拟信号转换成BCD码,送入AT89S52单片机处理,通过与设定的声光触摸信号阈值比较,判断是否符合本装置的触发条件,并完成灯泡的点亮及精准延时工作,并在红LED指示灯亮去时进行二次信号检测,并增加延时工作,直至没有符合的信号输入,结束程序。
主程序流程图如图7所示。
5 结束语
该装置以AT89S52单片机为核心,采用PCF8951为A/D转换器,通过C语言编写完整的控制程序,可在外在自然条件复杂情况下,实现单片机控制的数模转换功能,在日常生活中可以得到广泛使用。
参考文献:
[1] 汤莉莉, 黄伟, 王春波. 基于AT89S52单片机的声光控制开关设计[J]. 现代电子技术, 2013(16):140-142.
[2] 电子发烧友.pcf8591A/D转换芯片[EB/OL]. http://www.elecfans.com/tags/pcf8591/.
[3] 百度百科.AT89S52单片机[EB/OL]. https://baike.baidu.com/item/AT89S52/10024081?fr=aladdin.
【通联编辑:谢媛媛】