您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 广东工业大学单片机课程设计报告
课程设计课程名称单片机原理及接口技术题目名称电灯无级PWM亮度调节学院信息工程学院专业班级应用电子技术2班学号3112002560姓名张伟奇任课教师李优新2015年01月16日广东工业大学课程设计任务书题目名称电灯无级PWM亮度调节学生学院信息工程学院专业班级信息工程(应用电子方向)12(2)班姓名张伟奇学号3112002560一、课程设计的内容本次课程设计的内容从下面两个方面任选一个:一是在学院的单片机实验平台上进行,开发一个基于单片机与PWM技术的灯光调节系统,主要开发内容为按键定义、输入与防抖动技术、PWM调节技术以及显示技术等的程序设计。二是利用51系列单片机及必要的外围芯片、输入输出等接口电路设计开发一个简易的单片机系统,在此基础上,自行设计一个单片机应用程序来实现一些实用的功能。通过这些内容的设计、开发、安装、调试等一系列工作,熟练掌握单片机系统的开发流程与工作机理,加深对所学课程知识的理解与把握,为将来相关的研究开发工作打下坚实的基础。二、课程设计的要求与数据1全面掌握硬件结构与电路原理;2自行设计开发、编辑、调试应用程序;3必须有完善的功能介绍与调试过程说明;4提供完整的软件流程框图。5提供完整的程序清单。三、课程设计应完成的工作1硬件理解与安装调试;2软件设计与开发、调试;3软硬件联合调试与实验;4按照学校要求撰写并上交完整的课程设计报告5完成课程设计答辩。四、课程设计进程安排序号设计各阶段内容地点起止日期1查找资料,熟悉硬件电路或实验平台的资源图书馆或实验1号馆4042015年1月5日-7日2整体方案设计,输入输出通道定义(方案一)或硬件安装、调试与检查(方案二)宿舍或实验1号馆4041月8日-9日3软件设计与流程图编写宿舍或实验1号馆4041月10日4程序编写宿舍实验1号馆4041月11日-12日5软件调试,与硬件联合调试宿舍或实验1号馆4041月13日6撰写课程设计报告宿舍或实验1号馆4041月14日7交课程设计报告实验1号馆4041月15日-16日五、应收集的资料及主要参考文献[1]吴宁.80X86/Pentium微型计算机原理及应用[M].北京:电子工业出版社,2004:1-249.[2]蔡美琴.MCS-51系列单片机系统及其应用[M].北京:高等教育出版社,2003:1-169.[3]段晨东.单片机原理与接口技术[M].北京:清华大学出版社,2013:1-333[4]吴黎明等.单片机实验指导书[M].广州:广东工业大学教材科,2014发出任务书日期:2015年1月5日指导教师签名:计划完成日期:2015年1月16日基层教学单位责任人签章:1目录目录......................................................................................................1第一章系统总体设计........................................................................2第一节概述..................................................................................2第二节功能设计..........................................................................2第三节功能实现..........................................................................2第二章软件系统设计........................................................................4第一节工作原理........................................................................4第二节程序清单..........................................................................4第三节程序流程图......................................................................5第四节程序源代码......................................................................6第三章调试结果..............................................................................10第一节单元及系统测试............................................................10第四章课程设计体会......................................................................102基于单片机与PWM技术的可调灯光系统第一章系统总体设计第一节概述PWM(PulseWidthModulation),即脉冲宽度调制,简称脉宽调制,是一种对模拟信号电平进行数字编码的方法。PWM技术通过使用较高的调制频率,对方波的占空比实行调制,从而实现对一个模拟信号的电平进行编码。其最大的优点是从处理器到被控对象之间的所有信号都是数字形式的,无需再进行数模转换过程,而且对噪声的抗干扰能力也大大增强。因此PWM在通讯等信号传输行业得到广泛应用。本课程设计作品是一个基于单片机与PWM技术的可调灯光系统。即通过单片机以PWM方法控制实现LED无级调光,同时具有良好的交互设计方便用户设定亮度级别,硬件部分基于学院单片机实验平台。第二节功能设计本系统在实验平台上利用3个按钮实现亮度输入及开关灯功能,3个数码管用于亮度级别显示,通过单片机I/O口输出调制脉冲控制LED亮度。操作时,用户通过“开/关”按钮开关LED,不论灯处于亮灭时都可以用其它的调节按钮调节亮度值,按放“亮度+(亮度-)”按钮可以加1级(减1级)亮度,长按则会重复加(减)亮度。第三节功能实现PWM输出利用I/O口直接输出到LED,由于LED功率不大,AT89S51单片机端口的负载能力满足要求,可以直接驱动。而PWM脉波的产生使用定时器中断控制,使两个定时器T0、T1均工作于方式1,T0中断产生PWM基波,T1中断控制占空比,简要分析定时器与PWM脉波时序如下:3图1-PWM输出的简单时序分析分析可知,T0中断T0重载定时常数,复位输出,并使T1也重载常数,启动T1T1中断时,置位输出,停止T1T0中断,如此循环。使用中断方式能获得准确的定时周期以保证PWM的调制精度,T0作为PWM基波,为避免闪烁,应达到较高频率,本系统取500Hz。T1要有效地控制占空比,其定时周期应比T0小,通过调节T1的定时周期就能调节PWM输出脉波的占空比,从而改变亮度等级,其对应关系如图3所示:图2-定时常数、占空比、亮度等级的对应关系按钮输入采用查询方式实现,并对按键进行防抖动处理,对“亮度+/-”按钮加入延时重复功能。延时重复功能通过对一延时变量在按下按钮时进行减计数,在减至触发值前按钮弹起则视为短按,执行相关代码1次,当减至触发值后仍保持按下,则快速执行代码,起到重复按下的效果。图3-延时重复功能原理数码管输出的亮度级数需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量变换成相应的BCD码放入数码管输出缓冲区,调节变量也变换成相应的T1定时常数以备加载。数码管采用74LS164锁存驱动,单片机通过串行口输出显示码到4片74LS164,显示码通过查表算法实现。4第二章软件系统设计第一节工作原理PWM输出利用I/O口直接输出到LED灯上,由于功率不大,单片机端口能满足要求,直接驱动,而PWM脉冲的产生需要用到定时中断,两个定时器均工作在方式1模式,T0中断产生PWM基波,T1中断控制占空比。为了避免闪烁,基波频率设为500Hz,T1要有效控制占空比,其定时周期应比T0小,通过定时周期来改变占空比,从而改变亮度等级。按键输入采取查询方式实现,并对按键实行防抖动处理。数码管的亮度等级需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量转换成相应的BCD码放入数码管输出缓冲区,单片机通过串行口输出显示码,显示码通过查表算法实行。第二节程序清单中断程序T0,T1:TIME1,TIME2按键扫描子程序:KEY显示拆字子程序:TRANS串行显示子程序:DISP小延时子程序:DELAY1005第三节程序流程图主程序流程图如下:开始K1?Yes亮度值加1初始化NOK2?Yes亮度值减1键扫描Yes检测有否键按NO下?K3?Yes开关电灯NONO调动显示程序程序初始化时设定定时器工作方式,赋定初始值,并对一系列配置变量进行初始化;按键扫描程序实现对亮度调节变量的修改,亮度调节变量将通过定时值计算程序计算出T1的定时值,通过显示BCD码计算程序计算出显示缓冲区的显示码。显示程序将显示缓冲区的内容输出到数码管显示。按键检测采用扫描方式,并有防抖动和延时重复功能。定时期T0、T1工作于方式1,以中断方式输出PWM脉波。定时期中断服务程序流程图:T0中断(产生基波)T1中断(控制脉宽)按亮度档值控制T1定时关闭电灯值中断返回中断返回通过T0中断产生PWM基波,T1中断调节占空比,从而实现PWM。6第四节程序源代码DISP0EQU39H//串行显示寄存器0DISP1EQU3AH//串行显示寄存器1DISP2EQU3BH//串行显示寄存器2DISP3EQU3CH//串行显示寄存器3FLAGBIT20H.0//锁存标志位LDANEQU58H//电灯亮度档值T2HEQU59H//T1高8位定时值存储器T2DEQU5AH//T1低8位定时值存储器LAMPEQUP1.2//电灯控制位ORG0000HAJMPSTARTORG000BHLJMPTIME1//T0中断程序(产生PWM基频)ORG0000HAJMPSTARTORG000BHLJMPTIME1//T0中断程序(产生PWM基频)ORG001BHLJMPTIME2//T1中断程序(控制脉冲宽度)ORG0030HSTART:SETBLAMP//程序初始化MOVA,#0MOVLDAN,AMOVDISP0,AMOVDISP1,AMOVDISP2,AMOVDISP3,#15CLRFLAGMOVTMOD,#11H//设定两定时器为16位定时器MOVIE,#10001010B//开启两定时器的中断请求MOVTH0,#0FCH//设定PWM基频(500Hz)MOVTL0,#18HSETBTR0//启动计数器T0MAIN:ACALLKEY//调动键扫描子程序ACALLTRANS//调动显示拆字子程序ACALLDISP//调动串行显示子程序ACALLDELAY100//调动小延时程序NOPNOP7SJMPMAINKEY:MOVP2,#0FFH//向P2口写1,准备读取数据NOPNOPKEY1:JNBP2.0,K1//判断电灯变亮或变暗JNBP2.1,K2JNBP2.2,K3BACK:ACALLDONE//调用亮度值到PWM定时值转换程序RETK1:JBFLAG,BACK//标志位置1,锁存ACALLDELAY100//按键防抖动延时JBP2.0,BACKJ1:;JNBP2.0,J1//亮度档值加1INCLDANMOVA,LDANCJNEA,#00H,BACK//限定最高档值为255DECLDANSJMPBACKK2:JBFLAG,BACK//标志位置1,锁存ACALLDELAY100JBP2.1,BACKJ2:;JNBP2.1,J2//亮度档值减1MOVA,LDANCJNE
本文标题:广东工业大学单片机课程设计报告
链接地址:https://www.777doc.com/doc-7310367 .html