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

付费下载

下载本文档

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

文档简介

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

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

3、一种带4K字节闪存可编程可擦除只读存储器(FPEROM Flash Programmable and Erasable Read Only Memory)的单片机芯片,它采用静态 CMOS工艺制造8位微处理器,最高工作频率位24MHZo AT89C5外形及引脚排列如图所示:1 J1二二丄1SL-XTAL1PO.O/ADO P0.VAD1P0.2/AD2XTAL2PQ.3JM3P0.4/AD4F0.5/AD5 P0.6/AD6RSTP0.7/AD7P2.0;A8P2.VA9汇PSEN ALEP2.2/A10P2.3/A11P2.4/A1231_ EAP2.5/A13P2.6/A14P2.7/A1

4、5 1P1.0P3.0/RX03OP1 1P3.VTX0P2P3.27INTOP1.3P3.3/INT1P1.4P1.5P1.6P3.47TOP3.5/T1P3.6/WR P1.7P3.7/R0I I管脚说明:RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口的管脚第 一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0辙出 原码,此时P0外部必须被拉高。P1

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

6、高八位。在给出地址“1”时, 它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存 器的容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8个带部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。当P3 口写入1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3 口将输出电流(ILL)这是由于上拉的缘故。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在FLASH编程期间,此引脚用于输入编程脈冲。在平时,ALE端以不变的频率周期输出正脉 冲信号,此频率为

7、振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然 而要注意的是:每当用作外部数据存储器时,将班过一个ALE脉冲。如想禁止ALE的输出可 在SFR8EH地址上置0。此时,ALE只有在执行MOVX, MOVC指令是ALE才起作用。另外, 该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 PSEN有效。但在访问外部数据存储器时,这两次有效的PSEZ信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有部程序存储器。注意加密方式1时

8、,EA将部锁定为RESET;当 EA端保持高电平时,此间部程序存储器。XTAL1和XTAL2:反向振荡放大器的输入及部时钟工作电路的输入。3. 3系统的硬件构成及功能描述: 控制系统硬件设计电路图如图所示:卩WSC:和mP:2M)P:Pi-VAUp幻1四.系统的软件设计ORG 0000HAJMP MAINORG 000B11AJMP INTORG 0020HMAIN: JNB Pl. 2.START ;判断按键Pl. 2(开始键)为0时转MAIN程序 JMP MAIN;否则返回START: MOV 50H.#HIGH TABLE 10 ;开始(默认情况下上到下)MOV 51H.#L0W TAB

9、LE10ACALL BOFANG;音乐播放初始设置LJMP DOWNLIGHTSTOP: MOV PO+OFFH ;停止SETB P3. 5JNB Pl. 2,STARTAJMP STOPDOWN: MOV 50H,#HIGH TABLE 10 ;上到下MOV 51H,#L0W TABLE10ACALL BOFANG ;音乐播放初始设置AJMPDOWNLIGHT: MOV DPTR.STABLE 1 ;将 TABLEI 首地址賦数据指针 GETDATAUP:MOV 50H.#HIGH TABLE10 ;下到上MOV 51Ht#L0W TABLE10ACALL BOFANG ;音乐播放初始设置U

10、PLIGHT: MOV DPTR,#TABLE2 ;将 TABLE2 首地址赋数据指针GETD.4TA: MOV RO,#0811MOV R6.DPH;暂存指针值MOV R7.DPLLOOP:CLR A 川淸零MOV DPH.R6MOV DPL.R7MOVC A,A+DPTR ;表数据送 AMOV PO.A:将A值送PO端口INC DPTR:数据指针加1,指向表中的下一数据MOV R6.DPHMOV R7,DPLJNB Pl. 2,START :Pl. 2 口低电平则转START程序执行JNB Pl. 3,STOP ;P13 口低电平则转STOP程序执行JNB Pl. 4,DOWN ;P1.4

11、 口低电平则转 DOWN 执行JNB P1.5.UP:Pl. 5 口低电平则转UP左循环程序执行LJMP MUSIC ;跳转音乐程序BACK:DJNZ RO.LOOPCLR A ;判断是上还是下MOV DPH,R6MOV DPL,R7MOVC A,A+DPTRJNZ DOWNLIGHTLJMP UPLIGHT BOFANG:MUSIC:MOV TMOD,#11H ;音乐播放初始设置MOV IE,#82HMOV 40H,#00HRETMOV A.40H;音乐播放处理MOV DPH.50H ;取表地址MOV DPL.51HMOVC儿A+DPTR ;将表数据送累加器AJZ ST0P2 ;累加器A为0

