基于8086的音乐播的设计与实现

合集下载

歌曲点播系统课程设计

歌曲点播系统课程设计

歌曲点播系统课程设计一、课程目标知识目标:1. 学生能够理解并掌握歌曲点播系统的基本原理和功能。

2. 学生能够学习并运用编程语言,如Python,进行简单的歌曲点播系统开发。

3. 学生能够了解数据库的基本操作,包括数据存储、查询和修改。

技能目标:1. 学生能够运用所学知识,独立设计和实现一个简易的歌曲点播系统。

2. 学生能够通过编程解决实际问题,提高逻辑思维和问题解决能力。

3. 学生能够通过团队协作,与他人共同完成项目任务,提高沟通与协作能力。

情感态度价值观目标:1. 学生培养对计算机科学的兴趣,激发学习编程的热情。

2. 学生在学习过程中,养成积极思考、主动探索的良好习惯。

3. 学生通过项目实践,认识到团队合作的重要性,培养团队精神和责任感。

课程性质:本课程为信息技术学科,结合实际生活场景,以项目式教学引导学生学习编程和数据库知识。

学生特点:六年级学生具备一定的计算机操作基础,对新鲜事物充满好奇,喜欢动手实践,但注意力容易分散。

教学要求:课程设计应注重实践操作,结合生活实例,激发学生兴趣,提高学生的动手能力和解决问题的能力。

同时,注重培养学生的团队合作意识和情感态度价值观。

通过分解课程目标,确保教学设计和评估的针对性。

二、教学内容1. 歌曲点播系统概述:介绍歌曲点播系统的基本概念、功能及应用场景,使学生了解课程学习的实际意义。

相关教材章节:第1章 计算机网络应用2. 编程语言基础:讲解Python编程语言的基本语法、数据类型和常用函数,为后续系统开发打下基础。

相关教材章节:第2章 编程语言入门3. 数据库知识:介绍数据库的基本概念、数据表的设计与创建,以及数据的增删改查操作。

相关教材章节:第3章 数据库应用4. 歌曲点播系统设计与实现:详细讲解系统需求分析、功能设计、界面设计和编程实现。

相关教材章节:第4章 系统设计与实现5. 系统测试与优化:教授学生如何测试系统功能、发现并解决问题,提高系统稳定性。

基于8086电子琴的设计与实现

基于8086电子琴的设计与实现

郑州科技学院《微机原理与接口技术》课程设计题目_基于8086电子琴的设计与实现学生姓名专业班级12级计算机科学与技术一班学号院(系)信息工程指导教师完成时间 2015 年 1 月 11 日目录1 引言 (1)2 设计方案与论证 (3)2.1方案一 (3)2.2 方案二 (3)2.2.1设计思路 (4)2.2.2各个音节频率的设定 (8)3 设计原理及功能说明 (9)3.1硬件 (9)3.1.1 8253简介 (10)3.1.2 8255简介 (12)3.2 软件 (14)3.2.1 设计实验总流程图 (14)3.2.2 设计子程序流程图 (15)4 调试与结果测试 (17)4.1 硬件调试 (17)4.2 软件调试 (20)4.3测试方案和测试结果 (22)5 总结 (23)参考文献 (26)附录1:总体电路原理图 (27)附录2:元器件清单 (28)附录3:源代码 (29)1 引言随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要作用。

多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。

本次课程设计是基于微机原理与接口技术的简单应用。

微机技术目前运用最广泛的就是单片机。

单片机是随着大规模集成电路的出现极其发展,将计算机的CPU、RAM、ROM定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机。

它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。

单片机控制通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。

这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。

手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。

8086的课程设计

8086的课程设计

8086的课程设计一、课程目标知识目标:1. 让学生掌握8086微处理器的结构、工作原理及主要性能特点。

2. 使学生了解8086指令系统,能正确运用汇编语言编写简单的程序。

3. 帮助学生理解内存管理、中断处理和I/O操作等基础知识。

技能目标:1. 培养学生运用汇编语言进行程序设计和调试的能力。

2. 使学生能够分析并解决8086微处理器在实际应用中遇到的问题。

3. 提高学生的动手实践能力,能独立完成基于8086的硬件系统搭建和编程。

情感态度价值观目标:1. 培养学生对计算机硬件和汇编语言的兴趣,激发学习热情。

