您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页彩灯控制器设计报告

彩灯控制器设计报告

来源:爱够旅游网
彩灯控制器设计报告

摘要:本系统主要由S51单片机模块、数码管显示模块、按键控制模块、蜂鸣音乐

模块等部分组成。完成的主要功能有:LED数码管自动显示数字,并且每个数字的显示时间可调;能产生一段简单的音乐。

设计要求

本题要求用单片机实现一个带音乐发生功能的彩灯控制器。具体要求如下:

一、 由LED数码管自动显示数字0、1、2、3、4、5、6、7、8、9(自然数列),1、

3、5、7、9(奇数列),0、2、4、6、8(偶数列)和0、1、2、3、4、5、6、7、0、1(音乐符号数列),然后又依次显示出自然数列、奇数列、偶数列、音乐符号数列……,如此周而复始,不断打包循环。

二、 打开电源时控制可自动清零,从接通电源时刻起,数码管最先显示出自然数列

的0,再显示出1,然后按上述规律变化。

三、 每个数字的一次显示时间(从数码管显示出它之时起到它消失之时止)基本相

等,这个时间在0.5S到2S范围内连续可调。

四、 设计并制作该控制器所需要的直流稳压电源。电源电压5V。 五、 扩展功能:设计一个音乐产生电路,自动产生一段音乐。

设计方案

按照本设计题目的要求,硬件可采用ATS51单片机作为核心部件,由1个LED数码管完成数字显示功能;由一个扬声器完成音乐播放功能;采用三键控制,其中两个键控制LED数码管每个数字的一次显示时间,另一个键控制音乐的播放;通过软件设计实现全部功能。

工作原理

单片机在循环显示数字列的同时,采用查询方式控制数字的显示时间和音乐播放的开关。音乐低频信号由定时器采用中断方式产生。

软件流程

开始 单片机初始显示数字 按键查询 1或2键按下 无键按下 显示时间增减 播放音乐 3键按下 设计原理

