汇编实验数字电子琴课程设计_第1页
汇编实验数字电子琴课程设计_第2页
汇编实验数字电子琴课程设计_第3页
汇编实验数字电子琴课程设计_第4页
汇编实验数字电子琴课程设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及应用A课程设计选题:数字电子琴 院 系: 计算机科学与工程 专 业: 计算机科学与技术 班 级: 学 生: 学 号: 指导教师: 完成时间: 2015.06.292015.07.02 目  录第1章 数字电子琴课程设计31.1 数字电子琴课程设计的目的与意义31.1.1 数字电子琴课程设计的目的31.1.1 数字电子琴课程设计的意义31.2 数字电子琴课程设计的内容与要求31.2.1 数字电子琴课程设计的内容31.2.2 数字电子琴课程设计的要求31.3 数字电子琴应解决的主要问题3第2章 数字电子琴课程设计的原理、思路及电路图32.1 数字电子琴课程设计的原理3

2、2.2 数字电子琴课程设计的思路42.3 数字电子琴课程设计的电路图4第3章 数字电子琴课程设计的源代码6第4章 系统调试与运行94.1 数字电子琴课程设计的运行结果94.2 数字电子琴课程设计的改进方向9第5章 心得体会9第1章 数字电子琴课程设计1.1 数字电子琴课程设计的目的与意义1.1.1 数字电子琴课程设计的目的本课程设计通过在微机原理与接口技术课程上所学的汇编知识和相关芯片知识,利用汇编语言用软件编程的方法实现简单的PC仿真电子琴,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,

3、使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。1.1.2 数字电子琴课程设计的意义 主要是提高我们的动手能力以及自己通过查找资料解决问题的能力。1.2 数字电子琴课程设计的内容与要求1.2.1 数字电子琴课程设计的内容通过汇编语言用软件编程的方法实现简单的PC仿真电子琴。1.2.2 数字电子琴课程设计的要求 基本要求: 1) 用pc键盘模拟数字电子琴;2) 利用试验仪扬声器与键盘1,2,3,4,5,6,7,8设计一个电子琴,通过数字按键响相应的 乐符1,2,3,4,5,6,7,i,使能演奏简单地乐曲;按18数字键能同时点亮相应的8个LED 灯,使具有声、光效果

4、; 3) 利用实验DAC和喇叭,软件控制上述过程的实现;1.3 数字电子琴应解决的主要问题 该课程设计应该解决的主要问题有:  1)查找出哆、唻、咪、发、嗦、啦、唏、唗八个音节所对应的频率值。  2)音乐的自动播放问题。  3)喇叭的开启与关闭。第2章 数字电子琴课程设计的原理、思路及电路图2.1 数字电子琴课程设计的原理音节哆唻咪发嗦啦唏唗频率(HZ)2622943303473924404945238254和8255连接电路图: PC0 8255 PC1CS GATE0 OUT0 8253CS CLK0、 喇叭 Y1 Y0 1MHZ2.2 数字电子琴课程设计的思

5、路 在本次课程设计中,根据复杂程序设计思想模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。 程序设计的思路按以下顺序进行:1) 分析与确定程序总体设计目标 2) 将总体目标划分为若干模块 3)定义每个模块的具体任务,明确它与其他模块间的通信方式 4) 编写源程序,进行调试,包括: (1)音乐弹奏 用户可以根据爱好弹奏音乐 (2)音乐播放 用户可以选择播放歌曲“欢乐颂”5) 模块连接,形成完整的程序 6) 编写程序文档2.

6、3 数字电子琴课程设计的电路图 流程图大体设计:开始8254初始化 N N是否是18键是否是a键?接收输入字符 Y Y演奏声音演奏歌曲是否是Esc键 N Y程序结束第3章 数字电子琴课程设计的源代码源代码: .model small.586.stack .data msgdb 'you can press keyboard 18 ! And you also can press ato play music! you also can press ato quit!',0dh,0ah,'$',0initvala word 4554,4058,3616,3439,