2. 培养学生具备良好的团队合作精神和沟通能力,增强解决问题的信心。

3. 引导学生认识到计算机技术对社会发展的作用,树立正确的科技观。

课程性质:本课程为计算机硬件基础课程,以理论教学和实践操作相结合的方式展开。

学生特点:学生已具备一定的计算机基础知识和编程能力,但对硬件和汇编语言了解较少。

教学要求:结合学生实际情况,注重理论与实践相结合,强调实践操作,提高学生的实际动手能力。

通过本课程的学习,使学生能够掌握8086微处理器的基本知识,为后续相关课程打下坚实基础。

同时,注重培养学生的团队合作精神和沟通能力,提高学生的综合素质。

二、教学内容1. 8086微处理器概述:介绍8086微处理器的结构、工作原理及性能特点,对应教材第一章。

- 8086内部结构- 工作原理与性能参数- 8086的发展历程及其在计算机硬件中的应用2. 8086指令系统:学习8086指令的分类、格式及功能,对应教材第二章。

- 指令分类及格式- 常用指令介绍与示例- 汇编语言编程基础3. 内存管理:讲解内存的组织结构、地址空间分配及管理方法,对应教材第三章。

- 内存组织结构- 地址空间分配- 内存管理方法4. 中断处理:分析中断的类型、处理过程及中断向量表,对应教材第四章。

- 中断类型及处理过程- 中断向量表- 中断编程实例5. I/O操作:介绍I/O端口地址分配、编程方法及其应用,对应教材第五章。

电子乐曲的播放设计

电子乐曲的播放设计

摘要 (2)1 任务分析 (3)1.1 任务要求 (3)1.2 任务分析 (3)1.2.1PC机扬声系统原理 (3)1.2.2 8253的基本知识 (3)1.2.3乐曲演奏原理 (8)2 设计方案 (10)3 设计实现 (12)4 程序调试过程 (23)结束语 (26)参考文献 (27)附录 (28)近几十年来,从结构复杂、功能简单、运算速度慢、只有专家才会使用的电子管计算机到到集成数百万晶体管、功能强大、价格便宜、普及到千万家的微型计算机,计算机科学飞速发展。

尽管计算机发展迅速,但基本原理没有改变,计算机体系结构上还是遵循冯·诺依曼的思想。

汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。

借助于汇编程序,计算机本身可以自动地把汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。

本课程设计是以8086微处理机、8253、8255A等芯片为核心,通过汇编语言实现在PC喇叭上播放一段音乐。

关键词:微机原理、汇编语言、电子乐曲播放电子乐曲的播放设计1任务分析1.1任务要求使用汇编语言设计一个在计算机上运行的音乐演奏程序,按大写字母“A”,演奏乐曲1;按大写字母“B”,演奏乐曲2;按大写字母“C”,演奏乐曲3;按“Q”键,退出。

1.2任务分析分析该任务,主要解决两个问题,一是PC机扬声器发声,演奏一段音乐;二是通过分支结构实现不同乐曲的选择。

1.2.1PC机扬声系统原理PC机扬声系统原理为:它以计数器8253为核心,编程使其工作在方式3(方波发生器),输出端out经过滤波之后送至扬声器,改变计数初值就可以使扬声器发出不同频率的声音。

1.2.28253的基本知识在微机及控制系统中,经常要用到定时信号。

如系统的日历时钟,动态存储器刷新。

对外部执行机构控制时也需要定时中断、定时检测、定时查询等。

定时的方法主要是两种:软件定时:利用指令的执行时间设计循环程序,使CPU 执行延迟子程序的时间就是定时时间。

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实现毕业论文毕业设计说明书学生姓名学号学院计算机科学与技术学院专业计算机科学与技术(软件工程)题目音乐播放器的设计与实现指导教师(姓名)(专业技术职称/学位)年月摘要: 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。

