《基于89c51单片机控制的LED音乐彩灯控制器的设计说明.doc》由会员分享,可在线阅读,更多相关《基于89c51单片机控制的LED音乐彩灯控制器的设计说明.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于89c51单片机控制的LED音乐彩灯控制器的设计随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以与简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建础物已经成为一种时尚。但目前市场上各种各样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性本方案提出一种基于8951单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以8951单片机作为主控核心,在主控模块上设有3个按键和8个LED显示灯,根据需要可以编写若干种亮灯模式,利用其部定时器T0
2、实现一个基本单位时间为1ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通LED彩灯相比,具有体积小、价格低、功耗低等优点。2系统功能LED彩灯用软件控制硬件的方式来控制彩灯闪烁,即彩灯控制器和管LED模块。彩灯采用8951提供5V电压工作,经过电源变换,输出直流工作电压,一方面为管LED模块提供5V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5V工作电源。整个系统工作由软件程序控制运行,根据需要用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。上电后系统经过初始化,查询是否有功能切换键按下:有,
3、则进入设定模式状态;无,则进入默认工作状态。在设定模式状态下,可以根据个人爱好与不同场合的需要来指定调用哪种模式,并且可以改变每种模式的时间T1、频率F1参数,在工作状态下,LED彩灯控制器按照程序设定好的若干亮灯花样模式程序顺序调用往下走,开始工作,依次8个等亮完为一个亮灯周期,然后再回主循环继续工作,同样如果想进入其它设定模式状态,只需按下功能切换键即可。整个3种亮灯模式时间可以看作一个大周期T,对于每一个模式编写一个独立工作子程序,其中设定了从左到右点亮LED,从右到左点亮LED,还有自己定义的LED点亮方式。因此在LED彩灯上电工作后,可以方便地通过主控模块上的显示器指定LED彩灯当前
4、工作模块,工作时间Ti,频率Fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外如果对某一种模式感兴趣需要仔细观看该种亮灯模式,可以让程序循环。硬件设计LED彩灯系统包括,即LED彩灯控制器(8951主控模块),LED彩灯在8951外部接一个震荡时钟频率。用8951的控制器,具有按键、显示等功能,并利用8951的P0口的8个输出端上面焊有8个LED彩灯,使用彩灯在软件的控制下工作。主控模块电路设计主控模块电路如图1所示。主控模块主要设计器件有89C51,8个LED显示器,3个开关按键,1
5、个稳压器(5V电压),1个外部晶振振荡器信号输出驱动,4个电阻。通过软件设计,使单片机P0口作为三色LED驱动信号输出口与移位时钟CLOCK信号,8951的P0为LED的输出口。软件设计LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。上电后在按键控制灯的闪烁方式,通过软件来控制循环,以一个单位实际1ms的T0定时为中断服务子程序。在这个1ms的T0定时基础上,可以根据需要来确定各种模式工作时间Ti,以与确定在各种亮灯点亮和熄灭各种状态LED灯等。整个系统软件由程序、各种模式子程序、1ms中断服务子程序、调用循环程序组成。利用T0定时器作为定时
6、基本单位,根据模式需要计算好各控制信号的发生时刻,根据移位触发的翻转时刻步调一致,使LED彩灯按照设计的模式工作。除了T0定时中断之外,程序的大部分时间是在处理按键的查询和LED显示的延时。3个按键分别为:K1按键,从左到右点亮LED,K2按键,从右到左点亮LED,用户自己定义方式点亮LED。在每次的T0定时中断服务子程序里,需要对各种时间寄存器和模式寄存器进行加1或者清0,为主程序查询作准备,同时查询是否已中断1ms,若1ms到了,则对按键一次,是否有按下并进行相应子程序处理。主程序除了调用各种子模式子程序,调用LED显示子程序和延时子程序之外,还一直保持查询是否有功能切键按下以与是否有模式
7、改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。程序流程如图2所示亮灯模式,只要控制好各色灯触发和熄灭时刻就可以组合础各种亮灯效果。2.1原理框图扬声器功率放大电路LM386电源电路彩灯驱动显示电路复位电路时钟电路2.2电路原理图2.3工作原理根据设计要求可以把电路组成部分分为音乐控制部分,整个系统有3个或以上的控制开关。控制彩灯闪烁快慢的时钟信号CLK-IN,音乐控制按钮,清零端CLRDENG等。利用单片机89C51产生乐曲音符,再把音谱翻译成计算机音乐语言,由单片机进行信息处理,再经过信号放大,由喇叭放出乐曲。由于音符和节拍都由计算机产生,所以发言音符和节拍准确。单
8、片机奏乐的原理:通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再来源延迟常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该频率方波的持续时间。当延迟时间到时,再查下一个的定时常数和延迟常数,依次下去,就可以自动演奏乐曲。工作程序流程图如下:开始T0初始化,A清零,开中断,中断计数20H单元,清零查首地址送DPTR查表取常数是结束符00H?延时100msN是休止符FFH?YY恢复初始条件A清零延时1s后再循环N音阶常数送6取节拍常数送R7启动T0计数P2.0取反 按R6延时节拍时间是否到?N停止T0计数,中断计
9、数,20H单元清零,DPTR加1Y2.4音乐彩灯控制程序代码音乐播放源程序:(采用定时器T0,定时器方式1)ORG 000HLJMP STARTORG 000BHAJMP CONTORG 0100HSTATR:MOV SP,#50H MOV TH0,#0DBH MOV TL0,0FFH MOV TMOD,#01H MOV IE,#82HMUSIC0:MOV DPTR,#DAT ;表首地址送DPTR MOV 20H,#00H ;中断计数单元清零MUSIC1: CLR A MOVC A,A+DPTR ;查表取音阶常数 JZ END0 ;是结束符? CJNE A,#0FFH,MUSIC5 ;是休止符
10、? LJMP MUSIC3 ;产生100MS停顿MUSIC5: NOP MOV R6,A ;音阶常数送R6 INC DPTR ;DPTR+1 MOV A,#0 MOVC A,A+DPTR ;取节拍常数送R7 MOV R7,A SETB TR0 ;启动定时器T0MUSIC2;NOP CPL P1.0 ;输出电平取反 MOV A,R6 MOV R3,A ;音阶常数送R3 LCALL DEL20 MOV A,R7 ;节拍常数送A CJNE A,20H,MUSIC ;节拍时间到否? MOV 20H,#00H ;为下一个音阶常数做准备 INC DPTR LJMP MUSIC1MUSIC3: NOP :休
11、止100MS CLT TR0 MOV R2,#14H ;R220MUSIC4:NOP MOV R3,#250 ;R3=250 LCALL DEL20 DJNZ R2,MUSIC4 INC DPTR ;为取下一个音阶常数准备 LJMP MUSIC1END0: MOV R2,#200 ;歌曲结束,延时1秒后继续MUSIC6:MOV R3,#250 LCALL DEL20 DJNZ R2,MUSIC6 LJMP MUSIC0DEL: MOV R4,#05HDEL4: NOP DJNZ R4,DEL4 DJNZ R3,DEL RETCONT: INC 20H ;计数单元容加1 MOV TH0,#0DB
12、H ;重新送100MS定时初值 MOV TL0,#0FFH RETIDAT: DB 18H,30H,1CH,10H,20H,40H,1CH,10H; 的谱表 DB 18H,10H,20H,10H,1CH,10H,18H,40H DB 1CH,20H,20H,20H,1CH,20H,18H,20H DB 20H,80H,0FFH,20H,30H,1CH,10H,18H DB 20H,15H,20H,1CH,20H,20H,20H,26H DB 40H,20H,20H,2BH,20H,26H,20H,20H DB 20H,30H,80H,0FFH,20H,20H,1CH,10H DB 18H,10
13、H,20H,20H,26H,20H,2BH,20H DB 30H,20H,2BH,40H,20H,20H,1CH,10H DB 18H,10H,20H,20H,26H,20H,2BH,20H DB 30H,20H,2BH,40H,20H,30H,1CH,10H DB 18H,20H,15H,20H,1CH,20H,20H,20H DB 26H,40H,20H,20H,2BH,20H,26H,20H DB 20H,20H,30H,80H,20H,30H,1CH,10H DB 20H,10H,1CH,10H,20H,20H,26H,20H DB 2BH,20H,30H,20H,2BH,40H,20
14、H,15H DB 1FH,05H,20H,10H,1CH,10H,20H,20H DB 26H,20H,2BH,20H,30H,20H,2BH,40H DB 20H,30H,1CH,10H,18H,20H,15H,20H DB 1CH,20H,20H,20H,26H,40H,20H,20H DB 2BH,20H,26H,20H,20H,20H,30H,30H DB 20H,30H,1CH,10H,18H,40H,1CH,20H DB 20H,20H,26H,40H,13H,60H,18H,20H DB 15H,40H,13H,40H,18H,80H,00H END时钟控制部分源程序: ORG
15、00H JMP START ORG 0BH JMP TIM0START:MOV 28H,#00 MOV 2AH,#12H MOV 2BH,#00 MOV 2CH,#00 MOV TMOD,#00000001BH MOV TH0,# (65536-4000) MOV TL0,# (65536-4000) MOV TL0,# (65536-4000) PUSH A PUSH PSW DJNZ R4,X2 MOV R4,#250 CALL CLOCK CALL DISP X2: CALL SCAN POP PSW POP A RETI SCAN: MOV R0,#28H INC R0 CJNE R0
16、,#6,X3 MOV R0,#0 X3 : MOV A,R0 ADD A,#20H MOV R1, A MOV A,R0 SWAP A ORL A,R1 MOV P1,A RET CLOCK: MOV A,2CH ADD A,#1 DA A MOV 2CH,A CJNE A,#60H,X4 MOV 2CH,#00 MOV A,2BH ADD A,#1 DA A MOV 2BH, A CJNE A,#60H,X4MOV 2BH,#00MOV A, 2AHADD A,#1DA AMOV 2AH,ACJNE A,#24H,X4MOV 2AH,#00 X4: RET DISP: MOV R1,#20H
17、 MOV A,2CH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,2BH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A INC R1 MOV A,2AH MOV B,#10H DIV AB MOV R1,B INC R1 MOV R1,A RET DELAY: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END2.5 硬件系统设计单片机选择AT89C51,由于AT89C51是一个低电压,高性能CMOS8位单片机,含4k byte
18、s的可反复擦拭的制度程序存储器(PEROM)和128bytes的随机存储数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,置功能强大的微型计算机AT89C51提供了高性价比的解决方案。其部有足够本系统对存储器的要求,不用外扩。输出控制:此部分的放大电路简单容易实现。本设计中采用了一个小功率PNP型管9012,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1K和5.5K。扬声器一端接5V电压,一端接晶体管的发射极。由P3.0输出预设的方波,加到晶体管进行放大,再输出到扬声器,很好的实现了频率、声音的转换。电路如下:2.6方案优缺点 优点:采用单片机编程来实现控制音乐彩灯,制作过程简单,工作量小,控制功能强大,且单片机以其体积小、价格低、编程灵活等特点在这一领域独领风骚。缺点:设计时编程技术难度高,烧录芯片时条件欠缺,单片机应用时不方便。8 / 8