用计算机弹我和我的祖国,51单片机蜂鸣器演奏《我和我的祖国》

本文通过51单片机的蜂鸣器功能,详细展示了如何编程演奏《我和我的祖国》。利用11.0592MHz的晶振,通过频率-半周期数据表来控制音调和时间,实现乐曲的播放。代码中包含了歌曲的音符数据,以及中断程序和延时程序,以确保准确的发音和节奏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于同学的需要,于是用51单片机的蜂鸣器功能谱了一首《我和我的祖国》,下面是全部的代码:

#include

sbit beep = P1^5;

unsigned char timer0H, timer0L, time;

//单片机晶振采用11.0592MHz

// 频率-半周期数据表 高八位     本软件共保存了四个八度的28个频率数据

code unsigned char FREQH[] = {

0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8,    //低音1234567

0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i

0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,            //高音 234567

0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF};   //超高音 1234567

// 频率-半周期数据表 低八位

code unsigned char FREQL[] = {

0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,    //低音1234567

0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i

0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,             //高音 234567

0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16};   //超高音 1234567

//数据表

code unsigned ch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值