




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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为主体,结合使用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仿真软件,所以前几天进展较慢,主要在熟习软件的使用方法,后来在老师的指导下,能够较熟练的应用该软件。通过本次课程设计让我们不仅加深了对8086 8253 8255 芯片的认识,而且汇编语言实际运用能力也得到了提高。本次课程设计让我们从课本的理论知识联系了实际运用。也使我们知道了理论知识的重要性,懂得了实际运用能力是对理论知识的升华。这对我们以后的学习将会有深厚的影响。总之,本次此次项目的实施,不仅有利于提高我们的实际动手操作能力,也是一个将书本理论知识与现实中应用相结合的良好机遇,同时也进一步考验我们的团队协作能力、团队沟通意识等。以后我们会倍加珍惜课程设计让我们更好的学习的机会参考文献:微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著汇编语言程序设计南京大学出版社 姚君遗编著微型计算机原理及接口技术实验指导书dj8086系列微机实验指导书 附件一、自动化专业微机原理课程设计任务书论文题目基于8086钢琴的程序设计设计类型导师姓名主要内容及目标1. 掌握利用pc机扬声器发出不同频率声音的方法.2. 学习利用系统功能调用从键盘上读取字符的方法.3.编写程序,程序运行时使pc机成为一架可弹奏的”钢琴”。当按下数字1-8时,依次发出1,2,3,4,5,6,7,i八个音调.按下ctrl-c则退出”钢琴”状态.具有的设计条件1 pc机一台,el教学实验箱一台及汇编程序;计划学生数及任务3人(1):明确课题对程序功能,运算精度等方面的要求。(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。计划设计进程(按课程设计周计算)第一周设计任务:(1):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(2):存储器资源分配第二周设计任务:(3):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(4):对程序进行汇编,调试和修改,直到程序运行结果正确为止。参考文献微型计算机原理及接口技术中国科技大学出版社 吴秀清 周荷琴编著16-32位微型计算机技术及应用清华大学出版社 戴梅萼 史嘉权 编著汇编语言程序设计南京大学出版社 姚君遗编著汇编语言程序设计教程清华大学出版社 杨记文编著微型计算机原理及接口技术实验指导书附件二:汇编程序清单data segmentio8255a equ 0f0hio8255b equ 0f2hio8255c equ 0f4hio8255ctr 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: mov ax,stack mov ss,ax ;lea sp,top_stack mov ax,data mov ds,ax mov dx,offset msg mov ah,9 int 21h mov dx, io8255ctr mov al,10001011b out dx,al mov dx, io8255a mov al,00h out dx,al mov dx,io8255cwait_open: in al,dx and al,0fh cmp al,0fh je wait_open ;mov al,0feh ;mov cl,al wait_pres: in al,dx and al,0fh cmp al,0fh je wait_pres mov cx,002ahdelay: loop delay in al,dx and al,0fh cmp al,0fh je wait_pres mov al,0feh mov cl,alnext_row: mov dx, io8255a out dx,al mov dx, io8255c in al,dx and al,0f0h cmp al,0f0h jne camp rol cl,1 mov al,cl jmp next_rowcamp: mov dx, io8255c in al,dx cmp al,0ebh je duo cmp al,0dbh je ruai cmp al,0bbh je mi cmp al,0edh je fa cmp al,0ddh je suo cmp al,0bdh je la cmp al,0eeh je xi jmp startduo: mov bx,262call midojmp startruai: mov bx,294call midojmp startmi:mov bx,330call midojmp startfa:mov bx,349call midojmp startsuo:mov bx,392call midojmp startla:mov bx,440call midojmp startxi:mov bx,494call midojmp start mido proc near mov dx,io8253ctr mov al,10110110b out dx,al mov dx,0012h mov ax,34dehdiv bx mov dx,io8253aout dx,almov al,ahout dx,al call delay1retmido endpdelay1 proc nearmov dx,01ffhdel1: mov cx,0ffffhdel2: loop del2dec dxjnz del1retdelay1 endpcode endsend start 附件三:c语言程序清单#include unsigned char code table=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71; unsigned char temp; unsigned char key; unsigned char i,j; unsigned char sth0; unsigned char stl0; unsigned int code tab=64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178; void main(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;i0;i-) for(j=200;j0;j-); temp=p3; temp=temp & 0x0f; if (temp!=0x0f) temp=p3; temp=temp & 0x0f; switch(temp) case 0x0e: key=3; break; case 0x0d: key=2; break; case 0x0b: key=1; break; case 0x07: key=0; break; temp=p3; /多p1_0=p1_0; p0=tablekey; sth0=tabkey/256; stl0=tabkey%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;i0;i-) for(j=200;j0;j-); temp=p3; temp=temp & 0x0f; if (temp!=0x0f) temp=p3; temp=temp & 0x0f; switch(temp) case 0x0e: key=7; break; case 0x0d: key=6; break; case 0x0b: key=5; break; case 0x07: key=4; break; temp=p3; /多p1_0=p1_0; p0=tablekey; sth0=tabkey/256; stl0=tabkey%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;i0;i-) for(j=200;j0;j-); temp=p3; temp=temp & 0x0f; if (temp!=0x0f) temp=p3; temp=temp & 0x0f; switch(temp) case 0x0e: key=11; break; case 0x0d: key=10; break; case 0x0b: key=9; break; case 0x07: key=8; break; temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程人力资源管理与配置-洞察及研究
- 2025贵州机电职业技术学院第十三届贵州人才博览会引进人才15人模拟试卷附答案详解(黄金题型)
- 竞争格局下土地可持续利用-洞察及研究
- 七年级英语第一单元教案及反思范例
- 智能化办公系统功能需求分析报告
- 医药行业供应链管理新模式
- 深度学习时钟校准策略-洞察及研究
- 国际濒危物种贸易监管-洞察及研究
- 碳金融产品创新路径-洞察及研究
- 建设工程内部技术协同机制研究
- GB/T 39634-2020宾馆节水管理规范
- GB/T 13234-2018用能单位节能量计算方法
- 营业线施工单位“四员一长”施工安全知识培训考试题库
- 紧急采购申请单
- 全球卫生治理课件
- 工程地质学:第7章 岩体结构及其稳定性
- 实验室生物安全程序文件
- 非洲猪瘟防控讲座课件
- 重症肌无力新斯的明实验的临床评估百度课件
- 预备队员考核表
- 37°球面型管路连接件
评论
0/150
提交评论