(1. LED循环数字显示; (2. 音乐产生的方法;

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

本次设计中单片机晶振频率为12MHz,那么定时计数器的定时频率为1MHz,选用工作方式1,那么T值便为T=216—5×105/(相应的频率),那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示: 音符 频率(HZ) 简谱码(T值) 音符 频率(HZ) 简谱码(T值) 低1 DO 262 63628 # 4 FA# 740 860 #1 DO# 277 63731 中 5 SO 784 8 低2 RE 294 63835 # 5 SO# 831 934 #2 RE# 311 63928 中 6 LA 880 968 低 3 M 330 021 # 6 932 994 低 4 FA 349 103 中 7 SI 988 65030 # 4 FA# 370 185 高 1 DO 1046 65058 低 5 SO 392 260 # 1 DO# 1109 65085 # 5 SO# 415 331 高 2 RE 1175 65110 低 6 LA 440 400 # 2 RE# 1245 65134 # 6 466 463 高 3 M 1318 65157 低 7 SI 494 524 高 4 FA 1397 65178 中 1 DO 523 580 # 4 FA# 1480 65198 # 1 DO# 5 633 高 5 SO 1568 65217 中 2 RE 587 684 # 5 SO# 1661 65235 # 2 RE# 622 732 高 6 LA 1760 65252 中 3 M 659 777 # 6 1865 65268 中 4 FA 698 820 高 7 SI 1967 65283

下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据 低音0-19之间,中音在20-39之间,高音在40-59之间 TABLE: DW 0,63628,63835,021,103,260,400,524,0,0 DW 0,63731,63928,0,185,331,463,0,0,0 DW 0,580,684,777,820,8,968,65030,0,0 DW 0,633,732,0,860,934,994,0,0,0 DW 0,65058,65110,65157,65178,65217,65252,65283,0,0 DW 0,65085,65134,0,65198,65235,65268,0,0,0 DW 0

2、音乐的音拍,一个节拍为单位(C调)

节拍值 DELAY 4/4 125ms 3/4 187ms 2/4 250ms

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

本次设计采用ATS51单片机产生了一首3/4拍的“生日快乐”歌。因为歌曲是3/4拍的,所以美个音符的发音延时是187ms的整数被。在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。

电路图

调试于检测

在完成电路制作和软件编程后,调试是最为重要的一环。设计制作中的种种漏洞和不足都在这里被发现并解决。

软件清单和注解:

ORG 0000H AJMP MAIN ORG 0300H MAIN: CLR P1.4

MOV 30H,#20 MOV 40H,#0AH MOV A,#00H N1:

MOV P3,#0FFH MOV R0,A

MOV DPTR,#TABLE2 MOVC A,@A+DPTR

MOV P3,A MOV R5,30H LCALL DELAY MOV A,R0 INC A

DJNZ 40H,N1

MOV 40H,#05H MOV A,#01H N2: MOV R0,A MOV P3,#0FFH

MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV P3,A MOV R5,30H LCALL DELAY MOV A,R0 INC A INC A

DJNZ 40H,N2

MOV 40H,#05H MOV A,#00H N3: MOV R0,A MOV P3,#0FFH

MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV P3,A MOV R5,30H LCALL DELAY MOV A,R0 INC A INC A

DJNZ 40H,N3

MOV 40H,#08H MOV A,#00H N4: MOV R0,A

MOV P3,#0FFH

MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV P3,A MOV R5,30H LCALL DELAY MOV A,R0 INC A

DJNZ 40H,N4 MOV 40H,#02H MOV A,#00H N5: MOV R0,A MOV P3,#0FFH

MOV DPTR,#TABLE2 MOVC A,@A+DPTR MOV P3,A MOV R5,30H LCALL DELAY MOV A,R0 INC A

DJNZ 40H,N5

AJMP MAIN

DELAY:

MOV A,P1 ;延时子程序(R5*25)ms MOV P1,#0FFH MOV R1,A ANL A,#01H JNZ DLV1 INC 30H DLV1: MOV A,R1 ANL A,#02H JNZ DLV2 DEC 30H DLV2: MOV A,R1 ANL A,#04H JNZ DLV3

LCALL MUSIC DLV3:

MOV R7,#100 ;延时子程序25ms D1:

MOV R3,#250 D2:

DJNZ R3,$ DJNZ R7,D1 DJNZ R5,DELAY RET

MUSIC:

MOV TMOD,#11H ;设定时方式 MOV IE,#8AH ;开中断 START0:

MOV 50H,#00H NEXT: MOV A,50H

MOV DPTR,#TABLE

MOVC A,@A+DPTR ;查表取音调和节拍 MOV R4,A

JZ END1 ;为零,不进行处理. ANL A,#0FH

MOV R2,A ;将节拍存入R2 MOV A,R4 SWAP A ANL A,#0FH

JNZ SING ;根据音调决定是否演奏. CLR TR0 ;关闭定时 AJMP PAS1 SING: DEC A

MOV 22H,A ;将音调存入22H. RL A

MOV DPTR,#TABLE1

MOVC A,@A+DPTR ;根据音调决定定时器初值. MOV TH0,A ;放入TH0 MOV 21H,A MOV A,22H RL A INC A

MOVC A,@A+DPTR

MOV TL0,A ;放入TL0 MOV 20H,A

SETB TR0 PAS1:

MOV TH1,#0CH MOV TL1,#83H MOV 55H,#03H

SETB TR1 ;启动定时 END0: RET END1: CLR P1.4 SJMP END0

ORG 000BH ;定时器T0中断服务程序 AJMP TIM0 ORG 0080H TIM0: CPL P1.4

MOV TL0,20H ;重赋初值. MOV TH0,21H RETI

ORG 001BH ;定时器T1中断服务程序 AJMP TIM1 ORG 0180H TIM1:

DJNZ 55H,DT MOV 55H,#03H DJNZ R2,TIM1 INC 50H

LCALL NEXT DT:

MOV TL1,#83H ;重赋初值. MOV TH1,#0CH RETI

TABLE2: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,00H 4,5,6,7,8,9,结束

TABLE1: DW 260,400,524,580 ;决定音调的定时初值.

数码:0,1,2,3, ;DW 684,777,820,8 DW 968,65030,65058,65110 DW 65157,65178,65217 TABLE: DB

82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H DB

82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H DB

82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H ;决定音调和节拍的表格,不同的歌曲只是此表不同

END

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务