广东工业大学单片机课程设计报告_第1页
广东工业大学单片机课程设计报告_第2页
广东工业大学单片机课程设计报告_第3页
广东工业大学单片机课程设计报告_第4页
广东工业大学单片机课程设计报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 课程设计 课程名称 单片机原理及接口技术 题目名称 电灯无级PWM亮度调节 学 院 信息工程学院 专业班级 应用电子技术2班 学 号 3112002560 姓 名 张伟奇 任课教师 李优新 2015年01月16日广东工业大学课程设计任务书题目名称电灯无级PWM亮度调节学生学院信息工程学院专业班级信息工程(应用电子方向)12(2)班姓 名张伟奇学 号3112002560一、课程设计的内容本次课程设计的内容从下面两个方面任选一个:一是在学院的单片机实验平台上进行,开发一个基于单片机与PWM技术的灯光调节系统,主要开发内容为按键定义、输入与防抖动技术、PWM调节技术以及显示技术等的程序设计。二是利

2、用51系列单片机及必要的外围芯片、输入输出等接口电路设计开发一个简易的单片机系统,在此基础上,自行设计一个单片机应用程序来实现一些实用的功能。通过这些内容的设计、开发、安装、调试等一系列工作,熟练掌握单片机系统的开发流程与工作机理,加深对所学课程知识的理解与把握,为将来相关的研究开发工作打下坚实的基础。二、课程设计的要求与数据1 全面掌握硬件结构与电路原理;2 自行设计开发、编辑、调试应用程序; 3 必须有完善的功能介绍与调试过程说明;4 提供完整的软件流程框图。5 提供完整的程序清单。三、课程设计应完成的工作1 硬件理解与安装调试;2 软件设计与开发、调试;3 软硬件联合调试与实验;4 按照

3、学校要求撰写并上交完整的课程设计报告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 吴宁.

4、80X86/Pentium 微型计算机原理及应用M. 北京:电子工业出版社,2004:1-249.2 蔡美琴. MCS-51系列单片机系统及其应用M.北京:高等教育出版社,2003:1-169.3 段晨东. 单片机原理与接口技术M. 北京: 清华大学出版社, 2013:1-3334 吴黎明等. 单片机实验指导书M. 广州:广东工业大学教材科,2014发出任务书日期: 2015 年 1 月 5 日 指导教师签名:计划完成日期: 2015 年 1 月 16日 基层教学单位责任人签章: 目录 目录1第一章 系统总体设计2第一节 概述2第二节 功能设计2第三节 功能实现2第二章 软件系统设计4第一节

5、工作原理4第二节 程序清单4第三节 程序流程图5第四节 程序源代码6第三章 调试结果10第一节 单元及系统测试10第四章 课程设计体会100基于单片机与PWM技术的可调灯光系统第一章 系统总体设计第一节 概述PWM(Pulse Width Modulation),即脉冲宽度调制,简称脉宽调制,是一种对模拟信号电平进行数字编码的方法。PWM技术通过使用较高的调制频率,对方波的占空比实行调制,从而实现对一个模拟信号的电平进行编码。其最大的优点是从处理器到被控对象之间的所有信号都是数字形式的,无需再进行数模转换过程,而且对噪声的抗干扰能力也大大增强。因此PWM在通讯等信号传输行业得到广泛应用。本课程

6、设计作品是一个基于单片机与PWM技术的可调灯光系统。即通过单片机以PWM方法控制实现LED无级调光,同时具有良好的交互设计方便用户设定亮度级别,硬件部分基于学院单片机实验平台。第二节 功能设计本系统在实验平台上利用3个按钮实现亮度输入及开关灯功能,3个数码管用于亮度级别显示,通过单片机I/O口输出调制脉冲控制LED亮度。操作时,用户通过“开/关”按钮开关LED,不论灯处于亮灭时都可以用其它的调节按钮调节亮度值,按放“亮度+(亮度-)”按钮可以加1级(减1级)亮度,长按则会重复加(减)亮度。第三节 功能实现PWM输出利用I/O口直接输出到LED,由于LED功率不大,AT89S51单片机端口的负载