12、则转移(说明歌曲播放完得重新播放)MOV R1,AANL At#OFHRL AMOV R2,AMOV A.R1SWAP AANL A,#OFHJNZ SINGCLR TROLJMP W1SING:DEC AMOV 22H.ARL AMOV DPTR,#TABLE00MOVC A.A+DPTRMOV THO.AMOV 21H.AMOV A.22HINC AMOVC A.A+DPTRMOV TLOtAMOV 20H.ASETBTROWl:LCALL DELAYINC40HJNZST0P1 ;A不为0则转移LJMPBACKST0P1:CLRTRO ;音符结束重新播放处理LJMPSTOP2:CLRMO

13、VBACKTRO :整首歌曲播放结束处理R2,#03HLCALL DELAYLCALL BOFANGLJMP BACKTABLEOO: DW 64580.64684.64777.64820DW 64898.64968,65030.64260DW 6440064524,65058,63835,64021INT:PUSH PSWPUSH ACCMOV TH0.21HMOV TL0.20HCPL P3. 5POP ACCPOP PSWRET IDELAY:MOV R4.#100 ;延时 100msL00P3:MOV R5.#0FFHL00P4: DJNZ R5,$DJNZ R4.L00P3DJNZ

14、R2,DELAYRETTABLEI:DB OFEH,OFDH.OFBH,0F7H.OEFH,ODFH,OBFH.7FH,01HTABLE2:DB 7FH,OBFHODFH,OEFH0F7H,OFBH,OFDH,OFEH.OOHTABLE10:DB 0d4H,84H.94H,82H.92HDB 12H,22H.82H.92H02H.92H.82H,0d2HDB 82H,92H,14H,84H,02H,OdlH,OdlHDB 0c2H,0d2H.84H,Od2H.0d2H.82H.82HDB 84H,82H.82H,94H.82H,0d2HDB 82H,82H.82H.92H.02H.82H,82

15、H.0d2HDB 0c4H,84H,0d4H,92H,0d2HDB 82H.0d2H.82H.92H.98HDB 04H,94Ht88HDB 04H,94H.88HDB 04H,94H.88HDB 04H,94H.88H,04HDB 32H,32H.22H,12H.02H,92H.12H.92HDB 32H,32H,22H,12H.02H,92H.12H.92HDB 32H,32H.22H,12H.02H,92H.12H,22HDB 54H.44H.34H.12H.22HDB 34H,22H.12H,02Ht92H,12H.92HDB 32H,32H,22H,12H.02H.92H.12H.9

16、2HDB 32H,32H.22H, 12H.02H.92HJ2H,22HDB 54H,44Hf32H,22Hf12H,92HDB OOHEND4. 1程序流程图:程序如下:ORG 0000HAJNIP MAINORG 000BHAB-IP I NTORG 0020HMAINJNB P12START;判断按犍PL2开始键)为0时转MAIN程序B-IP MAIN:否则返回STARTAIOV 50H.=HIGH TABLE 10开始(默认情覘下上到下)MOV 51H?#LOW TABLE10ACALL BOFANG;音乐播放初始设置LMP DOWNLIGHTST OP: MOV PO:-OFFH 停

17、止SETBP3.5JNB Pl.2.STARTAJXLP STOPDOWN:MOV 50H=HIGH TABLE 10:上到下MOV 51H=LOW TABLE10ACALL BOFANG;音乐播放初始设置DOWXLIGHT:ICN DPTR尸TABLEI;将 TABLEI 首地址赋数据AJMP GETDATAUP:MOV 50H=HIGH TABLE 10 ;下到上MOV 51H:=L OW TAB LE10ACALL BOFANG;音乐播放初始设置UPLIGHT:MOV DPTR尸TABLE2;将T玄BLE2首地址赋数据指针GE TD AT A; MOVR05f08FI;暂存扌旨针值MOA