关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg,C#,Visual Studio 2008Abstract:With the improvement of standards of living, entertainment has become verymainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development of media software. This article aims to introduce the research knowledge of common digital audio encoding and decoding, and in conjunction with VS2008 prepared multifunctional music player, understand the functions of the music player to acquire related knowledge needed to develop music player, object-oriented software engineering methods are used, their development includes the application interface design and code to run in the background tracks to realize multifunctional music player application on your computer, you can to a large extent, meet the needs of users. The system mainly includes: a music player, music file control, volume control, control, control, schedule control of lyrics, music editing function module.Keywords:music player, audio coding format, techsmith screen capture codec, c#, visual studio 2008目录1前言................................................................................................................. - 3 -1.1选题的背景及意义...................................................................................... - 4 -1.2网络流行音乐播放器简介.......................................................................... - 4 -2系统相关技术及开发平台介绍................................................................... - 5 -2.1开发应用技术介绍...................................................................................... - 5 -2.2开发及运行坏境.......................................................................................... - 7 -3系统的分析..................................................................................................... - 8 -3.1可行性分析.................................................................................................. - 8 -3.2常见的几种音频格式及其特点 ................................................................. - 9 -3.3需求分析....................................................................................................- 10 -4系统设计........................................................................................................- 12 -4.1系统概要设计............................................................................................- 12 -4.2系统功能设计及描述................................................................................- 12 -5系统功能实现 .............................................................................................- 14 -5.1歌曲添加模块............................................................................................- 15 -5.2歌曲列表模块............................................................................................- 19 -5.3播放控制模块............................................................................................- 20 -5.4音量控制模块............................................................................................- 23 -5.5进度控制模块............................................................................................- 24 -5.6滚动字幕模块............................................................................................- 24 -5.7歌曲下载模块............................................................................................- 29 -5.8歌曲剪辑模块............................................................................................- 31 -结论.................................................................................................................- 35 -参考文献.......................................................................................................- 36 -致谢.................................................................................................................- 37 -1 前言1.1 选题的背景及意义音乐是情感的艺术,美妙动听的音乐来源于情感,又潜移默化地影响情感,让我们进入瑰丽多彩的虚化与现实的意境之中。

8086仿真课程设计

8086仿真课程设计

8086仿真课程设计一、课程目标知识目标:1. 让学生掌握8086微处理器的结构、工作原理及指令系统;2. 使学生了解并掌握8086汇编语言编程的基本方法;3. 帮助学生理解8086内存管理、中断处理及I/O操作等相关知识。

技能目标:1. 培养学生运用8086汇编语言进行程序设计和调试的能力;2. 培养学生分析和解决实际问题的能力;3. 提高学生团队协作和沟通表达的能力。

情感态度价值观目标:1. 培养学生对计算机硬件及汇编语言的兴趣,激发学生主动学习的热情;2. 培养学生严谨、细致的科学态度,树立正确的价值观;3. 引导学生认识到科技进步对社会发展的作用,增强学生的社会责任感。

课程性质分析:本课程为计算机科学与技术专业核心课程,旨在使学生掌握8086微处理器的基本原理和汇编语言编程技能,为后续相关课程打下基础。

学生特点分析:学生具备一定的计算机基础知识,但对硬件及汇编语言的了解有限,需要通过本课程的学习,提高理论知识和实践技能。

教学要求:1. 理论与实践相结合,注重培养学生的动手能力;2. 注重启发式教学,引导学生主动思考、分析和解决问题;3. 强调团队合作,培养学生的沟通能力和协作精神。

二、教学内容1. 8086微处理器概述:包括发展历程、结构特点、工作原理等;教材章节:第一章2. 8086指令系统:介绍指令的分类、格式、功能及使用方法;教材章节:第二章3. 8086汇编语言编程:涵盖汇编语言基础、伪指令、宏指令等内容;教材章节:第三章4. 8086内存管理:讲解内存组织、存储器分配、地址转换等;教材章节:第四章5. 8086中断处理:介绍中断分类、中断处理过程、中断向量表等;教材章节:第五章6. 8086 I/O操作:讲解I/O端口、I/O指令、编程方法等;教材章节:第六章7. 实践环节:设计并实现8086汇编语言程序,进行调试与优化;教材章节:第七章8. 课程总结与拓展:总结8086微处理器相关知识,探讨其在新一代处理器中的应用;教材章节:第八章教学内容安排与进度:1. 前六章内容,每章安排2个课时,共计12个课时;2. 第七章实践环节,安排4个课时;3. 第八章课程总结与拓展,安排2个课时。

8086汇编课程设计

8086汇编课程设计一、课程目标知识目标:1. 理解8086汇编语言的基本概念,掌握汇编语言的程序结构。

2. 学会使用8086汇编语言进行基本的输入输出操作,理解寄存器、内存的使用方法。

3. 掌握汇编语言中的条件判断、循环等控制语句,并能够运用到实际编程中。

