单片机c语言曲普两只蝴蝶,51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安)...
DelayMS(10); i++; } }
void main() {
beep=0; while(1) {
PlayMusic(); //播放生日快乐
DelayMS(500); //播放完后暂停一段时间 } }
两只蝴蝶:
#include // 这是 单片机音乐代码生成器 生成的代码 #define uchar unsigned char
sbit beepIO=P1^5; // 输出 为 P1.5 可以修改 成 其它 IO 口 uchar m,n;
uchar code T[49][2]={{0,0},
{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},
{0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},
{0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},
{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81} };
uchar code music[][2]={{0,4},
{23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{14,24},
{23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,24},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{21,24},
{23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{19,4},{14,24},
{23,4},{26,4},{26,16},{26,4},{28,4},{26,4},{23,24},{21,4},{23,4},{21,8},{21,4},{23,4},{21,4},{19,4},{16,4},{16,2},{19,2},{19,24},{0,20},
{26,4},{26,4},{28,4},{31,4},{30,4},{30,4},{28,4},{23,4},{21,4},{21,4},{23,16},{0,4},{23,4},{23,4},{26,4},{28,8},{28,12},{16,4},{23,4},{21,4},
{21,24},{23,4},{26,4},{26,4},{23,4},{26,8},{0,4},{31,8},{30,4},{28,4},{30,4},{23,8},{0,4},{28,4},{28,4},{30,4},{28,4},{26,4},{23,4},{21,8},{23,4},{21,4},{23,4},{26,16}, {0xFF,0xFF}};
void delay(uchar p) {
uchar i,j; for(;p>0;p--) for(i=181;i>0;i--) for(j=181;j>0;j--); }
void pause() {
uchar i,j;
for(i=150;i>0;i--) for(j=150;j>0;j--); }
void T0_int() interrupt 1
{
beepIO=!beepIO;
TH0=T[m][0]; TL0=T[m][1]; }
void main() {
uchar i=0;
TMOD=0x01; EA=1; ET0=1; while(1) {
m=music[i][0];n=music[i][1]; if(m==0x00)
{TR0=0;delay(n);i++;} else if(m==0xFF)
{TR0=0;delay(30);i=0;} else if(m==music[i+1][0])
{TR0=1;delay(n);TR0=0;pause();i++;} else
{TR0=1;delay(n);i++;} } }
祝你平安:
#include %unsigned char Count; sbit _Speak =P1^5 ;
unsigned char code 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,0x20,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,0x26,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};
void Time0_Init() {
TMOD = 0x01; IE = 0x82; TH0 = 0xD8;
TL0 = 0xEF; //12MZ晶振,10ms }
void Time0_Int() interrupt 1 {
TH0 = 0xD8; TL0 = 0xEF;
Count++; //长度加1
}
/*------------------------------------------------- 功能:1MS延时子程序
-------------------------------------------------*/ void Delay_xMs(unsigned int x) {
unsigned int i,j; for( i =0;i < x;i++ ) {
for( j =0;j<3;j++ ); } }
void Play_Song(unsigned char i) {
unsigned char Temp1,Temp2; unsigned int Addr;
Count = 0; //中断计数器清0
Addr = i * 217; while(1) {
Temp1 = SONG[Addr++];
if ( Temp1 == 0xFF ) //休止符 {
TR0 = 0;
Delay_xMs(100); }
else if ( Temp1 == 0x00 ) //歌曲结束符 {
return; } else {
Temp2 = SONG[Addr++]; TR0 = 1; while(1) {
_Speak = ~_Speak; Delay_xMs(Temp1); if ( Temp2 == Count ) {
Count = 0; break; } } } } }
/*------------------------------------------------- 功能:主程序
-------------------------------------------------*/ void main() {
Time0_Init(); //定时器0中断初始化 while(1) {
Play_Song(0); //播放 } }
以上是由77cn范文大全为大家整理的51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安)的相关范文,本文关键词为单片机,蜂鸣器,播放,音乐,代码,生日,快乐,两只蝴蝶,祝你,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安).doc
免费范文网为全国范文类知名网站,下载全文稍作修改便可使用,即刻完成写稿任务。
已有11人下载
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安)在线全文阅读。
本文来自:免费范文网(www.77cn.com.cn) 转载请注明出处!
单片机c语言曲普两只蝴蝶,51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安)...相关推荐
- 51单片机c语言宏定义是什么意思,51单片机的C语言宏定义应用.doc
1.预编译处理是单片机C语言程序设计中经常用到的一种方法.通过一些预处理命令可以为C语言本身提供许多功能和符号的扩充,增强C语言程序的灵活性和方便性. 常用的预处理命令有:宏定义.文件包含.条件编译等 ...
- 单片机c语言程序开发洗衣机,基于的51单片机全自动洗衣机设计(北理工
<基于的51单片机全自动洗衣机设计(北理工>由会员分享,可在线阅读,更多相关<基于的51单片机全自动洗衣机设计(北理工(24页珍藏版)>请在人人文库网上搜索. 1.全自动洗衣机 ...
- 51单片机c语言数字输入输出,第五章 51单片机C语言程序--输入输出接口.pdf
四川师范大学成都学院 51单片机原理及应用 单片机输入/输出口(I/O口) 主讲教师:刘强 四川师范大学成都学院电子竞赛培训实验中心(刘强) 明德.博学.求实.创新 复习1.单片机的外观 AT89C5 ...
- 单片机c语言编程30倒计时,急求51单片机倒计时三十秒程序
急求51单片机倒计时三十秒程序 关注:117 答案:2 手机版 解决时间 2021-01-31 06:56 提问者青春统帅 2021-01-30 16:36 第二位同志请补充一下注释 谢谢 最佳答 ...
- 单片机c语言99秒的定时器,通过51单片机定时器1实现99秒倒计时
今天刚刚完成了一个新的单片机实验,犯了一个小小的错误,导致不能够倒计时,弄了几个小时, 结果发现是变量的取值范围出错了 任何一个实验都应该自己动手去实践,没有实践是不知道自己少了什么的.只有实践才能够 ...
- 单片机c语言曲普两只蝴蝶,C51单片机 蜂鸣器两只蝴蝶代码
#include // 这是 单片机音乐代码生成器 生成的代码 #define uchar unsigned char sbit beepIO=P1^5; // 输出 为 P1.5 可以修改 成 其它 ...
- 单片机c语言有没有跳转指令,51单片机跳转指令
@ 无条件转移bai指令(共4条) LJMP addr16 : PC〈-du- addr16 AJMP addr11 : PC〈-- PC+2 , PC10-0〈-- addr11 SJMP rel ...
- 51单片机c语言年月日设定,综合实例:51单片机(AT89C52)万年历(温度闹钟年月日时分秒星期)...
功能说明: LCD1602液晶显示年.月.日.时.分.秒.星期.温度,三个按键控制时间日期调整以及闹钟设定. 三个按键: 1."校时"键,每次按下分别对应调整秒.调整分钟.调整小时 ...
- 单片机c语言二进制转10进制,51单片机用C语言怎么样把八位二进制转换成十进制...
满意答案 sunzhaoming 2013.07.06 采纳率:41% 等级:12 已帮助:8866人 //******************************************* ...
- 51单片机c语言直流电机廷迟启停,51单片机控制直流电机不会加定时器延时程序...
这是自己改的延时,串口输入1,电机转动,再输入其他没用了 #include void uart_init(); void qudong (unsigned int t); sbit en1=P0^0; ...
最新文章
- 原型模式(Prototype)
- 指定ASP .NET Core Web应用端口
- linux 内核链表遍历宏 list_for_each_entry list_for_each_entry_safe
- python3 的 str bytes 区别
- 在调研近百家企业需求后,我们推出了新产品线——神策客景
- 如何利用tcpdump抓包?
- 经纬度绘图_Python气象绘图教程(二十二)—mpl_toolkits.axes_grid1
- Activiti中的流程存储服务(RepositoryService)
- 【笔记】《C#高效编程改进C#代码的50个行之有效的办法》第1章C#语言习惯(1)--属性的特性以及索引器(SamWang)...
- 简单的多线程操作示例
- 7. memcache 细节
- rgb矩阵Android程序,Android ColorMatrixColorFilter
- linux 0.01内核分析与操作系统设计 百度网盘,《Linux 0.01内核分析与操作系统设计——创造你自己的操作系统》...
- 韩荣温控器nx2使用说明书_如何查看您的Ecobee温控器的使用历史记录
- 使用Visual studio查看exe或DLL文件的依赖项
- C#chart控件如何同时显示两条曲线?
- kafka sasl java_Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)
- Work20230417
- SaaSpace:9种最好的免费幻灯片制作工具
- 安恒11月赛Web题目复现