项目记录 / 基于AT89C51实现简易电子琴

该博客详细记录了使用AT89C51单片机实现简易电子琴的过程,包括设计功能、设计思路、原理框图、具体电路、程序框图和运行效果。设计功能包括基本演奏、自动播放歌曲等。电路设计中,复位电路、音阶键盘、扬声器和功能按键均与单片机接口相连。程序通过定时器T0产生不同频率的方波来模拟音符,同时实现了歌曲播放和暂停、切换等功能。然而,项目存在演奏声音效果不佳和音乐播放效果一般的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

1、设计功能

2、设计思路

3、原理框图

4、具体电路

5、程序框图

6、运行效果

7、源代码

8、不足之处


1、设计功能

1.具有一般电子琴演奏功能;

2.可自动播放已存曲目>= 5首;

3.显示当前歌曲的名称;

4.有暂停和切换功能。

2、设计思路

利用单片机的定时/计数器T0来产生这样方波频率信号。

定时器初值计算原理:

1.系统时钟频率12MHz,采用12分频,所以时钟周期为1us;

2.要发出固定频率的声音,需要输出其对应周期的方波信号;

3.所以先计算频率周期,用定时器计时半个周期,让输出翻转一次,再计时半个周期,即可得到方波信号;

4.初始值:X = 65536 – 1*10^6 / (2F)。其中F为频率。

歌曲原理:

根据简谱将歌曲的音符在频率表中的位置列出来,在一些需要停顿的地方通过关闭定时器并延时来表示,可以简略地播放歌曲。

音符频率:

3、原理框图

4、具体电路

4.1复位电路

复位电路连接到AT89C51的RST和EA端口,实现上电自动复位。

4.2音阶键盘

采用矩阵式键盘,与P1口相连,总共16个按键,其中-1 ~ -7表示低音,1 ~ 7表示中音,+1 ~ +2表示高音。

4.3扬声器

扬声器连接到P2.0,通过P2.0口的电平变化使扬声器发声。

4.4其他按键

四个功能按键分别连接到P2.1 ~ P2.4,其中P2.1是模式选择键,按下时是播放歌曲模式,抬起时是演奏模式;P2.2和P2.4分别为切换上一首歌和下一首歌,按一次切换一次;P2.3是暂停和启动键,按下时是播放,抬起时是暂停。

4.5系统总体电路

5、程序框图

5.1主程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值