技能目标:1. 能够运用汇编语言编写简单的程序,解决实际问题。

2. 培养学生的逻辑思维能力和编程技能,提高解决复杂问题的能力。

3. 培养学生独立调试汇编程序的能力,学会使用汇编器的常用功能。

情感态度价值观目标:1. 培养学生对计算机硬件及底层编程的兴趣,激发学习热情。

2. 增强学生的团队合作意识,学会在团队中沟通、协作、共同解决问题。

3. 培养学生严谨、细致的学习态度,养成良好的编程习惯。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在理解汇编语言基本概念的基础上,通过实际编程实践,掌握汇编语言的核心技能,培养具备实际编程能力和逻辑思维能力的高年级学生。

课程目标分解为具体学习成果,便于后续教学设计和评估。

二、教学内容1. 汇编语言基本概念:介绍8086汇编语言的发展历程、特点,理解汇编语言与机器语言的关系,掌握汇编程序的基本结构。

教材章节:第一章 汇编语言概述2. 寄存器与内存操作:讲解8086处理器寄存器、内存地址空间,学会使用寄存器和内存进行数据存储和运算。

教材章节:第二章 寄存器与内存操作3. 汇编指令系统:学习汇编语言的基本指令、数据传输指令、算术运算指令、逻辑运算指令等,并掌握其使用方法。

教材章节:第三章 汇编指令系统4. 程序控制语句:介绍条件判断、循环等控制语句,学会编写具有分支、循环结构的汇编程序。

教材章节:第四章 程序控制语句5. 字符串处理:学习字符串处理指令,掌握字符串输入输出、比较、复制等操作。

教材章节:第五章 字符串处理6. 中断与子程序:讲解中断的概念、中断处理程序,学会编写和调用子程序。

教材章节:第六章 中断与子程序7. 汇编语言编程实践:结合实际案例,进行汇编语言编程实践,培养实际编程能力。

8086音乐盒课程设计

8086音乐盒课程设计一、课程目标知识目标:1. 学生能理解8086音乐盒的基本工作原理和组成结构。

2. 学生掌握使用8086处理器编程,控制音乐盒播放不同旋律的方法。

3. 学生了解音乐盒中音符与频率的关系,能运用此关系创作简单旋律。

技能目标:1. 学生能够运用汇编语言编写程序,实现音乐盒的基本控制功能。

2. 学生通过实践操作,培养动手能力和问题解决能力,提升编程技巧。

3. 学生学会运用逻辑思维和算法设计,实现对音乐盒旋律的精确控制。

情感态度价值观目标:1. 学生培养对计算机硬件和编程的兴趣,激发探索精神。

2. 学生在团队协作中,学会沟通与分享,培养合作精神。

3. 学生通过创作音乐盒旋律,培养审美情趣,提高人文素养。

本课程针对高中年级学生,结合学科特点,将理论知识与实践操作相结合,旨在提高学生的编程技能、动手能力和创新意识。

课程目标具体明确,可衡量,以便于学生和教师在教学过程中有针对性地进行评估和调整。

通过本课程的学习,学生将能够掌握8086音乐盒的相关知识,提升编程技能,并在创作过程中培养良好的情感态度价值观。

二、教学内容1. 8086音乐盒硬件组成及工作原理- 8086处理器基础知识- 音乐盒硬件结构及功能- 音符与频率的关系2. 汇编语言编程基础- 汇编语言指令系统- 程序结构及编写规范- 常用寄存器及功能3. 音乐盒编程控制- 软件编程控制硬件原理- 音乐盒播放旋律的编程方法- 实例分析与操作演示4. 实践操作与作品创作- 编程练习:控制音乐盒播放指定旋律- 创作实践:自主设计音乐盒旋律- 团队协作:分组讨论、展示与评价教学内容根据课程目标,结合教材相关章节,制定详细的教学大纲。

教学安排注重科学性和系统性,从基础知识到实践操作,逐步引导学生掌握8086音乐盒的相关知识。

在教学过程中,教师需关注学生个体差异,合理安排教学进度,确保学生能够扎实掌握所学内容。

同时,通过实践操作和作品创作,培养学生动手能力、创新意识和团队协作精神。

基于8086电子琴的设计与实现

基于8086电子琴的设计与实现介绍电子琴是一种使用数字技术而非声学原理来产生声音的乐器。

