基于8086的音乐播的设计与实现本科学位论文.doc

上传人:知****量 文档编号:91654209 上传时间:2023-05-27 格式:DOC 页数:43 大小:533.50KB
返回 下载 相关 举报
基于8086的音乐播的设计与实现本科学位论文.doc_第1页
第1页 / 共43页
基于8086的音乐播的设计与实现本科学位论文.doc_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《基于8086的音乐播的设计与实现本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于8086的音乐播的设计与实现本科学位论文.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、宋体二号加黑华文新魏小初号,简体 郑州科技学院 微机原理课程设计(论文) 题 目 基于8086的音乐播所填内容为黑体3号 播放器的设计与实现学生姓名 安少波 专业班级 计算机科学与技术1班学 号 201115001 所 在 系 信息工程学院 指导教师 王清珍 固定内容为宋体3号完成时间 2013年 12 月13日 论文题目,3号黑体,分1行或2行居中打印 电子音乐播放器小3号黑体 摘要本文旨在学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,通过设计总框图清晰明了的了解认识到基于8086条件下的音乐播放器的设计和应用,本文包含了设计思路说明 通过对电子音乐

2、播放器的设计,从电路到汇编代码,再到对程序的调试,在整个的设计过程中学到了很多,例如,对8254发生原理的理解,其工作原理就是对输入相同的脉冲,通过计数器的控制作用,从中学习课程设计的目的和意义。关键词:8086 、8254 、论文题目(英文),加粗3号大写Times New Roman,分13行居中打印,每行左右两边至少留5个字符空格加粗4号Times New Roman小4号小写Times New Roman小4号小写Times New Roman加粗小4号Times New Roman4号宋体4号黑体页码编为 4号黑体3号黑体小4号宋体,目录只到三级编号,正文可以到四级编号地址端口 目录

3、一 .课程设计的目的和意义二 .设计要求三 .设计总框图四 .设计设计思路说明五 .程序流程图六 .接口电路原理图七 .设计总结八 .汇编程序代码 一、课程设计的目的和意义学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。二、设计要求利用8254作为音阶频率发生器,应先对至少两段音乐进行编码后存入音符表,并建立好音阶表,每段音符长度不

4、能少于60个,每首连续播放3遍后,自动播放下一段音乐,几段音乐播完后,循环播放,直到有键盘输入任意字符时停止,并且使用8255作为控制开关的并行输入接口,输入开关选择的音乐控制信号。三、设计总框图四、设计设计思路说明:电子音乐播放器属于接口电路的连接使用,本设计是以8254芯片为核心的发生系统。8086CPU在形成系统总线后,通过和8254及8255的连接使用可以很好的驱动扬声器发音。系统初始化后,8255通过B通道,从控制开关读取所需的控制字,并送入8086CPU中进行判断,选择不同的播放音乐。使8254的通过0号计数器工作在“频率发生器”方式3,向发生器发出不同频率的方波。当给定不同的计数

5、初值时可以使扬声器发出不同频率的音响。五、程序流程图开始读取音符频率播放音乐读取选择信号Y播放song1是1H吗?H键吗?YN播放song2是2H吗?Y是4H吗?播放song3NNNCX=0YN键盘是否输入?Y结束六、接口电路原理图1、8254的基本知识8254占用4个端口,3个定时器各占1个,控制端口占1 个。8254的内部结构如图所示,它主要包括以下几个主要部分:8254的内部结构(1)数据总线缓冲器实现8254与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8254的控制信息、数据信息以及CPU从8254读取的状态信息,包括某时刻的实时计数值。(2)读/写控制逻辑控制8254的

6、片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。(3)控制字寄存器在8254的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。(4)计数通道0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含一个16位的计数寄存器,用以存放计数初始值,一个16位的减法计数器和一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取,读取完毕之后,输出锁存器又跟随减1计数器变化。(5)8254外部引脚8254芯片是

7、具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。8254芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:1D7D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。2:来自于CPU的读控制信号输入引脚,低电平有效。3:来自于CPU的写控制信号输入引脚,低电平有效。4:芯片选择信号输入引脚,低电平有效。8254的引脚(6). 8254端口地址 8254端口地址(7). 8254功能 8253 A既可作定时器又可作计数器: 计数: 计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK 脉冲对计数值进行减

