微机原理课程设计——音乐播放器

合集下载

(完整word版)微机原理课程设计音乐播放器

(完整word版)微机原理课程设计音乐播放器

一、课程设计的任务和目的课程设计题目:音乐播放器课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音乐播放功能。

通过在《微机原理与接口技术》课程上所学的汇编知识和8253/8254芯片相关知识,来完成本课程设计;用汇编程序完成键控音乐播放器的,用8253/8254定时器来产生声音。

该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。

通过课程设计环节来加强对所学知识的理解和应用。

二、课程设计相关知识2.1 定时/计数器8253/58254在微机及控制系统中,经常要用到定时信号。

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

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

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

缺点:执行延迟时,CPU 一直被占用,降低了CPU 的效率。

硬件定时:用计数器/定时器作为主要硬件,在软件简单指令的控制下产生精确的时间延迟。

突出优点为计数时不占用CPU 时间,如利用定时器/计数器产生中断信号,可建立多作业环境,提高了CPU 效率。

作为定时器可用8253或者8254,二者功能基本相同,知识工作的最高频率不一样。

本实验就采用了8254,其主要功能为:(1)每片上有3 个独立的16 位的减计数器通道。

(2)对于每个计数器,都可以单独作为定时器或计数器使用,并且都可以按照二进制或十进制来计数。

(3)每个通道都有6 种工作方式,都可以通过程序设置或改变。

(4)每个计数器的速率可高达10MHz。

主要部分有:数据总线缓冲器、读/写控制逻辑、控制字寄存器、计数通道0#、1#、2#:内部结构如下图:8254内部结构2.2 8254外部引脚8254芯片是具有24个引脚的双列直插式集成电路芯片,其引脚分布如图所示。

8254芯片的24个引脚分为两组,一组面向CPU,另一组面向外部设备,各个引脚及其所传送信号的情况,介绍如下:8254的引脚(1)D7~D0:双向、三态数据线引脚,与系统的数据线连接,传送控制、数据及状态信息。

c音乐播放器课程设计

c音乐播放器课程设计

c 音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本原理,掌握与其相关的电子元件功能;2. 学生掌握音乐播放器编程的基础知识,能够运用所学编程语言实现音乐播放功能;3. 学生了解音乐播放器在生活中的应用,认识不同类型的音乐播放器。

技能目标:1. 学生能够运用所学知识,设计并制作一个简易的音乐播放器;2. 学生能够通过编程解决音乐播放过程中遇到的问题,如播放、暂停、切换歌曲等;3. 学生能够进行团队协作,共同完成音乐播放器的设计与制作。

情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐审美能力;2. 学生通过实践操作,培养动手能力、创新意识和解决问题的能力;3. 学生在团队协作中,学会相互尊重、沟通与协作,培养集体荣誉感。

课程性质:本课程为实践性课程,结合课本知识,以学生动手操作为主,培养学生实际操作能力和创新能力。

学生特点:本年级学生具备一定的电子元件知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。

教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生的个体差异,鼓励学生创新思维,培养学生团队协作能力。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 音乐播放器原理:介绍音乐播放器的基本工作原理,包括音频信号处理、放大电路、扬声器等组成部分。

相关教材章节:第三章“音频信号处理”及第四章“放大电路与扬声器”2. 编程知识:运用课本所学编程语言,如C语言,实现音乐播放器的控制程序。

相关教材章节:第五章“C语言基础”及第七章“C语言编程实例”3. 音乐播放器设计制作:结合电子元件知识与编程技能,设计并制作一个简易的音乐播放器。

相关教材章节:第八章“电子制作实践”及第十章“综合项目设计与制作”4. 实践操作:分组进行音乐播放器的设计与制作,包括硬件连接、编程调试等环节。

相关教材章节:第十一章“实践操作与团队协作”教学内容安排与进度:第一课时:回顾音频信号处理、放大电路及扬声器等基础知识,明确音乐播放器工作原理。

音乐播放器课程设计

音乐播放器课程设计

