《基于89c51单片机控制的LED音乐彩灯控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于89c51单片机控制的LED音乐彩灯控制器的设计.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于89c51单片机控制的LED音乐彩灯控制器的设计基于89c51单片机控制的LED音乐彩灯控制器的设计随着人们对房屋的装饰需要彩灯,在很多城市能够看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以及简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建础物已经成为一种时髦。但目前市场上各种各样的LED彩灯控制器大多数用全硬件电路实现,电路构造复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯形式少而且样式单调,缺乏用户可操作性本方案提出一种基于8951单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以8951单片机作为主控核心,在主控模块上设有3个按键和8个LED显示灯
2、,根据需要能够编写若干种亮灯形式,利用其部定时器T0实现一个基本单位时间为1ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通LED彩灯相比,具有体积小、价格低、功耗低等优点。2系统功能LED彩灯用软件控制硬件的方式来控制彩灯闪烁,即彩灯控制器和管LED模块。彩灯采用8951提供5V电压工作,经过电源变换,输出直流工作电压,一方面为管LED模块提供5V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5V工作电源。整个系统工作由软件程序控制运行,根据需要用户能够在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。
3、上电后系统经过初始化,查询能否有功能切换键按下:有,则进入设定形式状态;无,则进入默认工作状态。在设定形式状态下,能够根据个人喜好及不同场合的需要来指定调用哪种形式,并且能够改变每种形式的时间T1、频率F1参数,在工作状态下,LED彩灯控制器根据程序设定好的若干亮灯花样形式程序顺序调用往下走,开场工作,依次8个等亮完为一个亮灯周期,然后再回主循环继续工作,同样假如想进入其它设定形式状态,只需按下功能切换键即可。整个3种亮灯形式时间能够看作一个大周期T,对于每一个形式编写一个独立工作子程序,其中设定了从左到右点亮LED,从右到左点亮LED,还有本人定义的LED点亮方式。因而在LED彩灯上电工作后
4、,能够方便地通过主控模块上的显示器指定LED彩灯当前工作模块,工作时间Ti,频率Fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,能够通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外假如对某一种形式感兴趣需要仔细观看该种亮灯形式,能够让程序循环。硬件设计LED彩灯系统包括,即LED彩灯控制器8951主控模块,LED彩灯在8951外部接一个震荡时钟频率。用8951的控制器,具有按键、显示等功能,并利用8951的P0口的8个输出端上面焊有8个LED彩灯,使用彩灯在软件的控制下工作。主控模块电路设计主控模块电路如图1所示。主控模块主要设计器件
5、有89C51,8个LED显示器,3个开关按键,1个稳压器5V电压,1个外部晶振振荡器信号输出驱动,4个电阻。通过软件设计,使单片机P0口作为三色LED驱动信号输出口及移位时钟CLOCK信号,8951的P0为LED的输出口。软件设计LED彩灯控制器最大特点在于所有亮灯形式均由软件控制完成。系统中软件能够分为主程序和中断服务子程序。上电后在按键控制灯的闪烁方式,通过软件来控制循环,以一个单位实际1ms的T0定时为中断服务子程序。在这个1ms的T0定时基础上,能够根据需要来确定各种形式工作时间Ti,以及确定在各种亮灯点亮和熄灭各种状态LED灯等。整个系统软件由程序、各种形式子程序、1ms中断服务子程
6、序、调用循环程序组成。利用T0定时器作为定时基本单位,根据形式需要计算好各控制信号的发生时刻,根据移位触发的翻转时刻步调一致,使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
9、延时节拍时间能否到?N停止T0计数,中断计数,20H单元清零,DPTR加1Y2.4音乐彩灯控制程序代码音乐播放源程序:采用定时器T0,定时器方式1ORG000HLJMPSTARTORG000BHAJMPCONTORG0100HSTATR:MOVSP,#50HMOVTH0,#0DBHMOVTL0,0FFHMOVTMOD,#01HMOVIE,#82HMUSIC0:MOVDPTR,#DAT;表首地址送DPTRMOV20H,#00H;中断计数单元清零MUSIC1:CLRAMOVCA,A+DPTR;查表取音阶常数JZEND0;是结束符?CJNEA,#0FFH,MUSIC5;是休止符?LJMPMUSIC3
10、;产生100MS停顿MUSIC5:NOPMOVR6,A;音阶常数送R6INCDPTR;DPTR+1MOVA,#0MOVCA,A+DPTR;取节拍常数送R7MOVR7,ASETBTR0;启动定时器T0MUSIC2;NOPCPLP1.0;输出电平取反MOVA,R6MOVR3,A;音阶常数送R3LCALLDEL20MOVA,R7;节拍常数送ACJNEA,20H,MUSIC;节拍时间到否?MOV20H,#00H;为下一个音阶常数做准备INCDPTRLJMPMUSIC1MUSIC3:NOP:休止100MSCLTTR0MOVR2,#14H;R220MUSIC4:NOPMOVR3,#250;R3=250LC
11、ALLDEL20DJNZR2,MUSIC4INCDPTR;为取下一个音阶常数准备LJMPMUSIC1END0:MOVR2,#200;歌曲结束,延时1秒后继续MUSIC6:MOVR3,#250LCALLDEL20DJNZR2,MUSIC6LJMPMUSIC0DEL:MOVR4,#05HDEL4:NOPDJNZR4,DEL4DJNZR3,DELRETCONT:INC20H;计数单元容加1MOVTH0,#0DBH;重新送100MS定时初值MOVTL0,#0FFHRETIDAT:DB18H,30H,1CH,10H,20H,40H,1CH,10H;的谱表DB18H,10H,20H,10H,1CH,10H
12、,18H,40HDB1CH,20H,20H,20H,1CH,20H,18H,20HDB20H,80H,0FFH,20H,30H,1CH,10H,18HDB20H,15H,20H,1CH,20H,20H,20H,26HDB40H,20H,20H,2BH,20H,26H,20H,20HDB20H,30H,80H,0FFH,20H,20H,1CH,10HDB18H,10H,20H,20H,26H,20H,2BH,20HDB30H,20H,2BH,40H,20H,20H,1CH,10HDB18H,10H,20H,20H,26H,20H,2BH,20HDB30H,20H,2BH,40H,20H,30H,1CH,10HDB18H,20H,15H,20H,1CH,20H,20H,20HDB26H,40H,20H,20H,2BH,20H,26H,20HDB20H,20H,30H,80H,20H,30H,1CH,10HDB20H,10H,1CH,10H,20H,20H,26H,20HDB2BH,20H,30H,20H,2BH,40H,20H,15HDB1FH,05H,20H,10H,1CH,10H,20H,20H此页面能否是列表页或首页?未找到适宜正文内容。