教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

《微机原理与应用》课程设计——电子音乐播放器

来源:网络收集 时间:2026-08-04
导读: 接口 电子音乐播放器 一、课程设计的目的和意义 学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步

接口

电子音乐播放器

一、课程设计的目的和意义

学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、设计要求

利用8254作为音阶频率发生器,应先对至少两段音乐进行编码后存入音

符表,并建立好音阶表,每段音符长度不能少于60个,每首连续播放3遍后,自动播放下一段音乐,几段音乐播完后,循环播放,直到有键盘输入任意字符时停止,并且使用8255作为控制开关的并行输入接口,输入开关选择的音乐控制信号。

三、设计总框图

接口

四、设计设计思路说明:

电子音乐播放器属于接口电路的连接使用,本设计是以8254芯片为核心的发生系统。8086CPU在形成系统总线后,通过和8254及8255的连接使用可以很好的驱动扬声器发音。系统初始化后,8255通过B通道,从控制开关读取所需的控制字,并送入8086CPU中进行判断,选择不同的播放音乐。使8254的通过0号计数器工作在“频率发生器”方式3,向发生器发出不同频率的方波。当给定不同的计数初值时可以使扬声器发出不同频率的音响。

五、程序流程图

接口

六、接口电路原理图

1、8254的基本知识

8254占用4个端口,3个定时器各占1个,控制端口占1 个。8254的内部结构如图所示,它主要包括以下几个主要部分:

8254的内部结构

(1).数据总线缓冲器

实现8254与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8254的控制信息、数据信息以及CPU从8254读取的状态信息,包括某时刻的

接口

实时计数值。

(2).读/写控制逻辑

控制8254的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。 (3).控制字寄存器

在8254的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。 (4).计数通道0#、1#、2#:

这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。 (5).8254外部引脚

8254芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8254芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:

1.D7~D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。

2.RD:来自于CPU的读控制信号输入引脚,低电平有效。 3.WR:来自于CPU的写控制信号输入引脚,低电平有效。 4.CS:芯片选择信号输入引脚,低电平有效。

8254的引脚

(6). 8254端口地址

接口

8254端口地址

(7). 8254功能

8253 A既可作定时器又可作计数器:

① 计数: 计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK 脉冲对计数值进行减1 计数,每来一个脉冲减1,当计数值减至0时,由OUT 端输出一个标志信号。

②定时: 计数器装入初值后,当GATE为高电平时,由CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。

除上述典型应用外,8253A还可作频率发生器、分频器、实时钟、单脉冲发生器等。

(二)、系统设计 (1).控制字

8255利用端口B从音乐播放选择端口读入8位数据进行判断,同时8254选择通道0,方式3,二进制,先读低位/后高位读数。 则输入的控制字为:

MOV DX,D8255_MODE

MOV AL,10000010B OUT DX,AL

MOV DX,D8254_MODE MOV AL,00110110B OUT DX,AL

接口

(2).演奏单音符

8254芯片(口地址为40H—43H)的0号计数器工作在方式3作为频率发生器发出方波。每一个音符对应一个频率,将与一个频率对应的计数初值写入0号计数器,扬声器就可以发出相应的音调。由于本实验采用的时钟是8086CPU时钟,其频率可选为1MHZ。故计数初值的计算公式如下: 计数初值=1M/输出频率

1MHZ转换为16进制数为0F4240H,因此在打开扬声器的情况下执行以下子程序即可发出与输出频率对应的音调。

MOV DX ,4CH MOV AX,4B40H MOV CX,频率值

DIV CX ;AX=计数初值 OUT 40H,AL MOV AL,AH OUT 40H,AL

(3).演奏时间控制

通过控制每个音符的演奏时间可以使乐曲更加有节奏感。最直观的方法是按照乐谱为每一个音符规定一个演奏时间,但是利用这种方法调试程序特别困难。特别是在遇到一首不熟悉的歌曲时,初期很难确定每个音符的演唱时间,而调试程序的时候费时费力,效果很差。

我们可以利用另外一种方法,即为每个音符规定一个“单位时间”。

单位时间×N=音符的演唱时间

其中,N为调试参数,一首歌曲只有一个调试参数,它为常数。由于每个音符的节奏(即演唱时间)不同,所以各个音符的“单位时间”都不一样。 每个音符演奏的 “单位时间”的确定:

我们知道,音符的节奏分为一拍、半拍、1/4拍、1/8拍等等。如果在一首歌中,所有音符中演奏时间最短的为1/8拍,我们就规定1/8拍音符的 “单位时间”为1,1/4拍音符的“单位时间”为2,半拍音符的“单位时间”为4,一拍音符的“单位时间”为8。

调试参数N的确定:

显然,如果能测出一段乐谱的总的时间t,用T(i)来表示第i个音符的“单

接口

位时间”,那么: N=

t

T(i)i

(4)、频率表和时间表

设计程序时,数据段设这两张 “表”,一张是频率表,将与音符对应的频率值依次写入表中,另一张是时间表,依次存放每个音符的单位时间。当然频率表项和时间表项要一一对应,不能错位,频率表的最后一个表项为0,作为重复演唱或者停止演唱的标志。在接通扬声器的情况下,依次取出频率表中的频率值,转换成计数初值写入2号计数器,依次取出时间表中的单位时间和调试参数N相乘,然后再调用延时子程序即可得到延时时间,也就是音符的演奏时间。 表一:音阶频率表

音阶 频率(HZ) 1 247

2 247(12√2)²=277 3 311 4 330 5 370 6 415 7 466 1 247(12√2)12 =247*2=494 表二:音符频率表(HZ)

247,247,277,311,311,330,330,311,311,277 277,311,277,247,466,247,415,415,247,247 277,311,311,330,330,311,311,370,415,370 311,277,247,277,277,247,330,370,415,370 330,247,247,311,311,330,311,277,247,277 370,370,370,370,247,247,277,247,415,370,--1 表三:单 …… 此处隐藏:2778字,全部文档内容请下载后查看。喜欢就下载吧 ……

《微机原理与应用》课程设计——电子音乐播放器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/127149.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)