8、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 OU

9、T DX,AL(2).演奏单音符 8254芯片(口地址为40H43H)的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

10、,AL(3).演奏时间控制通过控制每个音符的演奏时间可以使乐曲更加有节奏感。最直观的方法是按照乐谱为每一个音符规定一个演奏时间,但是利用这种方法调试程序特别困难。特别是在遇到一首不熟悉的歌曲时,初期很难确定每个音符的演唱时间,而调试程序的时候费时费力,效果很差。我们可以利用另外一种方法,即为每个音符规定一个“单位时间”。单位时间N=音符的演唱时间其中,N为调试参数,一首歌曲只有一个调试参数,它为常数。由于每个音符的节奏(即演唱时间)不同,所以各个音符的“单位时间”都不一样。 每个音符演奏的 “单位时间”的确定: 我们知道,音符的节奏分为一拍、半拍、1/4拍、1/8拍等等。如果在一首歌中,所有音

11、符中演奏时间最短的为1/8拍,我们就规定1/8拍音符的 “单位时间”为1,1/4拍音符的“单位时间”为2,半拍音符的“单位时间”为4,一拍音符的“单位时间”为8。调试参数N的确定:显然,如果能测出一段乐谱的总的时间t,用T(i)来表示第i个音符的“单位时间”,那么: N=(4)、频率表和时间表设计程序时,数据段设这两张 “表”,一张是频率表,将与音符对应的频率值依次写入表中,另一张是时间表,依次存放每个音符的单位时间。当然频率表项和时间表项要一一对应,不能错位,频率表的最后一个表项为0,作为重复演唱或者停止演唱的标志。在接通扬声器的情况下,依次取出频率表中的频率值,转换成计数初值写入2号计数器

12、,依次取出时间表中的单位时间和调试参数N相乘,然后再调用延时子程序即可得到延时时间,也就是音符的演奏时间。表一:音阶频率表音阶 频率(HZ) 12472247(122)=277331143305370641574661247(122)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,3

13、70 330,247,247,311,311,330,311,277,247,277 370,370,370,370,247,247,277,247,415,370,-1表三:单位时间表 4 4 8 4 4 8 4 4 4 2 2 4 4 84 4 4 2 2 4 4 84 4 8 4 4 8 8 8 4 4 4 4 8 4 4 4 4 16 4 4 4 4 4 4 4 4 4 4 4 4 16七、设计总结 (一)设计总结 通过对电子音乐播放器的设计,从电路到汇编代码,再到对程序的调试,在整个的设计过程中学到了很多,例如,对8254发生原理的理解,其工作原理就是对输入相同的脉冲,通过计数器的控

14、制作用,输出需要的不同频率的波。同时用到了8255的并行接口,将二进制的控制信息传入8086CPU中处理,选择是否对音乐播放进行调整。在使用8255和8254接口的时候,都要对其进行初始化,这初始化程序的编写,有助于对这些接口芯片的工作原理的理解。同时在调试过程中对不同音阶进行调试,加深了对发声原理的理解与掌握。总之,在实验中自己动手,把理论知识用于实践,从中能够领会很多。(二)设计存在的问题和不足 由于是初次设计这个微机课程设计,在设计中由于考虑不全或知识面的狭窄,导致了在实验设计中出现一些不足和错误,主要有以下几点:1、 实验箱里面的线路连接和接线接头不是很熟悉,在实验连线中偶尔出现错误。

15、2、 关于实验中的芯片的使用方法,存在问题,不能准确的合理使用芯片功能。3、 写程序代码时,由于知识面的狭窄,会对一些步骤的编写出现错误,不过查资料后都正确的改正了。4、 关于循环和声音控制计数器中数的计算有点问题,不过经过老师的解答,也基本弄清楚了。5、 设计中最大的难处就是实现上面的对音节时间的控制方式,在最后的编程中没有使用上面的时间控制方式,从而导致了最后输出地音乐的声音不是很标准,同时也难调试。(三)心得体会 这次课程设用了一个星期,在这一个星期的日子里,虽然还要复习其他的学科知识以应对相应的期末考试,但在每天下午的设计实验室里面还是静下心来认认真真的编写汇编代码,学习连接线路芯片。

