《微机原理与应用》课程设计——电子音乐播放器
接口
电子音乐播放器
一、课程设计的目的和意义
学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求
利用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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]一年级家长课程教案
- [高等教育]封丘县人民医院深入推进纠正医药购销领
- [高等教育]2017年6月大学英语四级真题试卷及答案(
- [高等教育]2017年北京第二外国语学院文学院824中
- [高等教育]7 高中历史第7单元1861年俄国农奴制改
- [高等教育]【K12学习】4、实际测量-苏教版六年级
- [高等教育]药具培训试卷题库及部分参考答案
- [高等教育]本土电子元器件目录分销商如何赢得生意
- [高等教育]七年级岭南版美术教案
- [高等教育]书作文之书法活动通讯稿
- [高等教育]Endnote X 软件使用入门和用法总结(LS)
- [高等教育]嵌入式系统的现状及发展状况
- [高等教育]2012抗菌药物专项整治活动方案解读
- [高等教育]人教版新课本一年级数学下册期末试卷
- [高等教育]爱课程民法学观后感
- [高等教育]930机组使用说明书1
- [高等教育]煤气设备设施点检标准
- [高等教育]常见室内观叶植物图解
- [高等教育]312党员群众路线心得体会
- [高等教育]小学信息(苗版)第一册全册教案
- 在市---局2010党建大会上的讲话
- 《科哲》提纲及补充阅读材料(2010.7)
- 苏州高博软件技术职业学院论文开题报告
- 兼职导游管理的困境及对策探讨
- 基于通用设计理念的现代厨房产品语义研
- 康乐一中2010年至2011年度鼓号队、花束
- 第10章_数据收集整理与描述_期末复习课
- 2008年黑龙江林甸商贸购物中心营销策划
- 水硬度的测定实验报告
- 五分钟教你拍摄夜景光绘照
- 2014年临床妇产科三基三严试题及答案
- 0第二课 纾解压力第一站了解压力
- 解析建筑工程电气设备安装施工技术要点
- 地方性应用型本科高校“双师型”师资队
- 高考语文专题复习课件:小说阅读指导
- 装饰工程投标书2
- 大学生就业难问题探讨及对策
- English and Its History
- 青岛市城市房屋修缮工程质量监督管理办
- 初中英语形容词和副词的用法和练习题




