片机课程设计---电子琴设计

片机课程设计---电子琴设计

ID:30418588

大小:71.95 KB

页数:11页

时间:2018-12-29

片机课程设计---电子琴设计_第1页
片机课程设计---电子琴设计_第2页
片机课程设计---电子琴设计_第3页
片机课程设计---电子琴设计_第4页
片机课程设计---电子琴设计_第5页
资源描述:

《片机课程设计---电子琴设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、南京工程学院课程设计任务书课程名称单片机原理及应用A设计课题电子琴设计院(系、部、中心)自动化学院专业自动化(数控技术)班级数控094姓名周阳学号203090809起止日期2012.1.2~2012.1.6指导教师葛红宇目录一、设计目的及任务1、设计目的2、设计任务题目及要求二、总体方案设计1、设计任务分析2、设计方案三、设计原理1、程序流程图2、硬件原理图四、模块设计1、键盘扫描模块2、定时器模块五、调试过程1、问题发现与解决六、设计总结七、参考文献八.程序清单一、设计目的及任务1.课程设计应达到的目的(1)运用<<单片机原理及应用A>>课程等知识,根据题目要

2、求进行软硬件系统的设计和调试,从而加深对本课程知识点的理解,使学生综合应用知识能力、设计能力、调试能力及报告撰写能力等显著提高。(2)了解计算机发声原理,进一步熟悉定时器编程方法及键盘扫描电路工作原理及编程方法。2.课程设计题目及要求(1)、题目电子琴设计(2)、设计要求:利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7、8、9作为电子琴按键,其中1~7号键按下后即发出相应的音调。8号键按下后依次发出“1、2、3、4、5、6、7”音调,9号键按下后依次发出“7、6、5、4、3、2、1”音调,用8255的PA.0口发出音频脉冲,驱动喇叭。利用定时器,可以

3、发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调.定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平.由于定时参数不同,就发出了不同频率的脉冲.本实验中按键一次,会发50个脉冲.发完后继续检测键盘,如果键还按下,继续发音。二、总体方案设计1、设计任务分析本任务的要求是根据不同的数字键被按下后,发出相对应的音调,或者顺序、逆序连续的发出七中音调,不同音调的产生对喇叭发出不同频率的脉冲,而脉冲则是根据定时器中断产生正负脉冲的跳变,这样就形成了脉冲。与此同时,定时时间的长短,及频率的高低,是由定时间的初值决

4、定的。通过以上的析,可以明确,本课题需要涉及到的就是键盘扫描,和定时器。围绕这两个模块,就可以制定出总体的设计方案。2、设计方案通过以上的分析,可以制定出以下的设计方案:(1)、因为要用到9个按键,可以用4*4的矩阵键盘,,对其中的9个按键进行标号,再根据键盘扫描的原理,就可以找出是哪个键被按下。(2)、不同频率的脉冲均通过定时器来产生,定时器的初值不同,计满溢出的频率也是不同的,从而正负电平的跳变的频率也不同,就产生了不停频率的脉冲,所以只需对定时器设置不同德计数初值,便可实现不同频率脉冲的产生。(3)、喇叭发声原理则是:对喇叭驱动电路交替的施加施加低电平,喇

5、叭发声;否则就不发声。把这一原理和定时器中断产生的电平跳变相结合,就可以听到不同频率的音调。三、设计原理1、程序流程图根据上述的设计方案,可以用流程图画出本次课程设计的整体思路,在以下的流程图中,包括主程序和各个相关的子程序。在程序中,首先是进行扫描,找出是哪个键被按下,然后根据相应的键号,采取不同的操作,以此构成循环本程序中涉及到的子程序模块包括:键盘扫描子程序;定时器中断子程序;顺序连续发出1234567七个音调;连续发出7654321七个音调。以下分别主程序各个相关的子程序:2、硬件原理图以下是电子琴电路的实际硬件原理图,主要是一个单片机,和一个8255以

6、及一个喇叭组成。是通过8255的PA.0口发出脉冲,来产生不同频率的音调。单片机则是用到一个定时器,来产生定时中断。值得注意的是,由于电路图中是直接用P1口来进行键盘扫描的,则在实验箱上进行实物连接时,一定要把跳线器短接,否则将使键盘扫描不能正常工作。在连线时,不能使用已损坏的导线,并且把多余的导线放到一边,一面影响正常的工作。四.模块设计1.键盘扫描模块通过键盘扫描的流程图可以清晰的知道其工作原理,可将其归纳为:先将P1的高四位置1,低四位置0,在读P1口的值,若读到的值得高四位不是全1,则代表有键按下或者是键盘抖动。为消除键盘抖动的影响,先采用延时,延时后重

7、复上述操作,若读到的值得高四位不是全1,则代表确实有键按下。在有键按下的情况下,则可以找出是哪个键被按下,方法是:在值为0的那一行,继续赋零,其余行和所有列均给1,在此情况下,读出列的值,在列中,哪一列为0,则代表该列的键被按下。用上述的方法就可以找出被按下的键,然后将对应的键号取出,就可以在主程序中使用。2、定时器模块定时器模块则是简单的运用定时器的中断,对于定时器而言,其初值不同,计数的溢出率就不同,又因为,每次定时器产生的中断将电平信号取反,就可以产生不同频率的脉冲,有了脉冲就可以驱动喇叭产生不同频率的音调。以上就是该任务的两个模块,这都是简单的运用单片机

8、键盘扫描知识和定时器的运

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

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

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