音乐播放器课程设计一、课程目标知识目标:1. 学生能够理解音乐播放器的基本原理和功能。

2. 学生掌握音乐播放器界面设计的基本元素和布局。

3. 学生了解音乐播放器中不同音乐格式及其特点。

技能目标:1. 学生能够使用音乐播放器软件进行音乐播放、暂停、停止等基本操作。

2. 学生能够通过音乐播放器软件对音乐进行分类、排序和搜索。

3. 学生能够运用所学知识设计和制作简单的音乐播放器界面。

情感态度价值观目标:1. 培养学生对音乐的热爱和欣赏能力,提高审美情趣。

2. 培养学生团队协作和沟通能力,学会分享和交流音乐心得。

3. 增强学生对科技产品的认识,激发创新意识和探索精神。

课程性质:本课程为信息技术与音乐相结合的综合性课程,注重实践操作和实际应用。

学生特点:六年级学生具有一定的信息技术基础和音乐素养,对新事物充满好奇,喜欢动手实践。

教学要求:结合学生特点,采用任务驱动法,引导学生自主探究和合作学习,注重理论与实践相结合,提高学生的实际操作能力和创新能力。

通过本课程的学习,使学生能够将所学知识应用于实际生活,提升音乐欣赏和信息技术素养。

二、教学内容1. 音乐播放器原理与功能- 了解音乐播放器的基本构成和原理- 掌握音乐播放器的主要功能及操作方法2. 音乐播放器界面设计- 学习音乐播放器界面设计的基本原则- 分析并模仿经典音乐播放器界面布局3. 音乐格式及特点- 介绍常见音乐格式(如MP3、WAV等)及其特点- 了解音乐格式对播放效果和文件大小的影响4. 音乐播放器操作与使用- 学习使用音乐播放器软件进行基本操作(播放、暂停、停止等)- 掌握音乐播放器的高级功能(如音乐分类、排序、搜索等)5. 设计制作音乐播放器界面- 学习运用设计软件制作音乐播放器界面- 结合团队协作,设计并展示个性化的音乐播放器界面教学大纲安排:第一课时:音乐播放器原理与功能第二课时:音乐播放器界面设计第三课时:音乐格式及特点第四课时:音乐播放器操作与使用第五课时:设计制作音乐播放器界面教学内容关联教材章节:《信息技术》六年级上册:第五章 多媒体技术应用,第三节 音乐播放器原理与使用。

音乐播放器课程设计报告

音乐播放器课程设计报告

课程设计报告课程名称PLD原理与应用设计题目音乐播放器专业通信工程四位抢答器摘要随着我国经济和文化事业的发展,在这个竞争激烈的社会中,知识竞赛、评选优胜,选拔人才之类的活动愈加频繁。

在很多竞争场要求有快速公正的竞争裁决,例如:证劵、股票交易及各种智力竞赛等。

在现代社会生活中,智力竞赛更是作为一种生动活泼的教育形式和方法能够引起观众极大的兴趣。

但是、在竞赛中往往是多个选手一起,分为几个小组参加比赛,针对主持人提出的问题各竞赛小组进行抢答,而抢答环节就要有一种逻辑电路抢答器作为裁判员功能、实现其比赛公平、公正的规则。

智能抢答器是一种应用十分广泛的设备,在各种竞赛、抢答场合中,它都能客观、迅速地判别出最先获得发言权的选手。

新增了许多功能,如选手号码显示,抢按后的计时,选手得分显示等功能。

随着科技的发展,现在的抢答器向着数字化、智能化的方向发展.本设计借助于QuartusⅡ软件仿真制作了四人抢答器。

通过选手按动按键的先后,判定由哪位选手回答问题,并且实现倒计时和对选手加分的功能。

本设计分为三个模块:控制模块、计时模块、计分模块,各个模块共同作用,以实现整个设计的总体功能。

