单片机-简易音符发生器

单片机-简易音符发生器

ID:43363979

大小:375.17 KB

页数:4页

时间:2019-10-01

单片机-简易音符发生器_第1页
单片机-简易音符发生器_第2页
单片机-简易音符发生器_第3页
单片机-简易音符发生器_第4页
资源描述:

《单片机-简易音符发生器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、安徽文达信息工程学院学生实验报告学年第—学期课程名称《单片机原理与应用》实验口期:院部班级姓名学号实验项目名称:实验十二简易音符发生器指导老师:实验类型:编程仿真成绩:一、【实验目的】1.掌握定时器产生各种频率的方波,利用蜂鸣器发出各种音调。2.学习编程实现矩阵键盘扫描原理及数码管显示原理。二、【实验原理及内容】本系统设计制作一个可演奏的电子琴。综合应用了两项设计。1.键盘矩阵识别。即矩阵扫描,显示当前按键。2.不同频率咅符播放。可以通过按键控制16种发咅。一首咅乐是许多不同的咅阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率

2、的组合,即可构成我们所想要的咅乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定吋/计数器TO来产生这样方波频率信号,因此,我们只要把一首歌曲的咅阶对应频率关系正确即可。若要产生咅频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定吋器计吋半周期时间,每当计吋终止后就将某一引脚电平反相,然后重复计吋再反相。就可在某一引脚上得到此频率的脉冲。利用8051单片机的内部定时器使其工作定时器模式下,改变计数值TH0及TLO以产生不同频率的方法产生不同咅阶,例如,频率为524Hz,其周期T=1/524=

3、1912us,因此只要令定时器计时956us/lus=956,(单片机晶振频率为12MHZ)每计数956次时将I/O反相,就可得到屮音DO(524Hz)o例如:设K=65536,求低音DO(262Hz)、中音DO(524Hz)、高音DO(1046Hz)的计数值。低咅DO的T=65536-500000/262=63628中咅DO的T=65536-500000/524=64580高咅DO的T=65536-500000/1046=65058单片机12MHZ晶振,高屮低咅符与计数T0相关的计数值如表所示。表12・1音符频率表音符频率(HZ)简谱码(T值

4、)音符频率(HZ)简谱码(T值)休止00中4FA69864820低1DO26263628中5SO78464898低2RE29463835中6LA88()64968低3M33064021中7SI98865030低4FA34964103咼1DO104665058低5SO39264260咼2RE117565110低6LA44064400咼3M131865157低7SI49464524咼4FA139765178中1DO52464580咼5SO156865217中2RE58864684咼6LA176065252中3M66064777咼7SI1967652

5、83三、【实验器材】PC机、Proteus仿真软件、Keilc51仿真软件四、【实验步骤】(1)键盘矩阵识别。即矩阵扫描,显示当前按键。(2)不同频率咅符播放。可以通过按键控制16种发咅。KEY0键按下,播放DO低音;(相应频率:262)KEY8键按下,播放DO中音;(524)KEY1键按下,播放RE低音;(294)KEY9键按下,播放RE中音;(588)KEY2键按下,播放MI低音;(330)KEYA键按下,播放MI中音:(660)KEY3键按下,播放FA低音;(349)KEYB键按下,播放FA中音;(698)KEY4键按下,播放SO低音;(

6、392)KEYC键按播放SO中音;(784)KEY5键按下,播放LA低音;(440)KEYD键按下,播放LA中音;(880)KEY6键按下,播放#6LA#;(466)KEYE键按下,播放#6LA#;(932)KEY7键按下,播放SI低音;(494)KEYF键按下,播放SI中音(988)五.【实验过程原始记录】(可附页)#include#defineucharunsignedchar#defineuintunsignedintucharcodeanjian[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x8

7、2,0xf8,0x80,0x90,0x88,0x83,0xc6,Oxa1,0x86,0x8e};uintcodeT[]={63628,63835,64021,64103,64260,64400,64463,64524,64580,64684,64777,64820,64898,64968,65000,65030};sbitspeaker=P3A0;ucharKeyNo;voidsaomiao(){ucharn,k;Pl=0x0F;n=PlA0x0F;switch(n){case1:k=0;break;case2:k=l;break;case4:

8、k=2;break;case8:k=3;break;default:return;}Pl=0xF0;n=(pi»4)A0x0F;switch(n){c

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

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

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