电灯无级PWM亮度调节.docx
- 文档编号:11214950
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:16
- 大小:92.29KB
电灯无级PWM亮度调节.docx
《电灯无级PWM亮度调节.docx》由会员分享,可在线阅读,更多相关《电灯无级PWM亮度调节.docx(16页珍藏版)》请在冰豆网上搜索。
电灯无级PWM亮度调节
课程设计
课程名称单片机原理及接口技术
题目名称电灯无级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号馆404
2015年1月
5日-7日
2
整体方案设计,输入输出通道定义(方案一)
或硬件安装、调试与检查(方案二)
宿舍或
实验1号馆404
1月
8日-9日
3
软件设计与流程图编写
宿舍或
实验1号馆404
1月10日
4
程序编写
宿舍
实验1号馆404
1月11日
-12日
5
软件调试,与硬件联合调试
宿舍或
实验1号馆404
1月13日
6
撰写课程设计报告
宿舍或
实验1号馆404
1月14日
7
交课程设计报告
实验1号馆404
1月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
第一章系统总体设计2
第一节概述2
第二节功能设计2
第三节功能实现2
第二章软件系统设计4
第一节工作原理4
第二节程序清单4
第三节程序流程图5
第四节程序源代码6
第三章调试结果10
第一节单元及系统测试10
第四章课程设计体会10
基于单片机与PWM技术的可调灯光系统
第一章系统总体设计
一概述
PWM(PulseWidthModulation),即脉冲宽度调制,简称脉宽调制,是一种对模拟信号电平进行数字编码的方法。
其最大的优点是从处理器到被控对象之间的所有信号都是数字形式的,无需再进行数模转换过程,而且对噪声的抗干扰能力也大大增强。
因此PWM在通讯等信号传输行业得到广泛应用。
二功能设计
本系统在实验平台上利用3个按钮实现亮度输入及开关灯功能,3个数码管用于亮度级别显示,通过单片机I/O口输出调制脉冲控制LED亮度。
操作时,用户通过“开/关”按钮开关LED,不论灯处于亮灭时都可以用其它的调节按钮调节亮度值,按放“亮度+(亮度-)”按钮可以加1级(减1级)亮度,长按则会重复加(减)亮度。
三功能实现
PWM输出利用I/O口直接输出到LED,由于LED功率不大,AT89S51单片机端口的负载能力满足要求,可以直接驱动。
而PWM脉波的产生使用定时器中断控制,使两个定时器T0、T1均工作于方式1,T0中断产生PWM基波,T1中断控制占空比。
分析可知,T0中断T0重载定时常数,复位输出,并使T1也重载常数,启动T1T1中断时,置位输出,停止T1T0中断,如此循环。
使用中断方式能获得准确的定时周期以保证PWM的调制精度,T0作为PWM基波,为避免闪烁,应达到较高频率,本系统取500Hz。
T1要有效地控制占空比,其定时周期应比T0小,通过调节T1的定时周期就能调节PWM输出脉波的占空比,从而改变亮度等级。
按钮输入采用查询方式实现,并对按键进行防抖动处理,对“亮度+/-”按钮加入延时重复功能。
延时重复功能通过对一延时变量在按下按钮时进行减计数,在减至触发值前按钮弹起则视为短按,执行相关代码1次,当减至触发值后仍保持按下,则快速执行代码,起到重复按下的效果。
数码管输出的亮度级数需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量变换成相应的BCD码放入数码管输出缓冲区,调节变量也变换成相应的T1定时常数以备加载。
数码管采用74LS164锁存驱动,单片机通过串行口输出显示码到4片74LS164,显示码通过查表算法实现。
第2章软件系统设计
一工作原理
PWM输出利用I/O口直接输出到LED灯上,由于功率不大,单片机端口能满足要求,直接驱动,而PWM脉冲的产生需要用到定时中断,两个定时器均工作在方式1模式,T0中断产生PWM基波,T1中断控制占空比。
为了避免闪烁,基波频率设为500Hz,T1要有效控制占空比,其定时周期应比T0小,通过定时周期来改变占空比,从而改变亮度等级。
按键输入采取查询方式实现,并对按键实行防抖动处理。
数码管的亮度等级需要经过一系列的编码转换,按钮控制亮度调节变量,调节变量转换成相应的BCD码放入数码管输出缓冲区,单片机通过串行口输出显示码,显示码通过查表算法实行。
二程序清单
中断程序T0,T1:
TIME1,TIME2
按键扫描子程序:
KEY
显示拆字子程序:
TRANS
串行显示子程序:
DISP
小延时子程序:
DELAY100
三程序流程图
主程序流程图如下:
开始K1?
Yes亮度值
加1
初始化NO
K2?
Yes亮度值
减1
键扫描Yes
检测有否键按NO
下?
K3?
Yes开关
电灯
NO
NO
调动显示程序
程序初始化时设定定时器工作方式,赋定初始值,并对一系列配置变量进行初始化;按键扫描程序实现对亮度调节变量的修改,亮度调节变量将通过定时值计算程序计算出T1的定时值,通过显示BCD码计算程序计算出显示缓冲区的显示码。
显示程序将显示缓冲区的内容输出到数码管显示。
按键检测采用扫描方式,并有防抖动和延时重复功能。
定时期T0、T1工作于方式1,以中断方式输出PWM脉波。
定时期中断服务程序流程图:
T0中断(产生基波)T1中断(控制脉宽)
按亮度档值
控制T1定时关闭电灯
值
中断返回中断返回
通过T0中断产生PWM基波,T1中断调节占空比,从而实现PWM。
四程序源代码
DISP0EQU39H
DISP1EQU3AH
DISP2EQU3BH
DISP3EQU3CH
FLAGBIT20H.0
LDANEQU58H
T2HEQU59H
T2DEQU5AH
LAMPEQUP1.2
ORG0000H
AJMPSTART
ORG000BH
LJMPTIME1
ORG0000H
AJMPSTART
ORG000BH
LJMPTIME1
ORG001BH
LJMPTIME2
ORG0030H
START:
SETBLAMP
MOVA,#0
MOVLDAN,A
MOVDISP0,A
MOVDISP1,A
MOVDISP2,A
MOVDISP3,#15
CLRFLAG
MOVTMOD,#11H
MOVIE,#10001010B
MOVTH0,#0FCH
MOVTL0,#18H
SETBTR0
MAIN:
ACALLKEY
ACALLTRANS
ACALLDISP
ACALLDELAY100
NOP
NOP
SJMPMAIN
KEY:
MOVP2,#0FFH
NOP
NOP
KEY1:
JNBP2.0,K1
JNBP2.1,K2
JNBP2.2,K3
BACK:
ACALLDONE
RET
K1:
JBFLAG,BACK
ACALLDELAY100/
JBP2.0,BACK
J1:
;JNBP2.0,J1
INCLDAN
MOVA,LDAN
CJNEA,#00H,BACK
DECLDAN
SJMPBACK
K2:
JBFLAG,BACK
ACALLDELAY100
JBP2.1,BACK
J2:
;JNBP2.1,J2
MOVA,LDAN
CJNEA,#0,J22
SJMPBACK
J22:
DECLDAN
SJMPBACK
K3:
ACALLDELAY100
JBP2.2,BACK
J3:
JNBP2.2,J3
CPLFLAG
JBFLAG,NEXT
MOVDISP3,#15
SJMPNEXT2
NEXT:
MOVDISP3,#14
NEXT2:
CPLTR0
NOP
NOP
SETBLAMP
SJMPBACK
DLYK:
MOVR4,#2AH
DLYK1:
MOVR5,#32H
DLYK2:
DJNZR5,DLYK2
DJNZR4,DLYK1
RET
DELAY100:
MOVR4,#7AH
DLYK101:
MOVR5,#20H
DLYK102:
DJNZR5,DLYK102
DJNZR4,DLYK101
RET
DONE:
MOVA,LDAN
CJNEA,#0,DJ0
RET
DJ0:
MOVB,#2H
MULAB
CPLA
MOVR1,A
MOVA,B
CPLA
MOVR2,A
MOVT2H,R2
MOVT2D,R1
RET
TIME1:
MOVTH0,#0FCH
MOVTL0,#18H
PUSHACC
PUSHPSW
MOVA,LDAN
CLRP1.2
CJNEA,#0,TM1
SETBP1.2
SJMPTBACK
TM1:
CJNEA,#0,TM2
CLRTR1
SJMPTBACK
TM2:
MOVTH1,T2H
MOVTL1,T2D
SETBTR1
TBACK:
POPPSW
POPACC
RETI
TIME2:
SETBP1.2
CLRTR1
RETI
TRANS:
MOVA,LDAN
MOVB,#64H
DIVAB
MOVDISP2,A
MOVA,#0AH
XCHA,B
DIVAB
MOVDISP1,A
MOVDISP0,B
RET
DISP:
MOVR7,#4
MOVR0,#DISP3
DL0:
MOVA,@R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVSBUF,A
DL1:
JNBTI,DL1
CLRTI
DECR0
DJNZR7,DL0
RET
TAB:
DB0FCH,60H,0DAH,0F2H,66H,0B6H
DB0BEH,0E0H,0FEH,0E6H,0EEH,03EH,9CH
DB7AH,9EH,8EH
END
第三章调试结果
一单元及系统测试
按下K1,增加亮度;按下K2,减低亮度;按下K3,则是电灯的开与关。
电灯的无级调节,数码管变化的范围则是0~255,按下K3,开与关分别对应F与E,而且关灯之后,不能再调试其他按键。
能够连续变化,只是每一次按键之间的亮度差距很小。
从测试结果来看,按键实现设计的功能,通过按键可以有效地操作调光系统,按键的防抖设计避免了开关的抖动,但由于部分按键在实验室频繁被按放,有的已经出现失灵的现象,影响了灵敏度。
第四章课程设计体会
........忽略此处.......
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电灯 无级 PWM 亮度 调节