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

相关推荐
MingYue_SSS42 分钟前
开关电源抄板学习
经验分享·笔记·嵌入式硬件·学习
玉树临风江流儿1 小时前
炸鸡派-定时器基础例程
单片机·嵌入式硬件
小宋同学在不断学习2 小时前
stm32-掌握SPI原理(一)
stm32·单片机·spi
is08152 小时前
STM32的 syscalls.c 和 sysmem.c
c语言·stm32·嵌入式硬件
学不动CV了2 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
东窗西篱梦3 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
szxinmai主板定制专家4 小时前
【精密测量】基于ARM+FPGA的多路光栅信号采集方案
服务器·arm开发·人工智能·嵌入式硬件·fpga开发
半新半旧5 小时前
Redis集群和 zookeeper 实现分布式锁的优势和劣势
redis·分布式·zookeeper
@ chen7 小时前
Redis事务机制
数据库·redis
工业互联网专业7 小时前
汇编与接口技术:8259中断实验
汇编·单片机·嵌入式硬件·8259中断实验