7、能力满足要求,可以直接驱动。而PWM脉波的产生使用定时器中断控制,使两个定时器T0、T1均工作于方式1,T0中断产生PWM基波,T1中断控制占空比,简要分析定时器与PWM脉波时序如下:1图 1 PWM输出的简单时序分析分析可知,T0中断àT0重载定时常数,复位输出,并使T1也重载常数,启动T1àT1中断时,置位输出,停止T1àT0中断,如此循环。使用中断方式能获得准确的定时周期以保证PWM的调制精度,T0作为PWM基波,为避免闪烁,应达到较高频率,本系统取500Hz。T1要有效地控制占空比,其定时周期应比T0小,通过调节T1的定时周期就能调节PWM输出脉波的占空比

8、,从而改变亮度等级,其对应关系如图3所示:图 2 定时常数、占空比、亮度等级的对应关系按钮输入采用查询方式实现,并对按键进行防抖动处理,对“亮度+/-”按钮加入延时重复功能。延时重复功能通过对一延时变量在按下按钮时进行减计数,在减至触发值前按钮弹起则视为短按,执行相关代码1次,当减至触发值后仍保持按下,则快速执行代码,起到重复按下的效果。图 3 延时重复功能原理数码管输出的亮度级数需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量变换成相应的BCD码放入数码管输出缓冲区,调节变量也变换成相应的T1定时常数以备加载。数码管采用74LS164锁存驱动,单片机通过串行口输出显示码到4片74LS

9、164,显示码通过查表算法实现。第2章 软件系统设计第一节 工作原理 PWM输出利用I/O口直接输出到LED灯上,由于功率不大,单片机端口能满足要求,直接驱动,而PWM脉冲的产生需要用到定时中断,两个定时器均工作在方式模式,0中断产生PWM基波,T1中断控制占空比。为了避免闪烁,基波频率设为500Hz,T1要有效控制占空比,其定时周期应比T0小,通过定时周期来改变占空比,从而改变亮度等级。按键输入采取查询方式实现,并对按键实行防抖动处理。数码管的亮度等级需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量转换成相应的BCD码放入数码管输出缓冲区,单片机通过串行口输出显示码,显示码通过查表算

10、法实行。第二节 程序清单 中断程序T0,T1:TIME1,TIME2按键扫描子程序:KEY显示拆字子程序:TRANS串行显示子程序:DISP小延时子程序:DELAY100第三节 程序流程图主程序流程图如下: 开始 K1? Yes 亮度值 加1 初始化 NO K2? Yes 亮度值 减1 键扫描 Yes 检测有否键按 NO 下? K3? Yes 开关 电灯 NO NO调动显示程序 程序初始化时设定定时器工作方式,赋定初始值,并对一系列配置变量进行初始化;按键扫描程序实现对亮度调节变量的修改,亮度调节变量将通过定时值计算程序计算出T1的定时值,通过显示BCD码计算程序计算出显示缓冲区的显示码。显示

11、程序将显示缓冲区的内容输出到数码管显示。按键检测采用扫描方式,并有防抖动和延时重复功能。定时期T0、T1工作于方式1,以中断方式输出PWM脉波。定时期中断服务程序流程图: T0中断(产生基波) T1中断(控制脉宽) 按亮度档值 控制T1定时 关闭电灯 值 中断返回 中断返回通过T0中断产生PWM基波,T1中断调节占空比,从而实现PWM。第四节 程序源代码DISP0 EQU 39H /串行显示寄存器0DISP1 EQU 3AH /串行显示寄存器1DISP2 EQU 3BH /串行显示寄存器2DISP3EQU 3CH /串行显示寄存器3FLAGBIT 20H.0 /锁存标志位LDAN EQU 58

12、H /电灯亮度档值T2H EQU 59H /T1高8位定时值存储器T2D EQU 5AH /T1低8位定时值存储器LAMP EQU P1.2 /电灯控制位ORG 0000HAJMP STARTORG 000BHLJMP TIME1 /T0中断程序(产生PWM基频) ORG 0000H AJMP START ORG 000BH LJMP TIME1 /T0中断程序(产生PWM基频) ORG 001BH LJMP TIME2 /T1中断程序(控制脉冲宽度) ORG 0030HSTART: SETB LAMP /程序初始化 MOV A,#0 MOV LDAN,A MOV DISP0,A MOV DI