关键词:QuartusⅡ,仿真,抢答器,控制模块,计时模块,计分模块Four-way responderABSTRACTWith the development of China's economic and cultural undertakings, in this competitive society, knowledge contests, selection of superior, talents such as activities more and more frequent. In many competitive games require fast fair competition award. In the modern society life, quiz is as a kind of lively education form and the method can cause the audience interest. But, in the competition is often several players together, divided into several groups to participate in the game, against the host question carries on the competition team vies to answer first, vies to answer first link will have a logic circuit buzzer as referee function, achieve the game rules of fairness and justice.Smart responder is a kind of equipment, they are widely used in various competitions, vies to answer first, it can be objective, quickly won the voice discriminant out first. Added many features, such as the contestant number display, rob after pressing time, players score shows, and other functions. With the development of science and technology, now the responder toward digital, intelligent direction.This design with the aid of Quartus Ⅱsoftware simulation produced four responder. Through the player has to press a button, decide which players to answer the question, and can realize the function of the countdown and the player points. This design is divided into three modules: control module, timing module, scoring module, each module combination, to achieve the over all function of the whole design.KEY WORDS: QuartusⅡ,Simulation ,Answer four device,Control,Timing,Scoring目录前言 (1)第1章绪论 (2)1.1 抢答器系统图 (2)1.2 抢答器设计要求 (2)1.3 基本功能 (3)第2章模块设计 (4)2.1 主控制模块 (4)2.1.1 主要功能 (4)2.1.2 代码编写 (4)2.1.3 仿真波形及其分析 (6)2.2计时模块 (7)2.2.1 主要功能 (7)2.2.2 代码编写 (7)2.2.3 仿真波形及其分析 (8)2.3 计分模块 (9)2.3.1 主要功能 (9)2.3.2 代码编写 (9)2.3.3 仿真波形及其分析 (12)第3章顶层电路 (13)3.1 电路图 (13)3.2 抢答器工作原理 (14)3.2.1 各个端口的含义 (14)3.2.2 操作流程及相应波形图 (14)结论 (16)谢辞 (17)参考文献 (18)前言关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。

音乐播放器的实现及LCD显示微机原理课程设计

音乐播放器的实现及LCD显示微机原理课程设计

微机原理与接口技术课程设计报告题目:音乐播放器的实现及LCD显示学院:信息学院专业:物联网班级:2012240901学号:201224090105姓名:章杭目录一、课程设计任务及要求...............................1.1 课程设计题目.........................................................................1.2 课程设计任务及要求.............................................................二、课程设计相关知识...................................2.1 8254芯片.................................................................................2.2 8255芯片..................................................................................2.3 12864液晶................................................................................三、程序设计思路...........................................3.1 设计思路说明.......................................................................3.2 电路图连接...........................................................................四、代码程序说明...........................................五、调试结果及分析.......................................六、总结与体会...............................................一、课程设计任务及要求1.1 课程设计题目音乐播放器的实现1.2 课程设计任务及要求要求用TCP-ZK实验箱及PC机的连接实现音乐播放功能,并在12864液晶屏上显示所放音乐的歌名。

微机原理 电子音乐播放器报告

微机原理 电子音乐播放器报告

《微机原理》课程设计报告评阅成绩评阅教师评阅时间题目:电子音乐播放器专业班级:电子信息科学与技术0810 班设计学生:完成时间:2010年12月15 日湖南文理学院物理与电子科学学院设计题目电子音乐播放器设计要求利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建好音阶表(只建一个八度即可),音符长度不能少于60个,连续播放三遍即可停止。

设计思路用频率发生器74LS393给定时/计数器8253提供一个固定频率的时钟信号,通过给8253输入计数值,以输出对应C调DOU、RUAI、MI、FA、SOU、LA、XI 、DOU(高)的不同频率。

在通过延时下一计数值的输入,控制节拍时间。

最后输入扬声器就会有对应音乐播放。

硬件设计:⑴、频率发生器74LS393的T7端输入到8253的CLOCK0端,提供15.625kHz的时钟信号,⑵、定时/计数器8253的GATE0接﹢5V,提供高电平;⑶、定时/计数器8253的OUT0接扬声器驱动模块的SIN端口;⑷、扬声器驱动模块的J5端口接扬声器的J5端口。

