单片机LED灯调光毕业设计论文完整版Word下载.docx
- 文档编号:21828557
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:316.89KB
单片机LED灯调光毕业设计论文完整版Word下载.docx
《单片机LED灯调光毕业设计论文完整版Word下载.docx》由会员分享,可在线阅读,更多相关《单片机LED灯调光毕业设计论文完整版Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
四、主要设计方法:
1、电路板的硬件、软件2、电路板能完成的功能
主要参考文献、资料:
计划进度:
1、2012年03月15日——2012年03月22日选论题
2、2012年05月23日——2012年05月05日资料搜集,进行系统设计
3、2012年09月25日——2012年10月10日购买电路板元器件,焊接电路板
4、2012年10月13日——2012年10月16日撰写论文初稿
5、2012年10月17日——2012年10月20日修改,定稿打印
6、2012年12月14日答辩
指导教师签字:
年月日
毕业设计评定书
指导教师评语:
指导教师建议成绩(60%)
年月日
答辩小组建议成绩(40%)
组长签字:
答辩委员会最后审定成绩
主任签字:
备注
摘要
现当今,单片机的应用无处不在。
利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。
它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51单片机及少数外部点路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。
通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。
LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。
作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。
本文介绍了以STC10F08为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗的控制调节的效果,实现对LED灯的PWM调光控制。
关键词:
单片机PWM硬件系统软件系统控制程序结构
1前言
二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑通常是指个人计算机,简称PC机。
还有一类大多数人不怎么熟悉的计算机,这就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路即可进行简单运算和控制。
它的出现是近代计算机技术发展史上的一个里程碑,因为它体积小,通常都藏在被控机械的“肚子”里,起着有如人脑的作用。
单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
它的这些优点为学习、应用和开发提供了便利条件。
同时,学习使用单片机了解计算机原理与结构的最佳选择。
现在,这种单片机的使用领域已十分广泛。
彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。
不但如此,他还能大大地提高这些产品的智能性、易用性及节能性等主要性能指标,在给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量,同时,也在很大程度上降低了生产的成本。
2单片机基础知识
2.1单片机的定义
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲,一块芯片就成了一台计算机。
它体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。
MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条。
MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。
MCS-51系列单片机主要包括8031、8051和8751等通用产品。
2.2单片机的组成
2.2.1总线
我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两?
器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?
这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。
器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址才能用,分配地址也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。
2.2.2数据、地址、指令
将这三者放在一起的原因,是由于这三者的本质都是一样的—数字,或者说都是串‘0’和‘1’组成的序列。
换言之,地址、指令也都是数据。
指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。
地址:
是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的。
数据:
这是由微理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1、地址(如MOVDPTR,#1000H),即地址1000H送入DPTR。
2、方式字或控制字(如MOVTMOD,#3),3即是控制字。
3、常数(如MOVTH0,#10H)10H即定时常数。
4、实际输出值(如P1口接彩灯,要灯全亮,则执行指令:
MOVP1,#0FFH,要灯全暗,则执指令:
MOVP1,#00H)这里0FFH和00H都是实际输出值。
又如用于LED的字形码,也是实际输出的值。
理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来行了。
2.2.3P0/P2/P3口功能
初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动,不需要指令来转换。
如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们挥作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。
事实上‘不能作为通用I/O口使用’也并不能将其作为通用I/O口使用。
你完全可以在指令中按排一条SETBP3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。
2.2.4程序执行过程
单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:
在系统的ROM中一定要存在‘0000’个单元,并且在‘0000’单元中存放的一定是一条指令。
2.2.5堆栈
堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特的数据传输指令,即‘PUSH’和甈OP’,有一个特殊的专为其服务的单元,即堆栈指针SP每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值基础上)动减1。
由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时用一条MOVSP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。
一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数的浑乱。
不作编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。
当设置好堆栈区,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情下编程者不会把它当成通内存用了。
2.2.6开发过程
这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件下面就是编写软件的工作。
在编写软件之前,首先要确定一些常数、地址,事实这些常数、地址在设计阶段已被直接或间接地确定下来了。
如当某器件的连线设计好后,其地址也就确定了,当器件的功能被确定下来后,其控制字也就被确定了。
然后用文本编缉器(如EDIT、CCED等)写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。
运行正确后,就可以写(将程序固化在EPROM中)。
在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别种格式的文件,只要将此文件调入即可写片。
在此,为使大家对整个过程有个认识,举一说明:
ORG0000HLJMPSTARTORG040HSTART:
MOVSP,#5FH;
设堆栈LOOP:
NOPLJMPLOOP;
循环END。
3PWM基本概述
3.1PWM简介
脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。
PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。
随着电子技术的发展,出现了多种PWM技术,其中包括:
相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等。
3.2PWM控制LED亮度原理
对于控制LED灯由亮到暗或由暗到亮,采用的是脉宽PWM法。
它是把每一脉冲宽度均相等的脉冲列作PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。
可以通过调整PWM的周期、PWM的占空比而达到控制电流的目的。
这次设计利用51单片机产生占空比可变的矩形波,当产生此矩形波的I/O通过滤波电路再与LED灯相连接后,由于输出矩形波占空比不断变化,那么一个周期内有一部分时间LED导通,一部分时间截止,从整体来看有一个平均电压,因为PWM信号频率周期很高,我们无法通过肉眼来观察到每一个周期LED灯亮灭的变化过程,所以通过平均电压的方式来决定LED灯的亮的程度。
随着波形占空比的不断变化,LED灯也会有着由暗到亮或由亮到暗的不断变化。
如图如图3-1是单片机通过PWM调节灯光亮暗基本原理电路图:
图3-1单片机通过PWM调节灯光亮暗基本原理电路图
4硬件结构
4.180C51电路结构
80C51的内部结构及其外围电路如图4-1,其特点如下:
图4-180C51及其外围电路
●工作电压:
VDD为2.6~3.6V(CPU),VDDH为VDD~5.5V(I/O);
●CPU时钟为0.32~49.152MHz;
●内置存储器:
SRAM为2KB,内存Flash为32KB;
●可编程音频处理;
●2个16位可编程定时器/计数器;
●7通道10位ADC(内置麦克风放大和自动增益控制功能);
●2个10位DAC;
●32路可编程通用输入输出端口;
●串行输入输出接口;
●低电压监测/低电压复位功能;
●14个中断源可来自定时器、外部时钟输入、键唤醒等;
●内置在线仿真电路ICE。
4.2PWM驱动电路结构
PWM电路的特点是频率高、效率高、功率密度高、可靠性高、然而由于开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。
如图4-2为PWM驱动电路结构。
图4-2利用PWM信号控制LED亮度的驱动电路
5程序设计思路与方案
5.1程序设计思路
采用单片机定时器产生PWM波,然后控制LED灯的亮度。
首先对定0赋初值,使之中断(定时)5ms,再让其中断10次(次数可设定,只是输出波占空比变化快慢不同而已),再定义两个变量cc=0,ee=10H(不同的值会有不同的周期,即PWM波的周期,周期不能太大,否则会闪烁)。
cc++,ee--,当cc=10H,ee=0时再cc--,ee++。
在主程序中令P2.0口当cc从0到10H的时间为高电平,而ee从10H到0的时间为低电平,由于定时器的中断,cc不断增加,ee不断减少,则高电平时间越来越长,低电平时间越来越短(总周期不变)。
为了反映出定时器中断对脉冲变化的影响,在P1.0口接一按键,如图5-1,按住时P1.0低电平,中断次数25次,125ms脉冲变化一次,可看到波形占空比变化较慢,按键松开时P1.0高电平,中断10次,则波形占空比变化较快。
两个三极管有驱动作用,电感和电容起滤波作用,保证LED不至于太过闪烁而看不清亮度变化。
图5-1实验仿真电路图
5.2程序总体设计方案
基于C51单片机和PWM调光的LED台灯以STC10F08XE作为主控芯片,设置为手动控制,分为两档,一档增加亮度一档降低亮度,通过输出不同的PWM占空比对LED的电流进行控制,从而实现了对光度的调节。
5.2.1主控电路
主控电路采用STC10F08XE作为主MCU。
STC10F08XE是一款八位,片内有ROM/EPROM的单片机,其硬件结构具有功能部件种类全,功能强等特点。
这种芯片构成的最小系统简单、实用﹑可靠,用STC10F08XE单片机构成最小系统时,只要将单片机接上时钟电路和复位电路即可,如图5-2所示。
本设计所选用的晶振为12MHZ,晶振电容为30PF。
图5-2STC10F08XE单片机主控电路
5.2.2LED驱动
LED的亮度受电流控制,通过控制电流调节LED灯的亮度。
利用公式
可知,利用调整PWM不同的占空比
就可以控制电流的大小。
电流通断的变化用NMOS管K2717实现,三极管9014提供驱动K2717的电流,PWM由P2.0输出,低电平有效。
如图5-3所示:
图5-3LED驱动电路
5.2.3手动控制
手动控制分为两档,对应与KEY1与KEY2两个按键(KEY3、KEY4无实际功能)。
如下图5-4所示。
图5-4手动控制电路
6系统软件设计
6.1系统软件设计
该系统控制程序主要包含系统初始化程序、实时时钟芯片处理程序、键盘检测与处理程序、闹钟中断以及定时器产生PWM程序构成。
6.2控制程序代码
/*******************************************************************/
//利用定时器控制产生占空比可变的PWM波
//按K1,PWM值增加,则占空比减小,LED灯渐暗。
//按K2,PWM值减小,则占空比增加,LED灯渐亮。
//当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。
/*********************************************************/
#include<
reg51.h>
intrins.h>
sbitK1=P3^2;
//增加键
sbitK2=P3^3;
//减少键
sbitBEEP=P2^3;
//蜂鸣器
unsignedcharPWM=0x7f;
//赋初值
voidBeep();
voiddelayms(unsignedcharms);
voiddelay(unsignedchart);
voidmain()
{
P1=0xff;
TMOD=0x21;
TH0=0xfc;
//1ms延时常数12M
TL0=0x18;
//频率调节
TH1=PWM;
//脉宽调节
TL1=0;
EA=1;
ET0=1;
ET1=1;
TR0=1;
while
(1)
{
do{
if(PWM!
=0xff)
{PWM++;
delayms(10);
}
elseBeep();
}
while(K1==0);
=0x02)
{PWM--;
while(K2==0);
//定时器0中断服务程序.
voidtimer0()interrupt1
TR1=0;
TL0=0x66;
TR1=1;
P1=0x00;
//启动输出
//定时器1中断服务程序
voidtimer1()interrupt3
P1=0xff;
//结束输出
//蜂鸣器子程序
voidBeep()
unsignedchari;
for(i=0;
i<
100;
i++)
delay(100);
BEEP=!
BEEP;
//Beep取反
}
BEEP=1;
//关闭蜂鸣器
delayms(100);
//延时子程序
/*********************************************************/
voiddelay(unsignedchart)
{
while(t--);
voiddelayms(unsignedcharms)
{
while(ms--)
for(i=0;
i<
120;
i++);
7总结
计算机成为我们生活的主流已是家喻户晓的事情,然而,伴随着计算机的举起,单片机也随之飞速的发展,单片机以完成某一个逻辑功能的芯片而得名。
具体一点说,是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件,为单片机的灵活,方便,结构简单奠定了基础,自身通过程序的编写、测试、运行,来完成一个具体的功能,便此,单片机运用到了各个领域。
单片机LED灯调光只是单片机的一个小小的应用。
通过本次设计我发现,整个单片机控制音乐播放程序便不复杂,函数之间相互牵扯。
标志位在程序的实现过程中扮演着非常重要的角色,正是依靠这些标志位,程序才能很好地实现各个功能之间的切换,而标志位的值是通过软件模块返回的参数修改的。
因此程序的实现过程应该是阅读参数→修改标志位→发送指令→翻译→控制发生器→驱动LED灯变换,整个过程一气呵成。
本次设计是基于80C51单片机和PWM调光的LED灯,以STC10F08XE作为主控芯片,通过输出不同的PWM占空比实现了对光度的手动调节。
该LED灯具调光电路有效地调节了8个LED灯的明暗,并且在最明与最暗时均有蜂鸣器报警。
同时,在本次课程设计中,主要有以下体会:
1、对单片机的基础知识有了进一步的巩固与加深。
2、对LED的驱动有进一步的了解,明白了如何对LED进行规定电流驱动,并通过输出不同的占空比来调节LED灯的亮度;
3、在设计前的准备过程中与设计实验的过程中收获了经验,锻炼了能力,开阔了视野;
4、完成实验设计后,提高了动手能力,提高了学习新知的意识,在配置实验器材时拓展了思路,增长了见识。
5、查阅资料和阅读相关文献的重要性,充分利用网络这个大的资料库。
6、向同学请教的重要性以及团队协作的重要性。
7、对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。
致谢
这块电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 LED 调光 毕业设计 论文 完整版
![提示](https://static.bdocx.com/images/bang_tan.gif)