【Proteus仿真】【Arduino单片机】简易电子琴

文章目录


一、功能简介

本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。

主要功能:

系统运行后,按下K1-K7键发出不同音调。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQ:3443792007)

*/



#include "public.h"
#include "beep.h"
#include "pitches.h"
#include "key.h"


//初始化,执行一次
void setup() 
{
    beep_init();
    key_init();
}

//无限循环
void loop() 
{
    char key=0;

    while(1)
    {
        key=key_scan(0);
        switch(key)
        {
            case KEY1_PRESS:
                tone(BEEP,NOTE_C5,50);//Do
                break;
            case KEY2_PRESS:
                tone(BEEP,NOTE_D5,50);//Re
                break;
            case KEY3_PRESS:
                tone(BEEP,NOTE_E5,50);//Mi
                break;
            case KEY4_PRESS:
                tone(BEEP,NOTE_F5,50);//Fa
                break;
            case KEY5_PRESS:
                tone(BEEP,NOTE_G5,50);//So
                break;
            case KEY6_PRESS:
                tone(BEEP,NOTE_A5,50);//La
                break;
            case KEY7_PRESS:
                tone(BEEP,NOTE_B5,50);//Si
                break;
        }
    }
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619

联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
恶魔泡泡糖4 分钟前
51单片机独立按键
单片机·嵌入式硬件·51单片机
Codeking__40 分钟前
Redis的value类型介绍——list
数据库·redis·缓存
難釋懷1 小时前
Redis简单介绍
数据库·redis·缓存
ChineHe1 小时前
Redis数据类型篇003_详解Lists列表类型及其命令
数据库·redis·缓存
炸膛坦客2 小时前
Cortex-M3-STM32F1 开发:(五十)软件模拟 IIC 和硬件 IIC 的区别,以及软件 IIC 配置步骤及相关函数,以及相关问题
stm32·单片机·嵌入式硬件
清风6666662 小时前
基于单片机的电流电压可调数控电源
单片机·毕业设计·课程设计·期末大作业
自燃人~2 小时前
实战都通用的 Watchdog 原理说明
redis·面试
雪域迷影2 小时前
Python中连接Redis数据库并存储数据
redis·python
泡泡糖的中文规格书2 小时前
【无标题】
单片机·嵌入式硬件·规格说明书·datasheet
Codeking__2 小时前
Redis的value类型及编码方式介绍——string
数据库·redis·缓存