单片机c语言编写音乐播放器,51单片机c语言编写电子琴+音乐播放器.doc.doc
51单片机c语言编写电子琴音乐播放器.doc
此程序是51单片机c语言编写的电子琴+音乐播放器,当用杜邦线将P1^0管脚接地时,单片机就会放出《世上只有妈妈好》,将P1^1管脚接地时单片机就播放《祝你生日快乐》,
两者为高电平时进入电子钢琴模式,利用16个矩阵键盘发出相应的哆、瑞、米、发、索。此文档的乐谱是借鉴别人的,因为本人是音乐白痴!这是我第一次发表,我希望能帮到有需要的人啦........
#include
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^3; //定义蜂鸣器
sbit music=P1^0; //music为低电平播放世上只有妈妈好(工作模为音乐播放器),music1为低电平时播放祝你生日快乐,music、music1都为高电平时(工作模式为电子钢琴)
sbit music1=P1^1;
uchar timer0h,timer0l,time,key,flag; //flag==0时为电子钢琴模式,flag==1时为音乐播放器
uchar code yuepu[]={ 6,2,3,5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 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, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 }; //世上只有妈妈好乐谱
uchar code yuepu1[]={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};//祝你生日快乐乐谱
uchar code TH_0[]={
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, // 28个音阶高八位频率表 装进定时器高八位
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
} ;
uchar code TL_0[]={
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, // 28个音阶低八位频率表 装进定时器 低八位
0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
};
void delay(uchar t)
{
uchar t1;
unsigned long t2;
for(t1=0;t1
{
for(t2=0;t2<8000;t2++)
{ ; }
}
}
void song()
{
TH0=timer0h;
TL0=timer0l; // 唱歌程序
TR0=1;
delay(time); //延时,让此音节播放的长短
TR0=0; //关定时器,为下个音节响做准备
}
void
单片机c语言编写音乐播放器,51单片机c语言编写电子琴+音乐播放器.doc.doc相关推荐
- 八路抢答器c语言程序,八路抢答器-51单片机(附Proteus仿真、C代码、原理图及PCB、论文和元器件清单)...
获取全套设计资源,请见后文说明- 设计要求 1)抢答器同时供8名选手或2个代表队比赛,分别用8个按钮S0-S7表示: 2)设置一个系统清除和抢答控制开关S,该开关由主持人控制: 3)抢答器具有锁存与显 ...
- 用c语言编写热敏电阻温度计,基于51单片机的热敏电阻温度计的设计.doc
摘 要 随着科学技术的不断进步与发展,热敏电阻温度计已开始逐渐替代传统的玻璃水银体温计.温度控制系统在国内各行各业的应用虽然已经十分广泛,传统的温度控制方式,主要缺点是温度波动范围大,不能满足高精度, ...
- 单片机c语言计数器测速,基于51单片机的光电编码器测速.doc
课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器.在位置控制系统中,由于电机既可能正转,也可能反转,所 ...
- 单片机c语言100例 的案例,51单片机C语言100个实例 [推荐下载】
51单片机c语言100例 ,墙裂推荐下载 附上目录 ************************************************************函数的使用和熟悉****** ...
- 51单片机c语言编程的头文件,51单片机编程的头文件reg51.h详解
我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对 ...
- 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档
51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...
- 单片机c51语言实训总结,大学生51单片机实训心得体会
<大学生51单片机实训心得体会>由会员分享,可在线阅读,更多相关<大学生51单片机实训心得体会(1页珍藏版)>请在人人文库网上搜索. 1.大学生51单片机实训心得体会实践是检验 ...
- 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序
<(最新整理)基于51单片机的电子钟C语言程序>由会员分享,可在线阅读,更多相关<(最新整理)基于51单片机的电子钟C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.完整) ...
- 59s计时器C语言程序步骤详解,51单片机00-59秒计时器 0-59s Timer
51单片机00-59秒计时器 0-59s Timer 1. 实验任务 如下图所示,在AT89S51单片机的P0和P2端口分别接有两个共阴数码管,P0口驱动显示秒时间的十位,而P2口驱动显示秒时间的个 ...
- 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...
现功能,1L水由1KW电炉加热,要求水温在一定范围内人工设定,并能随着环境温度改变自动调节,以维持设定的温度不变. 矩阵键盘输入设定温度,LCD1602显示温度值,VB上位机绘制温度曲线 /***** ...
最新文章
- Linux系统开发之路-中
- jetbrains 旗下所有工具 pycharm clion goland 配置导出及导入
- html和css有序列表,HTMLCSS基础学习笔记14—有序列表及列表嵌套
- 【学习笔记】 Javascript定时器
- mysql怎么通过frm和ibd文件还原数据
- Nest入门教程 - 初识Providers
- python模拟登录获取Cookie
- [Ext JS]treelist实现tooltip
- 条件表达式计算个人所得税c语言,个税的计算C语言实现,结果为什么是负的?...
- 位运算的简单应用,计算无符号的数中二进制位中值为 1 的个数
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
- 利用Python制作一个“电子记事本”
- 页面JS实现按钮点击增加输入框
- C#中的换行符、回车
- Java服务端支付功能模块--(一)支付宝支付
- APIO 2017 考拉的游戏 题解
- 青春如电,许多未了心愿
- 如何提升小目标的检测效果
- 如何在vscode、remix中结合hardhat编译部署合约
- 【开发教程10】疯壳·开源蓝牙心率防水运动手环-蓝牙 BLE 收发
热门文章
- 在HBuilder里为什么输入汉字是繁体字,而我的输入法设置的是简体
- 使用Dreamweaver进行一个简单的图文混排1/HTML
- 不会还有人不知道module、bundle和chunk的区别吧?
- Altium Designer如何批量修改SCH名称,数值,封装
- hadoop文件存储位置_hadoop – HDFS存储数据的位置
- SumatraPDF 高级设置
- 箭头函数写法_JavaScript|箭头函数的用法
- 解决IDEA启动失败 Improperly specified VM option...问题
- 按照网络规模来分,服务器分为哪几类?
- frm mysql触发器_使用mysqlfrm恢复frm表结构的方法