与传统音乐乐器不同,电子琴可以通过自带音效、合成器、音色等多种设置,同时,它还可以与计算机互联,实现更多其他乐器无法实现的功能。

8086是英特尔公司推出的一种16位微处理器。

该处理器广泛用于计算机、工业控制和嵌入式系统等领域,具有处理速度快、性能稳定、兼容性高等特点。

本篇文档将介绍基于8086的电子琴的设计与实现过程。

设计硬件设计在硬件设计中,我们需要一个键盘矩阵、8086单片机、扬声器等元器件。

键盘矩阵是由若干个按键组合而成的矩阵,在电子琴中,每一个按键对应一个频率,从而实现不同的音调。

8086单片机将键盘矩阵读取,声音的产生则使用扬声器。

具体的硬件设计如下:1.键盘矩阵:16个按键组成的4x4矩阵,其中每个按键对应不同的频率。

2.8086单片机:应使用具有16位数据总线和20位地址总线的微处理器,可采用8086、8088或80186等型号。

3.扬声器:直径为3英寸,阻抗为8欧姆。

软件设计在软件设计中,我们需要实现键盘扫描、音频输出等功能。

具体的软件设计如下:1.键盘扫描:通过键盘矩阵的读取,得到按键的位置、行和列信息。

2.音频输出:使用扬声器输出不同频率的音调。

3.逻辑控制:根据键盘扫描的结果,控制音频输出的频率和音量等参数。

实现硬件实现硬件的实现并不复杂,只需要按照设计优先连接好元器件即可。

在本电子琴中,硬件的连接图如下:TODO: 添加硬件连接图软件实现在软件实现中,我们采用了汇编语言实现。

汇编程序主要包括键盘扫描模块、音频输出模块、中断服务程序和主程序等模块。

具体的软件实现如下:1.键盘扫描模块:先选定一行,然后针对这一行,将其中的列依次读取,如果有按键按下,就将此时的位置和按键信息存储在指定的寄存器中。

2.音频输出模块:选择相应的频率需要选择合适的参数来确定频率的大小,经过计算可确定参数的值,然后使用Pulse Width Modulation(PWM)模块来输出音频信号。

基于8086钢琴的程序设计 自动化课程设计报告

Hefei University微机原理课程设计报告课题名称:基于8086钢琴的程序设计班级:09自动化(1)班报告人:指导教师:2011 年 12 月 30 日目录摘要: (3)关键字: (3)正文: (3)一、总体框图 (3)二、方案的论证 (3)三、电路设计 (4)3.1 扬声器接口电路 (4)3.2键盘模块 (4)3.3 总电路系统 (5)四、软件设计流程图 (6)4.1主流程图 (6)4.2键盘扫描子程序图 (7)五、c51单片机系统仿真实现 (9)六、总结与体会 (9)参考文献: (9)附件一、自动化专业微机原理课程设计任务书 (10)附件二:汇编程序清单 (11)附件三:C语言程序清单 (15)基于8086钢琴的程序设计摘要:本设计以8086为主体,结合使用8255,8253及相关电路设计利用键盘输入发出不同频率的的音调。

利用8255检测键盘,根据输入信号驱动数码管显示,控制8253,完成输入与检测;利用8253的分频输出不同的信号,经放大驱动扬声器发出声音。

关键字: 8086、8255、8253、键盘正文:一、总体框图本系统主要有两个功能模块组成:键盘扫描,蜂鸣器发声。

围绕这二个功能需要用到三个主要芯片:8086,8255,8253。

首先8086主芯片负责数据交换与处理,芯片初始化等。

系统开始时对键盘进行扫描,有输入信号时,8255采集信号并输入8086进行处理, 8086接到8255输入的信号时,调用与之相关的初始值n,输入到8253,对clock进行分频输出不同的频率信号,驱动扬声器发出不同的音调,同时8255对8253进行控制并对信号进行采集送到8086,决定发声时间的长短。

二、方案的论证扬声器接口由8255、8253、驱动器和低通滤波器等构成,8255做控制器,8253做音频信号源。