18、MOAR6:DPHR 二 DPLLOOP:CLRA戲清零1OVDPHR6MOADPL=R7MOVCA迄A-DPTR滾数据送A1OP0:A将A值送P0端口INCDPTR;数据扌旨针加1,指向表中的下一数据MOVR6QPHMOVR 二 DPLJNBP12START:P1.2 口低电平则转START程序执行JNBP13ST0P:P1-3 口低电平则转STOP程序执行JXBP14DOWN:Pl-4 口低电半则转DOX卞执行JNBP15UP:Pl-5 口低电平则转UP左循环程序执行LJMPMUSIC跳转音乐程序BACK: DJNZRO.LOOPCLRA;判断是上还是下MOVDPHR6MOVDPL.R7M

19、OVC A逸A-DPTRJNZ DOWNLIGHTLJMP UPLIGHTBOFANG:MO-r TMOD =HH;音乐播放初始设置MOV IEsf82HMOV 40H.=00HRETMUSIC: MOV A:40H;音乐播放处理MOV DPH50H取表地址MOV DPL/1HMOVC A:A+DPTR;将表数据送累加器AJZ STOP2票加盎A为0则转移(说明歌曲楷放完得重新播放)MOV R1AAXL A =0FHRL AMOV R2AMOV A:R1SWAP AANL A 声 OFHJNZSINGCLR TROLJXIP W1SING: DEC AMOV 22H:ARL AMOV DPTR

20、TABLE00MOVC A.0A+DPTRMOV TH05AMOV 21H:AMOV A;22HRL AINC AMOVC AjA+DPTRMOV TLO.A MOV 20H:ASETB TROWl: LCALL DELAYINC40HJNZSTOPl;A不为0则转移LJMPBACKSTOP1: CLRTRO厝符结東重新播放处理LJMPBACKSTOP2: CLRTRO屋首歌曲播放结束处理MOVR2,R3HLCALL DELAYLCALL BOFANGLJMPBACKTABLEOO:DW64580=646S4:64777:64820DW64898=64968:65030:64260DW6440

21、0=64524;6505 8;63835=64021INTi PUSH PSWPUSH ACCMOV TH0.21HMOV TLOS20HCPL P3.5POP ACCPOP PSWRETIDELAY; MOVR4s=100涎时100msLOOP3:MOV R5=0FFHLOOP4:DJNZR5=SDJNZR4.LOOP3DJNZR2.DELAYRETTAB LEI:DB OFEH:OFDH:OFBH?OF7H:OEFH:ODFH:OBFH57FH=01HTABLE 2:DB 7FH:0BFH:0DFH:0EFH:0FH:0FBHz0FDH:0FEH=00HTABLE 10:DB 0C14KS

22、4K94K82K92HDB 12H:22Hs82Hs2Hs02Hs92Hs82H3Od2HDB 82H:92HJ4H:84H:02H:0dlH:0dlHDB 0c2H:0d2H!84H!0d2H!0d2H!8.2H!82HDB 84H:82H:82H:94H:82H:0d2HDB 82H:82H:82H:92H:02H:82H:82H=Od2HDB 0c4Hs84H!0d4H!92H!0d2HDB 82H.0d2H.82H.92H.98HDB 04Hr94H;8SHDB 04H.94H.SSH DB 04H:94H:88HDB 04Hs94Hs88Hs04HDB 32H:32H:22H: 12

23、H:02H:92H; 12H;WHDB 32H:32H:22HJ2H:02H:92H:12H:92HDB 32H:32H:22H:12Hr02H:92H:12H:22HDB 54比44H34HJ2H22HDB 34H.22H.12H.02H.92H.12H.92H DB 32H:32H:22HJ12H:02H:92H:12H:92HDB 32HS32H522HS 12Hs02H;92Hs 12HJ2HDB 54H544Hs32H:22H; 12H:92HDB OOHEND四. 系统的软件设计4. 1程序流程图:程序如下ORG0000HA JMP MAINORGOOOBHAJMPINTORG00

24、2011MAIN:JNBPl. 2,START;判断按键Pl. 2(开始键)为0时转MAIN程序JMPMAIN;否则返回START:MOV 50H.#HIGH TABLE 10开始( 默认情况下上到下)MOV51H.#L0W TABLE10ACALLBOFANG;音乐播放初始设置STOP: MOV PO+OFFH 停止JNB Pl. 2.STARTAJSETB P3.5NP STOP上到DOWN:MOV50H,#HIGH TABLE10下MOV51H,#L0WTABLE10ACALLBOFANG;音乐播;将TABLE1首地址賦数据指LJMP DOWNLIGHT针AJMPiDETDATAUP:M

