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