基于8086钢琴的程序设计-自动化课程设计报告.doc
《基于8086钢琴的程序设计-自动化课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于8086钢琴的程序设计-自动化课程设计报告.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于8086钢琴程序设计Hefei University微机原理课程设计报告课题名称:基于8086钢琴的程序设计 班 级:09自动化(1)班 报 告 人: 指导教师: 2011 年 12 月 30 日目录摘 要:3关键字:3正 文:3一、总体框图3二、方案的论证3三、电路设计43.1 扬声器接口电路43.2键盘模块43.3 总电路系统5四、软件设计流程图64.1主流程图64.2键盘扫描子程序图7五、c51单片机系统仿真实现9六、总结与体会9参考文献:9附件一、自动化专业微机原理课程设计任务书10附件二:汇编程序清单11附件三:C语言程序清单15基于8086钢琴的程序设计摘 要:本设计以8086
2、为主体,结合使用8255,8253及相关电路设计利用键盘输入发出不同频率的的音调。利用8255检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利用8253的分频输出不同的信号,经放大驱动扬声器发出声音。关键字: 8086、8255、8253、键盘正 文:一、总体框图本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。围绕这二个功能需要用到三个主要芯片:8086,8255,8253。首先8086主芯片负责数据交换与处理,芯片初始化等。系统开始时对键盘进行扫描,有输入信号时,8255采集信号并输入8086进行处理, 8086接到8255输入的信号时,调用与之相关的初始值n,输入
3、到8253,对clock进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时8255对8253进行控制并对信号进行采集送到8086,决定发声时间的长短。二、方案的论证扬声器接口由8255、8253、驱动器和低通滤波器等构成,8255做控制器,8253做音频信号源。根据音阶频率表,利用8253可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:键盘接口采用8255A,使用A、B端口,对键盘的扫描,对8255初始化编程,写入控制字10001011B,方式0,A口作输出,B口和
4、C口为输入。三、电路设计3.1 扬声器接口电路扬声器接口如图所示,该电路主要作用是将8253A的OUT2端口输出的不同频率的波形经放大器LM386放大并驱动扬声器发出不同音调的声音.3.2键盘模块如图所示是16个按键的键盘,左边8个高音键,右边8个是低音键,8255的PA口对应于键盘的行,PB口键盘的列。利用程序检测键盘,先在PA口全部输出低电平,由二极管的单向导通,在键盘的每个按键的两边都是处于高电平的状态,当有按键按下时,该按键对应的行和列都变为低电平,再由PB口检测键盘两边的信号,低四位检测列,高四位检测行即可确定键值。3.3 总电路系统系统cpu8086工作在最小模式下,通过数据总线给
5、8255写入控制字,使其工作在方式0,A口作输出,B口作输入。系统通过8255检测键盘,检测到键盘的键值后再通过8086给8253写入相应的计数初值,产生需要的波形信号。其中,8255和8253的片选信号是由一片74LS138译码器提供。四、软件设计流程图4.1主流程图4.2键盘扫描子程序图键盘扫描程序流程图如上图所示,上面的键盘扫描包含以下几步:1、检测是否所有键都松开了,若没有则反复检测。2、当所有键都松开了,在检测是否有键压下,若无键压下则反复检测。3、若有键压下,要消除键抖动,再确定是否有键压下。4、对压下的键进行编码,将该键的行列信息转换成16进制码,由此确定哪个键被压下了,如果出现
6、了多键重按的情况,则只有在其他键均释放后,仅剩一个键闭合时,才把此键当做本次压下的键。5、该键释放后,再回到2。程序调试正常,截图如下:五、c51单片机系统仿真实现硬件仿真图六、总结与体会由于之前没有接触过protues仿真软件,所以前几天进展较慢,主要在熟习软件的使用方法,后来在老师的指导下,能够较熟练的应用该软件。通过本次课程设计让我们不仅加深了对8086 8253 8255 芯片的认识,而且汇编语言实际运用能力也得到了提高。本次课程设计让我们从课本的理论知识联系了实际运用。也使我们知道了理论知识的重要性,懂得了实际运用能力是对理论知识的升华。这对我们以后的学习将会有深厚的影响。总之,本次
7、此次项目的实施,不仅有利于提高我们的实际动手操作能力,也是一个将书本理论知识与现实中应用相结合的良好机遇,同时也进一步考验我们的团队协作能力、团队沟通意识等。以后我们会倍加珍惜课程设计让我们更好的学习的机会参考文献:微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著汇编语言程序设计南京大学出版社 姚君遗编著微型计算机原理及接口技术实验指导书DJ8086系列微机实验指导书 附件一、自动化专业微机原理课程设计任务书论文题目基于8086钢琴的程序设计设计类型导师姓名主要内容及目标1. 掌握利用pc机扬声器发出不同频率声音的方法.2. 学习利用系统功能调用从键盘上读取字符的方法.3.编写程
8、序,程序运行时使pc机成为一架可弹奏的”钢琴”。当按下数字1-8时,依次发出1,2,3,4,5,6,7,i八个音调.按下CTRL-C则退出”钢琴”状态.具有的设计条件1 PC机一台,EL教学实验箱一台及汇编程序;计划学生数及任务3人(1):明确课题对程序功能,运算精度等方面的要求。(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程(按课程设计周计算)第一周设计任务:(1):把复杂问题分解为若干模块,确定各模块处理方法
9、,画出流程图。(2):存储器资源分配第二周设计任务:(3):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(4):对程序进行汇编,调试和修改,直到程序运行结果正确为止。参考文献微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著16-32位微型计算机技术及应用清华大学出版社 戴梅萼 史嘉权 编著汇编语言程序设计南京大学出版社 姚君遗编著汇编语言程序设计教程清华大学出版社 杨记文编著微型计算机原理及接口技术实验指导书附件二:汇编程序清单data segmentio8255a equ 0F0hio8255b equ 0F2hio8255c equ 0F4hio8255ctr
10、 equ 0F6hio8253a equ 84hio8253b equ 86hio8253c equ 88hio8253ctr equ 8Ahmsg db Please input one number(17):,0dh,0ah,$ ; 1 2 3 4 5 6 7table db 0ebh,0dbh,0bbh,0edh,0ddh,0bdh,0eeh;data ends stack segment stack dw 50 dup(0);top_stac label wordstack endscode segmentassume cs:code,ds:data,ss:stackstart: mo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 8086 钢琴 程序设计 自动化 课程设计 报告
限制150内