单片机音乐彩灯设计说明_第1页
单片机音乐彩灯设计说明_第2页
单片机音乐彩灯设计说明_第3页
单片机音乐彩灯设计说明_第4页
单片机音乐彩灯设计说明_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、艺术彩灯控制系统设计一概述11艺术彩灯的设计背景及意义彩灯是人们日常生活中的一种装饰用品,它美观大方,尤其在节日期间,倍增节日气氛。它蕴涵着丰富的文化底蕴,被广泛地应用于各种店面的装饰。变换无穷的彩灯样式,给城市增添活力,吸引着人们的注意力,深受人民的喜爱。在日常生活中,人们还将彩灯摆放成各种图案,增添美感。随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展。科学技术更加贴近人们的生活,向着满足人们需求的方向发展。节日彩灯的设计与制作工艺也一步一步的走向成熟。1.2系统设计功能概述本设计是以AT89C51单片机为基础的音乐彩灯控制方案,来实现对LED彩灯的控制。以AT89

2、C51单片机作为主控核心,通过汇编语言来控制单片机按下“开始”按键,8个LED灯从上到下开始循环点亮,按下“上”按键,灯由上向下流动,按下“下”按键,灯由下向上流动,按下“停止”按键,所有灯为暗。二彩灯设计容简要:彩灯设计任务:以单片机为核心,设计一个节日音乐彩灯控制器。彩灯设计要求:P1.2开始,按此键则灯开始流动(由上而下)。P1.3停止,按此键则停止流动,所有灯为暗。P1.4上,按此键则灯由上向下流动。P1.5下,按此键则灯由下向上流动。彩灯总体控制框图:音乐程序复位程序一,山心单片一按键程序机彩灯程序AT89C51单片机硬件结构:AT89C51是一种带4K字节闪存可编程可擦除只读存储器

3、(FPEROM一FlashProgrammableandErasableReadOnlyMemory)的单片机芯片,它采用静态CMOS工艺制造8位微处理器,最高工作频率位24MHZ。AT89C5外形及引脚排列如图所示:2;:2;3!4工:J,8LJ1.b?XTAL1PD.O/AD0PQ.1/AD1PO.27AD2XTAL2PO.3/AD3PO4JAD4FO.6/AD5FD.S/ADPRSTFO.ZAD?P2.QJA9P2.17A9P8ENP2.2M10P3.3/A11ALEF2.4/A12示F2.5/A13福卷P27/A15F1.CFMWRQP11P3.VTXEP3J2/INTOPI.3P3/

4、lHT1PI.4P3.477T1P1.5P3.5/71P1.6P3.8/WRF1.7F3.7/F10管脚说明:RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高

5、,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和

6、控制信号。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只

7、有在执行乂。丫乂,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,EA将部锁定为RESET;当EA端保持高电平时,此间部程序存储器。XTAL1和XTAL2:反向振荡放大器的输入及部时钟工作电路的输入。33系统的硬件构成及功能描述:控制系统硬件设计电路图如图所示:四

8、系统的软件设计叫。HOp-i-A-Ft重心HLJi!P【TMX口心WLILEtWcVAWL;P四系统的软件设计叫。HOp-i-A-Ft重心HLJi!P【TMX口心WLILEtWcVAWL;P。汇NDLEDLLt-B-JILL:下冏月h*中谓rPE值随中导no.二山R”晒pj:ilurF;*PIE硝4用ORG0000HAJMPMAINORG000BHAJMPINTORG0020HMAIN:JNBP1.2,START;判断按键P1.2(开始键)为0时转MAIN程序JMPMAIN;否则返回START:MOV50H,#HIGHTABLE10;开始(默认情况下上到下)MOV51H,#LOWTABLE10

9、ACALLBOFANG;音乐播放初始设置LJMPDOWNLIGHTSTOP:MOVP0,#0FFH;停止SETBP3.5JNBP1.2,STARTAJMPSTOPDOWN:MOV50H,#HIGHTABLE10;上到下MOV51H,#LOWTABLE10ACALLBOFANG;音乐播放初始设置DOWNLIGHT:MOVDPTR,#TABLE1;将TABLE1首地址赋数据指针AJMPGETDATAUP:MOV50H,#HIGHTABLE10;下到上MOV51H,#LOWTABLE10ACALLBOFANG;音乐播放初始设置UPLIGHT:MOVDPTR,#TABLE2;将TABLE2首地址赋数据

