《微机原理(音乐播放器》由会员分享,可在线阅读,更多相关《微机原理(音乐播放器(23页珍藏版)》请在金锄头文库上搜索。
1、微机原理课程设计报告题 目:音乐播放器学生姓名:学 号:专业班级:同组姓名:指导教师:设计时间:2010年上学期第17周指导老师意见:评定成绩:签名:日期: 年 月 日课程设计任务书题目:音乐播放器课程设计内容要求:要求:1. 根据确定的主题进行分析,确定采用的微机芯片,并复习掌握相关知识;2. 设计整体结构、框架;分析硬件框架、流程和软件框架、流程;实现汇编 程序;3测试完成汇编程序;4.按要求完成课程设计和报告、答辩。目的:课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和 实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综 合运用所学知识的能力,通过讨论
2、与合作,完成一项完整的设计工作。更深入的 了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环节来加深 对微机原理与接口技术所学内容的理解和融会贯通。设计者姓名:指导老师意见:指导老师签名:目录一 课程设计任务和目的 31.1 课程设计目的 31.2课程设计任务 3二、课程设计相关知识 32.1 定时/计数器8253A32.2 8253A内部结构42.3 8253A外部引脚52.5 8253A端 口地址62.6 8253A功能72.7 8253A控制字72.8 8253A工作方式8三. 总体设计方案93.1 总体设计方案一93.2 总体设计方案二93.3 各个音符的对应频率表 10四
3、. 部分电路设计及功能解说114.1 频率发生电路114.2 扬声器开关控制电路11五. 硬件接线图11六. 软件设计流程图126.1 总流程图 126.2 音乐播放子程序流程图 13七. 程序段功能汇总137.1 MAIN 程序137.2 PLAY 子程序147.3 DELAY子程序和DELAY_OFF子程序14八. 程序清单14九. 试验结果和分析199.1 试验结果199.2 分析 20十.课程设计总结和体会20十一.参考文献 21课程设计任务和目的1.1课程设计目的本课程设计注重提高学生应用能力、创新能力。在掌握了基本的实验方法和实验技能且理论教学完成 的基础上,要求学生通过一周的集中
4、工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成 一项完整的设计工作。更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。通过这个环 节来加深对微机原理与接口技术所学内容的理解和融会贯通。设计音乐播放器主要目的: 通过D/A装换器产生模拟信号,在实验平台上实现简易音乐播放器。 了解利用数模转换器产生音乐的基本方法。 掌握定时/计数器8253A的使用。1.2课程设计任务本次课程设计题目是:设计并实现一个键控音乐播放器。要求:(1)自己选用合适的芯片,不少于两种。和其他硬件。(2)自行设计电路并使用汇编语言编写程序完成键控音乐播放器功能。(3)该播放器有若干首歌曲可以选择,开始时
5、输出说明,要用户选择要播放的歌曲, 然后根据用户按键进行播放、退出或出错提示。(4)利用8253作为音阶频率发生器,对一段音乐进行编码后存入音符表,程序中可调用音符表自动播放音乐,从中了解音乐播放的原理。(5)利用8253A和PC机,设计并实现简易音乐播放器(6)使用汇编语言编写音乐播放程序。(7)上机调试程序并联机,利用试验箱提供的扬声器发声。(8)完成实验报告。二、课程设计相关知识2.1 定时/计数器8253A在微机及控制系统中,经常要用到定时信号。如系统的日历时钟,动态存储器刷新。对外部执行机构控制时也需要定时中断、定时检测、定时查询等。定时的方法主要是两种:软件定时:利用指令的执行时间
6、设计循环程序,使CPU执行延迟子程 序的时间就是定 时时间。缺点:执行延迟时,CPU 一直被占用,降低了 CPU的效率。硬件定时:用计数器/定时器作为主要硬件,在软件简单指令的控制下产生精确的时间 延迟。突出优点为计数时不占用CPU时间,如利用定时器/计数器产生中断信号,可建立多 作业环境,提高了 CPU效率。主要功能:(1) 每片上有3个独立的16位的减计数器通道。(2) 对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进 制或十进制来计数。(3) 每个通道都有6种工作方式,都可以通过程序设置或改变。(4) 每个计数器的速率可高达2MHz。最高的计数时钟频率为2 . 6MH
7、z。2.2 8253A内部结构8253的内部结构如图所示,它主要包括以下几个主要部分:Di-DoCS1控制字寄存器内部数据总钱计数器yCLK2GATE2*-0UT图2 18253的内部结构(1) .数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信 息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。(2) .读/写控制逻辑控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实 现片选、内部通道选择以及对读/写操作进行控制。(3) .控制字寄存器在8253的初始化编程时,由CPU写入控制字,以决定通
8、道的工作方式,此寄存器只能写入,不能读出。(4) .计数通道 0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数 寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在 计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁 存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。2.3 8253A外部引脚8253芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8253芯 片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号 的情况,介绍
9、如下:(1) . DD :双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。70(2) . RD:来自于cpu的读控制信号输入引脚,低电平有效。(3) . WR :来自于CPU的写控制信号输入引脚,低电平有效。(4) . CS :芯片选择信号输入引脚,低电平有效。F DqDi *De -*D sDd D s -*-*Dei Dt -*-*6765432135281 - - - CLKOGATEDUTO计数器号控制勢BBWR Ao Al* ,cs*电源22231920212412TFI-ELK1- GATE1 * 0BT1*-0UT2计数器1号计数器2号图2 18253的引脚(
10、5) . A、A :地址信号输入引脚,用以选择8253芯片的通道及控制字寄存器。(6) . V及10CCGND: +5V电源及接地引脚(7) . CLK:i=0,1,2,第i个通道的计数脉冲输入引脚,8253规定,加在CLK引脚的输入时 钟信号的频率不得高于2.6MHZ,即时钟周期不能小于380ns。(8) . GATE: i=0,1,2,第i个通道的门控信号输入引脚,门控信号的作用与通道的工作方 式有关。(9) . OUT: i=0,1,2,第i个通道的定时/计数到信号输出引脚,输出信号的形式由通道的 工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU发出的中断请求信号。 2.4
11、计数器内部结构每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在16位的锁存器中,该锁存器只写不能读。在计数器工作时,初值不受影响,以便进行重复计数。图中每个计数 器有一个时钟输入端CLK作为计数脉冲源,计数方式可以是二进制,计数范围110000H,也可以是十进制,计数范围165536。门控端GATE用于控制计数开始和停止。输出OUT端 当计数器计数值减到零时,该端输出标志信号。2.5 8253A端口地址憐/WRA1A2寄存器选择与操作01000:写入计数器體01001与入计数器#101010写入计数器議010. 1 ;1写入控制寄存器00100读计数器#000101读计数器相0
12、.0 .11 .0.读计数器短00111无操作二态)1XXXX衆止1二恣*:01:1XX无操作(二态)图238253A端口地址2.6 8253A 功能8253 A既可作定时器又可作计数器:(1) 计数:计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对 计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,由OUT端输出一个标志信 号。(2) 定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数, 当计数到零时,发计数结束定时信号。除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。2.7 8253A 控制 字165斗32.1
13、0数制控制;二进制,1=B址D00选计数器001选计数器110选计数器它工作方式选择:CICICI方式011非法001方式100计数器锁存命100方式4101方式5一 01只读宵低E位高呂位自动首0 10只读/写高位低呂位自动暨0 11先写底S位后写言8位图24 8253A控制字说明:(1) 8253 A每个通道对输入CLK按二进制或二十进制从预置值开始减1计数,减到0 时从OUT输出一个信号。(2) 8253 A编程时先写控制字,再写时间常数。2.8 8253A工作方式(1) 方式0:计数结束产生中断方式当写入控制字后,OUT变为低电平,当写入初值后立即开始计数,当计数结束时,变成 高电平。
14、(2) 方式 1:可编程单次脉冲方式当初值装入后且GATE由低变高时,OUT变为低电平,计数结束变为高电平。(3) 方式2:频率发生器方式当初值装入时,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE 为低时,立即停止计数,强制OUT变高,当GATE再变高时,便启动一次新的计数周期。(4) 方式3:方波发生器当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT 输出低电平。JuuuuuiruvLru juvuuTLTLruuuuuuwLrLn-*8* 匕 * m 鼻 4* * 审 . 1* 冲 . 中 耶*4 & b 4 . 1a 4 1 i a 4 * fVAbn口5T 1 I* 1;;: lJ 1491k1:; :; i J J4 3ti:;