连接图如下框中的系统设计原理图。

程序设计:见下程序流程图。

8253的计数值N=;fifcTcTi=15625;其中=fc现。

延时下一音符的读取实而每个音符的节拍通过表中读取由其中;frequencyfi对应的C调的DOU、RUAI、MI、FA、SOU、LA、XI 、DOU(高)频率为264、297、330、352、396、440、495、528;8253的控制字端口为43H,0、1、2计时器输入端口地址分别为40H、41H、42H 。

系统设计原理图程序流程图源程序:写入8253,计时赋值延时开始三次播放结束74LS393T7YCLOCK0GATE0扬声器驱动SIN J5扬声器8253OUT0+5V定义端口号NCODE SEGMENTASSUME CS:CODEorg 1000hSTART: JMP TCONTTCONTRO EQU 0043H ;8253控制口地址0043H TCON0 EQU 0040H ;定时计数器0地址0040H TCONT: mov cx,64 ;写入计数值jixu: mov ax,64sub ax,cxmov bx,axmov al, cs:[bx+offset data1] ;查音阶表mov cs:[4000h],alcall set8253 ;调用8253设置call delay ;调用延时程序loop jixujmp tcont ;循环delay: push cx ;延时mov cx,01ffhdelay1: call delay2loop delay1pop cxretdelay2: push cxmov cx,0ffhdelay3: loop delay3pop cxretset8253: MOV DX,TCONTRO ;8253写控制字MOV AL,36HOUT DX,ALMOV DX,TCON0 ;8253定时计数器0工作在方式3MOV AL,byte ptr ds:[4000h]OUT DX,ALMOV AL,00HOUT DX,ALretdata1: db24,20,30,30,27,24,40,40,30,27,24,20,27,27,27,27,24,20,30,30,27,24,36,36,27,40,27,24,30,3 0,30,30,18,18,20,20,18,18,30,30,24,18,24,20,27,27,27,27,24,20,30,30,27,24,36,36,27,40,27 ,24,30,30,30,30CODE ENDSEND START设计总结:经过1个星期的课程设计,完成任务的效果和预想中有很大的出入,以为是一个简单的实验,也没有查阅资料,直到调试的时候,来编程,才发现有困难!即时大框架做好了,也很可能失败,很多小细节时我们不容忽视的。

电子音乐播放器课程设计

电子音乐播放器课程设计

一.电子音乐播放器一、设计的任务和目的题目目的:学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

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

设计要求:利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建立好音阶表(只建立一个8度即可,音阶表见附录),音符长度不能少于60个,连续播放3遍后停止。

二8253芯片介绍1 芯片介绍8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。

8253的功能用途是:(1)延时中断(2)可编程频率发生器(3)事件计数器(4)二进倍频器(5)实时时钟(6)数字单稳(7)复杂的电机控制器8253有六种工作方式:(1)方式0:计数结束中断(2)方式1:可编程频率发生器(3)方式2:频率发生器(4)方式3:方波频率发生器(5)方式4:软件触发的选通信号8253引脚图(6)方式5:硬件触发的选通信号8253引脚图如图所示,各引脚功能如下。

D7~D0——八条双向数据线;WR(低电平有效)——写输入信号;RD(低电平有效)——读输入信号;CS(低电平有效)——片选输入信号;A0、A1——片内寄存器地址输入信号;CLK——计数输入,用于输入定时基准脉冲或计数脉冲;OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。

2 控制字三.程序框图通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。

当与门打开后,经过放大器放大的作用,便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段延时程序,之后再将扬声器(关闭与门)即可。

dsp课程设计音乐播放器

dsp课程设计音乐播放器

dsp课程设计音乐播放器一、课程目标知识目标:1. 学生能够理解数字信号处理(DSP)的基本概念,掌握音乐播放器中DSP 技术的应用原理。

2. 学生能够掌握音乐播放器中音频信号的采样、量化、编码等基本知识。

