【单片机 TB作品】节拍器,电子音乐节拍器,51单片机,Proteus仿真

节拍器的使用可以使练琴者正确掌握乐曲的速度,从而使音

乐练习达到事半功倍的效果。本课题基于单片机设计具有声光晋

示的电子乐器节拍器,充分利用单片机的定时和中断系统,通过

C语言程序设计,控制外部相关硬件电路,实现对音乐速,度

40~120次/分钟范围内连续可调,节拍114、

2/4、3/4、4/4、3/8、6/8可选,并有声音和灯光提示功能。

课题简介

功能:电子音乐节拍器

数码管显示的是每一分钟多少拍,每一拍蜂鸣器响一声。

1 USB供电孔,可电脑、充电宝、手机充电器供电,

电源按钮,电源指示灯,电源指示灯限流电阻

2 共阳数码管,电阻,三极管

3 蜂鸣器,三极管

4 复位按键,电容,电阻

5 11059200晶振,30pf电容

6 增加按键,按一下增加100

7 减少按键,按一下减少100

8 微调加,按一下增加1

9 微调减,按一下减少1

全部资料:

资料下载自取(程序、仿真图、实物的原理图):

bash 复制代码
http://dt4.8tupian.net/2/28880a72b24000.pg3	

程序介绍:

这是一个基于8051单片机的程序,用于控制一个节拍器模拟器。以下是程序的简要说明:

  1. 宏定义:程序首先定义了多个宏,这些宏用于表示不同音符和频率。

  2. 变量定义:定义了多个变量,包括音调、节拍、LED显示等。

  3. 数码管显示 :使用了一个函数dispaa()来更新数码管的显示内容。

  4. 延时函数 :使用了delay_ms()delay_ms_key()函数进行延时。

  5. 按键检测KeySscan()函数用于检测按键的状态并返回相应的按键值。

  6. 主函数逻辑

    • 初始化定时器。
    • 通过按键来改变节拍器的设置,例如增加/减少节拍、启动/停止节拍器等。
    • 使用定时器中断来控制节拍和音调的输出。
  7. 定时器中断

    • T0_time()函数用于控制节拍的时间间隔和音调的输出。
    • T1_time()函数用于控制音调的频率。
  8. 蜂鸣器和LED:使用8051的P3.6和P3.7引脚来控制蜂鸣器和LED的状态。

  9. 数码管显示:通过循环,程序不断更新数码管的显示内容,显示当前的设置。

整体上,这个程序的目标是创建一个节拍器模拟器。用户可以通过按键来调整节拍的速度和音调,同时LED会根据当前的设置闪烁,数码管则显示当前的节拍速度和音调设置。

相关推荐
小智学长 | 嵌入式1 小时前
SOC-ESP32S3部分:26-物联网MQTT连云
单片机·物联网·esp32
lixzest3 小时前
Keil调试模式下,排查程序崩溃简述
stm32·单片机
极术社区3 小时前
【Mini-F5265-OB开发板试用测评】显示RTC日历时钟
单片机·嵌入式硬件·实时音视频
小智学长 | 嵌入式4 小时前
SOC-ESP32S3部分:31-ESP-LCD控制器库
单片机·物联网·esp32
广药门徒10 小时前
最小硬件系统概念及其组成
单片机·嵌入式硬件
啵啵学习13 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
可乐鸡翅好好吃15 小时前
通过BUG(prvIdleTask、pxTasksWaitingTerminatio不断跳转问题)了解空闲函数(prvIdleTask)和TCB
c语言·stm32·单片机·嵌入式硬件·bug·keil
才鲸嵌入式16 小时前
01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
linux·c语言·单片机·嵌入式·arm·qemu·虚拟机
广药门徒18 小时前
我认为STM32输入只分为模拟输入 与 数字输入
stm32·单片机·嵌入式硬件
天月风沙21 小时前
PX4 | 无人机关闭磁力计罗盘飞行(yaw estimate error报错解决方法)
单片机·嵌入式硬件·mcu·无人机