16、在之前的书本理论知识的学习中对相应的芯片知识不是很了解,在课程设计的过程中,加深了其理解。同时,也对整个学科的知识进行了汇总学习。从8286CPU到8255并行接口再到8254可编程计数器的使用原来和连接方法进行深入的学习,关于8255和8254相应的程序控制字进行了理解与掌握,基本熟悉了其相关的用法,在把理论知识用在了实际问题的解答之中,即进一步学会了怎么将理论与实践结合起来解决问题。虽然,认认真真的看书找资料,但还是会在设计过程中遇到一些问题,但在老师是指导下,问题一个一个的解决,知识和动手能力再一点一点的增加,相信只有把知识应用到实际中才算是真正的学习知识。八、汇编程序代码D8255_M

17、ODE EQU 0C003HD8255_B_DU EQU 0C001HD8254_MODE EQU 0C063HD8254_COUT EQU 0C060HNAME DZYYBFPAGE 50,70DATA1 SEGMENTFREQ1 DW 247,247,277,311,311,330,330,311,311,277 DW 277,311,277,247,466,247,415,415,247,247 DW 277,311,311,330,330,311,311,370,415,370 DW 311,277,247,277,247,330,370,415,370,330 DW 247,247,

18、311,311,330,311,277,247,415,370,0,0TIME1 DW 50,25,25,50,50,50,50,25,100,50 DW 25,25,50,50,50,50,25,100,50,25 DW 25,50,50,50,50,50,50,25,50,50 DW 25,25,50,50,50,25,100,75,25,25 DW 25,25,25,25,25,25,100,50,50,25,0,0FREQ2 DW 265,294,330,262,262,294,330,262,330,349 DW 392,330,349,392,392,440,392,349,330

19、,262 DW 392,440,392,349,330,262,294,196,262,294 DW 196,262,0TIME2 DW 50,50,100,100,100,100,100,50,50,100 DW 100,100,100,100,50,50,100,100,100,100 DW 100,100,50,50,100,100,100,100,100,50 DW 100,100,0,0FREQ3 DW 7 DUP(330),392,262,294,330,4 DUP(349) DW 2 DUP(330),330,294,262,294,392 DW 7 DUP(330),392,2

20、62,294,330,4 DUP(349) DW 2 DUP(330),392,392,349,294,262,0,0TIME3 DW 2 DUP(25,25,50),4 DUP(25),100 DW 2 DUP(25,25,50),4 DUP(25) DW 2 DUP(50),2 DUP(25,25,50),4 DUP(25),100 DW 2 DUP(25,25,50),4 DUP(25),100,0,0DATA1 ENDSSTACK1 SEGMENT PARA STACK DW 100 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DAT

21、A1 ASSUME SS:STACK1START: MOV AX,DATA1 MOV DS,AX MOV AX,0 MOV SI,AX MOV DX,D8255_MODE MOV AL,10000010B ;B端口方式0输人 OUT DX,AL MOV DX,D8254_MODE ;连接8253的控制端口 MOV AL,00110110B ;定义8253为通道0,方式3,OUT DX,AL ;二进制,先读低位/后读高位 MUSIC1: MOV CX,4HCIRCUL1: DEC CX JZ MUSIC2 LEA DI,FREQ1 ;取偏移地址 LEA BP,TIME1 LOOP1: MOV A

22、X,DI ;取时间偏移地址 CMP AX,0 JE CIRCUL1 CALL SPEAKER XOR AX,AX MOV DX,D8255_B_DU ;连接8255_B端口 IN AL,DX ;从手动控制端读入控制选择信息 MOV AH,0 CMP AX,SI ;判断输入的信息变化没有,JZ AAA1 ;没变则表示没有改变原来的选择 MOV SI,AX CMP AL,1H ;判断输入的信息,JNZ AAA2 :选择播放那首音乐 JMP MUSIC1AAA2: CMP AL,2H JNZ AAA3 JMP MUSIC2AAA3: CMP AL,4H JNZ AAA1 JMP MUSIC3AAA1