25、OV50H.#HIGH TABLE10;下到上MOV 51H,#L0W TABLE10ACALL BOFANG;音乐播放初始设置UPLIGHT:MOVDPTR.#TABLE2;将 TABLE2 首地址賦数据指针GETDATA:MOVR0.#08HMOVR6.DPH:暂存指针值MOV R7,DPLLOOP:CLR A;A清零MOV DPILR6MOV DPL,R7MOVC 儿 A+DPTR;表数据送AMOV PO.A;将人值送PO端口INC DPTR;数据指针加1,指向表中的下一数据MOVR6.DPHMOVR7.DPLJNB Pl. 2,START;P1.2口放初 始设置 DOWNLIGHT:M

26、OV DPTR,#TABLE1低电平则转START程序执行JNB P1.3.STOP :P1.3 口低电平则转STOP程序执行JNB P1.4.D0WN:Pl.4口低电平则转DOWN执行JNB P1.5.UP;P1.5口低电平则转UP左循环程序执行LJMP MUSIC转音乐程序BACK: DJNZ RO.LOOPCLRA;判 断是上还是下MOV DPH,R6MOV DPL,R7MOVC A.A+DPTRJNZ DOWNLIGHTLJMPLIPLIGHTBOFANG:MOV TMOD.#11H;音乐播放初始设置MOV IE.#82HIm 40H,#00HRETMUSIC:MOV A.40H;音乐

27、播放处理MOV DPH.50H:取表地址MOV DPL,51HMOVC A,A+DPTR;将表数据送累加器八JZST0P2;累加器A为0则转移(说明歌曲播放完得重新播放)MOVR1,AANL A.itOFHRLAMOVR2.AMOV A,R1SWAP AANLA,#OFHJNZ SINGCLR TROLJMPWl SINGDEC AMOV22H.ARLAMOVDPTR冲TABLEOOMOVCA,A+DPTRMOVTHO.AMOV21H,AMOVA.22HRLAINCAMOVCA.A+DPTRMOVTLO,AMOV20H.ASETBTROWl:LCALLDELAYINC40HJNZST0P1:A

28、不为0则转移LJMP BACKST0P1:CLRTRO;音符结束重新播放处理LJMP BACKST0P2: CLR TRO:整首歌曲播放结束处理MOV R2,#03HLCALL DELAYLCALLBOFANGLJMP BACKTABLEOO:DW 64580,64684.64777,64820 DW 64898.6496& 65030.64260DW 64400.64524.65058,63835.64021 INT: PUSH PSW PUSH ACC MOVTH0.21HMOV TL0.20HCPL P3.5POP ACCPOP PSWRETI DELAY:MOV R4.#100;延时1

29、00ms L00P3:MOVR5.#0FFH L00P4:DJNZR5,$DJNZ R4,L00P3DJNZ R2,DELAYRET TABLEI:DB OFEH,OFDH,OFBH.0F7H,OEFH.ODFH OBFH.7FH,01HTABLE2:DB 7FH.0BFH,ODFH,OEFH,0F7H.OFBH,OFDH.OFEH.OOH ;TABLE 10:DB 0d4H.84H.94比82H.92HDB 82H, 92HJ4H, 84H. 02H ,0dlH,0dlHDB 84H,82H,82Ht94H,82Ht0d2HDB 0c4H,84H,0d4H.92H.0d2H DB 82HDB 04H,94H,88H DB 04IL94H.88H DDB 32H,32H.22H,12H.02H,92H.12H,92HDB 54H,44H.34H,12H.22H32H,32H,22H.12H,02H.92H,12H.92H DB54H, 44H, 32H, 22HJ2H.92H DB OOHDB 12H,22H.82H,92H,02H,92H,82H,0d2HDB 0c2H,0d2H.84H,0d2H,0d2H,82H.82HDB 82H,82H.82H,92H.02H,82H.82H,0d2H,0d2H82H,92H98HDB 04H,94H88HB 04Ht9

温馨提示

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

评论

0/150

提交评论