微机原理课程设计——电子琴.doc

微机原理课程设计——电子琴.doc

ID:58657832

大小:113.00 KB

页数:12页

时间:2020-10-16

微机原理课程设计——电子琴.doc_第1页
微机原理课程设计——电子琴.doc_第2页
微机原理课程设计——电子琴.doc_第3页
微机原理课程设计——电子琴.doc_第4页
微机原理课程设计——电子琴.doc_第5页
资源描述:

《微机原理课程设计——电子琴.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录概述…………………………………………………………1一 设计内容与要求………………………………………1二 设计思想………………………………………………1三 设计所用芯片及工作原理……………………………2四 系统连线图……………………………………………2五 连线图说明……………………………………………3六 程序流程图……………………………………………3七 程序源代码……………………………………………5八 设计过程中遇到的问题及解决方法……………………11九 设计心得………………………………………………11电子琴概述

2、《汇编语言与微机原理》是计算机各专业一门重要的基础课,是必修的核心课程之一,对于训练学生掌握程序设计技术,熟悉上机操作和程序调试技术都有重要作用。因此该课程在整个教学计划中占有重要地位。本课程的目的和要求是:1、应使学生掌握8086/8088宏汇编语言程序设计的基本方法和技巧,能够运用8086/8088宏汇编语言编写应用程序。提高学生分析问题、解决问题的能力以及实际动手能力。2、应使学生基本掌握汇编语言程序设计的基本理论,方法和技巧,正确地使用结构化、模块程序设计技术。注意培养学生良好的程序设计风格。3、应使学生比

3、较熟练地使用调试工具DEBUG调试8086/8088汇编语言程序。注意提高学生的调试能力。4、注意与前后相关课程的关系。使学生对前导课程有进一步的理解,同时为学习后继课程打好基础。一、设计内容与要求编写一实现电子琴的程序,并实现若干扩展功能。基本功能:用8257键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;扩展功能:1、录音:记录所弹奏曲目2、放录音:任意时刻重放最新记录曲目3、在程序中可预设一曲目,按一键实现播放该曲目。4、在播放录制曲目或预设曲目时,按8279键盘上任意键可以暂

4、停播放,再按一次从暂停处继续播放。5、程序运行时有友好的用户介面二、设计思想在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块。程序设计的思路按以下顺序进行:1、分析与确定程序总体设计目标2、将总体目标划分为若干模块3、定义每个模块的具体任务,明确它与其他模块间的通信方式4、编写源程序,进行调试,包括:A)简单电子琴主程序结合实验指导书的两程序,将其分为5个子程序,实现简单的播放和显示音阶的功能。B)录音子程序实现记录弹奏曲

5、目并播放的功能。首先由9触发,将输入的音阶存入缓存区song中,输入的同时可以发声和显示。当再次按9时录制完成。C)放音子程序本子程序实现放音功能。首先从8279键盘读出键码,判断,如果键码不是1-8即回到程序开始,如果是,即求出相应的时间常数的序号,取60次32个正弦波数据,播放32个数据,组成一个正弦波。播放60次后,从PORT1中取出值到AL,和1相与,判断是否有按键,如果有就进入死循环,直到下次按键为止。D)放歌子程序调用放音子程序。E)暂停子程序在乐曲播放过程中,每调用一次MUSIC,就从PORT1中取出

6、AL,检测AL个数,即每次发音后按键盘的次数。当检测到AL为1时,即按了一次任意就使程序进入一个死循环,不发音,到此实现了暂停,然后再次按动任意键时,AL就为2,不为1,所以程序跳出死循环,继续从断开处调用乐曲,继续播放。G)源程序整体程序开始,显示提示信息,对缓存区、8279初始化。接着调用发音子程序,键盘子程序,在把AL送缓存区,实现发音和显示。接着对9键、0键、f键、r键进行逐个判断,当9按下时,调用录音子程序。当按下0时,播放录制的曲目。当按下f键时,播放程序中预设的曲目。当检测到r时,退出到DOS状态。当

7、每一个都检测不到时,退回到调用发音子程序,继续发音显示。从而实现有扩展功能的电子琴。5、模块连接,形成完整的程序三、设计所用芯片工作原理(1)对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。各音阶标称频率值:(2)产生一个正弦波的数据可取32个(小于亦可),不同频率的区别,可通过调节向D/A转换器输出数据的时间间隔,例如:发"1"频率为261。1HZ,周期为

8、1/261.1=3.83ms,输出数据的时间间隔为3.83ms/32=0.12ms.定时时间可以由8253配合8255来实现。按下某键后发音时间的长短可以由发出的正弦波的个数多少来控制。本程序中设置默认长度为60个正弦波。四、系统连线图(1)8253和8255连接如下五、连线图说明计时器8253使用8279芯片的键盘控制器,8279键盘在一个扩充板上,用一根

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

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

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