23、: ADD DI,2 ADD BP,2 JMP LOOP1 MUSIC2: MOV CX,4HCIRCUL2: DEC CX JZ MUSIC3 LEA DI,FREQ2 LEA BP,TIME2LOOP2: MOV AX,DI CMP AX,0 JE CIRCUL2 CALL SPEAKER XOR AX,AX MOV DX,D8255_B_DU ;连接8255_B端口 IN AL,DX ;从手动控制端读入控制选择信息 MOV AH,0H CMP AX,SI ;判断输入的信息变化没有,没变JZ AAA6 ;则表示没有改变原来的选择 MOV SI,AX CMP AL,1H ;判断输入的信息,选

24、择播放那首音乐 JNZ AAA4 JMP MUSIC1AAA4: CMP AL,2H JNZ AAA5 JMP MUSIC2AAA5: CMP AL,4H JNZ AAA6 JMP MUSIC3AAA6: ADD DI,2 ADD BP,2 JMP LOOP2MUSIC3: MOV CX,4HCIRCUL3: DEC CX JNZ LOOOP CALL BREAK JMP MUSIC1LOOOP: LEA DI,FREQ3 ;取偏移地址 LEA BP,TIME3 ;取时间偏移地址LOOP3: MOV AX,DI CMP AX,0 JE CIRCUL3 CALL SPEAKER XOR AX,A

25、X MOV DX,D8255_B_DU ;连接8255_B端口 IN AL,DX ;从手动控制端读入控制选择信息 MOV AH,0H CMP AX,SI ;判断输入的信息变化没有,没 JZ AAA9 ; 变则表示没有改变原来的选择 MOV SI,AX CMP AL,1H ;判断输入的信息,选择播放那首音乐 JNZ AAA7 JMP MUSIC1AAA7: CMP AL,2H JNZ AAA8 JMP MUSIC2AAA8: CMP AL,4H JNZ AAA9 JMP MUSIC3 AAA9: ADD DI,2 ADD BP,2 JMP LOOP3 SPEAKER PROC PUSH AX P

26、USH BX PUSH CX PUSH DX MOV AX,DI MOV BX,AX MOV DX,0FH MOV AX,4240H ;送入记数值clk=1MHZ 1000 DIV BX MOV DX,D8254_COUT ;将数送入8253计数器中 OUT DX,AL MOV AL,AH OUT DX,AL ;将每个音节的时间周期存入CX MOV CX,2710H ;设0.5s的时间周期所需的循环次数WAIT1: MOV BX,WORD PTR DS:BPDELAY2: MOV AX,2710H ;设最小节拍播放时间为0.5sDELAY3: DEC AX JNZ DELAY3DELAY1:

27、DEC BX JNZ DELAY2 LOOP WAIT1 CALL BREAK POP DX POP CX POP BX POP AX RETSPEAKER ENDPBREAK PROC ;键盘输入字符时,结束程序运行 MOV AH,6 MOV DL,0FFH INT 21H JZ RETURN小3号黑体4号黑体加编页码 MOV AH,4CH INT 21H58参考:毕业论文(设计)工作记录及成绩评定册题 目: 学生姓名: 学 号: 专 业: 班 级: 指 导 教 师: 职称: 助理指导教师: 职称: 年 月 日实验中心制使 用 说 明一、此册中各项内容为对学生毕业论文(设计)的工作和成绩评定

28、记录,请各环节记录人用黑色或蓝色钢笔(签字笔)认真填写(建议填写前先写出相应草稿,以避免填错),并妥善保存。二、此册于学院组织对各专业题目审查完成后,各教研室汇编选题指南,经学生自由选题后,由实验中心组织发给学生。三、学生如实填好本册封面上的各项内容和选题审批表的相应内容,经指导教师和学院领导小组批准后,交指导教师;指导老师填好毕业论文(设计)任务书的各项内容,经教研室审核后交学生签名确认其毕业论文(设计)工作任务。四、学生在指导老师的指导下填好毕业论文(设计)开题报告各项内容,由指导教师和教研室审核通过后,确定其开题,并将此册交指导老师保存。五、指导老师原则上每周至少保证一次对学生的指导,如

