电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

c51单片机课程设计——电子琴

c51单片机课程设计——电子琴_第1页
1/11
c51单片机课程设计——电子琴_第2页
2/11
c51单片机课程设计——电子琴_第3页
3/11
1 课 程 设 计 报 告 姓名:曹 飞 龙 班级:101班 学号:10101230 课程设计名:简易电子琴 指导老师:胡启龙 1 一、概述: 本系统设计制作一个可演奏的电子琴。综合应用了两项设计: ( 1)能产生纯音,了解音调高低的控制方法,用键盘代替电子琴的键盘,控制演奏音乐。 ( 2)演奏一支乐曲(天空之城)。 那音阶要怎么使用C51 单片机产生呢?C51 在这项工作中运用它哪些资源呢?我们怎么实现一个按键对应一个音阶呢? 二、系统描述: ( 1) 我们从初中开始就知道,声音是由振动产生的,基本的这7 个音阶的频率之间满足某种数学关系由低到高排列的自然音,所以我们可以通过改变单片机输出频率就可以得到不同的音阶;( 2)为了得到精确的频率(周期的倒数),我们可以使用C51 单片机定时中断模块。( 3)通过判断按键是否被按下,然后执行该按键按下时的函数(在程序中是改变T1 的初值得到实现)。 需要注意的是,在该程序中让8051 的内部定时器使其工作在计数器模式MODE1 下 ,改变记数值TH0 及 TL0 以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912 微秒,因此只要令计数器定时956/1=956 在每记数9 次时将I/O 口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1 微秒.故其频率为1MHZ Fr;要产生的频率 1 起记数值的求法如下: T= 65536- N= 65536- Fi/ 2/ Fr 例如:设K= 65536, F= 1000000= Fi= 1MHZ,求低音D0( 523HZ),高音的D0( 1046HZ)的记数值。 T= 65536- N= 65536- Fi/ 2/ Fr= 65536- 1000000/ 2/ Fr= 65536- 500000/ Fr 低音D0 的 T= 65536- 500000/ 262= 63627 中音D0 的 T= 65536- 500000/ 523= 64580 低音D0 的 T= 65536- 500000/ 1047= 65059 详细的音阶频率与计数初值可参考附录一; 三、电路设计 1.单片机最小系统模块 2.三极管信号放大模块 扬声器发出对应音符模块如下: 1 3.按键电路模块: 1 四.程序设计: 本系统的程序流程图如下: 开始 模块初始化 音乐控制按键是否按下? 播放音乐 音符按键是否按下? 播放音符按键所对应的音符 终止 1 程序如下: #include #define uchar unsigned char #define uint unsigned int sbit kongzhi=P1^1; sbit fm=P1^0; /...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

c51单片机课程设计——电子琴

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部