3. 学生能够了解不同音频格式对音乐播放效果的影响,并学会选择合适的音频格式。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的音乐播放器。

2. 学生能够熟练使用相关软件工具进行音频信号的处理和分析。

3. 学生能够通过编程实现音乐播放器的功能,如播放、暂停、停止等。

情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发他们探索科学技术的热情。

2. 培养学生的团队协作意识和创新精神,使他们能够在项目实践中相互学习、共同进步。

3. 培养学生关注音乐播放器在实际生活中的应用,提高他们将所学知识应用于解决实际问题的能力。

课程性质:本课程为实践性较强的学科,以项目为导向,注重培养学生的动手能力和创新能力。

学生特点:学生具备一定的编程基础,对音乐播放器有一定的了解,但对DSP技术及其在音乐播放器中的应用尚不熟悉。

教学要求:教师应结合学生特点,采用理论教学与实践操作相结合的方式,引导学生主动探索、积极实践,确保课程目标的达成。

同时,注重分解课程目标为具体的学习成果,以便进行教学设计和评估。

二、教学内容1. 数字信号处理基础理论:- 介绍数字信号处理的基本概念,如采样、量化、编码等。

- 分析音乐播放器中音频信号的处理流程。

2. 音乐播放器原理与设计:- 讲解音乐播放器的基本工作原理,如播放、暂停、停止等功能实现。

- 引导学生了解不同音频格式及其特点,选择合适的音频格式。

3. 音频信号处理技术:- 介绍音频信号处理的相关算法,如数字滤波器、音量调节等。

- 指导学生运用相关软件工具进行音频信号的处理和分析。

4. 编程实践:- 制定详细的编程实践计划,分解音乐播放器的设计任务。

- 引导学生使用编程语言,如C/C++、Python等,实现音乐播放器的功能。

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

一.课程设计目的1.通过D/A装换器产生模拟信号,使PC机作为简易音乐播放器。

2.了解利用数模转换器产生音乐的基本方法。

二.课程设计任务设计并实现一个键控音乐播放器。

要求:(1)自己选用合适的芯片,不少于两种。

(2)自行设计电路并使用汇编语言编写程序完成键控音乐播放器功能。

(3)该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。

三、总体设计方案1、总体设计方案一所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。

不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。

而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。

2、总体设计方案二可以使用0832(数模转换器)来产生频率,原理图:提出这个方案是因为我想产生模拟信号,来驱动扬声器,这样产生的声音更加圆润感觉更连续,效果更好点。

我们想把一个周期的波形分成32份,然后每份给8253一个值让他转换成模拟信号,不同的频率可以用8253计数器控制,比如要产生261Hz的频率,使用1MHz的话,周期就为1/261=3.83ms,分成32份,每份间隔时间就是3.83ms/32=0.12ms,换句话说就是送计数器0的初值为1M/261/32=120次。

3、各个音符的对应频率表:音符频率/HZ 半周期/us 音符频率/HZ 半周期/us低1DO 262 1908 #4FA# 740 0676#1DO# 277 1805 中5SO 784 0638低2RE 294 1700 #5SO# 831 0602#2RE# 311 1608 中6LA 880 0568低3M 330 1516 #6LA# 932 0536低4FA 349 1433 中7SI 988 0506#4FA# 370 1350 高1DO 1046 0478低5SO 392 1276 #DO# 1109 0451#5SO# 415 1205 高2RE 1175 0426低6LA 440 1136 #2RE# 1245 0402#6LA# 466 1072 高3M 1318 0372低7SI 494 1012 高4FA 1397 0358中1DO 523 0956 #4FA# 1480 0338#1DO# 554 0903 高5SO 1568 0319中2RE 578 0842 #5S0# 1661 0292#2RE# 622 0804 高6LA 1760 0284中3M 659 0759 #6LA# 1865 0268中4FA 698 0716 高7SI 1976 0253四.部分电路设计及功能解说1、频率发生电路使用8253产生音符频率。

8253采用方式3,产生方波信号,根据输入计数初值的不同产生不同频率的方波信号来驱动扬声器。

