ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:331.63KB ,
资源ID:4954312      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4954312.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(以单片机at89s52为核心的乐曲编辑发生器的设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

以单片机at89s52为核心的乐曲编辑发生器的设计.docx

1、以单片机at89s52为核心的乐曲编辑发生器的设计以单片机at89s52为核心的乐曲编辑发生器的设计 时间:2012-06-08 13:30:41 来源: 1引言基于RTX51的乐曲编辑发生器以AT89S52单片机为控制核心,操作者可以通过44矩阵键盘输入约定格式的任意乐曲,按“播放”键后,系统便开始播放所编辑的乐曲,并且音调和节拍都可以由单片机精确控制。为了降低成本,在最小硬件设计的基础上,系统的功能尽可能用软件来实现,系统软件是在面向MCS-51系列单片机的嵌入式实时多任务操作系统RTX51Tiny平台上,用C51高级语言和MCS-51汇编语言混合编程而开发的。2 系统硬件设计为了今后能够

2、在线升级用户应用程序,采用带ISP接口的单片机AT89S52为核心构成乐曲编辑发生器。AT89S52具有快速8051内核、8 KB FlashE2PROM、256 B IDATA RAM,完全符合运行RTX51Tiny的硬件要求。笔者已研制了AT89S51/52的目标程序PC机下载软件,无需编程器即可完成单片机应用系统的开发。为了设计编辑任意乐曲的人机界面,采用44矩阵键盘作为系统的输入设备,采用点阵式液晶显示模块TC1602A作为系统的输出设备。为了存储和读出任意乐曲,采用带I2C串行接口的E2PROM存储器AT24C02。为了放大单片机AT89S52产生的乐曲声音,采用了功率放大器LM38

3、6。系统硬件电路原理图如图1所示。3 乐曲编辑和播放的软件实现3.1 单片机产生音频矩形脉冲的方法利用单片机的内部定时器T1并使其工作在定时器工作方式1(16 bit定时),改变T1的计数初值,就可以在单片机的I/O引脚端产生不同频率的音频矩形脉冲。例如,音频矩形脉冲信号的频率为523 Hz,则其周期T=1/523=1912s,因此,只要让计数器定时1912s2=956s,当定时956s到的时候,将AT89S52的乐曲输出引脚P3.7反相,就可得到中音DO(523 Hz)。单片机定时器计数初值T与单片机内部机器周期信号频率Fi和音频矩形脉冲信号频率Fr的关系如下。为了叙述方便,不妨把定时器计数

4、初值T称为简谱码。3.2 乐曲的音调表示方法单片机播放乐曲的过程,主要是用单片机来识别所编辑的乐曲并播放出来。单片机需要识别乐曲中的音调和音长(音长亦称为节拍),本设计用字母AZ来代表乐曲的各个音调。数字0作为音调的结束标志,如表1所示。3.3 乐曲编辑的软件实现方法在系统软件设计时,已将按键处理作为一个任务即“按键处理任务”,它的主要功能是编辑乐曲。“按键处理任务”的执行需要“键盘扫描任务”向它发送信号来触发执行。“按键处理任务”的C51源程序如下。3.4 乐曲播放的软件实现方法在设计“播放任务”程序时,利用AT89S52内部的定时器T1定时溢出中断来产生音调的频率,并利用RTX51操作系统

5、的os_wait2(K_TMO,ticks)函数来产生音长。“播放任务”的C51源程序如下:3.5 系统软件流程根据对系统功能的分析,把系统软件分解为5个任务,具体如下:任务0:系统初始化任务,包括TC1602A的初始化、定时器T1的初始化、中断初始化。在启动任务1任务4后,自动删除任务0,使得任务0只在系统上电复位时执行一次。任务1:键盘扫描任务。每隔50 ms执行1次,扫描所得的键值存于全局变量keycode,然后向“按键处理任务”发信号。任务2:按键处理任务。等待信号,根据键值keycode完成相应处理,实现的功能包括乐曲的编辑、乐曲的保存和读取等。任务3:播放任务。等待信号,按照音调和音长播放乐曲。任务4:显示刷新任务。根据光标指针变量的值在液晶屏上显示乐曲数据(音调和音长)。系统软件流程图如图2所示。4 结束语本文给出了以单片机AT89S52为核心构成的任意乐曲编辑发生器,具有硬件电路简单、操作界面友好、使用方便的特点。该系统已投入运行,播放出来的乐曲效果良好,音调和节拍都由单片机控制得相当准确。原文网址:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1