29、实按时填好毕业论文(设计)指导教师工作记录,并请学生签字确认。六、中期检查时,指导老师将此册交学生填写前期工作小结,指导教师对其任务完成情况进行评价,学院中期检查领导小组对师生中期工作进行核查,并对未完成者提出整改意见,后将此册交指导老师保存。七、毕业论文(设计)定稿后,根据学院工作安排,学生把论文(打印件)交指导老师评阅。指导老师应认真按毕业论文(设计)指导教师成绩评审表对学生的论文进行评审并写出评语,然后把论文和此册一同交教研室。八、教研室将学生的论文和此册分别交两位评阅人评阅后交回教研室保存。九、学院答辩委员会审核学生答辩资格,确定答辩学生名单,把具有答辩资格学生的论文连同此册交各答辩小

30、组。十、学生答辩后由答辩小组记录人填好毕业论文(设计)答辩记录表中各项内容,然后把学生的论文和此册一同交所在答辩小组,答辩小组对其答辩进行评审并填写评语后交教研室。十一、学院答辩委员会进行成绩总评定,填好毕业论文(设计)成绩评定表中各项内容,然后把论文(印刷版和电子版(另传)和此册等资料装入专用档案袋中,教教研室后由实验中心统一保存。目 录1毕业论文(设计)选题审批表2. 毕业论文(设计)任务书3毕业论文(设计)开题报告4. 学生毕业论文(设计)题目更改申请表5毕业论文(设计)指导老师工作记录6毕业论文(设计)中期检查记录7毕业论文(设计)指导教师成绩评审表8毕业论文(设计)评阅人成绩评审表9

31、. 毕业论文(设计)答辩申请表10毕业论文(设计)答辩记录表11毕业论文(设计)答辩成绩评审表12毕业论文(设计)成绩评定表毕业设计(论文)选题审批表题目名称 基于单片机的超声波测距题目性质工程设计理论研究实验研究计算机软件综合论文其它题目来源科研题目 生产现场教学 其它自拟题目选题理由:由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,精度也能达到使用要求,超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉识别等方面。超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因

32、素影响,对环境有一定的适应能力,且操作简单、测量精度高等优点而被广泛应用。这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触电接触不良造成的误测等。此外该技术对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量耗损,节省人力和劳动的强度。因此,利用超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。 指导教师意见: 签名: 年 月 日院(系)领导小组意见: 签名: 年 月 日注:此表由学生填写毕业论文(设计)任务书1、毕业论文(设计)应达到的目

33、的:(1)能对学生在学期间所学知识的检验与总结,培养和提高学生独立分析问题和解决问题的能力,使学生受到科学研究、工程设计和撰写技术报告等方面的基本训练。(2)提高学生对工作认真负责、一丝不苟,对事物能潜心观察、用于开拓、用于实践的基本素质;(3)培养学生综合运用所学知识,结合实际独立完成课题的工作能力。(4)对学生的知识面、掌握知识的深度、运用理论结合实际去处理问题的能力、实践能力、计算机运用水平、书面及口头表达能力进行考核。2、毕业论文(设计)的内容和要求(包括原始数据、技术要求、工作要求等):以单片机为核心设计了基于激光测距的防撞预警系统,采用TDC-GP2芯片作为激光飞行计时单元,给出激光发射及回波接收放大电路,基于模块化思想设计、完成系统软件设计流程;最后通过实验测试,系统要能很好测出前方车辆距离及运行状态,并能及时发出报警,利用Matlab对其测试结果进行验证,修正。3、对毕业论文(设计)成果的要求包括图表、实物等硬件要求:设计完成后,要提供电路图,实验电路版,控制原始程序,实验要保存大量的原始数据。完成设计论文。4、毕业论文(设计)工作进度计划:序号论文(设计)工作进度日期(起止周数)1根据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