电子音调发生器---单片机实验报告

电子音调发生器---单片机实验报告

ID:34041535

大小:164.67 KB

页数:15页

时间:2019-03-03

电子音调发生器---单片机实验报告_第1页
电子音调发生器---单片机实验报告_第2页
电子音调发生器---单片机实验报告_第3页
电子音调发生器---单片机实验报告_第4页
电子音调发生器---单片机实验报告_第5页
资源描述:

《电子音调发生器---单片机实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、单片机课程设计实验报告电子音调发生器电子音调发生器(-)实验目的1.了解计算机发声原理。2.熟悉定时器和键盘扫描电路的工作原理及编程方法。(二)设计任务及要求利用实验平台上的开关k0-k7和蜂鸣器设计电子音调发生器,要求:1.利用实验平台上开关k0-k7进行音调选择,即拨动不同的开关产生不同的音调,依次拨动K0〜K7,蜂鸣器发出1234567i八个音调。2.编写2支歌曲,并可进行选择播放。(三)工作原理及设计思路1•音节由不同频率的方波产生,音节与频率的关系如表1所示。要产生音频方波,只要算出某一音频的周期(1/频率),

2、然后将此周期除以2,即为半周期的时间。利用计时器计时此半周期吋间,每当计吋到后就将输出方波的I/O反相,然后重复计时此半周期吋间再对I/O反相,就可在I/O脚得到此频率的方波。在ZKS-03实验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将单片机的P1.7与蜂鸣器的驱动电路相连。这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。只要设定延时时间,就可求得节拍的时间。延时作为基本延时时间,节拍值只能是它的整数倍,每个音节相应的定时

3、器初值X可按下法计算:(1/2)*(1/f)=(l2/fose)*(216-x)B

4、Jx=216-(fose/24f)其中f:音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x二63777D二F921H其它的可同样求得。音调频率(Hz)X(HEX)1262E9212294F9E13330FA8C4349FAD85392FB686440FBE97494FC5B1523FC8F表1各音调对应频率及计数器初值2•蜂鸣器模块由驱动电路和kcl206无源一体蜂鸣器组成。蜂鸣器电路如图6所示。

5、三极管选的是S8550o图6(4)实验设计1.实现功能设计实现两个主要功能:电子琴与咅乐播放。1、电子琴:可播放12345671个音调。2、音乐播放:同时按下kO,kl时启动播放歌曲《欢乐颂》;同时按下k7,k6时启动播放歌曲《因为爱情》2.流程图图1程序流程图1.软件设计思路电子琴主要的工作是将按键的信息读取,然后根据按键的数字,用计数器输出相对应的频率,实现电子琴的音调。程序主要为5部分,键盘扫描、中断计时、数码显示、音乐播放、主程序,他们分别执行不同的功能。2.各部分功能具体介绍(1)键盘键值读取程序根据键盘值判断

6、是执行电子琴还是播放音乐。同时判断出如果是电子琴是哪种音调,如果是播放音乐,是哪首歌。(2)中断计时中断部分,通过设置不同的计数初值,控制pl.7产生不同频率的方波.(3)音乐播放音乐播放部分主要是播放音乐,实现按键电子琴和播放程序里面的音乐的功能。信号从pl.7输出后,要先经过三极管放大,才能驱动蜂鸣器。(4)主程序主程序主要是通过对按键扫描,执行相应操作,在该程序中在播放音斥过程中按pl.2(Kl)可停止播放。源程序:ORG0000H;启动键盘选择程序:;按下k0-k7键分別对应1-i这8个音符;同吋按下kO,kl吋

7、启动播放歌曲《欢乐颂》;同时按下k7,k6时启动播放歌曲《因为爱情》KEYPRO:JBP1.2,G01;P1.2口为1时跳转LJMPGOMUS1;P1.2口为0时判断P1.4是否也为0,P1.4为0时长转移GO1:JBP1.4,GO2LJMPGOMUS4G10:LJMPKEYP02GO2:JBP1.5,GO3LJMPKEYP03GO3:JBP1.6,GO4LJMPKEYP04GO4:JBP3.2,GO5LJMPKEYP05GO5:JBP3.3,GO6LJMPKEYP06GO6:JBP3.4,GO8GOO:LJMPKEYP

8、01;P1.4口不为0,P1.2口为0时发1咅;检查Pl.2不为0后,Pl.4口为0发“2”音;pl.5口为0发“3”咅;pl.6口为0发“4”音;p3.2口为0发“5”音;p3.3口为0发“6”音LJMPGOMUS2GO7:LJMPKEYP07;p3.4口为0发“7”音GO8:JBP3.5,KEYPRO;都为1则重新扫描LJMPG0MUS3G09:LJMPKEYP08GOMUS1:JBP1.4,GOOLJMPMUSTART1;跳到再次判定k6;判定k6不为0,则p3.5口为0发“i”音;k0,kl同为0播歌1,kl不为

9、0,返冋1.2发T音GOMUS2:JBP3.5,GO7LJMPMUSTART2;k6,k7同为0播歌2,k7不为0,返回3.4发“7”音GOMUS3:JBP3.4,GO9;k7为0,再检查k6是否为0LJMPMUSTART2GOMUS4:JBP1.2,G10LJMPMUSTART1KEYP01:SETBP1.7MOV

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

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

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