微机原理及接口技术基于PROTEUS实现音乐播放器的设计_第1页
微机原理及接口技术基于PROTEUS实现音乐播放器的设计_第2页
微机原理及接口技术基于PROTEUS实现音乐播放器的设计_第3页
微机原理及接口技术基于PROTEUS实现音乐播放器的设计_第4页
微机原理及接口技术基于PROTEUS实现音乐播放器的设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...........专业..信息科学与技术学院微机原理与接口技术课程设计报告题目名称:基于PROTEUS实现音乐播放器的设计学生:王浩宇关问鼎徐然冉启幸学号:2013508305201350825120135082242013508278专业班级:13电信指导教师:恩博2015年7月9日目录一.课程设计题目1二.课程设计任务及要求1三.总体方案与设计说明13.1每个音符的对应频率13.2设计说明1四.硬件电路设计及描述14.1芯片介绍1五.软件设计流程〔模块流程图〕及描述1六.源程序代码〔要有注释〕1七.课程设计体会1参考文献1一.课程设计题目基于PROTEUS实现音乐播放器的设计二.课程设计任务及要求设计要求:1.实现播放音乐;2.实现多首音乐连续播放和选择播放;3.要求通过PROTUES完成此项功能,并完成PCB电路图。三.总体方案与设计说明3.1每个音符的对应频率表1每个音符的对应频率音符频率/HZ半周期/us音符频率/HZ半周期/us低1DO2621908#4FA#7400676#1DO#2771805中5SO7840638低2RE2941700#5SO#8310602#2RE#3111608中6LA8800568低3M3301516#6LA#9320536低4FA3491433中7SI9880506#4FA#3701350高1DO10460478低5SO3921276#DO#11090451#5SO#4151205高2RE11750426低6LA4401136#2RE#12450402#6LA#4661072高3M13180372低7SI4941012高4FA13970358中1DO5230956#4FA#14800338#1DO#5540903高5SO15680319中2RE5780842#5S0#16610292#2RE#6220804高6LA17600284中3M6590759#6LA#18650268中4FA6980716高7SI197602533.2设计说明该音乐播放器通过用8086中央处理器、74LS373地址锁存电路、74LS138译码电路、定时/计数器8253A来实现功能。8086中央处理器输出地址码A16-A19和数据AD0-AD15,将AD0-AD7输入地址锁存器输出A0-A7,再将A0-A7通过译码器进展译码输出作为8253的片选信号,8253产生不同频率的脉冲来模拟音符,通过时间的长短来模拟音长,从而设计出一个功能完整的音乐播放器。四.硬件电路设计及描述4.1芯片介绍(1)8086中央处理器8086中央处理器是Intel系列的16位微处理器,有16根数据线和20跟地址线。它主要由执行部件EU〔ExecutionUnit〕和总线接口部件BIU〔BusinterfaceUnit〕两局部组成。8086拥有四个16位的通用存放器,也能够当作八个8位存放器来存取,以及四个16位索引存放器(包含了堆栈指标)。资料存放器通常由指令隐含地使用,针对暂存值需要复杂的存放器配置。它提供64K8位元的输出输入(或32K16位元),以及固定的向量中断。大局部的指令只能够存取一个存位址,所以其中一个操作数必须是一个存放器。运算结果会储存在操作数中的一个。为了能够简单有效地进展对8086操作,故采用最小模式进展工作。要使8086处于最小模式,首先要将MN/MX端置为高电平。(2)74LS373地址锁存电路74LS373为D锁存器,AD0-AD7为输入数据,输出Ao0-Ao7。74LS373的输出端O0~O7可直接与总线相连。当三态允许控制端OE为低电平时,O0-O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0-O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。引出端符号:D0~D7数据输入端OE三态允许控制端〔低电平有效〕LE锁存允许端O0-O7输出端表274LS373真值表DnLEOEOnHHLHLHLLXLLQ0XXH高阻态(3)74LS138译码电路A0-A7通过译码电路输出作为8253的片选信号。其工作原理如下:a.当一个选通端E1为高电平,另两个选通端E2和E3为低电平时,可将地址端〔A0、A1、A2〕的二进制编码在Y0至Y7对应的输出端以低电平译出。比方:A0A1A2=110时,那么Y6输出端输出低电平信号。b.可用在8086的译码电路中,扩展存。在该电路中,除了A2A1其他几位是11110**0的时候才能给CS送一个有效电平,而当A1A2=00,01,10,11之时即为F0H,F2H,F4H,F6H分别对应的是通道0,1,2,3的运行。(4)定时/计数器8253A主要功能:a.每片上有3个独立的16位的减计数器通道。b.对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进制或十进制来计数。c.每个通道都有6种工作方式,都可以通过程序设置或改变。8253的部构造如下图,它主要包括以下几个主要局部:图3.2.58253的部构造a.数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。b..读/写控制逻辑控制8253的片选及对部相关存放器的读/写操作,它接收CPU发来的地址信号以实现片选、部通道选择以及对读/写操作进展控制。c.控制字存放器在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此存放器只能写入,不能读出。d.计数通道0#、1#、2#:这是三个独立的,构造一样的计数器/定时器通道,每一个通道包含一个16位的计数存放器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。音乐播放器工作于方式3:方波发生器当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。计数过程:当把方式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引脚上的信号从低电平跳到高电平时,将会重新把计数初值存放器CR中的容移入计数执行单元CE中,并以新装入的值重新开场计数。五.软件设计流程〔模块流程图〕及描述通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段延时程序。SI指向曲中的频率,BP指向曲中的时间节拍。从SI的指向的音节表中取一个频率,只要不是0,即有效就再读取时间,然后转到start子程序,计算计数初值送入计数器,产生各种频率信号,再送至扬声器。程序流程图开场开场写音乐文件程序写音乐文件程序曲各音符频率设置曲各音符时间设置曲各音符频率设置曲各音符时间设置读取频率freq读取频率freqYY频率=0频率=0N转到stratN转到strat程序读取时间节拍time读取时间节拍time计算机计数次数送计算器,产生频率信号,再送至扬声器发出声音计算机计数次数送计算器,产生频率信号,再送至扬声器发出声音完毕延时time完毕延时time硬件电路图图1电路仿真图六.源程序代码〔要有注释〕codesegmentassumecs:code;;;;;;;;;;;;;;;;;;;音乐文件;;;;;;;;;;;;;;;;;;;;;;;;;;;;;freqdw2dup(262,294,330,262)dw2dup(330,349,392)dw2dup(392,440,392,349,330,262)dw2dup(294,196,262),0;歌曲频率timedw8dup(10000)dw2dup(10000,10000,20000)dw12dup(9000)dw6dup(18000);歌曲时间节拍值dw10000regdw3;;;;;;;;;;;;;;;;;;;;;;计数器3遍;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;start1:movch,2jmpstartstart:decreg;减一计数cmpreg,0 jeendd;循环三次完毕leasi,freqleabp,timeleasp,regmovdi,cs:[si];频率movbx,[bp]jmpmusicmusic:;;;;;;;;;;;;;;;;;;;;;;送控制字;;;;;;;;;;;;;;;;;;;;;;;;;;;movdx,0F6h ;控制端口moval,10010110B;控制字outdx,al;;;;;;;;;;;;;;;频率计算并送8253;;;;;;;;;;;;;;movdx,00h ;设置被除数movax,5000divdimovdx,0F4houtdx,al;;;;;;;;;;;;;;;;;;;;;;movax,1;频率outdx,axmovbx,20000;时间wait1: movcx,6 ;设循环次数6delay1: loopdelay1 decbx;循环持续bx次,即传进来的节拍时间jnzwait1;;;;;;;;;;;;;;;;;;定位到下一个音符;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; decbx jnzwait1 addsi,2 addbp,2 movdi,cs:[si] cmpdi,0jestartmovbx,[bp] jmpmusic;;;;;;;;;;;;;;;;;;程序完毕;;;;;;;;;;;;;;;;;;;;;;;;;;;;;endd:movdx,0F6hmoval,10010110Boutdx,alcodeendsendstart七.课程设计体会经过一个星期的课程设计,完成任务的效果和预想中有很大的出入,虽然中间遇到了一些问题,但经过我们的努力,还是把问题给解决了。这次课程设计对我综合运用所学知识的能力的提高有不小的帮助,之前做的实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比拟简单,可是这次要实现的功能相对来说比拟复杂,要求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论