基于51单片机具有存储记忆节拍功能的电子琴源程序(2)
break;
case 11:f=xi; //如果第11个键按下,将中音7的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=xi; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 12:f=la; //如果第12个键按下,将中音6的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=la; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 13:f=h_la; //如果第13个键按下,将高音6的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=h_la; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 14:f=h_sao; //如果第14个键按下,将高音5
本文是用C语言编写基于51单片机具有记忆节拍功能的电子琴源程序。曾今我在网上搜了很多类似文档都没有找到有存储功能的单片机C源程序,或者是找到了却没法查看和下载。现在我把自己编写的源程序分享给大家希望对大家有所帮助。不足之还望多多指教。
的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=h_sao; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 15:f=h_fa; //如果第15个键按下,将高音4的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=h_fa; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 16:f=h_mi; //如果第16个键按下,将高音3的频率赋给f
Output_Sound(); //转去计算定时常数
pu[m]=h_mi; //将键盘扫描的结果付数组pu[]的元素
m++; //付值完毕m自动加1用于对数组的下一个元素付值
break;
case 17:n=1; //跳出循环
break;
}
}
while(pu[k]!=0) //播放通过按键写入的音乐
{
P34=1; //关闭P3.4口的LED灯用作扫描键盘时的指示灯
P35=0; //打开P3.5口的LED灯用播放时的指示灯 f=pu[k];
Output_Sound();
k++;
}
for(z=0;z<41;z++)
{
pu[z]=0;
}
}
}
/**************************************************************
本文是用C语言编写基于51单片机具有记忆节拍功能的电子琴源程序。曾今我在网上搜了很多类似文档都没有找到有存储功能的单片机C源程序,或者是找到了却没法查看和下载。现在我把自己编写的源程序分享给大家希望对大家有所帮助。不足之还望多多指教。
函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频方波
**************************************************************/
void Time0_serve(void ) interrupt 1 using 1
{
TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法 TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 sound=!sound; //将P3.7引脚取反,输出音频方波
}
/**************************************************************
函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位
**************************************************************/
void time1_serve(void) interrupt 3 using 2 //定时器T1的中断编号为3,使用第2组寄存器
{
TR1=0; //关闭定时器T0
P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1” P2=0xff;
if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下
{
delay20ms(); //延时一段时间、软件消抖
if((P1&0xf0)!=0xf0) //确实有键按下
{
P1=0xfe; //第一行置为低电平“0”(P1.0输出低电平“0”)
if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”
keyval=1; //可判断是S1键被按下
if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”
keyval=2; //可判断是S2键被按下
if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”
keyval=3; //可判断是S3键被按下
if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”
keyval=4; //可判断是S4键被按下
P1=0xfd; //第二行置为低电平“0”(P1.1输出低电平“0”)
if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”
本文是用C语言编写基于51单片机具有记忆节拍功能的电子琴源程序。曾今我在网上搜了很多类似文档都没有找到有存储功能的单片机C源程序,或者是找到了却没法查看和下载。现在我把自己编写的源程序分享给大家希望对大家有所帮助。不足之还望多多指教。
keyval=5; //可判断是S5键被按下
if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”
keyval=6; //可判断是S6键被按下
if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”
keyval=7; //可判断是S7键被按下
if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”
keyval=8;
P1=0xfb;
平“0”)
if(P14==0)
keyval=9;
if(P15==0)
“0”
keyval=10;
if(P16==0)
“0”
keyval=11;
if(P17==0)
“0”
keyval=12;
P1=0xf7;
平“0”)
if(P14==0)
keyval=13;
if(P15==0)
“0”
keyval=14;
if(P16==0)
“0”
keyval=15;
if(P17==0)
“0”
keyval=16;
}
}
if(P31==0)
{
delay20ms();
if(P31==0) //可判断是S8键被按下 //第三行置为低电平“0”(P1.2输出低电//如果检测到接P1.4引脚的列线为低电平“0” //可判断是S9键被按下 //如果检测到接P1.5引脚的列线为低电平 //可判断是S10键被按下 //如果检测到接P1.6引脚的列线为低电平 //可判断是S11键被按下 //如果检测到接P1.7引脚的列线为低电平 //可判断是S12键被按下 //第四行置为低电平“0”(P1.3输出低电//如果检测到接P1.4引脚的列线为低电平“0” //可判断是S13键被按下 //如果检测到接P1.5引脚的列线为低电平 //可判断是S14键被按下 //如果 …… 此处隐藏:1819字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




