版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
//简易电子琴//包含51单片机寄存器定义的头文件unsignedcharkeyval;//定义变量储存按键值unsignedintf;//全局变量,储存定时器的定时常数//全局变量,储存音阶的频率//以下是C调低音的音频宏定义#definel_re286//将“l_re”宏定义为低音“2”的频率286Hz#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调中音的音频宏定义xi987//将“fa”宏定义为中音“4”的频率698Hz//将“la”宏定义为中音“6”的频率880Hz//将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义//将“h_la”宏定义为高音“6”的频率1760Hz//将“h_xi”宏定义为高音“7”的频率1975Hz/**************************************************************函数功能:软件延时子程序**************************************************************/{i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*************************************************************************************/voiddelay(){i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频******************************************/{C=(46083/f)*10;方法//计算定时常数法delay();//延时200ms,播放音频TR0=0;播放按键音频后,将按键值更改,停止播放//keyval=0xff;}/*******************************************函数功能:主函数******************************************/{TR1=1;//定时器T1启动,开始键盘扫描无限循环while(1)//{switch(keyval){频率赋给f//转去计算定时常数break;case2:f=l_xi;频率赋给fbreak;//如果第2个键按下,将低音7的//转去计算定时常数case3:f=l_la;//如果第3个键按下,将低音6的频率赋给fOutput_Sound();//转去计算定时常数break;如果第4个键按下,将低case4:f=l_sao;//f5的频率赋给音Output_Sound();//转去计算定时常数break;case5:f=sao;f5的频率赋给中音//如果第5个键按下,将Output_Sound();//转去计算定时常数break;case6:f=fa;//如果第6个键按下,将f4的频率赋给中音break;Output_Sound();//转去计算定时常数如果第7case7:f=mi;//个将f中音3的频率赋给转去计算定时常数Output_Sound();//break;case8:f=re;//如果第8个键按下,将中Output_Sound();//转去计算定时常数break;case9:f=h_re;//如果第9f2的频率赋给音转去计算定时常数break;个键按下,将高//f1的频率赋给将高音转去计算定时常数Output_Sound();//break;如果第1111:f=xi;//个键按下,将f的频率赋给7中音转去计算定时常数break;//如果第12case12:f=la;//个键按下,将中f的频率赋给音6转去计算定时常数Output_Sound();//break;个键按下,将13如果第case13:f=h_la;//fOutput_Sound();//转去计算定时常数break;case14:f=h_sao;//如果第14个键按下,将高音5的频率赋给fOutput_Sound();//转去计算定时常数break;case15:f=h_fa;//如果第15个键按下,将高音4的频率赋给fOutput_Sound();//转去计算定时常数break;case16:f=h_mi;//如果第16个键按下,将高音3的频率赋给fOutput_Sound();//转去计算定时常数break;}}}/**************************************************************函数功能:定时器引脚输出音频方波P3.7T0的中断服务子程序,使**************************************************************/voidTime0_serve(void)interrupt1using1{赋初值方法初值方法//将P3.7引脚取反,输出音频方波}/**************************************************************函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位**************************************************************/voidtime1_serve(void)interrupt3using2//定时器T1的中{置为高电平“1”if((P1&0xf0)!=0xf0){delay20ms();if((P1&0xf0)!=0xf0){//关闭定时器T0//延时一段时间、软件消抖//确实有键按下低电平“0”keyval=1;线//如果检测到接P1.4引脚的列线为//可判断是S1键被按下//如果检测到接P1.5引脚的列为低电平“0”keyval=2;//可判断是S2键被按下如果检测到接P1.6引脚的列线if(P16==0)//0”为低电平“可判断是S3键被按下keyval=3;//如果检测到接if(P17==0)//P1.7引脚的列线为低电平“0”可判断是S4keyval=4;//键被按下如果检测到接”低电平“0键被按下可判断是keyval=5;//S5引脚的列线如果检测到接if(P15==0)//P1.50为低电平“”键被按下keyval=6;//可判断是S6引脚的列线如果检测到接if(P16==0)//线为低电平“0”keyval=8;//如果检测到接P1.7引脚的列//可判断是S8键被按下if(P14==0)//如果检测到接P1.4引脚的列线为低电平“0”可判断是S9键被按下keyval=9;//如果检测到接P1.5if(P15==0)//引脚的列线为被按下如果检测到接if(P16==0)//P1.6引脚的列线为0”低电平“可判断是keyval=11;被按下如果检测到接P1.7if(P17==0)//引脚的列线为低电平“0”可判断是S12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年生物科技基因编辑行业发展报告
- 2026年装配式建筑行业产业链协同效应分析报告
- 2026年铁路货运结构调整分析报告
- 2026年新能源产业深度分析报告及未来3-5年投资趋势研判
- 2026年化肥市场研究报告:环保政策与可持续发展
- 2026年汽车智能化创新技术分析报告
- 2026年高精度压力差压变送器市场创新驱动因素研究报告
- 2026年连采机行业技术创新动态报告
- 2026年电子商务平台竞争格局与用户行为研究报告
- 2026年社交电商行业深度研究报告:市场动态与未来展望
- 中国皮炎湿疹诊疗指南(2026版)解读
- 2025年富滇银行信息科技笔试及答案
- 外部供电施工方案(3篇)
- 代理记账人员培训制度
- 2025~2026学年上海市市西初级中学上学期六年级期中数学试卷
- 2025四川蜀道轨道交通集团招聘管培生5人笔试题库附答案解析
- 辽宁省沈阳市名校2026届物理九上期中监测试题含解析
- 乒乓球基本规则课件
- 口腔科三基培训学习课件
- ILO -中国劳动力市场的工时不足、工时过度及工时错配 -基于高质量充分就业角度的工时分析
- T/CUWA 60055-2023城镇排水管道螺旋缠绕内衬法修复用硬聚氯乙烯(PVC-U)带状型材
评论
0/150
提交评论