13、SP1,A MOV DISP2,AMOV DISP3,#15CLR FLAG MOV TMOD,#11H /设定两定时器为16位定时器 MOV IE,#10001010B /开启两定时器的中断请求 MOV TH0,#0FCH /设定PWM基频(500Hz) MOV TL0,#18H SETB TR0 /启动计数器T0MAIN: ACALL KEY /调动键扫描子程序 ACALL TRANS /调动显示拆字子程序 ACALL DISP /调动串行显示子程序 ACALL DELAY100 /调动小延时程序 NOP NOP SJMP MAIN KEY: MOV P2,#0FFH /向P2口写&quo

14、t;1",准备读取数据 NOP NOPKEY1: JNB P2.0,K1 /判断电灯变亮或变暗 JNB P2.1,K2 JNB P2.2,K3BACK: ACALL DONE /调用亮度值到PWM定时值转换程序 RETK1: JB FLAG,BACK /标志位置1,锁存ACALL DELAY100 /按键防抖动延时 JB P2.0,BACKJ1: ;JNB P2.0,J1 /亮度档值加1 INC LDAN MOV A,LDAN CJNE A,#00H,BACK /限定最高档值为255 DEC LDAN SJMP BACK K2: JB FLAG,BACK /标志位置1,锁存ACALL

15、 DELAY100 JB P2.1,BACKJ2: ;JNB P2.1,J2 /亮度档值减1 MOV A,LDAN CJNE A,#0,J22 SJMP BACKJ22: DEC LDAN SJMP BACKK3: ACALL DELAY100 JB P2.2,BACKJ3: /开关电灯 JNB P2.2,J3CPL FLAGJB FLAG,NEXTMOV DISP3,#15SJMP NEXT2NEXT: MOV DISP3,#14 NEXT2: CPL TR0 NOP NOP SETB LAMP SJMP BACKDLYK: MOV R4,#2AH /20ms定时程序DLYK1: MOV R

16、5,#32HDLYK2: DJNZ R5,DLYK2 DJNZ R4,DLYK1 RETDELAY100:MOV R4,#7AH /小延迟程序DLYK101:MOV R5,#20HDLYK102:DJNZ R5,DLYK102 DJNZ R4,DLYK101 RET DONE: MOV A,LDAN /亮度值到PWM定时值转换程序 CJNE A,#0,DJ0 RETDJ0: MOV B,#2H /亮度值转化为定时器初始值 MUL AB CPL A MOV R1,A MOV A,B CPL A MOV R2,A MOV T2H,R2 MOV T2D,R1 RET TIME1: MOV TH0,#

17、0FCH /定时中断0 MOV TL0,#18H PUSH ACC PUSH PSW MOV A,LDAN CLR P1.2 /开灯 CJNE A,#0,TM1 /0档时立刻关掉电灯 SETB P1.2 SJMP TBACK TM1: CJNE A,#0,TM2 /255档时亮度调到最大 CLR TR1 /关闭定时器1 SJMP TBACKTM2: MOV TH1,T2H /输入不同的T2定时值控制脉冲宽度 MOV TL1,T2D SETB TR1 /启动定时器1TBACK: POP PSW POP ACC RETITIME2: SETB P1.2 /关掉电灯 CLR TR1 /关闭定时器1

18、RETITRANS: MOV A,LDAN /将LDAN转化为十进制数 MOV B,#64H DIV AB MOV DISP2,A MOV A,#0AH XCH A,B DIV AB MOV DISP1,A MOV DISP0,B RETDISP: MOV R7,#4 MOV R0,#DISP3DL0: MOV A,R0MOV DPTR,#TABMOVC A,A+DPTRMOV SBUF,ADL1: JNB TI,DL1CLR TIDEC R0DJNZ R7,DL0RETTAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H /共阴七段数码管代码表 DB 0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CH DB 7AH,9EH,8EHEND第三章 调试结果第一节 单元及系统测试按下K1,增加亮度;按下K2,减低亮度;按下K3,则是电灯的开与关。电灯的无级调节,数码管变化的范围则是0255,按下K3,开与关分别对应F与E,而且关灯之后,不能再调试其他按键。能够连续变化,只是每一次按键之间的亮度差距很小。从测试结果来看,按键实现设计的功能,通过按键可以有效地操作调光系统,按键的

温馨提示

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

评论

0/150

提交评论