【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设计,视频分享,技术交流。

相关推荐
winfield8215 分钟前
Redis 线上问题排查简版手册
redis
sheepwjl1 小时前
《嵌入式硬件(十二):基于IMX6ULL的时钟操作》
汇编·arm开发·单片机·嵌入式硬件·时钟·.s编译
lifallen2 小时前
字节跳动Redis变种Abase:无主多写架构如何解决高可用难题
数据结构·redis·分布式·算法·缓存
纪元A梦2 小时前
Redis最佳实践——安全与稳定性保障之高可用架构详解
redis·安全·架构
智者知已应修善业2 小时前
【51单片机单按键控制2个LED循环闪烁】2022-12-7
c语言·经验分享·笔记·嵌入式硬件·51单片机
物随心转3 小时前
ARM的TrustZone
嵌入式硬件
风_峰3 小时前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
田甲4 小时前
【STM32】串口的阻塞、中断、DMA收发
stm32·单片机·嵌入式硬件
酷~5 小时前
单片机启动文件——数据段重定位,BSS段清零
单片机·嵌入式硬件
wotaifuzao5 小时前
单片机的RAM与ROM概念
单片机·嵌入式硬件