设某音符频率为fHz,而CLK脉冲是1MHz,则计数初值N=1M/f。

8253的控制端口为28BH,控制字为36H。

2、扬声器开关控制电路使用8255并行接口芯片来控制扬声器的开和关,PC0始终接低电平,PA0和8253的OUT0接在与门上,这样只有PA0=1时扬声器才有可能开通,否则不发声。

关闭的方法是,从PC口读入数据再从PA口输出;而开扬声器时只要在输出PA口数据前对数据进行一个取反操作就可以了。

五.硬件接线图六.软件设计流程图1、总流程图 输出说明是‘1’?开始读取按键是‘2’?是‘3’?是‘0’?结束NNNYY 选择无效播放曲3播放曲2播放曲1Y Y Y 程序总流程图2、音乐播放子程序流程图播音流程图七.程序段功能汇总1、MAIN程序MAIN程序是总程序,输出说明,等待用户按键并读取键值。

根据不同的按键选择调用播音子程序播放不同的歌曲。

2、PLAY子程序PLAY子程序是播音子程序,SI指向音节表中的频率,BP指向音节表中的时间。

从SI的指向的音节表中取一个频率,只要不是-1,即有效就再读取时间,然后计算计数初值送入计数器,产生各种频率。

开启扬声器,根据所取的时间调用若干次延时子程序。

这段时间扬声器就发出该频率的声音,延时结束,就关闭扬声器,调用音节之间的小延时程序。

最后修改SI和BP,指向下一个频率,重复上面的工作。

3、DELAY子程序和DELAY_OFF子程序两个都是子程序,采用空操作循环多次的方法,只是第二个延时时间较短,大概为5ms。

