基于51单片机具有存储记忆节拍功能的电子琴源程序.doc

基于51单片机具有存储记忆节拍功能的电子琴源程序.doc

ID:60824678

大小:39.50 KB

页数:9页

时间:2020-12-20

基于51单片机具有存储记忆节拍功能的电子琴源程序.doc_第1页
基于51单片机具有存储记忆节拍功能的电子琴源程序.doc_第2页
基于51单片机具有存储记忆节拍功能的电子琴源程序.doc_第3页
基于51单片机具有存储记忆节拍功能的电子琴源程序.doc_第4页
基于51单片机具有存储记忆节拍功能的电子琴源程序.doc_第5页
资源描述:

《基于51单片机具有存储记忆节拍功能的电子琴源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于51单片机有存储功能的电子琴源程序#include//包含51单片机寄存器定义的头文件sbitP14=P1^4;//将P14位定义为P1.4引脚sbitP15=P1^5;//将P15位定义为P1.5引脚sbitP16=P1^6;//将P16位定义为P1.6引脚sbitP17=P1^7;//将P17位定义为P1.7引脚unsignedcharkeyval;//定义变量储存按键值sbitsound=P3^7;//将sound位定义为P3.7sbitP31=P3^0;//将P31位定义为P3.

2、1引脚sbitP34=P3^4;//将P34位定义为P3.4引脚sbitP35=P3^5;//将P35位定义为P3.5引脚unsignedintC;//全局变量,储存定时器的定时常数unsignedintf;//全局变量,储存音阶的频率unsignedchars;//全局变量,储存节拍//以下是C调低音的音频宏定义#definel_dao262//将“l_dao”宏定义为低音“1”的频率262Hz#definel_re286//将“l_re”宏定义为低音“2”的频率286Hz#definel_mi311//将

3、“l_mi”宏定义为低音“3”的频率311Hz#definel_fa349//将“l_fa”宏定义为低音“4”的频率349Hz#definel_sao392//将“l_sao”宏定义为低音“5”的频率392Hz#definel_la440//将“l_a”宏定义为低音“6”的频率440Hz#definel_xi494//将“l_xi”宏定义为低音“7”的频率494Hz//以下是C调中音的音频宏定义#definedao523//将“dao”宏定义为中音“1”的频率523Hz#definere587//将“re”宏

4、定义为中音“2”的频率587Hz#definemi659//将“mi”宏定义为中音“3”的频率659Hz#definefa698//将“fa”宏定义为中音“4”的频率698Hz#definesao784//将“sao”宏定义为中音“5”的频率784Hz#definela880//将“la”宏定义为中音“6”的频率880Hz#definexi987//将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义#defineh_dao1046//将“h_dao”宏定义为高音“1”的频率1046Hz#de

5、fineh_re1174//将“h_re”宏定义为高音“2”的频率1174Hz#defineh_mi1318//将“h_mi”宏定义为高音“3”的频率1318Hz#defineh_fa1396//将“h_fa”宏定义为高音“4”的频率1396Hz#defineh_sao1567//将“h_sao”宏定义为高音“5”的频率1567Hz#defineh_la1760//将“h_la”宏定义为高音“6”的频率1760Hz#defineh_xi1975//将“h_xi”宏定义为高音“7”的频率1975Hz/*****

6、*********************************************************函数功能:软件延时子程序**************************************************************/voiddelay20ms(void){unsignedchari,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*******************************************函数功能:节拍的

7、延时的基本单位,延时200ms******************************************/voiddelay(){unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频入口参数:F******************************************/voidOutput_Sound(void){C=(50000

8、/f)*10;//计算定时常数TH0=(8192-C)/32;//可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32;//可证明这是13位计数器TL0低5位的赋初值方法TR0=1;//开定时T0for(s=0;s<2;s++)delay();//延时200ms,播放音频TR0=0;//关闭定时器sound=1;//关闭蜂鸣器keyval=0xff;//播放按键音频后,将按键

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。