10、指针GETDATA:MOVR0,#08HMOVR6,DPH;暂存指针值MOVR7,DPLLOOP:CLRA;A清零MOVDPH,R6MOVDPL,R7MOVCA,A+DPTR;表数据送AMOVP0,A;将庆值送P0端口INCDPTR;数据指针加1,指向表中的下一数据MOVR6,DPHMOVR7,DPLJNBP1.2,START;P1.2口低电平则转START程序执行JNBP1.3,STOP;P1.3口低电平则转STOP程序执行JNBP1.4,DOWN;P1.4口低电平则转DOWN执行JNBP1.5,UP;P1.5口低电平则转UP左循环程序执行LJMPMUSIC;跳转音乐程序BACK:DJNZR

11、0,LOOPCLRA;判断是上还是下MOVDPH,R6MOVDPL,R7MOVCA,A+DPTRJNZDOWNLIGHTLJMPUPLIGHTBOFANG:MOVTMOD,#11H;音乐播放初始设置MOVIE,#82HMOV40H,#00HRETMUSIC:MOVA,40H;音乐播放处理MOVDPH,50H;取表地址MOVDPL,51HMOVCA,A+DPTR;将表数据送累加器AJZSTOP2;累加器A为0则转移(说明歌曲播放完得重新播放)MOVR1,AANLA,#0FHRLAMOVR2,AMOVA,R1SWAPAANLA,#0FHJNZSINGCLRTR0LJMPW1SING:DECAMOV

12、22H,ARLAMOVDPTR,#TABLE00MOVCA,A+DPTRMOVTH0,AMOV21H,AMOVA,22HRLAINCAMOVCA,A+DPTRMOVTL0,AMOV20H,ASETBTR0W1:LCALLDELAYINC40HJNZSTOP1;A不为0则转移LJMPBACKSTOP1:CLRTR0;音符结束重新播放处理LJMPBACKSTOP2:CLRTR0;整首歌曲播放结束处理MOVR2,#03HLCALLDELAYLCALLBOFANGLJMPBACKTABLE00:DW64580,64684,64777,64820DW64898,64968,65030,64260DW64

13、400,64524,65058,63835,64021INT:PUSHPSWPUSHACCMOVTH0,21HMOVTL0,20HCPLP3.5POPACCPOPPSWRETIDELAY:MOVR4,#100;延时100msLOOP3:MOVR5,#0FFHLOOP4:DJNZR5,$DJNZR4,LOOP3DJNZR2,DELAYRETDB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,01HDB7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,00HTABLE10:DB0d4H,84H,94H,82H,92HDB12H,22H,82

14、H,92H,02H,92H,82H,0d2HDB82H,92H,14H,84H,02H,0d1H,0d1HDB0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB84H,82H,82H,94H,82H,0d2HDB82H,82H,82H,92H,02H,82H,82H,0d2HDB0c4H,84H,0d4H,92H,0d2HDB82H,0d2H,82H,92H,98HDB04H,94H,88HDB04H,94H,88HDB04H,94H,88HDB04H,94H,88H,04HDB32H,32H,22H,12H,02H,92H,12H,92HDB32H,32H,22H,12H,0

15、2H,92H,12H,92HDB32H,32H,22H,12H,02H,92H,12H,22HDB54H,44H,34H,12H,22HDB34H,22H,12H,02H,92H,12H,92HDB32H,32H,22H,12H,02H,92H,12H,92HDB32H,32H,22H,12H,02H,92H,12H,22HDB54H,44H,32H,22H,12H,92HDB00HEND4.1程序流程图:程序如下二ORG0000HAJMPMAINORG000BHAJMPINTCRG002OHMAINJNBP1.2:START1判断按键P12:开始键)为0时转MAIN程序JMPMAIN:否则返

16、回STAHT:MOVTABLE10开始(默认情况下上到下)MCV31H:=LCWTAELE10ACALLBOFANG;音乐播放初始设置LJMPDOWNLIGHTSTOP:MOVPO:-OFBH停止SETBP3.5JKBP1.2:STARTAJXEPSTOPDOWNMOV50H=HIGHTABLE10:上到下MOV51H:=LQAVTABLE10ACALLBOTANG:音乐播放初始设置DOWNLIGHT:MOVDPTR:=TABLE1海TABLEI首地址赋数据:AJMPGETDATAUP:MOV50H=HIGHTABLE10;下到上MOV51H:LOWTABLE10ACALLEOFANG;音乐播

