




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于PC机的电子琴设计一、实验目的掌握利用pc机扬声器发出声音的方法。学习利用系统功能调用从键盘上读取字符的方法。二、实验内容与要求利用PC机和扬声器实现简易电子琴的功能。基本要求(1)电子琴功能,编写程序,程序运行时使pc机成为一架可弹奏的“钢琴”。当按下PC机键盘数字键1-8时,依次发出1,2,3,4,5,6,7,i八个音调。(2)音乐盒功能,内部存储至少2首以上的乐曲,根据菜单选择播放。提高要求(1)使一组放光二极管随音调变化而改变,实现音乐彩灯(2)能够实现高、中、低音的选择。(3)能够存储弹奏的内容,进行回放。三、实验报告要求设计目的和内容总体设计硬件设计:原理图(接线图)及简要说明软件设计框图及程序清单设计结果和体会(包括遇到的问题及解决的方法)四、设计原理要使扬声器发出不同的音调,就得输入不同频率的波形。通过给8253定时/计数器装入不同的计数值,可以使其输出不同频率的方波。经过放大器的放大作用,便可驱动扬声器发出不同的音调,只要插入一段延时程序之后,再将扬声器切断,音调的声音就可以持续一端时间。通过计算机的不同按键输出不同的音调,需要使用系统调用功能以接收键入字符,并且要建立一张表,使键入字符与频率构成一个对应关系。按键12345678音符1234567I频率值5245886606987848809881048乐曲是由不同的频率和节拍的音调组成的,因此控制驱动脉冲的频率和持续时间就是编写乐曲程序的关键。频率对应8253的计数初值,而乐曲中的节拍决定了各音频持续的时间。五、总体设计1用PC机的键盘数字键对应电子琴的8个琴键。28255和8253配合构成音频发生器。8255的PA0口控制扬声器的开关,8253控制扬声器的发声频率。3音频信号经LM386放大后,驱动扬声器。4系统运行时,首先显示主菜单,选择子菜单后进行相应的操作。六、硬件设计利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。8255的A口设置为输出,8255的A口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PA0的通断时间,就能发出不同的音长。8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时器,分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器工作在方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。当8255的PA0和PA1都为1时,8253发出指定频率的声音信号的前提下,声音信号通过与门到达驱动器驱动扬声器发声。硬件原理图如图1所示:8253计数器与门扬声器驱动扬声器8255 PA08255 PA1门控控制喇叭Q0图1 硬件原理图扬声器驱动电路如图2所示。图2 扬声器驱动电路七、软件设计系统要求实现2个功能,电子琴和音乐盒的功能。两者发声的方法一样,只是一个数据是从键盘读取的,另一个是已经保存好的数据。首先我们可以用一个子程序实现单个音调的产生,对8253输入不同的计数初值生成不同频率的波形,然后延时一段时间。电子琴程序主要是读取键盘按键,根据键值产生不同的音调即可。而乐曲的播放先将乐曲的音符编码表和节拍编码表建立好的,然后在播放时读取数据。1. 单音调子程序SOUND单音调子程序的调用前需要进行以下几个方面工作:1)确定相应的音调所对应的频率,查表可以得到,再由频率得到对应的8253计数初值。2)确定音长,即一个音符所持续的时间。在单音调子程序中实现发出一个音符的声音,持续所需的时间,流程图如图3所示:读取8253计数初值和音长8253置初值开启与门和8253GATE延时关闭与门和8253GATE返回图3 单音调子程序流程图2电子琴程序由于是用键盘的数字键1-8,要先读取键盘的输入,判断输入是否在1-8之间,不在就退到主菜单,若是就根据键值查表找出相应的频率,计算初值,调用发音子程序即可,此时的音长固定。初值的计算方法是用输入的clk频率除以音符的频率。程序流程图如图4所示。YNYN显示提示信息等待键盘按键放入ALAL30AL查表FREQ得频率计算初值,置音长返回主菜单调用SOUNDAL 小于1AL大于8图4 电子琴程序流程图3音乐盒程序音乐盒的乐曲播放程序中需要有两组数据支持:一组是频率数据,一组是节拍时间数据。音符的频率可以通过简谱从频率表中查得。节拍时间就是音符的持续时间,取决于乐曲的速度和每个音符的节拍数据。如4/4(四四拍)中,每小节包括4拍,全音符持续4拍,二分音符持续2拍,四分音符持续一拍,八分音符持续半拍等。有了音调与频率和时间的关系后,就可以按照乐曲的曲谱将每个音符的频率和持续的时间定义成两组数据表,然后编程依次取出表中的频率值和节拍值,调用单音调子程序就可依次产生各个音调,播放出乐曲。在程序中存储几个乐曲数据,根据音乐盒子菜单选择相应的乐曲演奏,读取对应的数据输出。乐曲两只老虎的简谱如下:两只老虎1=C4/41 2 3 1 | 1 2 3 1 | 3 4 5 - |3 4 5 - | 3 1 | 3 1 |2 5 1 - | 2 5 1 - |对应的频率数据表Freq、节拍数据表Time如下:TWOTIGERS_FRE DW 2 DUP(524,588,660,524,0);乐曲的频率表 DW 2 DUP(660,698,784,0) DW 2 DUP(784,880,784,698,660,524,0) DW 2 DUP(588,392,524,0),1TWOTIGERS_TIME DW 10 D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60730-2-6:2025 FR Automatic electrical controls - Part 2-6: Particular requirements for automatic electrical pressure sensing controls including mechanical requirements
- JJF(石化)061-2023碱性氮测定仪校准规范
- (2025春新版本)北师大七年级下册生物全册教案
- 2025部编人教版小学一年级语文上册全册教案
- 重庆火锅基础知识培训课件
- 重庆新高考方案课件
- 新解读《GB-T 18185-2014水文仪器可靠性技术要求》
- 暑假复习:静电场及其应用 -2025人教版新高二物理暑假专项提升
- 重庆天然气安全知识培训课件
- 世界气候与中国气候-2023年中考地理非选择题突破(原卷版)
- 幼儿园物资采购应急预案(3篇)
- 卫生院医疗质量管理方案
- 2025年山东省济南中考数学试卷及标准答案
- 2025-2026学年冀教版(2024)小学数学三年级上册教学计划及进度表
- 医学检验职称评审答辩
- 医药药品采购平台建设方案
- 人力资源招聘流程规范及操作手册
- 颌面外科清创缝合
- 结核患者管理方案模板(3篇)
- 人教版数学二年级上册第一单元 分类与整 理 综合素养测评A卷(含答案)
- 2025年北京市公务员考试行测真题及答案详解参考
评论
0/150
提交评论