7、3044,2712,2415,2281 initval word 330,330,347,392,392,347,330,294,262,262,294,330,330,294,294,330,330,347,392,392,347,330,294,262,262,294,330,294,262,262 .code main procmovax,datamovds,ax ;建立数据段 ;写8255 的控制字,控制端口28BH C通道的下半部做为输出,以此来通过PC0控制扬声器的开关状态mov dx,28BHmov al,80Hout dx,al;设定PC0 0初始情况默认扬声器是关闭着的mov

8、 al ,00000000bout dx,al;设定PC1为 1,连接到8253的门控信号mov al, 00000011bout dx,al;写8253的控制字 计数器0 方式为0 (计数结束产生中断方式地址在283Hmov dx,283Hmov al,00110110bout dx,al;对于8253初值的设定要根据所输入的字符;向屏幕输出提示信息:mov dx,offset msg mov ah,09h ;显示字符串 int 21h inputa:mov dl,0ffh ;直接控制台IO,相当于C中while(!kbhit()mov ah,06h ;等待按键int 21h ;al=输入字

9、符jz inputa ;若无按键返回到inputa继续输入 cmp al,1bH jz final ;判断输入字符与Esc键。若相等,则结束 cmp al,61h jz inputb ;判断输入字符与a键。若相等,则进入音乐播放 cmp al,31h ;否则进入音乐弹奏jb inputacmp al,38hja inputa mov bl,31h ; 取得数字值从0开始记sub al,bl add al,al ;找到数字对应的频率,存放在di中mov ah,00hmov si ,axxor di,dimov di, initvalasi ; xor edx,edx ;写8253的计数器的初值,

10、先进行计算mov dx,0FHmov ax,16960;DX ,AX = 15*65526 + 16960 = 1M Hzdiv dimov dx,280Hout dx,almov al,ahout dx,al ;将PC0为置为1,表示打开扬声,控制端口的地址28BHmov dx,28BHmov al,00000001bout dx,al ;控制延时 mov cx,0ffffh lo11: mov dx,23H lo12: dec dx jnz lo12 loop lo11 ;cx自动-1 ;将PC0位置为,表示扬声器关闭,mov dx,28BHmov al,00000000bout dx,a

11、l jmp inputa inputb: mov ecx,29 ;音乐播放mov si ,0 again:xor di,dimov di, initvalsi ; xor edx,edx ;写8253的计数器的初值,先进行计算mov dx,0FHmov ax,16960 ;DX ,AX = 15*65526 + 16960 = 1M Hzdiv dimov dx,280Hout dx,almov al,ahout dx,al ;将PC0为置为1,表示打开扬声,控制端口的地址28BHmov dx,28BHmov al,00000001bout dx,al ;控制延时 mov cx,0ffffh

12、lo11a: mov dx,45H lo12b: dec dx jnz lo12b loop lo11a;cx自动-1 ;将PC0位置为,表示扬声器关闭,mov dx,28BHmov al,00000000bout dx,al inc siloop again final: mov ah,4ch ;返回DOS int 21h retmain endpend main 第4章 系统调试与运行4.1 数字电子琴课程设计的运行结果 本次试验,当用户从键盘上敲击17时,音响发出哆、唻、咪、发、嗦、啦、唏、唗的音节。如果选择收听音乐,只需点击“a”,然后就会播放音乐。4.2 数字电子琴课程设计的改进方向

13、 此课程设计用户可以选择自己弹奏乐曲也可以选择收听音乐,提示信息清楚明了,操作简单。 但是也存在一定的问题,比如说,用户不能循环收听,没有录音功能,而且如果已经选择了一首乐曲只能一直收听完才可以终止,并且只有音调,不能放出歌词。今后应往更高要求改进此程序,实现更多功能,争取克服以上所列出的缺点,让程序更加完善!第5章 心得体会 通过这一周的编程和查资料,我完成了微机原理和接口技术的课程设计-数字电子琴。一开始我觉得老师在课上讲的东西我都会,课程设计会很快完成。但是真正开始做的时候我碰到了很多的难题和障碍,我认识到只有能够熟练的掌握平时所学的基础知识才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境。有时候就是一些小问题让实验停滞不前。因而,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论