八.程序清单SSEG SEGMENT PARA STACK 'stack'dw 100h dup(0) ;Resize the stack by changing the number '100'SSEG ENDSDSEG SEGMENT;TO DO: Add your program's data hereINFO1 DB 0DH,0AH,'--------------------------',0DH,0AH,'THERE ARE 3 SONGS:',0DH,0AH,0DH,0AH,'$' INFO2 DB '1.HAPPY BIRTHDAY',0DH,0AH,'$'INFO3 DB '2.SHEEP',0DH,0AH,'$'INFO4 DB '3.RIVER',0DH,0AH,'$'INFO5 DB '0.EXIT',0DH,0AH,'$'INFO6 DB 'YOU HAVE CHOSEN :$'INFO7 DB 'THANK YOU FOR YOUR USE',0DH,0AH,'$'INFO8 DB '---------------------------',0DH,0AH,'PRESS THE KEY TO SELECT SONG!',0DH,0AH,'$' INFO9 DB 0DH,0AH,'-------------------',0DH,0AH,'|INVALIDSELECTION|',0DH,0AH,'-------------------',0DH,0AH,'$'FREG1 DW 2 dup(262),294,262,349,262,262,294,262,392,249,262,262,523,440,349 ;曲1的频率DW 330,294,466,266,440,349,392,349,-1TIME1 DW 1,1,2,2,2,4,1,1,2,2,2,4,1,1,2,2,2,2,4,1,1,2,2,2,4 ;曲1的时间FREG2 DW 330,294,262,294,3 DUP(330) ;曲2的频率DW 3 DUP(294),330,392,392DW 330,294,262,294,4 DUP(330)DW 294,294,330,294,262, -1TIME2 DW 6 DUP(1),2 ;曲2的时间DW 2 DUP(1,1,2)DW 12 DUP(1),4FREG3 DW 330,392,330,294,330,392,330,294,330,330,392,330,294,262,294,330,392,294 ;曲3的频率DW 262,262,220,196,220,262,294,332,262, -1TIME3 DW 3 DUP(2),1,1,2,1,1,4 ;曲3的时间DW 2 DUP(2,2,1,1),4DW 3 DUP(2,1,1,1),4DSEG ENDSCSEG SEGMENTassume cs:CSEG, ds:DSEG, es:DSEG, ss:SSEGINIT PROC ;Initialize proceduremov ax, dsegmov ds, axmov es, ax;TO DO: Add your initialize code here (as your requirement)ret ;return to the MAIN procedureINIT ENDPMAIN PROC ;Here is your program entry pointcall INIT ;call the INIT procedure to initialize the program ;**TO DO: Add your main code here**RE: MOV DX,28BH ;关闭扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXMOV DX,288HOUT DX,ALLEA DX,INFO1 ;输出说明信息MOV AH,09HINT 21HLEA DX,INFO2INT 21HLEA DX,INFO3INT 21HLEA DX,INFO4INT 21HLEA DX,INFO5INT 21HLEA DX,INFO8INT 21HMOV AH,01H ;读取按键INT 21HCMP AL,'1' ;根据不同的按键播放不同的曲子JE MUSIC1CMP AL,'2'JE MUSIC2CMP AL,'3'JE MUSIC3CMP AL,'0'JE EXITLEA DX,INFO9 ;无效选择,输出错误提示MOV AH,09HINT 21HJMP REMUSIC1:MOV SI,OFFSET FREG1 ;指向曲1的表MOV BP,OFFSET TIME1CALL PLAYJMP REMUSIC2:MOV SI,OFFSET FREG2 ;指向曲2的表MOV BP,OFFSET TIME2CALL PLAYJMP REMUSIC3:MOV SI,OFFSET FREG3 ;指向曲3的表MOV BP,OFFSET TIME3CALL PLAYJMP REEXIT:MOV DX,28BH ;关闭扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXMOV DX,288HOUT DX,ALLEA DX,INFO7 ;输出欢迎使用信息,增加界面友好度MOV AH,09HINT 21Hmov ax, 4c00h ;The end of the program, return to the systemint 21hMAIN ENDP;TO DO: Add other procedures(PROC) here (as your requirement);THE PROGRAMME OF PLAYING THE MUSICPLAY PROC ;PLAY子程序,功能上面介绍过L1: MOV BX,DS:[SI] ;取频率CMP BX,-1 ;看是否有效JE L0 ;无效就退出MOV CX,DS:[BP] ;读取时间MOV DL,CL ;保存时间ADD DL,30HMOV AH,02HINT 21HMOV DX,0FH ;计算计数初值,1M的十六进制为0F4240H MOV AX,4240HDIV BXMOV BX,AXMOV DX,283H ;设置计数器工作方式MOV AL,36HOUT DX,ALMOV DX,280H ;输入计数初值MOV AX,BXOUT DX,ALMOV AL,AHOUT DX,ALMOV DX,28BH ;开扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXNOT ALMOV DX,288HOUT DX,ALROD:CALL DELAY ;延时LOOP RODMOV DX,28BH ;关扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXMOV DX,288HOUT DX,ALCALL DELAY_OFF ;音节间延时ADD SI,2ADD BP,2JMP L1L0: RETPLAY ENDPDELAY PROC ;延时子程序PUSH AXPUSH BXPUSH CXPUSH DXMOV BX,09FHLL1:MOV CX,0FFFFH ;循环这么多次LOP: LOOP LOPDEC BXJNZ LL1POP DXPOP CXPOP BXPOP AXRETDELAY ENDPDELAY_OFF PROCPUSH AXPUSH BXPUSH CXPUSH DXMOV BX,0FHLL2:MOV CX,0CFFFHLOP2: LOOP LOP2DEC BXJNZ LL2POP DXPOP CXPOP BXPOP AXRETDELAY_OFF ENDPCSEG ENDS;TO DO: Add other segments here (as your requirement) END MAIN九.试验结果和分析1、试验结果:程序初始运行界面如果按错了键,会出现如下界面如果选择正确,将出现如下界面:2、分析这是按照方案一做的结果,按1~3分别播放“生日快乐”等歌,但由于本组人对音乐都是外行,各音阶频率的排序和延时时间搭配不好,导致音乐严重走调,但基本能听出不是噪音。

相关文档
最新文档