2024-09-01
售卖作品
00

1、用单片机实现音乐节拍发生器;

2、用按键设置节拍(2/4;3/4;4/4);

3、用LED或LCD显示被选节奏的名称,速度;

4、用按键调节节拍速度;

5、用蜂鸣器发出强弱不同的拍(强,弱,弱为3/4拍)

2/4一个节2个拍 一个拍1s 滴答 强,弱

3/4一个节3个拍 一个拍1s 滴答答 强,弱,弱

4/4一个节4个拍 一个拍1s 滴答滴答 强,弱,次强,弱

在这里插入图片描述

全部资料:

在这里插入图片描述

全部资料自取:

bash
http://dt2.8tupian.net/2/28880a73b24000.pg3

程序大概介绍:

这是一个使用8051系列单片机(具体型号是STC89C52)的音乐节拍发生器程序。以下是对该程序的简要解释:

  1. 引用头文件和宏定义

    • 使用了reg52.hintrins.h头文件,这些是与8051单片机相关的头文件。

    • 定义了不同节奏和音调的频率和时间。

  2. 宏定义和变量声明

    • 定义了几个宏用于简化代码。

    • 定义了四个按键(key_01, key_02, key_03, key_04)用于设置节奏和节拍速度。

    • 定义了一个蜂鸣器(BEEP)来产生音乐。

  3. 延时函数

    • delay_msdelay_ms_key函数用于延时。
  4. 按键扫描函数

    • KeySscan函数用于检测按键是否被按下,并返回相应的键值。
  5. 主函数

    • 初始化LCD,并显示默认节拍和每拍的时间。

    • 使用一个无限循环来等待用户按键输入,根据按键设置节拍类型和节拍速度。

  6. 定时器中断函数

    • 使用定时器0和定时器1来控制音乐的节拍和音调。

    • T0_time函数处理节拍的计时和音调的改变。

    • T1_time函数用于产生实际的音调输出到蜂鸣器。

  7. 逻辑流程

    • 用户可以通过按键来选择节拍类型(2/4、3/4、4/4)。

    • 用户可以调整每拍的时间,从而改变节拍的速度。

    • 当开始状态被设置为1时,节拍发生器开始工作并产生相应的节拍和音调。

整体上,这是一个使用8051单片机实现的简单音乐节拍发生器,它允许用户选择不同的节拍类型和速度,并通过蜂鸣器播放相应的音乐节拍。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!