单片机课程设计报告_电子音调发生器

单片机课程设计报告_电子音调发生器

ID:14395125

大小:580.00 KB

页数:20页

时间:2018-07-28

单片机课程设计报告_电子音调发生器_第1页
单片机课程设计报告_电子音调发生器_第2页
单片机课程设计报告_电子音调发生器_第3页
单片机课程设计报告_电子音调发生器_第4页
单片机课程设计报告_电子音调发生器_第5页
资源描述:

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

1、单片机课程设计单片机课程设计报告电子音调发生器一、设计要求利用JD51开发板上的按键S1~S4和蜂鸣器设计电子音调发生器,要求:(1)利用JD51开发板上的按键S1~S4进行音调选择,即按下不同的开关产生不同的音调,依次按动S1~S4及组合按键,蜂鸣器发出1234567i八个音调;并在数码管上显示。-19-单片机课程设计(2)编写2支歌曲,并可进行选择播放。二、设计目的(1)了解计算机发声原理。(2)熟悉定时器和键盘扫描电路的工作原理及编程方法。三、设计原理利用计时器计时此半周期时间,每当计时到后就将输出方波的I/O反相,然后重复计时此半周期时间再对I/O反相,

2、就可在I/O脚得到此频率的方波。在JD51单片机上,产生方波的I/O脚选用P2.4,通过跳线选择器将单片机的P2.4与蜂鸣器的驱动电路相连。这样P2.4输出不同频率的方波,蜂鸣器便会发出不同的声音。另外,音乐的节拍是由延时实现的,如果1拍为0.4秒,1/4拍是0.1秒。只要设定延时时间,就可求得节拍的时间。延时作为基本延时时间,节拍值只能是它的整数倍。音节由不同频率的方波产生,音节与频率的关系通过查表可得。要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。每个音节相应的定时器初值X可按下法计算:(1/2)*(1/f)=(1

3、2/fose)*(216-x)即x=216-(fose/24f)其中f:音调频率,当晶振fose=11.0592MHz时,音节“1”相应的定时器初值为x,则可得x=63777D=F921H其它的可同样求得。表1音调频率(Hz)X(HEX)1262F921-19-单片机课程设计2294F9E13330FA8C4349FAD85392FB686440FBE97494FC5Bi523FC8F四、proteus仿真设计及描述按键一:数码管显示1,同时能听到蜂鸣器响音调1-19-单片机课程设计按键一:数码管显示1,同时能听到蜂鸣器响音调1按键二:数码管显示2,同时能听到蜂

4、鸣器响音调2按键三:数码管显示3,同时能听到蜂鸣器响音调3按键四:数码管显示4,同时能听到蜂鸣器响音调4因为音调5,6,7,i以及音乐都是由两个按键控制的,所以在仿真时实现不了。五、设计方案及思路1.总体框图数码管显示电路矩阵键控制89C51单片机声音输出电路-19-单片机课程设计按键重播控制音乐播放控制硬件图2蜂鸣电路模块鸣器驱动电路和89C51组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100MA驱动电流。当89C51输出为低电平时蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。六、软件设计流程及描述根据要实现的功能,流程图如下:熟悉定时器

5、和键盘扫描电路的工作原理及编程方法。开始系统初始化判断按键判断按键电子琴液晶显示播放音调播放音乐功能选择音乐-19-单片机课程设计1.软件设计思路电子琴主要的工作是将按键的信息读取,然后根据按键的数字,用计数器输出相对应的频率,实现电子琴的音调。程序主要为5部分,键盘扫描、中断计时、数码显示、音乐播放、主程序,他们分别执行不同的功能。2.各部分功能介绍(1)键盘键值读取程序键盘键值读取程序包括键盘扫描、消除抖动、键译码等内容。按键的识别主要有两种方法:行反转法和行扫描法。因为键盘为机械开关,容易引入抖动。为了消除抖动干扰,在程序中要加入消除抖动的部分。(2)中断

6、计时中断部分,中断定时器1主要负责输出不同频率的方波,产生声音,中断定时器1主要是计时按键时间及按键间隔时间的功能,在播放音乐的时候,还担任着播放音乐的节拍的任务。(3)音乐播放-19-单片机课程设计音乐播放部分主要是播放音乐,实现按键重播和播放程序里面的音乐的功能。(4)主程序主程序主要是随时发出按键的声音功能,并且通过不同P口的扫描,判断是否是播放按键声音还是播放音乐,还是继续发出按键声音。七、实验源程序汇编程序:/*SB11音SB22音SB33音SB44音SB1SB25音SB2SB36音SB3SB47音SB1SB4i音SB1SB3第一首歌SB2SB4第二首

7、歌*/ORG0000HLJMPKEYP0KEYP0:MOVR0,#00HCLRTR0SETBP2.4;关蜂鸣器SETBP2.3;关数码管WU:MOVR0,P3;扫描键盘输入CJNER0,#0FFH,KEYPO1;有输入时跳转JMPWUKEYPO1:CJNER0,#0FBH,KEYPO2;输入1音,非1音跳转SETBP2.4;蜂鸣器置于高电平MOVR3,#200MAIN01:MOVTMOD,#01H;初始化,工作方式1MOVTL0,#21H;写入计数初值MOVTH0,#0F9HSETBTR0;启动计数WAIT1:JNBTF0,WAIT1CLRTF0CPLP2.4;

8、蜂鸣器响CLRP2.3;

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

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

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