17、放初始设置UTLIGHTzMOVDPTR=TABLE2;将TABLE2首地址赋数据指针GETDAIA;MOVR。/。阳MOVR6:DPH;暂存指针值MOVR-RPLLOOPzCLRA;A清零MOVDPHR6MOVDPLR-MOVCA:gAWPTR:表数据选AMOVP0:A招A值送P0端口INCDPTK:数据指针加1,指向表中的下一数据MOVRaDPHMOVR7QPLJKBP1.2:START:P1.2口低电平则转START程序执行JKBP13:SrOP:P1.3口低电平则转STOP程序执行JNBR1ADOWN;Pl-4口低电平则转DOVN执行JNBP1.5:UP:Pl-5口低电平则转UP左循环

18、程序执行LMPML飞IC跳转音乐程序BACK:DJKZROTOCPCLRA;判断是上还是下MOVDPHR6MOVDPLKMOVCA=A+DPTRJNZDOWNLIGHTLMPUPLIGHTBOFANG:MOVTMOD=HH;音乐播放初始设置MOVIE=潞2HMOV40H:=00HRETMUSIC:MOVA=-4OH1音乐播放处理MOVDPH:50H;取表地址MOVDPLJ1HMOVCA:gA+DPTR滞表数据送累加器AJZSTOP2哭加器A为0则转移说明歌曲播放完得重新播放)MOVR1AANLA.-0PHRLAMOVRiAMOVA:R1SWAPAANLA=0mJNZSINGCLRTROLJMP

19、W1SING二DZCAMOV22HARLAMOVDPTR尸TAB二E。MOVCA.A-hDPTRMOVTH0:AMOV21HAMOVA.22HRLAmeAMOVCA.-gA-F-DPTRMOVTLD.AMOV20HASETBTROWl:LCALLDELAYINC40HJNZSTCP1速不为0则转移LJMPBACKSTOP1:CLRTRO,音符结束重新播放处理LJMPBACKSTOP2:CLRTRO;整首歌曲播放结束处理MOVR2.#03HLCALLDELAYLCALLBOFANGLJMPBACKTABLE00:DW64580=646S4=64_:64820DV64898f496*65030:6