根据音阶频率表,利用8253可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州科技学院微机原理课程设计(论文)题目基于8086的音乐播播放器的设计与实现学生姓名安少波专业班级计算机科学与技术1班学号201115001所在系信息工程学院指导教师王清珍完成时间 2013年 12 月13日电子音乐播放器摘要本文旨在学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,通过设计总框图清晰明了的了解认识到基于8086条件下的音乐播放器的设计和应用,本文包含了设计思路说明通过对电子音乐播放器的设计,从电路到汇编代码,再到对程序的调试,在整个的设计过程中学到了很多,例如,对8254发生原理的理解,其工作原理就是对输入相同的脉冲,通过计数器的控制作用,从中学习课程设计的目的和意义。

关键词:8086 、8254 、地址端口目录一..................................................课程设计的目的和意义二....................................................设计要求三...................................................设计总框图四...................................................设计设计思路说明五..................................................程序流程图六.................................................接口电路原理图七................................................设计总结八....................................................汇编程序代码一、课程设计的目的和意义学习和掌握计算机中常用接口电路的应用和设计技术,学会针对不同的要求设计汇编程序代码,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、设计要求利用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_MODEMOV AL,10000010BOUT DX,ALMOV DX,D8254_MODEMOV AL,00110110BOUT DX,AL(2).演奏单音符8254芯片(口地址为40H—43H)的0号计数器工作在方式3作为频率发生器发出方波。

每一个音符对应一个频率,将与一个频率对应的计数初值写入0号计数器,扬声器就可以发出相应的音调。

由于本实验采用的时钟是8086CPU时钟,其频率可选为1MHZ。

故计数初值的计算公式如下:计数初值=1M/输出频率1MHZ转换为16进制数为0F4240H,因此在打开扬声器的情况下执行以下子程序即可发出与输出频率对应的音调。

MOV DX ,4CHMOV AX,4B40HMOV CX,频率值DIV CX ;AX=计数初值OUT 40H,ALMOV AL,AHOUT 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=ii T t)((4)、频率表和时间表设计程序时,数据段设这两张“表”,一张是频率表,将与音符对应的频率值依次写入表中,另一张是时间表,依次存放每个音符的单位时间。

当然频率表项和时间表项要一一对应,不能错位,频率表的最后一个表项为0,作为重复演唱或者停止演唱的标志。

在接通扬声器的情况下,依次取出频率表中的频率值,转换成计数初值写入2号计数器,依次取出时间表中的单位时间和调试参数N相乘,然后再调用延时子程序即可得到延时时间,也就是音符的演奏时间。

表一:音阶频率表音阶频率(HZ)1 2472 247(12√2)²=2773 3114 3305 3706 4157 4661 247(12√2)12 =247*2=494表二:音符频率表(HZ)247,247,277,311,311,330,330,311,311,277277,311,277,247,466,247,415,415,247,247277,311,311,330,330,311,311,370,415,370311,277,247,277,277,247,330,370,415,370330,247,247,311,311,330,311,277,247,277370,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 164 4 4 4 4 4 4 4 4 4 4 4 16七、设计总结(一)设计总结通过对电子音乐播放器的设计,从电路到汇编代码,再到对程序的调试,在整个的设计过程中学到了很多,例如,对8254发生原理的理解,其工作原理就是对输入相同的脉冲,通过计数器的控制作用,输出需要的不同频率的波。

同时用到了8255的并行接口,将二进制的控制信息传入8086CPU中处理,选择是否对音乐播放进行调整。

在使用8255和8254接口的时候,都要对其进行初始化,这初始化程序的编写,有助于对这些接口芯片的工作原理的理解。

同时在调试过程中对不同音阶进行调试,加深了对发声原理的理解与掌握。

总之,在实验中自己动手,把理论知识用于实践,从中能够领会很多。

(二)设计存在的问题和不足由于是初次设计这个微机课程设计,在设计中由于考虑不全或知识面的狭窄,导致了在实验设计中出现一些不足和错误,主要有以下几点:1、实验箱里面的线路连接和接线接头不是很熟悉,在实验连线中偶尔出现错误。

2、关于实验中的芯片的使用方法,存在问题,不能准确的合理使用芯片功能。

3、写程序代码时,由于知识面的狭窄,会对一些步骤的编写出现错误,不过查资料后都正确的改正了。

4、关于循环和声音控制计数器中数的计算有点问题,不过经过老师的解答,也基本弄清楚了。

5、设计中最大的难处就是实现上面的对音节时间的控制方式,在最后的编程中没有使用上面的时间控制方式,从而导致了最后输出地音乐的声音不是很标准,同时也难调试。

相关文档
最新文档