微机原理与接口课程设计报告简单音乐播放器_第1页
微机原理与接口课程设计报告简单音乐播放器_第2页
微机原理与接口课程设计报告简单音乐播放器_第3页
微机原理与接口课程设计报告简单音乐播放器_第4页
微机原理与接口课程设计报告简单音乐播放器_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

湖北大学本科课程设计题 目 简单音乐播放器成 员专业年级 计算机科学与技术 2014 级(1)班 指导教师 2016 年 12 月 20 日湖北大学 20162017 学年度第一学期课程考试试题纸(第 2 页共 18 页一、 课程设计的任务和目的课程设计题目:音乐播放器课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音乐播放功能。通过在微机原理与接口技术课程上所学的汇编知识和 8253/8254 芯片相关知识,来完成本课程设计;用汇编程序完成键控音乐播放器的,用 8253/8254 定时器来产生声音。该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。通过课程设计环节来加强对所学知识的理解和应用。二、 硬件布局2.1 定时 /计数器 8253/58254 在微机及控制系统中,经常要用到定时信号。如系统的日历时钟,动态存储器刷新。对外部执行机构控制时也需要定时中断、定时检测、定时查询等。定时的方法主要是两种:软件定时:利用指令的执行时间设计循环程序,使 CPU 执行延迟子程序的时间就是定时时间。缺点:执行延迟时,CPU 一直被占用,降低了 CPU 的效率。硬件定时:用计数器/定时器作为主要硬件,在软件简单指令的控制下产生精确的时间延迟。突出优点为计数时不占用 CPU 时间,如利用定时器/ 计数器产生中断信号,可建立多作业环境,提高了 CPU 效率。作为定时器可用 8253 或者 8254,二者功能基本相同,知识工作的最高频率不一样。本实验就采用了 8254,其主要功能为:(1)每片上有 3 个独立的 16 位的减计数器通道。(2)对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进制或十进制来计数。(3)每个通道都有 6 种工作方式,都可以通过程序设置或改变。(4)每个计数器的速率可高达 10MHz。湖北大学 20162017 学年度第一学期课程考试试题纸(第 3 页共 18 页主要部分有:数据总线缓冲器、读/写控制逻辑、控制字寄存器、计数通道0#、1#、2# :内部结构如下图:8254 内部结构2.2 8254 外部引脚8254 芯片是具有 24 个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8254 芯片的 24 个引脚分为两组,一组面向 CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:8254 的引脚(1)D7D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。(2)RD:来自于 CPU 的读控制信号输入引脚,低电平有效。(3)WR :来自于 CPU 的写控制信号输入引脚,低电平有效。(4)CS:芯片选择信号输入引脚,低电平有效。湖北大学 20162017 学年度第一学期课程考试试题纸(第 4 页共 18 页(5)A1 、A0 :地址信号输入引脚,用以选择 8254 芯片的通道及控制字寄存器。 (6) VCC 及 GND:+5V 电源及接地引脚。(7)CLKi: i=0,1,2,第 i 个通道的计数脉冲输入引脚,8254 规定,加在 CLK引脚的输入时钟信号的频率不得高于 2.6MHZ,即时钟周期不能小于 380ns。(8)GATEi: i=0,1,2,第 i 个通道的门控信号输入引脚,门控信号的作用与通道的工作方式有关。(9)OUTi :i=0,1,2,第 i 个通道的定时/计数到信号输出引脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU 发出的中断请求信号。2.3 8254 端口地址8254 控制字湖北大学 20162017 学年度第一学期课程考试试题纸(第 5 页共 18 页说明 :(1) 8254 每个通道对输入 CLK 按二进制或二十进制从预置值开始减 1 计数,减到 0 时从 OUT 输出一个信号。(2) 8254 编程时先写控制字,再写时间常数。2.4 8254 工作方式(1) 方式 0:计数结束产生中断方式当写入控制字后,OUT 变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。(2) 方式 1:可编程单次脉冲方式当初值装入后且 GATE 由低变高时, OUT 变为低电平,计数结束变为高电平。(3) 方式 2:频率发生器方式当初值装入时,OUT 变为高;计数结束,OUT 变为低。该方式下如果计数未结束,但 GATE 为低时,立即停止计数,强制 OUT 变高,当 GATE 再变高时,便启动一次新的计数周期。(4) 方式 3:方波发生器当装入初值后,在 GATE 上升沿启动计数,OUT 输出高电平;当计数完成一半时,OUT 输出低电平。方式 3 与方式 2 的工作方式类似,也是在初始化完成后能重复循环计数,只是输出的波形不同。(5)方式 4:软件出发选通方式进入工作方式 4,OUTi 输出高电平。装入计数值 n 后,如果 GATE 为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUTi 输出宽度为一个 CLKi 周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作,必须重新置入计数初值 n。如果在操作的过程中,GATE 变为无效,则停止减“1”计数,到 GATE 再次有效时,重新从初值开始减“1”计数。(6)方式 5:硬件触发方式计数进入工作方式 5,OUTi 输出高电平,硬件触发信号由 GATE 端引入。因此,开始时 GATE 应输入为 0,装入计数初值 n 后,减“1”计数并不工作,一定要等到硬件触发信号由 GATE 端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0” ,OUTi 将输出负脉冲,其宽度固定为一个 CLKi 周期,表示定时时间到或计数次数到。三、软件设计思路湖北大学 20162017 学年度第一学期课程考试试题纸(第 6 页共 18 页所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。CPU 通过对定时器的通道 2(端口地址为 42)进行编程,使其 I/O 寄存器接收一个控制声音频率的 16 位计数值,端口 61H 的最低控制通道 2 门控的开断。以产生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可算出来:533Hz896频率=1234DC频率在送出频率计数值之前,还要给方式寄存器送一个方式值,该数决定对哪一个通道编程,采用什么模式,送入通道的计数值是一字节还是两字节,是二进制码还是 BCD 码。其位组合的格式如下:当通道 2 用于发声时,采用的是模式 3,在模式 3 下,输出线为“1”和为“0”的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。产生指定频率声音的程序段如下:MOV AL,0B6HOUT 43H,AL ;43H 为 8254 的控制字端口MOV DX,12HMOV AX,34DCHDIV DI ;(DI )=频率OUT 42H,AL ;42H 为 8254 的通道 2 端口MOV AL,AHMOV 42H,AL从定时器输出的方波信号,经功率放大和滤波后驱动扬声器。送到扬声器的信号还受到了从并行接口芯片 8255(端口地址为 61H)来的双重控制,端口61H 的最低位控制通道 2 的门控开断,以产生特殊的音频信号,端口 61H 的PA1 位和定时器的输出信号同时作为与门的输入,PA0 和 PA1 位可由程序决定为 0 还是为 1。显然只有 PA0 和 PA1 都是 1 时,才能使扬声器发出声音。控制音长的时间可以简单地通过反复执行指令来得到。我们知道执行 2801 次 LOOP湖北大学 20162017 学年度第一学期课程考试试题纸(第 7 页共 18 页指令约需要 10MS 的时间。因此用 10MS 的倍数值来控制扬声器开关的时间间隔,就可控制发声的音长了。实现程序如下:IN AL,61HMOV AH,ALOR AL,3OUT 61H,AL ;开扬声器L: MOV CX,2801DY:LOOP DYDEC BXJNZ LMOV AL,AHOUT 61H,AL ;关扬声器四、功能流程图及子程序说明1、总流程图MAIN 程序:MAIN 程序是总程序,输出说明,等待用户按键并读取键值。根据不同的按键选择调用播音子程序播放不同的歌曲。输出说明是 1 ?开始读取按键是 2 ?是 3 ?是 0 ?结束NNNYY选择无效播放曲 3播放曲 2播放曲 1YYY程序总流程图湖北大学 20162017 学年度第一学期课程考试试题纸(第 8 页共 18 页2、音乐播放子程序流程图PLAY 子程序:PLAY 子程序是播音子程序,SI 指向音节表中的频率, BP 指向音节表中的时间。从 SI 的指向的音节表中取一个频率,只要不是 -1,即有效就再读取时间,然后计算计数初值送入计数器,产生各种频率。开启扬声器,根据所取的时间调用若干次延时子程序。这段时间扬声器就发出该频率的声音,延时结束,就关闭扬声器,调用音节之间的小延时程序。最后修改 SI 和 BP,指向下一个频率,重复上面的工作DELAY 子程序和 DELAY_OFF 子程序:两个都是子程序,采用空操作循环多次的方法,只是第二个延时时间较短,大概为 5ms。开始曲 N 各音符频率设置曲 N 各音符时间设置读取频率 F频率是 - 1 ?保护现场恢复现场结束返回读取时间 T计算机计数次数送计数器 , 产生该频率 F 信号启动喇叭延时 T关闭喇叭音符间延时NY播音流程图湖北大学 20162017 学年度第一学期课程考试试题纸(第 9 页共 18 页五、结果讨论:初始界面:如果按错了键,会出现如下界面:如果选择正确,将出现如下界面:湖北大学 20162017 学年度第一学期课程考试试题纸(第 10 页共 18 页六、心得体会在本次设计中,可以说是一次成功的经验。在我们学完了微型计算机原理与接口技术这门课的基础上来做这个设计,通过设计后,使我们对这门课的理论知识的理解有很大程度上的加强。微机原理这门课程本身是一门实验性和工程性很强的专业技术课,因此不仅要重视理论教学,更应注意实践技能的培养和训练。课程设计是这门课程的一个重要环节,通过课程设计,巩固、加深和拓宽了学习的理解,本课程设计的重点目标是使用汇编语言,而不过多涉及硬件方面的太多知识。在编程方面我通过本次课程设计学到了很多。一开始面对很长的程序往往有畏难情绪,感觉无法下手,没办法只能硬着头皮啃下去,多看几个和音乐播放有关的汇编程序,然后我就能慢慢看懂了并理解了别的作者的设计思路。然后再根据自己的思路,对照本人在图书馆借的汇编语言指导书慢慢编写符合自己思路的

温馨提示

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

评论

0/150

提交评论