课程设计报告(王、方、徐)

上传人:jiups****uk12 文档编号:40030631 上传时间:2018-05-22 格式:DOC 页数:20 大小:521.50KB
返回 下载 相关 举报
课程设计报告(王、方、徐)_第1页
第1页 / 共20页
课程设计报告(王、方、徐)_第2页
第2页 / 共20页
课程设计报告(王、方、徐)_第3页
第3页 / 共20页
课程设计报告(王、方、徐)_第4页
第4页 / 共20页
课程设计报告(王、方、徐)_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《课程设计报告(王、方、徐)》由会员分享,可在线阅读,更多相关《课程设计报告(王、方、徐)(20页珍藏版)》请在金锄头文库上搜索。

1、基于 8086 钢琴程序设计1H He ef fe ei i U Un ni iv ve er rs si it ty y 微机原理课程设计报告微机原理课程设计报告课题名称:课题名称:基于 8086 钢琴的程序设计 班班 级:级:09 自动化(1)班 报报 告告 人:人: 王 杰 0905072038 徐宏波 0905072005 方来红 0905072025 指导教师:指导教师: 刘 伟 王敬生 20112011 年年 1212 月月 3030 日日基于 8086 钢琴程序设计2目录目录摘 要:.3 关键字: .3正 文:.3 一、总体框图.3 二、方案的论证.3 三、电路设计.4 3.1

2、扬声器接口电路.4 3.2 键盘模块.4 3.3 总电路系统.5 四、软件设计流程图.6 4.1 主流程图.6 4.2 键盘扫描子程序图.7 五、c51 单片机系统仿真实现.9 六、总结与体会.9 参考文献:.9 附件一、自动化专业微机原理课程设计任务书.10 附件二:汇编程序清单.11 附件三:C 语言程序清单.15基于 8086 钢琴程序设计3基于基于8086钢钢琴的程序琴的程序设计设计摘摘 要:要:本设计以 8086 为主体,结合使用 8255,8253 及相关电路设计利用键盘输入发出不同频率的的音调。利用 8255 检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利

3、用 8253 的分频输出不同的信号,经放大驱动扬声器发出声音。关关键键字字: 8086、8255、8253、键盘正正 文:文:一、总体框图本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。围绕这二个功能需要用到三个主要芯片:8086,8255,8253。首先 8086 主芯片负责数据交换与处理,芯片初始化等。系统开始时对键盘进行扫描,有输入信号时,8255 采集信号并输入 8086 进行处理, 8086 接到 8255 输入的信号时,调用与之相关的初始值 n,输入到 8253,对 clock 进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时 8255 对 8253 进行控制并对信号

4、进行采集送到 8086,决定发声时间的长短。二、方案的论证扬声器接口由 8255、8253、驱动器和低通滤波器等构成,8255 做控制器,基于 8086 钢琴程序设计48253 做音频信号源。根据音阶频率表,利用 8253 可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:键盘接口采用 8255A,使用 A、B 端口,对键盘的扫描,对 8255 初始化编程,写入控制字 10001011B,方式 0,A 口作输出,B 口和 C 口为输入。三、电路设计3.1 扬声器接口电路扬声器

5、接口如图所示,该电路主要作用是将 8253A 的 OUT2 端口输出的不同频率的波形经放大器 LM386 放大并驱动扬声器发出不同音调的声音.基于 8086 钢琴程序设计53.2 键盘模块如图所示是 16 个按键的键盘,左边 8 个高音键,右边 8 个是低音键,8255的 PA 口对应于键盘的行,PB 口键盘的列。利用程序检测键盘,先在 PA 口全部输出低电平,由二极管的单向导通,在键盘的每个按键的两边都是处于高电平的状态,当有按键按下时,该按键对应的行和列都变为低电平,再由 PB 口检测键盘两边的信号,低四位检测列,高四位检测行即可确定键值。基于 8086 钢琴程序设计63.3 总电路系统系

6、统 cpu8086 工作在最小模式下,通过数据总线给 8255 写入控制字,使其工作在方式 0,A 口作输出,B 口作输入。系统通过 8255 检测键盘,检测到键盘的键值后再通过 8086 给 8253 写入相应的计数初值,产生需要的波形信号。其中,8255 和 8253 的片选信号是由一片 74LS138 译码器提供。基于 8086 钢琴程序设计7四、软件设计流程图4.1 主流程图开始是数字键17吗?调用扫描子程序根据键值查表的 音频相关数据由音频数据置定时 器初值启动定时器开始发 声延时关闭定时停止发声结束NY基于 8086 钢琴程序设计84.2 键盘扫描子程序图键盘扫描延时去抖动有键闭合

7、扫描键盘找到闭合键计算键值建立有效标志闭合键释放返回建立无效标志NNNYYY键盘扫描程序流程图如上图所示,上面的键盘扫描包含以下几步:1、检测是否所有键都松开了,若没有则反复检测。2、当所有键都松开了,在检测是否有键压下,若无键压下则反复检测。3、若有键压下,要消除键抖动,再确定是否有键压下。4、对压下的键进行编码,将该键的行列信息转换成 16 进制码,由此确定哪个键被压下了,如果出现了多键重按的情况,则只有在其他键均释放后,仅剩一个键闭合时,才把此键当做本次压下的键。5、该键释放后,再回到 2。基于 8086 钢琴程序设计9程序调试正常,截图如下:五、c51 单片机系统仿真实现硬件仿真图基于

8、 8086 钢琴程序设计10六、总结与体会由于之前没有接触过 protues 仿真软件,所以前几天进展较慢,主要在熟习软件的使用方法,后来在老师的指导下,能够较熟练的应用该软件。通过本次课程设计让我们不仅加深了对 8086 8253 8255 芯片的认识,而且汇编语言实际运用能力也得到了提高。本次课程设计让我们从课本的理论知识联系了实际运用。也使我们知道了理论知识的重要性,懂得了实际运用能力是对理论知识的升华。这对我们以后的学习将会有深厚的影响。总之,本次此次项目的实施,不仅有利于提高我们的实际动手操作能力,也是一个将书本理论知识与现实中应用相结合的良好机遇,同时也进一步考验我们的团队协作能力、团队沟通意识等。以后我们会倍加珍惜课程设计让我们更好的学习的机会 参考文献参考文献: :微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著汇编语言程序设计南京大学出版社 姚君遗编著微型计算机原理及接口技术实验指导书DJ8086 系列微机实验指导书 基于 8086 钢琴程序设计11附件一、自附件一、自动动化化专业专业微机原理微机原理课课程程设计设计任任务书务书论文 题目基于基于 8086 钢琴的程序设计钢琴的程序设计设计 类型导师 姓名主要内容及目标1.掌握利用 pc 机扬声器发出不同频率声音的方法. 2.学习利用系统功能调用从键盘上读取字符的方法. 3.编写

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号