毕业设计基于STC10F08单片机的灯具调光器设计_第1页
毕业设计基于STC10F08单片机的灯具调光器设计_第2页
毕业设计基于STC10F08单片机的灯具调光器设计_第3页
毕业设计基于STC10F08单片机的灯具调光器设计_第4页
毕业设计基于STC10F08单片机的灯具调光器设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、石家庄邮电职业技术学院毕 业 设 计(论 文) 基于STC10F08单片机的灯具调光器设计 2013 届 电信工程系 系专业班级学号姓名指导教师完成日期石家庄邮电职业技术学院毕业设计任务书姓 名学 号专 业班 级毕业设计题目基于STC10F08单片机的灯具调光器指导教师姓名职 称工作单位毕业设计内容、基本要求、重点研究问题、主要设计方法(或步骤):一、设计内容:利用STC10F08单片机调节灯具亮度二、基本要求:以介绍开发的板子展开,然后从硬件、软件、调试等方面进行说明和介绍,使别 人能认识并了解这块电路板的作用。三、重点研究内容:电路板的硬件结构和组成、电路板的软件使用四、主要设计方法:1、

2、电路板的硬件、软件 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日 答辩指导教师签字: 年 月 日摘 要现当今,单片机的应用无处不在。利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效

3、果的方法最为广泛。它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51 单片机及少数外部点路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。本文介绍了以STC10F08为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗

4、的控制调节的效果,实现对LED灯的PWM调光控制。关键词:单片机 PWM硬件系统 软件系统 控制程序结构目录1 前 言12 单片机基础知识22.1 单片机的定义22.2 单片机的组成23 PWM基本概述43.1 PWM简介43.2 PWM控制LED亮度原理44 硬件结构54.1 80C51电路结构54.2 PWM驱动电路结构65 程序设计思路与方案75.1 程序设计思路75.2 程序总体设计方案76 系统软件设计96.1 系统软件设计96.2 控制程序代码97 总 结12致 谢13参考文献131 前 言二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑通常

5、是指个人计算机,简称PC机。还有一类大多数人不怎么熟悉的计算机,这就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个里程碑,因为它体积小,通常都藏在被控机械的“肚子”里,起着有如人脑的作用。单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的这些优点为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、V

6、CD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。不但如此,他还能大大地提高这些产品的智能性、易用性及节能性等主要性能指标,在给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量,同时,也在很大程度上降低了生产的成本。2 单片机基础知识2.1单片机的定义单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。它体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。单片机按用途大体上可分为两类,

7、一种是通用型单片机,另一种是专用型单片机。MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条。MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。MCS-51系列单片机主要包括8031、8051和8751等通用产品。2.2 单片机的组成总线我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串

8、行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。器件的数据线也

9、就被称为数据总线,器件所有的控制线被称控制总线。在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址才能用,分配地址也是以电信号的形给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。 数据、地址、指令将这三者放在一起的原因,是由于这三者的本质都是一样的数字,或者说都是串0和1组成的序列。换言之,地址、指令也都是数据。指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯设计者规定好,不可更改,外部的单元可以由

