Computer Science and Application
Vol.06 No.02(2016), Article ID:17022,9 pages
10.12677/CSA.2016.62011

The Design of Intelligent LED Table Lamp Based on STC89C51RC SCM

Jingkuo Zhang1, Yan Peng2, Dongjun Chen1, Li Xu1

1School of Automation & Electric Information, Sichuan University of Science & Engineering, Zigong Sichuan

2School of Computer, Sichuan University of Science & Engineering, Zigong Sichuan

Received: Feb. 1st, 2016; accepted: Feb. 23rd, 2016; published: Feb. 26th, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

In order to make use of electricity efficiently, this design of intelligent LED lamp which is based on STC89C51RC single-chip microcomputer is proposed in this paper. The lamp has two types of regulation, manual regulation and automatic regulation. The hardware design part consists of SCM control module, keyboard module, lighting module, photosensitive module, LED module and so on. SCM master control chip chooses STC89C51RC. Through the key module, SCM adjusts the working mode and the LED brightness. Lighting module uses white LED in the type of 12 straw hats. Photosensitive module uses ADC0832 chip to implement the light signal acquisition, and uses PWM dimming technology to automatically adjust the luminosity of LED. Through programming SCM C language, the software is designed and the procedure is loaded into SCM.

Keywords:STC89C51RC SCM (Single-Chip Microcomputer), LED, PWM Control

基于51单片机的智能LED台灯设计

张景扩1,彭龑2,陈冬君1,许理1

1四川理工学院自动化与电子信息学院,四川 自贡

2四川理工学院计算机学院,四川 自贡

收稿日期:2016年2月1日;录用日期:2016年2月23日;发布日期:2016年2月26日

摘 要

为了使电力得到高效利用,本文提出一种基于单片机的智能LED台灯设计。该台灯具有手动、自动两种调节方式。硬件设计部分分为单片机控制模块、按键模块、照明模块、光敏模块、LED指示模块等多个部分。单片机主控制芯片选用STC89C51RC,通过按键模块来调整工作模式和LED的亮度,照明模块选用12草帽型白光LED,光敏模块选用ADC0832芯片实现对光敏信号的采集,并利用PWM控制技术对LED进行光度的自动调节。通过单片机C语言编程进行软件设计将程序下载到单片机内。

关键词 :STC89C51RC单片机,LED,PWM控制

1. 引言

随着能源的短缺,节能环保越来越被大家所重视。目前有许多台灯设计不合理,以至于能源被大大浪费。为了使电力得到高效利用,本文提出一种基于单片机的智能LED台灯设计,该台灯具有手动、自动两种调节方式,能够在保证正常实用的状况下又能使电力得到充分利用 [1] 。

2. 系统方案设计

智能LED台灯是以STC89C51RC单片机为控制芯片。STC89C51RC为40引脚双列直插式芯片,增强型8051单片机,工作电压3.3 V~5.5 V,片内集成4 K字节ROM和256字节RAM,具有EEPROM功能,两个定时/计数器,具有看门狗功能,工作频率范围为0~40 MHz,实际工作频率可达48 MHz,有32个通用I/O口,具有价格低廉、兼容性强、超强抗干扰能力、超低功耗等优点 [2] 。将硬件设计分为LED驱动电路、按键控制电路、光敏电路、ADC0832模数转换电路。系统整体结构如图1。软件设计采用模块化结构,并用C语言进行编写将各模块设计完成后进行总调 [3] 。将程序下载到单片机内,保证设计的智能LED台灯能按照当初所设计的自动手动模式正确运行。

3. 硬件电路设计

3.1. 时钟电路设计

STC89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图2。在STC89C51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5~30 pF,典型值为30 pF。晶振CYS的振荡频率范围在1.2~12 MHz间选择,典型值为12 MHz和6 MHz。

3.2. 复位电路

当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1 ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。本设计用按键手动复位。按键手动复位有电平方式和脉冲方式两种 [3] 。其中电平复位是通过RST(9)端与

Figure 1. The overall diagram of system structure

图1. 系统整体结构框图

Figure 2. Clock circuit

图2. 时钟电路

Figure 3. Reset circuit

图3. 复位电路

电源Vcc接通而实现的。按键手动复位电路见图3。时钟频率用11.0592 MHZ时C取10 uF,R取10 kΩ。

3.3. LED驱动电路

三极管在实际的放大电路中使用时,还需要加合适的偏置电路。首先是由于三极管BE结的非线性(相当于一个二极管),基极电流必须在输入电压 大到一定程度后才能产生(对于硅管,常取0.7 V)。当基极与发射极之间的电压小于0.7 V时,基极电流就可以认为是0。但实际中要放大的信号往往远比0.7 V要小,如果不加偏置的话,这么小的信号就不足以引起基极电流的改变(因为小于0.7 V时,基极电流都是0)。如果我们事先在三极管的基极上加上一个合适的电流(叫做偏置电流,上图中那个电阻Rb就是用来提供这个电流的,所以它被叫做基极偏置电阻),那么当一个小信号跟这个偏置电流叠加在一起时,小信号就会导致基极电流的变化,而基极电流的变化,就会被放大并在集电极上输出[4] 。

LED的亮度受电流控制,通过控制电流调节LED灯亮度。利用公式可知,利用调整PWM不同的占空比就可以控制电流的大小。电流通断的变化用PNP型三极管实现,PWM由P1.4输出,低电平有效,如图4

