版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于8086钢琴程序设计Hefei微机原理课程设计报告课题名称:基于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为主体,结合使用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初始化编程,写入控制字10001011B,方式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仿真软件,所以前几天进展较慢,主要在熟习软件的使用方法,后来在老师的指导下,能够较熟练的应用该软件。通过本次课程设计让我们不仅加深了对808682538255芯片的认识,而且汇编语言实际运用能力也得到了提高。本次课程设计让我们从课本的理论知识联系了实际运用。也使我们知道了理论知识的重要性,懂得了实际运用能力是对理论知识的升华。这对我们以后的学习将会有深厚的影响。总之,本次此次项目的实施,不仅有利于提高我们的实际动手操作能力,也是一个将书本理论知识与现实中应用相结合的良好机遇,同时也进一步考验我们的团队协作能力、团队沟通意识等。以后我们会倍加珍惜课程设计让我们更好的学习的机会参考文献:《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著《汇编语言程序设计》南京大学出版社姚君遗编著《微型计算机原理及接口技术》实验指导书《DJ—8086系列微机实验指导书》附件一、自动化专业微机原理课程设计任务书论文题目基于8086钢琴的程序设计设计类型导师姓名主要内容及目标掌握利用pc机扬声器发出不同频率声音的方法.学习利用系统功能调用从键盘上读取字符的方法.3.编写程序,程序运行时使pc机成为一架可弹奏的”钢琴”。当按下数字1-8时,依次发出1,2,3,4,5,6,7,i八个音调.按下CTRL-C则退出”钢琴”状态.具有的设计条件PC机一台,EL教学实验箱一台及汇编程序;计划学生数及任务3人(1):明确课题对程序功能,运算精度等方面的要求。(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程(按课程设计周计算)第一周设计任务:(1):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(2):存储器资源分配第二周设计任务:(3):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(4):对程序进行汇编,调试和修改,直到程序运行结果正确为止。参考文献《微型计算机原理及接口技术》中国科技大学出版社吴秀清周荷琴编著《16-32位微型计算机技术及应用》清华大学出版社戴梅萼史嘉权编著<<汇编语言程序设计》南京大学出版社姚君遗编著《汇编语言程序设计教程》清华大学出版社杨记文编著《微型计算机原理及接口技术》实验指导书附件二:汇编程序清单datasegmentio8255aequ0F0hio8255bequ0F2hio8255cequ0F4hio8255ctrequ0F6hio8253aequ84hio8253bequ86hio8253cequ88hio8253ctrequ8Ahmsgdb'Pleaseinputonenumber(1~7):',0dh,0ah,'$';1234567tabledb0ebh,0dbh,0bbh,0edh,0ddh,0bdh,0eeh;dataendsstacksegmentstackdw50dup(0);top_staclabelwordstackendscodesegmentassumecs:code,ds:data,ss:stackstart:movax,stackmovss,ax;leasp,top_stackmovax,datamovds,axmovdx,offsetmsgmovah,9int21h movdx,io8255ctrmoval,10001011boutdx,almovdx,io8255amoval,00houtdx,almovdx,io8255cwait_open:inal,dxandal,0fhcmpal,0fhjewait_open;moval,0feh;movcl,alwait_pres:inal,dxandal,0fhcmpal,0fhjewait_presmovcx,002ahdelay:loopdelayinal,dxandal,0fhcmpal,0fhjewait_presmoval,0fehmovcl,alnext_row:movdx,io8255aoutdx,almovdx,io8255c inal,dxandal,0f0hcmpal,0f0hjnecamprolcl,1moval,cljmpnext_rowcamp:movdx,io8255cinal,dxcmpal,0ebhjeduocmpal,0dbhjeruaicmpal,0bbhjemicmpal,0edhjefacmpal,0ddhjesuocmpal,0bdhjelacmpal,0eehjexijmpstart duo: movbx,262 callmido jmpstart ruai: movbx,294 callmido jmpstart mi: movbx,330 callmido jmpstart fa: movbx,349 callmido jmpstart suo: movbx,392 callmido jmpstart la: movbx,440 callmido jmpstart xi: movbx,494 callmido jmpstart midoPROCnear movdx,io8253ctrmoval,10110110Boutdx,al movdx,0012Hmovax,34deH DIVBXmovdx,io8253a OUTdx,AL MOVAL,AH OUTdx,AL calldelay1 retmidoendpdelay1PROCnear MOVDX,01FFHDEL1: MOVCX,0FFFFHDEL2: LOOPDEL2 DECDX JNZDEL1 retdelay1endpCODEENDS ENDSTART 附件三:C语言程序清单#include<AT89X51.H>unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedchartemp;unsignedcharkey;unsignedchari,j;unsignedcharSTH0;unsignedcharSTL0;unsignedintcodetab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};voidmain(void){TMOD=0x01;ET0=1;EA=1;while(1){P3=0xff;P3_4=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=3;break;case0x0d:key=2;break;case0x0b:key=1;break;case0x07:key=0;break;}temp=P3;//多P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}TR0=0;}}P3=0xff;P3_5=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=7;break;case0x0d:key=6;break;case0x0b:key=5;break;case0x07:key=4;break;}temp=P3;//多P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}TR0=0;}}P3=0xff;P3_6=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=11;break;case0x0d:key=10;break;case0x0b:key=9;break;case0x07:key=8;break;}temp=P3;//多P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}TR0=0;}}P3=0xff;P3_7=0;temp=P3;temp=temp&0x0f;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业安全生产月活动工作总结样本(3篇)
- 2025年公司下半年工作计划(3篇)
- 个人二手房买卖合同模板三
- 银行贷款居间服务合同范本2
- 职工母亲节活动策划方案样本(2篇)
- 含硫油气田硫化氢防护安全管理规定(3篇)
- 2025年教师转正工作总结参考(3篇)
- 院庆安全保卫组工作预案范文(2篇)
- 2025年社区图书室借阅制度(3篇)
- 2025年置业顾问工作计划范例(2篇)
- 工程机械租赁服务方案及保障措施 (1)
- 功率因数调整电费办法
- 美发基础(课堂PPT)
- WordA4信纸(A4横条直接打印版)
- 药品库存清单(2015年)
- (完整版)会计准则(全文)
- 百家姓全文拼音版A4打印
- 专家论证挖孔桩专项施工方案
- IPC标准解析学习课程
- 麻花钻钻孔中常见问题的原因和解决办法
- 部分常用岩土经验值
评论
0/150
提交评论