51单片机的智能照明控制系统设计
【摘要】随着科学技术的快速发展,尤其是进入21世纪以来微处理器的发展,使得单片机的应用越来越广泛,因此本设计也将单片机技术应用到了照明控制系统上,利用单片机的智能特性实现对照明灯的自动控制。在本设计中通过使用1个电位器模拟光敏电阻对光照强度的检测,通过AD芯片进行转换,将转换数据通过DAC0808芯片输出控制LED的亮度,当光线感应强度不断升过时,DAC输出电压逐渐减小,照明灯慢慢变暗直至熄灭,当光线感应强度不断降低的时候,DAC输出电压逐渐增大,照明灯慢慢点亮直至完全发光。也可以通过按键进行手动调节照明灯的亮度和定时开关照明灯,本设计极大的节约了能源的消耗。设计中选择的单片机是AT89C51,整个系统定时时间实时显示在LCD1602上。本系统硬件结构简单,操作灵活,以高级语言C语言开发,KEIL4程序开发软件为开发工具设计而成。
目录
引言 1
一、总体方案设计 2
1.单片机型号选择 2
2.显示器选择 3
(二)方案流程 4
二、硬件设计 4
(一)元件简介 4
1. PCF8591和DAC0808芯片 4
2. LCD1602液晶 6
3. 主控芯片AT89C51单片机 7
(二)系统电路设计 7
1.晶振电路 7
2.复位电路 7
3.电源电路 8
4.LCD显示电路 9
5.光线检测电路 9
6.手动调光电路 10
7.定时开关电路 10
8.照明灯控制电路 11
(三)总电路设计 11
三、软件设计 12
(一)软件设计整体思路 12
(二)系统软件设计流程图 15
四、程序调试 15
(一)软件开发环境的搭建 15
(二)PROTUES介绍 16
(三)仿真结果 17
总结 19
参考文献 20
谢辞 21
附录 22
电路原理图 22
引言
本课题来源于苏州珈玛科技自动
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
化有限公司。早期社会,那时候还没有照明灯,各家各户还只是使用煤油灯或者蜡烛。我们知道煤油在燃烧的时候会产生大量的有害气体,当人长期吸入此气体会导致各种疾病,还有最直接的就是对眼睛的伤害,因为它发出的光是非常弱的,不能自动调节光线强度。随着科技的不断进步,开始出现了电灯。传统的照明灯只是通过一个开关进行控制,无法实现光线的调节和定时。如果照明灯忘记关掉,那么就会浪费很多的能源,能源无法回收的。所以不断的浪费给子孙后代带来的危害是非常大的。鉴于传统照明灯的这些不足,我们进行了改进,将单片机及传感器技术应用到了本设计中,设计出基于51单片机的智能照明控制系统。由于单片机具有可编程性,因此可以很快的进行改进。要检测光线强弱,需要使用到光线传感器,传感器检测的信号为模拟信号,需要通过模数转换后才能被单片机使用,因此将模拟信号进行AD转换后发送给单片机处理然后控制照明灯自动调节亮度,当白天的时候照明灯不工作,如果到了晚上,光线很暗单片机控制照明灯打开,同时还能够手动的调节其亮度,还能根据不同情况设定定时时间。此设计就很好的解决了传统照明灯的不足之处。使用光线传感器检测光照强弱控制照明灯的亮度极大的节约了能源,而且通过定时,节约能源浪费的现象。真正实现了智能照明系统。本系统由于使用了单片机和传感器,因此硬件体积会非常小,适合安装在不同的场合,而且价格也低。所以研究基于51单片机的智能照明控制系统具有极大的市场利益和社会利益。
一、总体方案设计
硬件电路中采用了AT89C51单片机作为核心控制器,由于本设计采用的是Proteus仿真,所以可以使用1个电位器来模拟光线的强弱。而光线的强弱是模拟信号,需要使用一个AD转换芯片转换为数字信号才能被单片机使用。将转换后的数字信号作为DAC0808芯片的输入数据,芯片输出后通过运放电路控制照明灯的亮度,当光线感应强度不断升过时,DAC输出电压逐渐减小,照明灯慢慢变暗直至熄灭,当光线感应强度不断降低的时候,DAC输出电压逐渐增大,照明灯慢慢点亮直至完全发光。也可以通过按键进行手动调节照明灯的亮度和定时开关照明灯。我们设定的定时时间可以在LCD1602液晶上实时显示。当定时及自动调节设定好以后整个系统就进入了自动检测控制状态,实现了智能化控制。
(一)方案选择
要设计一个基于51单片机的智能照明控制系统,需要对照明灯工作时间的控制,为了节约能源还需要自动检测光照强度来控制照明,并且可以实现手动调节照明亮度的功能。要实现智能化,需要使用到单片机进行控制,由于单片机可以编写程序,通过软件设计灵活的控制整个系统运行。我们要将设定时间等信息进行一个显示,需要用到显示器,显示器有很多种,有LCD和数码管还有TFT彩屏等。要实现光照强度信息的检测,有很多种传感器,可以使用模拟器件光敏电阻,还可以使用数字型光照传感器,定时功能可以使用单片机内部定时器工作还可以使用专门的时钟芯片DS1302等,要构成一个控制系统,除了使用传感器进行检测显示以外,还需要使用到单片机进行外界设备的控制,假如光照强度过大通过DA转换器将电压调至低,使照明灯暗或者灭,相反则提高电压使其亮,同时通过按键切换实现手动自动控制功能和时间调节功能。使整个系统既能正常工作提供灯光,同时又节约能源。
1.单片机型号选择
到目前为止,实用的单片机型号已经非常多了,AT89C51,AT89S51和52,还有功能增强型的STC51系列等,对于51系列比较常用的是这些。除了51单片机还有比较常用的有AVR和STM32型号的单片机,再上去就是ARM处理器了,对于这种的单片机我们设计中不考虑,主要是由于实际当中用这个芯片浪费,而且操作比较难。因此在51和AVR还有STM32当中我们可以选择其中一种作为本设计系统内的主控制器。对于AVR单片机,现在市场上的应用已经比较少了,此芯片功能比较多,但是其价格是非常贵的,由于后面出现了STM32芯片,AVR的应用已经非常小了,因此出于成本考虑,我们设计中不采用AVR芯片。对于STM32,STM32是ARM处理器内的一种,其内部功能是非常强大的,由于本设计只需要对温度和湿度进行检测并显示和控制,因此应用的功能是非常少的。而且由于STM32配置是很复杂的,不易于操作,因此STM32芯片也不加考虑,最后可以在51单片机内进行选择,由于51系列的单片机非常多,其中STC系列的单片机,STC内存比较大,功能也比较多,可以选择此芯片,但是由于有我们需要将设计在仿真内进行模拟仿真,Proteus软件中并没有STC系列的,因此最终选择中等合适的AT89C51单片机。如图11。此单片机除了拥有51单片机全部功能外,还有就是其价格非常便宜,对于一般设计者都非常容易上手。因此本设计中采用AT89C51单片机即可满足。
2.显示器选择:
由于系统需要对时间和一些提示字符数据进行一个显示,因此电路设计中还需要一个显示装置,现在的显示装置是非常多的,有数码管,LCD液晶,还有TFT彩屏。由于我们需要对时间和字符进行显示,如果使用数码管显示的话,那么对于数码管数量要求比较多,数码管如果使用过多的话,对于单片机IO口就要占用很多,而且需要专门设计数码管驱动电路并且数码管对显示字符是非常不方便的,对于整个设计的成本及电路体积将会增大,因此我们不采用数码管显示。由于LCD液晶中有LCD1602和LCD12864;LCD1602显示的内容很多,可以显示2行,每行字符16个。LCD12864可以显示汉子还可以显示字符,可以显示4行,显示的信息非常多。由于我们只需要显示时间和一些字符,因此采用LCD1602液晶就可以。对于TFT彩屏就不需要考虑,除了它驱动复杂,还有就是对于芯片处理速度要求非常高。
目录
引言 1
一、总体方案设计 2
1.单片机型号选择 2
2.显示器选择 3
(二)方案流程 4
二、硬件设计 4
(一)元件简介 4
1. PCF8591和DAC0808芯片 4
2. LCD1602液晶 6
3. 主控芯片AT89C51单片机 7
(二)系统电路设计 7
1.晶振电路 7
2.复位电路 7
3.电源电路 8
4.LCD显示电路 9
5.光线检测电路 9
6.手动调光电路 10
7.定时开关电路 10
8.照明灯控制电路 11
(三)总电路设计 11
三、软件设计 12
(一)软件设计整体思路 12
(二)系统软件设计流程图 15
四、程序调试 15
(一)软件开发环境的搭建 15
(二)PROTUES介绍 16
(三)仿真结果 17
总结 19
参考文献 20
谢辞 21
附录 22
电路原理图 22
引言
本课题来源于苏州珈玛科技自动
*好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2#
化有限公司。早期社会,那时候还没有照明灯,各家各户还只是使用煤油灯或者蜡烛。我们知道煤油在燃烧的时候会产生大量的有害气体,当人长期吸入此气体会导致各种疾病,还有最直接的就是对眼睛的伤害,因为它发出的光是非常弱的,不能自动调节光线强度。随着科技的不断进步,开始出现了电灯。传统的照明灯只是通过一个开关进行控制,无法实现光线的调节和定时。如果照明灯忘记关掉,那么就会浪费很多的能源,能源无法回收的。所以不断的浪费给子孙后代带来的危害是非常大的。鉴于传统照明灯的这些不足,我们进行了改进,将单片机及传感器技术应用到了本设计中,设计出基于51单片机的智能照明控制系统。由于单片机具有可编程性,因此可以很快的进行改进。要检测光线强弱,需要使用到光线传感器,传感器检测的信号为模拟信号,需要通过模数转换后才能被单片机使用,因此将模拟信号进行AD转换后发送给单片机处理然后控制照明灯自动调节亮度,当白天的时候照明灯不工作,如果到了晚上,光线很暗单片机控制照明灯打开,同时还能够手动的调节其亮度,还能根据不同情况设定定时时间。此设计就很好的解决了传统照明灯的不足之处。使用光线传感器检测光照强弱控制照明灯的亮度极大的节约了能源,而且通过定时,节约能源浪费的现象。真正实现了智能照明系统。本系统由于使用了单片机和传感器,因此硬件体积会非常小,适合安装在不同的场合,而且价格也低。所以研究基于51单片机的智能照明控制系统具有极大的市场利益和社会利益。
一、总体方案设计
硬件电路中采用了AT89C51单片机作为核心控制器,由于本设计采用的是Proteus仿真,所以可以使用1个电位器来模拟光线的强弱。而光线的强弱是模拟信号,需要使用一个AD转换芯片转换为数字信号才能被单片机使用。将转换后的数字信号作为DAC0808芯片的输入数据,芯片输出后通过运放电路控制照明灯的亮度,当光线感应强度不断升过时,DAC输出电压逐渐减小,照明灯慢慢变暗直至熄灭,当光线感应强度不断降低的时候,DAC输出电压逐渐增大,照明灯慢慢点亮直至完全发光。也可以通过按键进行手动调节照明灯的亮度和定时开关照明灯。我们设定的定时时间可以在LCD1602液晶上实时显示。当定时及自动调节设定好以后整个系统就进入了自动检测控制状态,实现了智能化控制。
(一)方案选择
要设计一个基于51单片机的智能照明控制系统,需要对照明灯工作时间的控制,为了节约能源还需要自动检测光照强度来控制照明,并且可以实现手动调节照明亮度的功能。要实现智能化,需要使用到单片机进行控制,由于单片机可以编写程序,通过软件设计灵活的控制整个系统运行。我们要将设定时间等信息进行一个显示,需要用到显示器,显示器有很多种,有LCD和数码管还有TFT彩屏等。要实现光照强度信息的检测,有很多种传感器,可以使用模拟器件光敏电阻,还可以使用数字型光照传感器,定时功能可以使用单片机内部定时器工作还可以使用专门的时钟芯片DS1302等,要构成一个控制系统,除了使用传感器进行检测显示以外,还需要使用到单片机进行外界设备的控制,假如光照强度过大通过DA转换器将电压调至低,使照明灯暗或者灭,相反则提高电压使其亮,同时通过按键切换实现手动自动控制功能和时间调节功能。使整个系统既能正常工作提供灯光,同时又节约能源。
1.单片机型号选择
到目前为止,实用的单片机型号已经非常多了,AT89C51,AT89S51和52,还有功能增强型的STC51系列等,对于51系列比较常用的是这些。除了51单片机还有比较常用的有AVR和STM32型号的单片机,再上去就是ARM处理器了,对于这种的单片机我们设计中不考虑,主要是由于实际当中用这个芯片浪费,而且操作比较难。因此在51和AVR还有STM32当中我们可以选择其中一种作为本设计系统内的主控制器。对于AVR单片机,现在市场上的应用已经比较少了,此芯片功能比较多,但是其价格是非常贵的,由于后面出现了STM32芯片,AVR的应用已经非常小了,因此出于成本考虑,我们设计中不采用AVR芯片。对于STM32,STM32是ARM处理器内的一种,其内部功能是非常强大的,由于本设计只需要对温度和湿度进行检测并显示和控制,因此应用的功能是非常少的。而且由于STM32配置是很复杂的,不易于操作,因此STM32芯片也不加考虑,最后可以在51单片机内进行选择,由于51系列的单片机非常多,其中STC系列的单片机,STC内存比较大,功能也比较多,可以选择此芯片,但是由于有我们需要将设计在仿真内进行模拟仿真,Proteus软件中并没有STC系列的,因此最终选择中等合适的AT89C51单片机。如图11。此单片机除了拥有51单片机全部功能外,还有就是其价格非常便宜,对于一般设计者都非常容易上手。因此本设计中采用AT89C51单片机即可满足。
2.显示器选择:
由于系统需要对时间和一些提示字符数据进行一个显示,因此电路设计中还需要一个显示装置,现在的显示装置是非常多的,有数码管,LCD液晶,还有TFT彩屏。由于我们需要对时间和字符进行显示,如果使用数码管显示的话,那么对于数码管数量要求比较多,数码管如果使用过多的话,对于单片机IO口就要占用很多,而且需要专门设计数码管驱动电路并且数码管对显示字符是非常不方便的,对于整个设计的成本及电路体积将会增大,因此我们不采用数码管显示。由于LCD液晶中有LCD1602和LCD12864;LCD1602显示的内容很多,可以显示2行,每行字符16个。LCD12864可以显示汉子还可以显示字符,可以显示4行,显示的信息非常多。由于我们只需要显示时间和一些字符,因此采用LCD1602液晶就可以。对于TFT彩屏就不需要考虑,除了它驱动复杂,还有就是对于芯片处理速度要求非常高。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/mjsk/1240.html