3.4. 按键控制电路

单片机键盘有独立键盘和矩阵式键盘两种:独立键盘每一个I/O口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。本设计选用了独立式键盘接法。

独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O口与地短路迫使I/O口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平[5] 。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10~200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O口的值,这一次的值如果为1表示低电平的时间不到10~200 毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。

3.5. 光敏电路

光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。还有另一种入射光弱,电阻减小,入射光强,电阻增大。

Figure 4. Drive LED circuit of triode

图4. 三极管驱动LED电路

光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光 (0.4~0.76) μm的响应很接近,只要人眼可感受的光,都会引起它的阻值变化 [6] 。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化,如图5

3.6. ADC0832模数转换

ADC0832是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑。利用它可直接输入8个单端的模拟信号分时进行A/D转换。ADC0832的参考电压设置成5 V,时钟信号通过单片机P3.3口利用定时器中断输出 [7] 。光敏电阻的对地电压从IN0口输入,ADC0832将其转换成数字量后通过OUT1-7输出,以便单片机进一步处理,如图6

4. 软件设计

软件任务设计要和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件定下来后,软件的设计就要配合硬件来进行 [8] 。本设计是基于51系列单片机加上各个系统模块制作的,当对整个系统上电之后,系统先达到初始化的状态,然后读取外界光线的模拟量,由模数转换芯片将模拟信号转换成数字信号并将信号输出至主控芯片上。系统主控芯片自动判断当前工作模式是工作在自动模式还是手动模式,若工作模式按键未按下系统会根据上一步的模式完后对应的操作,若工作模式按键按下系统则会重新切换到另一种模式完成对应的操作。软件设计流程图如图7

4.1. 主函数程序设计

系统初始状态下工作在自动检测外部亮度模式,此时系统根据光敏电阻的检测然后再将信号送至模数转换芯片内并调节LED灯的亮度。如果系统模式按键按下,系统工作模式为手动模式即亮度受手动调节而变化。

Figure 5. Photosensitive resistance circuit

图5. 光敏电阻电路

Figure 6. ADC0832 conversion circuit of analog signal and figure signal

图6. ADC0832模数转换电路

Figure 7. Software flow diagram

图7. 软件流程图

4.2. 自动模式下的程序设计

由于自动模式下的亮度随着外围光源的变化而变化,也就是外部的亮度增加LED的亮度降低,但是这种降低不是无尽的降低,当外部的亮度增加到一定情况下,LED灯则会熄灭。反之当外部亮度降低的时候,LED灯逐渐变亮,当暗度到一定的情况下则LED灯亮度保持最大不会改变[9] 。

4.3. 手动模式下的程序设计

手动模式下分为增加亮度和降低亮度两种情况,而每一种情况为七个档位,增加亮度模式下一档为最暗七档为亮度最大。当按下降低亮度的时候则LED灯的亮度会降低直至熄灭。

5. 总结

基于C51单片机的PWM调光台灯以STC89C51作为主控芯片,设置手动控制、自动控制。在手动控制时,分为多个档,输出不同的PWM占空比实现了对光度的手动调节。在自动控制时,通过ADC0832模拟数字转换芯片不断检验光敏电阻的电压来间接测量感应光度,将电压和预设的阈值进行对比,调整PWM的占空比实现了对光度的自动调节[10] 。该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读。

基金项目

自贡市科技计划项目:新型节能绿色照明系统的研究与开发2011G051。

文章引用

张景扩,彭龑,陈冬君,许理. 基于51单片机的智能LED台灯设计
The Design of Intelligent LED Table Lamp Based on STC89C51RC SCM[J]. 计算机科学与应用, 2016, 06(02): 85-93. http://dx.doi.org/10.12677/CSA.2016.62011

参考文献 (References)

  1. 1. 朱黎, 陈雨佳. 基于51的太阳能LED路灯的设计与实现[J]. 电子设计工程, 2014, 22(20): 181-182.

  2. 2. 魏雅. 基于PWM的LED调光系统设计[J]. 无线互联科技, 2012(8): 113-113.

  3. 3. 邵婷婷, 樊延虎, 雷文礼. 基于单片机的节能LED调光系统设计[J]. 河南科学, 2015(1): 55-57.

  4. 4. 雷飚, 李强, 姬洋庭. 基于CPLD的LED亮度调节系统设计[J]. 电子技术与软件工程, 2014(12): 168-169.

  5. 5. 舒丹阳, 熊远生, 刘侠, 等. 基于太阳能供电的LED智能路灯设计[J]. 嘉兴学院学报, 2013, 8(21): 113-114.

  6. 6. 唐颖. 单片机原理与应用及C51程序设计[M]. 北京: 北京大学出版社, 2008: 225-229.

  7. 7. 熊洁. 一中基于单片机的LED台灯设计[J]. 科技信息, 2012(3): 23-34.

  8. 8. 彭伟. 单片机C语言程序设计实训100例[M]. 北京: 航空航天大学出版社, 2010: 233-240.

  9. 9. 唐燕妮. 基于ZigBee的物联网智能LED路灯控制系统设计[J]. 科教文汇旬刊, 2015(4): 217-219.

  10. 10. 范雄杰. 基于51单片机控制的智能LED灯[J]. 科技与企业, 2015(9): 75-75.

期刊菜单