微机原理课程设计报告-基于8086钢琴的程序设计精选.doc

微机原理课程设计报告-基于8086钢琴的程序设计精选.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课程设计报告-基于8086钢琴的程序设计精选

Hefei University 微机原理课程设计报告 课题名称:基于8086钢琴的程序设计 班 级:09自动化(1)班 报 告 人: 指导教师: 2011 年 12 月 30 日 目录 摘 要: 3 关键字: 3 正 文: 3 一、总体框图 3 二、方案的论证 3 三、电路设计 4 3.1 扬声器接口电路 4 3.2键盘模块 4 3.3 总电路系统 5 四、软件设计流程图 6 4.1主流程图 6 4.2键盘扫描子程序图 7 五、c51单片机系统仿真实现 9 六、总结与体会 9 参考文献: 9 附件一、自动化专业微机原理课程设计任务书 10 附件二:汇编程序清单 11 附件三:C语言程序清单 15 基于8086钢琴的程序设计 摘 要: 本设计以8086为主体,结合使用8255,8253及相关电路设计利用键盘输入发出不同频率的的音调。利用8255检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利用8253的分频输出不同的信号,经放大驱动扬声器发出声音。 关键字: 8086、8255、8253、键盘 正 文: 一、总体框图 本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。围绕这二个功能需要用到三个主要芯片:8086,8255,8253。首先8086主芯片负责数据交换与处理,芯片初始化等。系统开始时对键盘进行扫描,有输入信号时,8255采集信号并输入8086进行处理, 8086接到8255输入的信号时,调用与之相关的初始值n,输入到8253,对clock进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时8255对8253进行控制并对信号进行采集送到8086,决定发声时间的长短。 二、方案的论证 扬声器接口由8255、8253、驱动器和低通滤波器等构成,8255做控制器,8253做音频信号源。根据音阶频率表,利用8253可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值: 键盘接口采用8255A,使用A、B端口,对键盘的扫描,对8255初始化编程,写入控制字B,方式0,A口作输出,B口和C口为输入。 三、电路设计 3.1 扬声器接口电路 扬声器接口如图所示,该电路主要作用是将8253A的OUT2端口输出的不同频率的波形经放大器LM386放大并驱动扬声器发出不同音调的声音. 3.2键盘模块 如图所示是16个按键的键盘,左边8个高音键,右边8个是低音键,8255的PA口对应于键盘的行,PB口键盘的列。 利用程序检测键盘,先在PA口全部输出低电平,由二极管的单向导通,在键盘的每个按键的两边都是处于高电平的状态,当有按键按下时,该按键对应的行和列都变为低电平,再由PB口检测键盘两边的信号,低四位检测列,高四位检测行即可确定键值。 3.3 总电路系统 系统cpu8086工作在最小模式下,通过数据总线给8255写入控制字,使其工作在方式0,A口作输出,B口作输入。系统通过8255检测键盘,检测到键盘的键值后再通过8086给8253写入相应的计数初值,产生需要的波形信号。其中,8255和8253的片选信号是由一片74LS138译码器提供。 四、软件设计流程图 4.1主流程图 4.2键盘扫描子程序图 键盘扫描程序流程图如上图所示,上面的键盘扫描包含以下几步: 1、检测是否所有键都松开了,若没有则反复检测。 2、当所有键都松开了,在检测是否有键压下,若无键压下则反复检测。 3、若有键压下,要消除键抖动,再确定是否有键压下。 4、对压下的键进行编码,将该键的行列信息转换成16进制码,由此确定哪个键被压下了,如果出现了多键重按的情况,则只有在其他键均释放后,仅剩一个键闭合时,才把此键当做本次压下的键。 5、该键释放后,再回到2。 程序调试正常,截图如下: 五、c51单片机系统仿真实现 硬件仿真图 六、总结与体会 由于之前没有接触过protues仿真软件,所以前几天进展较慢,主要在熟习软件的使用方法,后来在老师的指导下,能够较熟练的应用该软件。 通过本次课程设计让我们不仅加深了对8086 8253 8255 芯片的认识,而且汇编语言实际运用能力也得到了提高。本次课程设计让我们从课本的理论知识联系了实际运用。也使我们知道了理论知识的重要性,懂得了实际运用能力是对理论知识的升华。这对我们以后的学习将会有深厚的影响。 总之,本次此次项目的实施,不仅有利于提高我们的实际动手操作能力,也是一个将书本理论知识与现实中应用

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档