11538|26

169

帖子

1

TA的资源

纯净的硅(初级)

楼主
 

TI Launchpad 音乐 《欢乐颂》 [复制链接]




如图,TI Launchpad  驱动蜂鸣器(喇叭)演奏音乐 《欢乐颂》;代码见附件。

运行主频为 1MHz  ; 所用芯片为g2553,当然其他芯片也可以,仅需修改芯片型号即可,P1.0端口接蜂鸣器。



精准延时运用:


#define CPU_F ((double)1019000)     //1 MHz
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) 
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) 
//MCLK = SMCLK = CALxxx_1MHZ = 1MHz


延时100毫秒
    delay_ms(100);

延时100微妙
    delay_us(100);

每个音符对应固定的频率,而频率则由上述延时实现。



源文件   欢乐颂.rar (846 Bytes, 下载次数: 633)

最新回复

你好,请我如何用喇叭发出其他音乐?我找不到谱对应的频率,你那个音乐颂确实是可以的  详情 回复 发表于 2015-8-24 14:33

赞赏

1

查看全部赞赏

 
点赞 关注(1)

回复
举报

5015

帖子

13

TA的资源

裸片初长成(初级)

沙发
 
这个我要顶起来,很有意思的制作
 
 

回复

5015

帖子

13

TA的资源

裸片初长成(初级)

板凳
 
要是楼主能给大家解释解释延时的使用那是最好不过了
 
 
 

回复

169

帖子

1

TA的资源

纯净的硅(初级)

4
 

精准延时

#define CPU_F ((double)1019000)     //1 MHz
尽管msp430可以通过
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;   来设置主频为1MHz,但仍存在少许误差,本例中为101900;

延时是通过 周期指令实现的,当然是别人的发明
 
 
 

回复

5276

帖子

5

TA的资源

裸片初长成(中级)

5
 
蜂鸣器
没意思
单频率吧

[ 本帖最后由 wangfuchong 于 2012-2-28 09:25 编辑 ]
 
 
 

回复

7230

帖子

192

TA的资源

五彩晶圆(高级)

6
 
蛮不错的  从基础做起
 
 
 

回复

1万

帖子

16

TA的资源

版主

7
 

不错,楼主明明接地喇叭怎么说蜂鸣器呢

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

169

帖子

1

TA的资源

纯净的硅(初级)

8
 

回复 7楼 ddllxxrr 的帖子

喇叭跟蜂鸣器一样吧,只是喇叭发出的声音更饱满。
 
 
 

回复

1万

帖子

16

TA的资源

版主

9
 

回复 8楼 cc1989summer 的帖子

不一样,喇叭是8欧的,蜂鸣是靠电压,声音应没太大区别
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

6040

帖子

202

TA的资源

版主

10
 

回复 9楼 ddllxxrr 的帖子

蜂鸣器分有源与无源。无源与喇叭原理一样。有源需要一个电压。
 
 
 

回复

6040

帖子

202

TA的资源

版主

11
 

回复 楼主 cc1989summer 的帖子

那个double的用法不是很符合场景。 用后缀L来表示长整型比较好。
 
 
 

回复

437

帖子

0

TA的资源

五彩晶圆(初级)

12
 
正需要这个呢~

可以做一个表啊,用定时器做~

[ 本帖最后由 juring 于 2012-2-29 19:32 编辑 ]
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

13
 
楼主可真是费了不少功夫下,每个音节都编了个FOR函数,设定延长时间。

但我想请问下能否用数组存储音乐信息呢??好像以前51单片机开发板上的实例是数组的,比如我现在手头就有//《祝你平安》对应的编码
const unsigned char SONG[]=
{
    0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,
    0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,
    0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x0,0x20,
    0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,
    0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,
    0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,
    0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,
    0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x6,0x10,
    0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,
    0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,
    0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,
    0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,
    0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,
    0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,
    0x20,0x20,0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,
    0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,
    0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,
    0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,
    0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,
    0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,
    0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,
    0x10,0x30,0x20,0x39,0x20,0x26,0x10,0x2b,0x10,
    0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,
    0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,
    0x00
};
但是不知道怎么用起来?能否纸指点下?谢谢

点评

  在不考虑修饰音时,如果使用(数组=音高+时长)这样编码,音乐文件的体积可以很小  详情 回复 发表于 2012-7-16 11:26
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(初级)

14
 
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

15
 
哈哈,《欢乐颂》只有1、2、3、4、5五个音,编程中的数据就可以简单些。
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

16
 

原帖由 taobao96 于 2012-7-14 14:12 发表 楼主可真是费了不少功夫下,每个音节都编了个FOR函数,设定延长时间。 但我想请问下能否用数组存储音乐信息呢??好像以前51单片机开发板上的实例是数组的,比如我现在手头就有//《祝你平安》对应的编码 const u ...

 

在不考虑修饰音时,如果使用(数组=音高+时长)这样编码,音乐文件的体积可以很小

 
 
 

回复

125

帖子

0

TA的资源

纯净的硅(中级)

17
 
学习下,看看能不能移植到我的 EZ430 Chronos  上去
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

18
 
太有意思了哈哈哈
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

19
 
有意思
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

20
 
能解释一下延时与频率之间的关系吗
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表