1、微机原理与接口技术课程设计报告设计题目:音乐播放器姓 名:学 号:指导老师:日 期:北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 1课程设计任务书题目:音乐播放器课程设计内容要求:要求:1根据确定的主题进行分析,确定采用的微机芯片,并复习掌握相关知识;2设计整体结构、框架;分析硬件框架、流程和软件框架、流程;实现汇编程序;3测试完成汇编程序;4按要求完成课程设计和报告、答辩。目的:课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成一项完整的设
2、计工作。更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环节来加深对微机原理与接口技术所学内容的理解和融会贯通。设计者姓名: 指导老师意见:指导老师签名:北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 2目 录第一章 课程设计的任务和目的 .31.1 课程设计任务 .31.2 课程设计目的 .3第二章 课程设计基础知识 .42.1 定时/计数器 8253A.42.2 8253A 内部结构 .42.3 8253A 外部引脚 .52.4 计数器内部结构 .62.5 8253A 端口地址 .72.6 8253A 功能 .72.7 8253A 控制字 .8
3、2.8 8253A 工作方式 .8第三章 详细设计 .103.1 硬件设计 .103.2 软件设计 .13第四章 程序调试 .14第五章 总结 .14第六章 参考文献 .15第七章 附录 .167.1 源代码 .167.2 各个音符的对应频率 .18北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 3第一章 课程设计的任务和目的1.1 课程设计任务本课程设计题目是:设计并实现一个音乐播放器。1. 自己选用芯片和其它的硬件。2. 自行设计电路并使用汇编语言编写程序完成音乐播放器功能。3. 利用 8253 作为音阶频率发生器,对一段音乐进行编码后存入音符表,程序中可调用音符
4、表自动播放音乐,从中了解音乐播放的原理。4. 利用 8253A 和 PC 机,设计并实现简易音乐播放器5. 使用汇编语言编写音乐播放程序。6. 上机调试程序并联机,利用试验箱提供的扬声器发声。7. 完成实验报告。1.2 课程设计目的本课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成一项完整的设计工作。更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环节来加深对微机原理与接口技术 所学内容的理解和融会贯通。设计音乐播放器主要目的: 通过 D/A 装换
5、器产生模拟信号,在实验平台上实现简易音乐播放器。 了解利用数模转换器产生音乐的基本方法。 掌握定时/计数器 8253A 的使用。北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 4第二章 课程设计基础知识 2.1 定时/计数器 8253A 在微机及控制系统中,经常要用到定时信号。如系统的日历时钟,动态存储器刷新。对外部执行机构控制时也需要定时中断、定时检测、定时查询等。定时的方法主要是两种:软件定时:利用指令的执行时间设计循环程序,使 CPU 执行延迟子程 序的时间就是定时时间。缺点:执行延迟时,CPU 一直被占用,降低了 CPU 的效率。硬件定时:用计数器/定时器作为
6、主要硬件,在软件简单指令的控制下产生精确的时间延迟。突出优点为计数时不占用 CPU 时间,如利用定时器/计数器产生中断信号,可建立多作业环境,提高了 CPU 效率。主要功能:(1)每片上有 3 个独立的 16 位的减计数器通道。(2)对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进制或十进制来计数。(3)每个通道都有 6 种工作方式,都可以通过程序设置或改变。(4)每个计数器的速率可高达 2MHz。最高的计数时钟频率为 26MHz。2.2 8253A 内部结构8253 的内部结构如图所示,它主要包括以下几个主要部分:北京理工大学珠海学院 2018-12-2105 计算机科学
7、与技术 2 班 5图 21 8253 的内部结构(1) 数据总线缓冲器实现 8253 与 CPU 数据总线连接的 8 位双向三态缓冲器,用以传送 CPU 向 8253 的控制信息、数据信息以及 CPU 从 8253 读取的状态信息,包括某时刻的实时计数值。(2) 读/写控制逻辑控制 8253 的片选及对内部相关寄存器的读/写操作,它接收 CPU 发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。(3) 控制字寄存器在 8253 的初始化编程时,由 CPU 写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。(4) 计数通道 0#、1#、2#:这是三个独立的,结构相同的计
8、数器/定时器通道,每一个通道包含一个 16 位的计数寄存器,用以存放计数初始值,一个 16 位的减法计数器和一个 16 位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到 CPU 发来的读计数值命令时,用以锁存计数值,供 CPU 读取,读取完毕之后,输出锁存器又跟随减 1 计数器变化。2.3 8253A 外部引脚8253 芯片是具有 24 个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8253芯片的 24 个引脚分为两组,一组面向 CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:(1) D 7D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数
9、据及状态信息。(2) :来自于 CPU 的读控制信号输入引脚,低电平有效。R(3) :来自于 CPU 的写控制信号输入引脚,低电平有效。W(4) :芯片选择信号输入引脚,低电平有效。CS图 21 8253 的引脚(5) A 1、A 0:地址信号输入引脚,用以选择 8253 芯片的通道及控制字寄存器。 (6) V CC及 GND:+5V 电源及接地引脚北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 6(7) CLK i:i=0,1,2,第 i 个通道的计数脉冲输入引脚,8253 规定,加在 CLK 引脚的输入时钟信号的频率不得高于 2.6MHZ,即时钟周期不能小于 38
10、0ns。(8) GATE i:i=0,1,2,第 i 个通道的门控信号输入引脚,门控信号的作用与通道的工作方式有关。(9) OUT i:i=0,1,2,第 i 个通道的定时/计数到信号输出引脚,输出信号的形式由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向 CPU 发出的中断请求信号。2.4 计数器内部结构每个计数器由一个 16 位可预置的减 1 计数器组成,计数初值可保存在 16 位的锁存器中,该锁存器只写不能读。在计数器工作时,初值不受影响,以便进行重复计数。图中每个计数器有一个时钟输入端 CLK 作为计数脉冲源, 计数方式可以是二进制,计数范围110000H,也可以是十进
11、制,计数范围 165536。门控端 GATE 用于控制计数开始和停止。输出 OUT 端当计数器计数值减到零时,该端输出标志信号 。图 22 计数器内部结构北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 72.5 8253A 端口地址图 23 8253A 端口地址2.6 8253A 功能8253 A 既可作定时器又可作计数器:(1) 计数: 计数器装入初值后,当 GATE 为高电平时,可用外部事件作为 CLK 脉冲对计数值进行减 1 计数,每来一个脉冲减 1,当计数值减至 0 时,由 OUT 端输出一个标志信号。(2) 定时: 计数器装入初值后,当 GATE 为高电平时
12、,由 CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。除上述典型应用外,8253A 还可作频率发生器、分频器、实时钟、单脉冲发生器等。北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 82.7 8253A 控制字图 24 8253A 控制字说明 :(1) 8253 A 每个通道对输入 CLK 按二进制或二十进制从预置值开始减 1 计数,减到0 时从 OUT 输出一个信号。(2) 8253 A 编程时先写控制字,再写时间常数。2.8 8253A 工作方式(1) 方式 0:计数结束产生中断方式当写入控制字后,OUT 变为低电平,当写入初值后立即开始计数,当计
13、数结束时,变成高电平。(2) 方式 1:可编程单次脉冲方式当初值装入后且 GATE 由低变高时,OUT 变为低电平,计数结束变为高电平。(3) 方式 2:频率发生器方式当初值装入时,OUT 变为高;计数结束, OUT 变为低。该方式下如果计数未结束,但 GATE 为低时,立即停止计数,强制 OUT 变高,当 GATE 再变高时,便启动一次新的计数周期。(4) 方式 3:方波发生器北京理工大学珠海学院 2018-12-2105 计算机科学与技术 2 班 9当装入初值后,在 GATE 上升沿启动计数,OUT 输出高电平; 当计数完成一半时,OUT 输出低电平。图 25 方波图方式 3 与方式 2
14、的工作方式类似,也是在初始化完成后能重复循环计数,只是输出的波形不同。计数过程当把方式 3 的控制字写入控制字寄存器后,输出端 OUT 变成高电平,作为初始电平。再将计数初值写入计数初值寄存器 CR 中,再经过一个时钟周期,计数初值被移入计数执行单元 CE 中,从下一个时钟脉冲开始作减 1 计数,方式 3 的计数过程分为两种情况:第一种情况:计数初值为偶数,当作减 1 计数减到 N/2 时,输出端 OUT 端变成低电平,减到 0 时,输出端 OUT 变成高电平,并重新从初值开始新的计数过程。若 GATE 为高电平,则一直重复同样的计数过程。可见,输出端 OUT 输出连续的方波,故称方波发生器。第二种情况:计数初值为奇数,当作减 1 计数减到(N+1)/2 以后,输出端 OUT 变成低电平,减到 0 时,输出端 OUT 又变成高电平。并重新从初值开始新的计数过程。这时输出端的波形为连续的近似方波。门控信号的影响工作在方式 3 时,门控信号 GATE 的功能与工作方式 2 一样,即 GATE 为高电平时,允许计数;GATE 为低电平时停止计数。GATE 引脚上的信号从低电平跳到高电平时,将