云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于C51单片机电子琴的设计与实现

基于C51单片机电子琴的设计与实现

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 2:49:46

断是1到7按键还是8按键,若是1到7按键被按下则启动定时器T1,按照音阶所对应的周期初始值数组表中的初值,输出方波信号;当判断是第八个按键被按下时,直接调用挥着翅膀的女孩歌曲的音调和节拍数组,启用中断循环输出。

各个音阶的频率以及对应半周期如下图所示:

通过Time0的溢出中断实现单频产生。Time0的溢出中断发生后输出引脚的电压反向,然后定时器重新装入初值。所以编程时要确定Time0的工作模式和计数初值。这里采用工作模式1,定时器的初值设定通过软件重复实现。而且定时器的初值则依据各音频频率设置。例如:中音Do音频是523Hz,其周期T=l/523=1 912μs,其半周期为1912/2=956μs。本设计的计时时钟周期是lμs,因此设置Time0的计数器每计956次则中断一次,从而实现Do的音频,然后通过中断触发实现引脚电压的循环取反得到相应音频输出。

4.硬件电路与程序设计

4.1电路图:

我们按键部分用AT89C51的P0口,而该芯片的P0需接上拉电阻,一共需要八个,因此我们用9引脚的排阻代替,排阻多出来的一个引脚接VCC。

4.2程序框图

经过以上分析论证,最终我们得到如下框图。 按键模 硬件复 系统时 AT89C51 放大电声音模块 5.软件程序

#include #include

#define uchar unsigned char #define uint unsigned int sbit buz=P3^1; uchar keycode; uchar i,j; uint

toneh[8]={ 0xfc43,0xfcab,0xfd09,0xfd33,0xfd81,0xfdc7,0xfe05,0xfe21};

uchar keymode[8]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code Music_hzcb[]={ 0x17,0x02, 0x15,0x03,0x16,0x03, 0x18,0x03,0x19,0x02, 0x18,0x03,0x17,0x03, 0x18,0x02,0x10,0x03, 0x16,0x03,0x17,0x02, 0x1A,0x03,0x1B,0x03, 0x18,0x03,0x19,0x02, 0x17,0x03,0x18,0x03,

0x17,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x02, 0x15,0x03, 0x17,0x03, 0x1F,0x03, 0x16,0x03, 0x1F,0x03,

0x18,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03, 0x16,0x02, 0x18,0x03, 0x1F,0x03, 0x17,0x03, 0x1F,0x02,

0x19,0x02, 0x17,0x03, 0x18,0x02, 0x17,0x03, 0x15,0x03, 0x19,0x02, 0x17,0x03, 0x18,0x03, 0x16,0x03,

0x17,0x03,0x18,0x03, 0x20,0x02,0x1F,0x03,

0x17,0x03, 0x1B,0x03,

0x18,0x03, 0x1F,0x66,

0x20,0x03, 0x20,0x03,

0x21,0x03,0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,0x1B,0x03, 0x1A,0x66,0x1A,0x03, 0x1B,0x03,0x1F,0x00, 0x1B,0x03,0x1B,0x03, 0x17,0x03,0x15,0x17,

0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1A,0x03, 0x15,0x03,

0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x16,0x03,

0x15,0x03, 0x1F,0x03, 0x1A,0x03, 0x19,0x02, 0x17,0x03,

0x18,0x03,0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E, 0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03,0x20,0x03, 0x20,0x02, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,0x1F,0x66, 0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03,0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03, 0x19,0x03,0x15,0x03, 0x17,0x04,0x18,0x04, 0x1B,0x03,0x1F,0x66, 0x1F,0x03,0x1B,0x03, 0x19,0x03,0x19,0x03,

0x15,0x03, 0x18,0x03, 0x20,0x03, 0x1F,0x66, 0x15,0x03,

0x17,0x03, 0x19,0x03, 0x21,0x03, 0x1F,0x03, 0x1A,0x66,

0x16,0x66, 0x1F,0x03, 0x20,0x03, 0x1B,0x03, 0x1A,0x03,

搜索更多关于: 基于C51单片机电子琴的设计与实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

断是1到7按键还是8按键,若是1到7按键被按下则启动定时器T1,按照音阶所对应的周期初始值数组表中的初值,输出方波信号;当判断是第八个按键被按下时,直接调用挥着翅膀的女孩歌曲的音调和节拍数组,启用中断循环输出。 各个音阶的频率以及对应半周期如下图所示: 通过Time0的溢出中断实现单频产生。Time0的溢出中断发生后输出引脚的电压反向,然后定时器重新装入初值。所以编程时要确定Time0的工作模式和计数初值。这里采用工作模式1,定时器的初值设定通过软件重复实现。而且定时器的初值则依据各音频频率设置。例如:中音Do音频是523Hz,其周期T=l/523=1 912μs,其半周期为1912/2=956μs。本设计的计时时钟周期是lμs,因此设置Time0的计数器每计956次则中断一次,从而实现Do的音频,然后通过中断触发实现引脚电压的循环取反得

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com