您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于单片机与-PWM-技术的可调灯光系统程序设计
0目录一、系统总体设计:.......................................................................................................................11、设计背景:.........................................................................................................................12、设计思路.............................................................................................................................13、工作原理.............................................................................................................................1二、系统结构分析...........................................................................................................................11、程序流程图.........................................................................................................................12、部分结构.............................................................................................................................2三、九级PWM亮度调节程序........................................................................................................31、实验代码.............................................................................................................................32、程序运行结果.....................................................................................................................5四、无级PWM亮度调节................................................................................................................51、原理.....................................................................................................................................52、代码.....................................................................................................................................63、程序运行结果.....................................................................................................................8五、设计感想与体会.......................................................................................................................81一、系统总体设计:1、设计背景:现当今,单片机的应用无处不在。利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51单片机及少数外部电路控制灯光,使灯具产生明暗效果。2、设计思路本次课设基于AMC51单片机综合开发系统,利用单片机的定时中断生成不同的PWM波形,通过调整PWM的周期、PWM的占空比从而控制输出平均电压,进而达到对电灯进行光度亮暗的控制调节的效果,实现对电灯的PWM调光控制。3、工作原理对于控制电灯由亮到暗或由暗到亮,采用的是脉宽PWM法。它是把每一脉冲宽度均相等的脉冲列作PWM波形,通过改变脉冲占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的占空比而达到控制电流的目的。二、系统结构分析1、程序流程图2开始K1?Yes亮度档值加1初始化NOK2?Yes亮度档值减1键扫描Yes检测有否键按NO下?K3?Yes开关电灯NO调动显示程序T0中断(产生基波)T1中断(控制脉宽)按亮度档值控制T1定时关闭电灯值中断返回中断返回2、部分结构(i)按键扫描:按键时触点会存在按键抖动,故在写程序时需要加入去抖动程序。(ii)脉冲宽度调制(PWM):是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。在本程序中,通过PWM波去控制灯泡的亮度主要是通过改变灯泡在一个周期内(即2000us)灯泡亮的时间,即可感受到不同占空比下灯泡的亮度对人眼的不同视觉效应。3(iii)本程序用到了同步串行通信将档值输出到数码管显示,串口工作在方式0。三、九级PWM亮度调节程序1、实验代码DIRLOPEQU38HDISP0EQU39HDISP1EQU3AHDISP2EQU3BHLDANEQU58HT2HEQU59HT2DEQU5AHLAMPEQUP1.2ORG0000HAJMPSTARTORG000BHLJMPTIME1ORG001BHLJMPTIME2ORG0030HSTART:SETBLAMPMOVA,#0MOVLDAN,AMOVDISP0,AMOVDISP1,AMOVDISP2,AMOVTMOD,#11HMOVIE,#10001010BMOVTH0,#0FCHMOVTL0,#18HSETBTR0MAIN:ACALLKEYACALLTRANSACALLDISPACALLDLYKNOPNOPSJMPMAINKEY:MOVP2,#0FFHNOPRETKEY1:JNBP2.0,K1JNBP2.1,K2JNBP2.2,K3BACK:ACALLDONERETK1:ACALLDLYKJBP2.0,BACKJ1:JNBP2.0,J1INCLDANMOVA,LDANCJNEA,#9,BACKDECLDANSJMPBACKK2:ACALLDLYKJBP2.1,BACKJ2:JNBP2.1,J2MOVA,LDANCJNEA,#0,J22SJMPBACKJ22:DECLDANSJMPBACKK3:ACALLDLYKJBP2.2,BACKJ3:JNBP2.2,J3CPLTR0SETBLAMPSJMPBACKDLYK:MOVR4,#4AHDLYK1:MOVR5,#62HDLYK2:DJNZR5,DLYK2DJNZR4,DLYK1RETDONE:MOVA,LDANCJNEA,#0,DJ0RET4DJ0:CJNEA,#1,DJ1MOVT2H,#0FFHMOVT2D,#83HRETDJ1:CJNEA,#2,DJ2MOVT2H,#0FFHMOVT2D,#06HRETDJ2:CJNEA,#3,DJ3MOVT2H,#0FEHMOVT2D,#89HRETDJ3:CJNEA,#4,DJ4MOVT2H,#0FEHMOVT2D,#0CHRETDJ4:CJNEA,#5,DJ5MOVT2H,#0FDHMOVT2D,#8FHRETDJ5:CJNEA,#6,DJ6MOVT2H,#0FDHMOVT2D,#12HRETDJ6:CJNEA,#7,DJ7MOVT2H,#0FCHMOVT2D,#95HDJ7:RETTM1:CJNEA,#8,TM2CLRTR1SJMPTBACKTM2:MOVTH1,T2HMOVTL1,T2DSETBTR1TBACK:POPPSWPOPACCRETITIME2:SETBP1.2CLRTR1RETITRANS:MOV3CH,LDANMOVA,DISP2ANLA,#0F0HSWAPAMOV3EH,AMOVA,DISP2ANLA,#0FHMOV3FH,ARETDISP:MOVDIRLOP,#4MOVR0,#3CHDL0:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,ADL1:JNBTI,DL1CLRTIINCR0DJNZDIRLOP,DL0RETTAB:DB0FCH,60H,0DAH,0F2H,66HDB0B6H,0BEH,0E0H,0FEH,0E6HEND52、程序运行结果四、无级PWM亮度调节1、原理通过将一个周期内缩短步进值,可以达到人眼观察不到灯泡的亮度突兀变化,本程序中,一个周期计数1000个数值,步进值为2,总共可计数255个,当达到255时,设置灯泡全亮。当计0个数时,关闭灯泡。62、代码DISEQU38HDISP0EQU39HDISP1EQU3AHDISP2EQU3BHDISP3EQU3CHLDANEQU58HT2HEQU59HT2DEQU5AHLAMPEQUP1.2ORG0000HAJMPSTARTORG000BHLJMPTIME0ORG001BHLJMPTIME1ORG0030HSTART:SETBLAMP//初始化MOVA,#0MOVDISP0,AMOVDISP1,AMOVDISP2,AMOVDISP3,AMOVLDAN,AMOVTMOD,#11HSETBEASETBET0SETBET1MOVTH0,#0FBH//定时器0的频率为500hz,定时时间为2000usMOVTL0,#18HSETBTR0MAIN:ACALLKEYACALLTRANSACALLDISPACALLDLAYNOPNOPSJMPMAINKEY:MOVP2,#0FFH//NOPNOPKEY1:JNBP2.1,K1JNBP2.2,K2JNBP2.3,K3BACK:ACALLDONERETK1:ACALLDLAYJBP2.1,BACKJ1:JNBP2.1,J1INCLDANMOVA,LDANCJNEA,#255,BACKDECLDANSJMPBACKK2:ACALLDLAYJBP2.2,BACK7J2:JNBP2.2,J2MOVA,LDANCJNEA,#0,J22SJMPBACKJ22:DECLDANSJMPBACKK3:ACALLDLAYJBP2.3,BACKJ3:JNBP2.3,J3CPLTR0SETBLAMPSJMPBACKDLAY:MOVR4,#4AHDLAY_0:MOVR5,#62HDLAY_1:DJNZR5,DLAY_1DJNZR4,DLAY_0RETDONE:MOVA,LDANCJNEA,#0
本文标题:基于单片机与-PWM-技术的可调灯光系统程序设计
链接地址:https://www.777doc.com/doc-2701107 .html