20、4260DW64400:64524:f05S:63S35:64021INT:PUSHPSWPUSHACCMOVTH0.21HENDENDENDENDMOVCPLPOPTLO:20HP3.5ACCPOPPSAVRETIDELAY:MOVR4:1QQ延时IQDniwloop生movR5=ormLQOP4:DJNZR5=SDJNZR4=LOCP3DJNZR2=DELAYRETTABLEI:DBOPEH:OFDH:OfBH:OF7H:OEfH:ODFH:OBfH:-FH=01HTABLE2:DBrH:0BFH:0EFH:aEFH:0F7H:0PBK0FDH:0JEH:(10HTABLE10:DB0d4

21、H:34H:P4H:82H:92HDB12H:22H:S2H:92H:OjH=92H:g2H=Od2HDB82H:92H:14H:84H:02H:0dlH:0dlHDB0c2H:012H:84H:0d2H:0d2H:82H82HDBS4H:S2H:g2H:94H:gjH=0d2HDB82H:82H:82H:92H:02H:82H:82H=Od2HDB0c4H:84H:0d4H:92H:(ki2HDB82H,Od2HR2HQ2H.98HDB04H:94H:S8HDB04H;94H;88HDB04H:94H:SSHDB04H:94H:SSH=04HDE32H32H:22H:12H:02H:92H:

22、12H:92HDB32H32H:22H:12H:02H:92H:12H:92HDB32H32H:22H:12H:02H:92H:12H:22HDB54H,44HJ4H:12H:22HDE34H:22Hr12H:02H:92Hr12H:92HDB32H32H:22H:12H:02H:92H:12H:92HDB32H32H:22H:12H:02H:92H:12H:22HDB54H:44H32H:22H:12H:92HDBOOHENDEND四系统的软件设计4.1程序流程图:程序如下:ORG0000HAJMPMAINORG000BHAJMPINTORG0020HMAINJNBP1.2,START;判断

23、按键P1.2(开始键)为0时转MAIN程序JMPMAIN;否则返回START:MOV50H,#HIGHTABLE10开始(默认情况下上到下)MOV51H,#LOWTABLE10ACALLBOFANG;音乐播放初始设STOP:MOVP0,#0FFH停止SETBP3.5JNBP1.2,STARTAJMPSTOPSTOP:MOVP0,#0FFH停止SETBP3.5JNBP1.2,STARTAJMPSTOPDOWN:MOV50H,#HIGHTABLE10;下MOV51H,#LOWTABLE10上到针AJMPGETDATAUP:MOV50H,#HIGHTABLE10;下到上MOV51H,#LOWTABL

24、E10ACALLBOFANG;音乐播放初始设置UPLIGHT:MOVDPTR,#TABLE2;将TABLE2首地址赋数据指针GETDATA:MOVR0,#08HMOVR6,DPH;暂存指针值MOVR7,DPLLOOP:CLRA;A清零MOVDPH,R6MOVDPL,R7MOVCA,A+DPTR;表数据送AMOVP0,A;将庆值送P0端口INCDPTR;数据指针加1,指向表中的下一数据MOVR6,DPHMOVR7,DPLJNBP1.2,START;P1.2口低电平则转START程序执行JNBP1.3,STOP;P1.3口低电平则转STOP程序执行JNBP1.4,DOWN;P1.4口低电平则转DO

25、WN执行JNBP1.5,UP;P1.5口低电平则转UP左循环程序执行LJMPMUSIC;跳转音乐程序BACK:DJNZR0,LOOPCLRA;判断是上还是下MOVDPH,R6MOVDPL,R7MOVCA,A+DPTRJNZDOWNLIGHTLJMPUPLIGHTBOFANG:MOVTMOD,#11H;音乐播放初始设置MOVIE,#82HMOV40H,#00HRETMUSIC:MOVA,40H;音乐播放处理MOVDPH,50H;取表地ACALLBOFANG;音乐播放初始设置DOWNLIGHT:MOVDPTR,#TABLE1;将TABLE1首地址赋数据指址MOVDPL,51HMOVCA,A+DPT

26、R;将表数据送累加器AJZSTOP2;累加器A为。则转移(说明歌曲播放完得重新播放)MOVR1,AANLA,#0FHRLAMOVR2,AMOVA,R1SWAPAANLA,#0FHJNZSINGCLRTR0LJMPW1SING:DECAMOV22H,ARLAMOVDPTR,#TABLE00MOVCA,A+DPTRMOVTH0,AMOV21H,AMOVA,22HRLAINCAMOVCA,A+DPTRMOVTL0,AMOV20H,ASETBTR0W1:LCALLDELAYINC40HJNZSTOP1;A不为0则转移LJMPBACKSTOP1:CLRTR0;音符结束重新播放处理LJMPBACKSTOP

27、2:CLRTR0;整首歌曲播放结束处理MOVR2,#03HLCALLDELAYLCALLBOFANGLJMPBACKTABLE00:DW64580,64684,64777,64820DW64898,64968,65030,64260DW64400,64524,65058,63835,64021INT:PUSHPSWPUSHACCMOVTH0,21HMOVTL0,20HMOVR4,#100;100msLOOP3:MOVMOVTL0,20HMOVR4,#100;100msLOOP3:MOVDJNZR2,DELAYCPLP3.5POPR5,#0FFHLOOP4:RETTABLE1:ACCPOPPSW

28、延DJNZR5,$RETIDELAY:时DJNZR4,LOOP3DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,01HTABLE2:DB7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,00H;TABLE10:DB0d4H,84H,94H,82H,92HDB12H,22H,82H,92H,02H,92H,82H,0d2HDB0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB82H,82H,82H,92H,02H,82H,82H,0d2H,0d2H,82H,92H,98HDB04H,94H,88HB04H,94H,88H,04HDB32H,32H,22H,12H,02H,92H,12H,92HDB32H,32H,22H,12H,02H,92H,12H,22HDB34H,22H,12H,02H,92H,12H,92HDBDB82H,92H,14H,84H,02H,0d1H,0d1HDB84H,82H,82H,94H,82H,0d2HDB0c4H,84H,0d4H,92H,0d2HDB82HDB82H,92H,14H,84H,02H,0d1H,0d1HDB84H,82H,82H,94H,82H,0d2HDB0c4H,84H,0d4H,92H,0d2HDB82HDB0

温馨提示

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

评论

0/150

提交评论