基于MSP430单片机的室内灯光控制器的设计与制作Word文件下载.docx
- 文档编号:19976266
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:16
- 大小:820.47KB
基于MSP430单片机的室内灯光控制器的设计与制作Word文件下载.docx
《基于MSP430单片机的室内灯光控制器的设计与制作Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于MSP430单片机的室内灯光控制器的设计与制作Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
采集到的环境光照强度通过LCD1602显示,及时发现灯光变化情况,并且记录相关光照变化信息。
当我们设定好了灯光强度限度以后,每次灯光强度降到某一个刻度之后,都会使计数器加一。
记录在我们的1602上面。
当光照低于按键预先设计好的限度时,电路板上面的8个led小灯会全部亮起。
在完成本设计的时,要求理解本设计所实用的单片机的基本使用方法和学会使用光敏电阻和模数转换模块进行数据的转化。
在完成设计的同时完成论文的撰写。
要求所设计的室内灯光控制系统能够实现以上功能,要求可以根据书本上所学的知识进行初步的时间记录。
懂得使用电子设计相关器材,例如电烙铁,吸锡器等等。
并理解本系统各模块之间的分工合作关系。
懂得各模块芯片如何运行如何工作,以及如何使用供电模块得到我们所需要的电平,做到以学到的知识完成实践,自己完成本设计所有功能。
2室内灯光控制系统的整体设计方案
2.1室内灯光控制系统的介绍
日常生活中常用的室内灯光管理系统。
主要是集成了一些常用的环境信息采集和智能控制的管理系统。
他一般所具有的功能有灯光的软开关调整灯光亮度和遥控开关灯光等。
而本系统所设计的灯管管理系统主要由三部分组成。
分别是由显示器组成的显示模块,由按键阵列组成的输入模块以及本系统所使用的灯光感应模块。
由于本系统需要对光线进行感应,所以适当的挑选了光敏电阻作为感应光线的器件。
其在灯光发生变化时会改变自身阻值,而导致电压的改变。
可以巧妙地配合使用数模转换芯片。
我们可以将灯光的变化信息传递到单片机进行处理后显示在显示屏中。
2.1.1室内灯光控制系统的类型
室内灯光控制系统的类型大致可分为:
(1)通过感应控制室内灯光的开关
这类系统通过感应固定范围内的情况变化来决定是否将照明灯光打开或者关闭。
当其检测到灯光较暗已经不能分清事物时,这种控制系统随即控制灯光打开,提供照明。
这种系统仅仅是使用了光线传感器或者光敏电阻来进行信息的采集。
(2)通过感应外界亮度控制室内亮度
在一些舞台等场合或者某些设施中。
有些情况需要灯光来营造气氛,但是随着情况的变化,光线也随之变化,使用这种系统的还有旋转餐厅。
当其旋转到较亮的地方时,此系统可以将周围灯光逐渐条件到较暗的情况下,给人以舒适的环境。
(3)通过感应声音和光线的声控
这样的室内灯光控制系统通常的情况下使用在日常生活的走廊中。
在他们设计时,主要是为了晚上当行人路过时给行人提供一些帮助。
这种声控系统一般有光敏电阻和声控元件组成。
白天,光敏电阻检测到有光照,系统则不驱使灯光打开,晚上当灯光系统检测不到光照时,打开声控元件。
当有声音经过时打开灯光提供照明。
(4)复合型的室内灯光控制系统
在有些系统中,需要根据环境的切换实时切换自己的功能。
在目前的产品中。
智能灯泡做到了以上系统的所有功能。
使用他们只需要用固定的APP进行简单的控制。
在设计和制作的过程之中应该认真思考使用什么样的灯光控制系统。
并不是全部的所灯光控制系统都是我们可以成功实现的。
也并非适用于我们所设计的环境。
所以要根据本设计的功能要求,选取合适的方案,才能到达准确完成本设计的目的。
2.1.2光线传感器的原理
在这套系统之中光线传感器中的主要元件是光敏电阻。
光敏电阻没有极性。
他和普通的电阻一样使用。
但是其在光照的情况下,其内部可移动的电子增加,使得其导电能力上升。
随着光照强度的增加,其光敏电阻的阻值越来越小,其两端的电压变小,电流变大。
通过检测其变化程度得到目前光线变化的数据。
光线传感器的使用其实非常的普遍和常见,在当今的社会生活中,它会被用在智能上面。
当光线发生一定的变化时候,而且比某一固定的值高一些的时候,它就会将外面的光线较强的的信息传送的系统的外部,请求系统去调高本显示器的显示亮度,或者在使用时,如果原本是倒置状态,在系统运行时,系统检测到的位置从倒立变成直立,并且光线传感器的数据增加。
则系统可以经过情景模式分析为被从口袋里取出。
这时屏幕将会被系统将自动点亮。
2.2设计方案
2.2.1方案设计思想
本系统利用MSP430单片机,光线感应使用了单纯的光敏电阻配合MSP430自带的模数转换通道使用,使用手动按键来控制系统的监控下线,同时包括LCD1602构成的显示模块。
显示模块显示目前光照的强度和到达光线下限的次数,本系统可以实现声光报警的功能。
由于本系统需要使用光敏电阻来感应光线变化。
所以本系统为了将光敏电阻所得到的模拟信号转化成为数字信号,将使用MSP430自带的模数转换通道。
本系统使用USB导线提供电源。
本系统使用光敏电阻来感应光线的变化。
结合MSP430自带的模数转换通道来得到相关数字信号。
随后将数据通过导线传递到单片机中。
单片机接收光敏电阻传递回来的数据后,首先将其按照固定格式显示到LCD1602中,随后判断其数值有没有超过本设计运行时所设定的数值。
如果超过数值了,则LCD1602上的数目进行加一。
当需要重新测定环境的光线时,按下按键矩阵中左下角的按键则系统记录的光照信息清零。
在程序运行时,我们可以通过调节程序中的灯光强度的大小设置新的灯光强度下限。
每当灯光强度没有超过我们预先设计的固定数值时,msp430单片机将会控制计数器自动加1,与此同时8个LED灯将会全部亮起。
系统工作原理图2.1所示。
图2.1系统工作原理图
2.2.2系统总体框架
根据系统功能要求。
本系统需要使用到三个模块。
分别是使用了光敏电阻和数模转换芯片的数据采集模块。
使用了MSP430的数据的中央控制模块和使用LCD1602的显示模块。
该系统框架如图所示。
图总体框架图
系统的工作原理:
数据采集模块通过检测光线的变化,并将光线强度的流明信号通过MSP430自带的模数转换通道转化为可以被单片机处理的数字信号。
随后使用单片机判断数据是否到达所设定的限制。
当超过了限制以后,将更改后的数据打印到显示模块中。
我们完全可以通过按键控制模块输入一个新的限制值。
3.msp430单片机的室内灯光控制系统的硬件设计
3.1元器件选型及元器件参数介绍
3.1.1单片机选型及参数
本系统的核心元件是单片机和光敏电阻。
在选择单片机时。
我们选择了其内部容量可以到达本设计要求大容量芯片。
与此同时还要求这块芯片可以支持ad转换。
通过老师和同学的推荐。
最后选用单片机MSP430。
MSP430管脚图如图所示。
图MSP430管脚图
3.1.2光敏电阻
本系统使用光敏电阻来作为光照传感器使用。
这样搭配的优势是:
制作的成本在一定的程度上可以有效地减小,在另一方面通过光敏电阻的研究能够升华自身的技能。
本系统较其他传感器而言,使用了简单的两种方式,完成了其他昂贵传感器所共有的功能。
市面上销售的光照传感器一般都是在接收光照后,先进行光电转换将光照的强度转化为相应的电压值。
随后在其后连接相应的传感器进行数据的处理。
光照数据通常会被随后的处理模块处理掉。
同时光照传感器一般可将光照信息转化为0-2V的电压数据或者4-20MA的电流数据。
太阳能发电的原理也可以被另外一种光线传感器巧妙高效地使用。
在原本安装光敏元件的位置安装了一小块太阳能板,通过太阳能板接收紫外线光照产生的电流来测量紫外线强度。
这种传感器一般都带有自己的数据转换芯片。
光敏电阻如图。
图光敏电阻
3.1.3显示模块
Lcd1602是一种在市场上使用非常普遍的液晶屏。
随着时代的发展,虽然LCD1602现在在电子设计中的地位逐渐被其他LCD所取代。
但是同属于字符液晶,LCD1602的资料要多一些且HD44780有使用经验。
所以本设计选用LCD1602来提供显示功能。
它是一块专门用于显示字符的点阵lcd屏。
目前多种行模块可供选择。
也有背光和不带背光两种。
LCD1602共有16个引脚。
略去VSS和VDD。
LCD1602的第三引脚为比照度调整引脚。
此引脚设置不当可能会造成”鬼影”现象。
第四引脚为寄存器选择引脚。
通过其高低电平控制目前正在传输的是数据还是命令。
第五引脚为读写信号线。
第六引脚为始能引脚。
其次第7到14为8位双向数据线。
最后两个为背光电源。
本设计开发板本身不自带LCD1602。
所以本设计使用多孔插槽安装LCD1602。
。
图LCD1602的外观
3.1.4模数转换模块
本系统中由于使用光敏电阻作为测量光照强度的工具。
其智能反馈给我们电压的变化,而我们使用的单片机只能处理数字信号。
所以我们需要使用模数转换工具将电阻反馈给我们的模拟信号转化为数字信号。
MSP430自带的模数转换模块。
MSP的模数转换通道的转换频率要高于ADC0832的分辨率的水平,可以满足模拟转换的一般要求。
模数转换模块数据读取流程如图3.4所示。
图模数转换模块数据读取流程图
3.2系统电路设计
3.2.1电源电路
由于本系统使用的处理器为MSP430。
所以本系统需要为其提供3V供电。
本系统使用专用5V电源接口供电。
在接口中使用电源管理芯片来将系统供电分别分成5V和3V供电。
图电源电路
3.2.2单片机最小系统
MSP430单片机需要有单片机最小系统提供其运行的根本要求。
其中包括电源供电,防止程序崩溃的复位系统和提供其运行时钟的晶振电路。
单片机最小系统如图所示。
图单片机最小系统
在系统需要重新开始时和系统发生错误时,单片机的复位功能提供了解决的方法。
其连接方法是给其固定的低电平。
当需要复位时使用高电平进行复位。
复位电路在电子设计中经常被使用。
同时各种设备的复位方法也有很多。
单片机的复位方法比方看门狗WatchDog、软件复位等等。
晶体振荡器经常被使用来提供时钟信号或者称之为晶振。
门电路的正常工作的首要因素就是在系统中要具有晶振提供时钟震荡,单片机只有在拥有晶振信号的情况下才能正常工作。
晶振的作用非常大,例如在程序中需要使用晶振来确定某个程序执行的时间。
在某些情况之下,可以知道某指令需要几个周期来执行,执行一个程序或者一个函数具体所需要花费的精准时间可以通过晶振参数可以知道。
通常晶振也会被用在一些电脑器材当中。
晶振的时钟信号经过倍频器可以将频率提高到很高的情况。
然后供应一些要求频率高的器件使用。
当然,高频率的时钟也可以通过分频器进行降频。
并且同一个时钟信号可以降频成多个时钟源,供应多个外接设备使用。
3.2.3按键设置电路设计
电路共使用了3个键位控制,在这套开发板设计中存在四个基本的按键:
〔1〕S1键:
开关S1键是设置光照强度的界限值。
按住增加;
〔2〕S2键:
开关S2键是报置光照强度的界限值。
按住减小;
〔3〕S3键:
开关S3键是清楚当前的计数值。
按住两秒起效;
3个按键分别与单片机的P1。
1-P1。
3口相连。
系统按键设置电路如图所示。
图按键电路
3.2.4显示电路
显示当前光照强度。
光照强度限制数值和计数。
显示电路如图所示。
图显示电路
4室内灯光控制系统软件设计
4.1软件开发环境
次毕业设计运用的是C语言。
在MSP430单片机中,编写相关的程序允许使用C语言和汇编语言。
但是汇编语言有其独有的特点,那就是不好读懂不方便理解。
所以本系统不使用汇编语言。
C语言比较汇编语言,其优势最明显的是本系统可以进行模块化编程。
各个不同的功能能够完美的封装成不同的函数。
保证每个函数只完成一件事。
通过多模块的搭配使用最终完成设计。
C语言和其他高级语言相比,其优势在于高级语言如果要运行在电脑上,首先要安装运行环境,例如Java我们就需要安装java的jdk。
通常情况之下,C语言可以在任何系统中直接运行。
而且C语言同时也可以运行在任何芯片上。
在本设计中使用的MSP430单片机,无法在其上面运行系统。
所以无法搭建供Java等高级语言所运行的环境。
综合考虑,本设计使用C语言完成软件部分代码的编写。
4.2室内灯光控制系统主程序流程图
本系统的使用程序采用模块化设计方法。
将主要功能分成多个模块,分别是对光线进行采集的光线接收模块,对数据进行处理的单片机控制模块,按键输入模块和显示模块。
本程序运行的基本流程是:
单片机开始运行后,第一步依据相关的程序进行相初始化。
如配置变量和结构体的申请。
当初始化结束时,当我们需要设置光照强度的限制时。
只需要按住按键的第一个按键,数值就会增加。
按住第二个,设置的光照强度限制就会减小。
长按第三个按键则显示技术部分会被清零。
因为本设计采用长按的方式进行设计,所以本系统在开始时初始化了定时器子程序。
通过使用计时器子程序做到了防止硬件抖动的情况。
按照程序采用循环的方法读取AD转化模块传递回来的数据。
此数据来自光敏电阻所传递过来的模拟信号。
当接收到信号后,首先将其数据经过处理传输到显示模块显示当前光照强度。
单片机继续进行判断,如果其数值超过系统设置的亮度限度。
则通知显示模块在其显示计数部分加一。
最后返回到初始化,并循环执行这个过程。
其大致流程流程图如图所示。
图系统流程图
5系统调试
5.1硬件调试
在硬件调试期间,第一步可以想方法找到开发板的电路图,通过对电路图和开发板的分析比对,确定电路板是否有一定的损坏。
同时,因为开发板将430的托盘安插在开发板上,所以首先使用万用表对430上的各个引脚到开发板上的连接点进行了检查。
检查每个点是否都正常导通。
随后使用酒精对整个电路板进行清洗。
同时查看各元件有没有松动或者损坏。
防止在软件调试过程中运行发生错误有找不到软件出问题的原因的情况。
随后,找到电路板的案例程序,可以将程序分别下载到电路板进行各模块的检测。
分辨检测led数码管是否显示正常,有无诡影出现。
随后对此系统的蜂鸣器模块进行检查,通过下载对应的pwm程序,观察蜂鸣器是否能够正常发出声音。
最后,下载按键程序对案件模块进行检查。
本开发板使用16个按键。
由4*4矩阵组成。
每排每列4个。
程序中按照从左到右从上到下的顺序进行排列。
当按下案件后。
在led数码管上会显示当前按下按键的编号是多少。
反复检测多次,此电路板没有任何问题。
接下来可以将本设计的程序下载到开发板进行调试。
调试中遇到一些问题,比方:
本设计在设计时。
按照思路。
按键没按下一次。
光照强度限制增加一。
每按下第二个按键时光照强度限制减小以。
都是按下后数值一直在变化。
因为设计要求时按下案件后只进行一次变化。
经过思考和询问老师后得知。
在研究的过程中发现程序运行的判断方法存在问题。
例如将案件按下后。
p1。
1将会被置1。
而在程序循环检测中。
只要此位位1。
就在限度上增加一。
因为程序运行的很快。
当我们按下后循环就已经发生了很多次。
所以造成了数值上升很快。
随后经过对程序的更改。
P1。
1的数值每变化一次只进行一次增减。
但是再进行限制增减的过程中。
按下按键之后数字会怎加10到20不等。
且每次的数字不相同。
再次经过询问老师得知。
这是因为硬件抖动造成的。
而解决硬件抖动的方法有软件防抖和硬件防抖。
MSP430本身并不自带硬件防抖功能。
所以听从老师的意见。
在程序中添加了软件防抖模块。
在后来的调试中。
因为需要将限制设置为一个比较大的数目。
在按下按键的过程中需要反复按下许多次,显然这种按键方式不适合使用在本系统中。
第一按下几百次按键很消耗时间。
如果本设计是一个对时间要求很强的系统。
那么一两百次的按键可能导致措施捕捉数据的时机。
其次。
在使用过程中对这种按键按下一两百次会伤到手指。
经过思考。
决定将定时防抖功能调整使用在这个问题上。
既每当按键按下一定时间以后。
数字开始连续增加或者减小。
5.2软件调试
本设计在进行软件编码时。
主要使用的是模块化设计。
在程序中的模块分别含有。
从模数转换通道取得光照数据的A/D配置和转换模块。
和进行数据显示的LCD子程序。
在LCD子程序中又含有更新当前光照强度。
更新设置光照限度函数和更新技术的函数。
在按键程序中包含定时子程序。
用来进行软件防抖操作。
在本设计的编写软件过程中碰到了一些问题:
本系统使用C语言进行编程。
在本系统进行代码的编写时。
从网上寻找LCD1602的相关资料和配置程序。
但是将程序下载到系统中使用却出现了一些问题。
经过同学的指导。
得知在程序的头文件中修改相应的引脚后就能够成功地运行了。
在程序调试期间。
有时在查看自己以前写的程序时。
发现阅读时不理解程序,只能重新编写相应的程序了。
经过总结得知。
在编写程序时。
最好实现想好总体程序的框架。
然后再编写过程中标准自己的变量名和函数名。
方便以后对自己的代码进行阅读。
同时也给别人的理解提供方便。
经过一次又一次的失败体会的写程序时要警惕:
程序应该配合上合适的注释。
在注释中可以记录例如程序框架。
执行流程等,这样每一步的程序的目的一目了然也可以进行程序问题的定位,而且也易于移植;
5.3系统测试结果
进过对各个模块进行单独运行和对各模块程序进行整合。
各模块的功能已经实现。
系统可以稳定运行。
为了测试设计效果。
对本系统进行了模拟测试。
首先为系统连接上电源。
然后按下系统的电源开关。
这是在Lcd1602上将会直接显示当前的光照强度和光照限度000还有计数器000。
同时,然后我们按下强度限制设置按键。
等待片刻。
待显示器上的数字变成我们需要的数值时。
松开按钮。
这是使用一块板将光敏电阻遮挡住以后。
可以看到计数器增加一。
经过多次遮挡次数逐渐增加,随后按下键3。
清楚当前计数信息后。
按下键2。
将光照强度限制调低。
然后重新用遮光板遮住光敏电阻。
显示器上的计数数据加一。
在测试过程中,系统的lcd液晶显示屏总是显示此刻的光照强度。
实验结果显示,该系统能够对光线的明暗做出反应。
并且能及时的显示在屏幕上。
当怪招强度低于设置的光照强度限制时。
计时器可以准确计数。
本系统基本完成了设计要求。
6结论
6.1总结
从本设计开始书写开题报告开始,同学们和老师一直无私地帮助我。
教会我如何查阅资料。
如何从信息中提取自己想要的内容。
教会我一些焊接技巧和程序编写技巧。
帮我确定设计方案和推荐我使用开发板。
在编写程序的过程中,和同学一起解决问题使我学到了交流可以使大家共同进步。
交流是我学习的一种方法。
本系统在仅仅使用了一个光敏电阻的基础上,实现了对光照强度的监控和记录,与此同时还可以将信息实时地显示在屏幕上。
这套设计之中各模块正常有序的运行,验证了本系统设计的正确性。
本文设计的室内灯光控制系统实现了系统要求功能,按照功能要求完成了各项设计,本系统能够在光线变化时准确记录光照强度信息和光照到达某一个水平的次数。
并且提供相关控制接口。
为了完成本次设计。
我复习了大学以来学习的所有知识。
并且将以前薄弱的一些科目重新学习了一遍。
以前书上有很多不明白的地方。
通过这次毕业设计的历练,通过这次设计的动手实践,通过对知识的沉淀,我逐渐明白了之前似懂非懂的知识和方法。
为了完成本设计,期间我学会了如何到图书馆查阅资料和如何看懂电路图。
本次设计的完成将是我人生之中浓墨重彩的一笔。
致谢
这套系统软硬件相结合准确高效的实现了所有的功能,通过对MSP430软硬件的开发和研究,我们可以对本科阶段所学到的知识进行一次综合的检测,硬件电路的焊接和软件的编程对电子科学的研究者也是一次极好的锻炼,MSP430单片机性价比及其集成度高,非常适合研究和开发,本人通过一段时间的实验和学习,对MSP430单片机的结构和软件编程已经有了一定的了解
此题目是基于MSP430单片机的室内灯光控制器的设计与制作,在几个月的设计和制作过程中,本人遇到过不少的难题,尤其是在电路的焊接以及程序的编写和调制方面。
通过指导老师和周围同学的热情帮助,我才能够攻克一个又一个的专业难关并最终实现了规定的所有功能,通过老师的耐心指导和同学的无私帮助我学到了许多崭新的知识,并从毕业设计的制作过程中深刻的体会到了电子科学的奥妙之处,也激发了我进一步学习的热情和兴趣。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430 单片机 室内 灯光 控制器 设计 制作