c51单片机音乐门铃C语言程序,基于51单片机的无线音乐门铃设计

include

#define sound_amount 5 // 歌曲的数量

sbit pause=P2^5; // 播放 暂停

sbit speaker=P2^7; // 无源蜂鸣器

//

unsigned char timer0h,timer0l,time;//timer0h,timer0l 为定时器 T0的高低位初

值,time 为对应的节拍时间

unsigned char music_num,num; //music_num 为歌曲编号 ,music_num=0表示刚

开机时的状态 ,num 是查找歌曲数据表的地址

signed char fre; // 对应频率数据表的地址

bit play_enable; // 歌曲播放的使能标志位 , 用于播放 暂停

void delay(unsigned char t);  // 延时子函数 , 控制发音的时间长度

void delayms(unsigned int t);  // 普通延时子程序 , 可用于按键消抖

void song(void);  // 演奏一个音符

void music_play(void); // 播放歌曲

//

// 每三个数字 , 代表一个音符

// 第一个数字是音符的数值 1234567之一( 第几个音 ), 代表哆来咪发 ...

// 第二个数字是 0123之一, 代表低音 中音 高音 超高音 ( 第几个八度 )

// 第三个数字是时间长度 , 以半拍为单位 , 乐曲数据表的结尾是三个 0

//

// 《祝你生日快乐》

unsigned char code song1[]={

5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,

5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,

5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,

4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4, 0,0,0};

- 29 -

// 《世上只有妈妈好》

unsigned char code song2[]={

6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1,

//6,2,3 代表 6, 中音,3 个半拍 ;

//5,2,1 代表 5, 中音,1 个半拍 ;

//3,2,2 代表 3, 中音,2 个半拍 ;

//5,2,2 代表 5, 中音,2 个半拍 ;

//1,3,2 代表 1, 高音,2 个半拍 ;

//...

5,2,1,6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,6,1,1, 5,2,1,

3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2,

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值