10、单片机开发者自行决,但有一些地址单元是一定要有的。数据:这是由微理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:1、地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。2、方式字或控制字(如MOV TMOD,#3),3即是控制字。3、常数(如MOV TH0,#10H)10H即定时常数。4、实际输出值(如P1口接彩灯,要灯全亮,则执行指令:MOV P1,#0FFH,要灯全暗,则执指令:MOV P1,#00H)这里0FFH和00H都是实际输出值。又如用于LED的字形码,也是实 际输出的值。 理解了地址、指令的本质,就不难理解程序运行过程中

11、为什么会跑飞,会把数据当成指令来行了。P0/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口使用。你完全可以在指令中按排一条S ETB P3.7的指令,并且当单片机执行

12、到这条指令时,也会使P3.7变为高电平,但使用者不会这么做,因为这通常这会导致系统当溃(即死机)。 程序执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为0000,所以程序总是从0000单元开始执行,也就是说:在系统的ROM中一定要存在0000个单元,并且在0000单元中存放的一定是一条指令。 堆栈堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一份,特殊的是它存放和取用数据的方式,即所谓的先进后出,后进先出,并且堆栈有特的数据传输指令,即PUSH和甈OP,有一个特殊的专为其服务的单元,即堆栈指针SP每当执一次 PUSH指令时,SP就(在原来值的基

13、础上)自动加1,每当执行一次POP指令,SP就(在原来值基础上)动减1。由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP值,就可以把堆栈设置在规定的内存单元中,如在程序开始时用一条MOV SP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。一般程序的开头总有这么条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元 开始往后8H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数的浑乱。不作编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。当设置好堆栈区,并不意味着该区域成为一种专用内存,它还是可以

14、象普通内存区域一样使用,只是一般情下编程者不会把它当成通内存用了。 开发过程这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编缉器(如EDIT、CCED 等)写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写(将程序固化在EPROM中)

15、。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够 识别种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一说明:ORG 0000H LJMP START ORG 040H START:MOV SP,#5FH;设堆栈LOOP:NOP LJMP LOOP;循环 END。3PWM基本概述3.1PWM简介脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。脉冲宽度调制是一种模拟控制方式,其根据相

16、应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等。3.2 PWM控制LED亮度原理对于控制LED灯由亮到暗或由暗到亮,采用的是脉宽PWM法。它是把每一脉冲宽度均相等的脉冲列作PWM波形,通过改变脉冲列的

17、周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制电流的目的。这次设计利用51单片机产生占空比可变的矩形波,当产生此矩形波的I/O通过滤波电路再与LED灯相连接后,由于输出矩形波占空比不断变化,那么一个周期内有一部分时间LED导通,一部分时间截止,从整体来看有一个平均电压,因为PWM信号频率周期很高,我们无法通过肉眼来观察到每一个周期LED灯亮灭的变化过程,所以通过平均电压的方式来决定LED灯的亮的程度。随着波形占空比的不断变化,LED灯也会有着由暗到亮或由亮到暗的不断变化。如图如图3-1是单片机通过PWM

18、调节灯光亮暗基本原理电路图:图3-1 单片机通过PWM调节灯光亮暗基本原理电路图4 硬件结构4.180C51电路结构80C51的内部结构及其外围电路如图4-1,其特点如下:图4-1 80C51及其外围电路l 工作电压:VDD为2.63.6V(CPU),VDDH为VDD5.5V(I/O);l CPU时钟为0.3249.152MHz;l 内置存储器:SRAM为2KB,内存Flash为32KB;l 可编程音频处理;l 2个16位可编程定时器/计数器;l 7通道10位ADC(内置麦克风放大和自动增益控制功能);l 2个10位DAC;l 32路可编程通用输入输出端口;l 串行输入输出接口;l 低电压监测

19、/低电压复位功能;l 14个中断源可来自定时器、外部时钟输入、键唤醒等;l 内置在线仿真电路ICE。4.2PWM驱动电路结构PWM电路的特点是频率高、效率高、功率密度高、可靠性高、然而由于开关器件工作在高频通断状态,高频的快速瞬变过程本身就是一电磁骚扰源,它产生的EMI信号有很宽的频率范围,又有一定的幅度。 如图4-2为PWM驱动电路结构。图4-2 利用PWM信号控制LED亮度的驱动电路5程序设计思路与方案5.1 程序设计思路采用单片机定时器产生PWM波,然后控制LED灯的亮度。首先对定0赋初值,使之中断(定时)5ms,再让其中断10次(次数可设定,只是输出波占空比变化快慢不同而已),再定义两

20、个变量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次,则波形占空比变化较快。两个三极管有驱动作用,电感和

21、电容起滤波作用,保证LED不至于太过闪烁而看不清亮度变化。图5-1 实验仿真电路图5.2 程序总体设计方案基于C51单片机和PWM调光的LED台灯以STC10F08XE作为主控芯片,设置为手动控制,分为两档,一档增加亮度一档降低亮度,通过输出不同的PWM占空比对LED的电流进行控制,从而实现了对光度的调节。主控电路主控电路采用STC10F08XE作为主MCU。STC10F08XE是一款八位,片内有ROM/EPROM的单片机,其硬件结构具有功能部件种类全,功能强等特点。这种芯片构成的最小系统简单、实用可靠,用STC10F08XE单片机构成最小系统时,只要将单片机接上时钟电路和复位电路即可,如图5

22、-2所示。本设计所选用的晶振为12MHZ,晶振电容为30PF。图5-2STC10F08XE单片机主控电路5.2.2 LED驱动LED的亮度受电流控制,通过控制电流调节LED灯的亮度。利用公式可知,利用调整PWM不同的占空比就可以控制电流的大小。电流通断的变化用NMOS管K2717实现,三极管9014提供驱动K2717的电流,PWM由P2.0输出,低电平有效。如图5-3所示:图5-3 LED驱动电路5.2.3 手动控制手动控制分为两档,对应与KEY1与KEY2两个按键(KEY3、KEY4无实际功能)。如下图5-4所示。图5-4 手动控制电路6 系统软件设计6.1 系统软件设计该系统控制程序主要包

23、含系统初始化程序、实时时钟芯片处理程序、键盘检测与处理程序、闹钟中断以及定时器产生PWM程序构成。6.2 控制程序代码/*/ 利用定时器控制产生占空比可变的 PWM 波/ 按K1,PWM值增加,则占空比减小,LED 灯渐暗。/ 按K2,PWM值减小,则占空比增加,LED 灯渐亮。/ 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。/*/#include < reg51.h >#include < intrins.h >sbit K1 =P32 ; /增加键sbit K2 =P33 ; /减少键sbit BEEP =P23 ; /蜂鸣器unsigned char P

24、WM=0x7f ; /赋初值void Beep();void delayms(unsigned char ms);void delay(unsigned char t);/*/void main() 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); else Beep() ; while(K1=0); do if(PWM!=0x0

25、2) PWM- ;delayms(10); else Beep() ; while(K2=0); /*/ 定时器0中断服务程序./*/void timer0() interrupt 1 TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P1=0x00 ; /启动输出/*/ 定时器1中断服务程序/*/void timer1() interrupt 3 TR1=0 ; P1=0xff ; /结束输出/*/蜂鸣器子程序/*/void Beep() unsigned char i ; for (i=0 ;i<100 ;i+) delay(100) ;

26、 BEEP=!BEEP ; /Beep取反 BEEP=1 ; /关闭蜂鸣器 delayms(100); /*/ 延时子程序/*/ void delay(unsigned char t) while(t-) ; /*/ 延时子程序/*/void delayms(unsigned char ms) unsigned char i ; while(ms-) for(i = 0 ; i < 120 ; i+) ; /*/7 总 结计算机成为我们生活的主流已是家喻户晓的事情,然而,伴随着计算机的举起,单片机也随之飞速的发展,单片机以完成某一个逻辑功能的芯片而得名。具体一点说,是把一个计算机系统集成

27、到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件,为单片机的灵活,方便,结构简单奠定了基础,自身通过程序的编写、测试、运行,来完成一个具体的功能,便此,单片机运用到了各个领域。单片机LED灯调光只是单片机的一个小小的应用。通过本次设计我发现,整个单片机控制音乐播放程序便不复杂,函数之间相互牵扯。标志位在程序的实现过程中扮演着非常重要的角色,正是依靠这些标志位,程序才能很好地实现各个功能之间的切换,而标志位的值是通过软件模块返回的参数修改的。因此程序的实现过程应该是阅读参数修改标志位发送指令翻译控制发生器驱动LED灯变换,整个过程一气呵成。 本次设计是基于80C51单片机和PWM调光的LED灯,以STC10F08XE作为主控芯片,通过输出不同的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论