【51单片机】【protues仿真】基于51单片机矩阵电子琴系统

目录

一、主要功能

二、使用步骤

三、硬件资源

四、软件设计

五、实验现象

一、主要功能

1、数码管显示

2、矩阵按键​和独立按键

3、蜂鸣器模块进行播放

4、内置16首歌曲

5、LED灯显示当前模式

二、使用步骤

本项目采用51单片机、矩阵键盘(4×4或更大)、蜂鸣器/扬声器输出模块,部分设计扩展了数码管用于音阶和模式显示。矩阵键盘作为琴键输入,通过行列扫描检测按键触发,蜂鸣器通过定时器中断生成不同频率的音频信号。

三、硬件资源

1、51单片机核心模块

2、矩阵按键模块

3、独立按键模块

4、蜂鸣器模块

5、LED灯模块

6、数码管显示模块

四、软件设计

#include <reg51.h>

#include <absacc.h>

#include <stdio.h>

#include <math.h> //头文件

#define uchar unsigned char

#define uint unsigned int //宏定义

uchar STH0;

uchar STL0;

bit FY=0;

uchar Song_Index=0,Tone_Index=0;

uchar k, key;

sbit SPK=P3^7 ;

sbit LED1=P3^5;

sbit LED2=P3^4;

uchar code DSY_CODE\[\]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xa3,0x8c,0xc8};

unsigned char code num1\[\]= " Music: ";

uchar code Song\[\]100=

{

{12,10,9,9,10,8,9,10,

12,10,9,9,5,10,11,10,

10,10,14,10,9,8,7,8,

9,10,13,6,8,10,9,6,

8,7,5,6,12,10,9,9,

9,10,8,9,10,12,10,9,

9,9,5,10,11,10,10,10,

14,10,9,8,7,8,9,10,

13,6,8,10,9,6,8,7,

5,6,-1},

{13,12,10,12,15,13,

12,13,10,12,13,12,10,8,6,12,

10,9,9,10,12,12,13,10,9,

8,12,10,9,8,6,8,5,-1},

{10,10,11,10,9,8,9,12,9,9,

8,8,9,8,7,6,7,10,7,7,

6,9,10,9,8,6,5,9,10,9,

8,6,6,9,10,9,8,6,7,8,-1},

{5,3,5,8,6,8,

5,5,1,2,3,2,1,2,5,

3,5,8,7,6,8,5,5,2,

3,4,0,1,6,8,8,7,6,

7,8,6,7,8,6,6,5,3,

1,2,5,3,5,8,7,6,8,

5,5,2,3,4,0,1,-1},

{5,6,8,6,6,5,6,5,3,5,

5,6,8,6,6,5,6,5,6,1,

1,2,3,2,2,2,1,2,1,6,

3,2,5,6,8,6,6,5,6,5,

6,1,1,2,3,4,4,5,6,6,

5,6,8,6,8,6,5,5,1,6,

5,5,6,8,3,2,3,1,-1},

{5,9,10,9,10,12,13,12,8,9,

10,13,12,10,12,12,13,15,13,12,

10,12,10,8,9,10,8,6,10,9,

12,9,10,9,10,12,13,12,8,9,

10,13,12,12,13,15,13,

12,10,12,10,8,6,10,9,8,6,

8,9,9,8,-1},

{5,8,9,10,9,10,11,12,12,12,

11,10,9,5,8,9,10,11,12,12,

12,13,12,9,10,8,8,6,9,9,

10,10,8,12,8,12,8,7,8,8,6,

9,9,10,10,12,12,

12,13,12,9,10,8,

5,8,9,10,9,10,11,12,12,12,

11,10,9,5,8,9,10,9,10,11,

12,12,12,9,10,8,8,6,9,9,

10,10,8,12,8,12,12,7,8,-1},

{8,9,10,8,8,9,10,8,10,11,12,10,11,12,

12,13,12,11,10,8,12,13,12,11,10,8,8,5,8,8,5,8,-1},

void delay1 (uint ms)

{

uchar t;

while (ms--)

for(t=0;t<120;t++);

}

void delay(void)

{

uchar i;

for (i=300;i>0;i--);

}

void main(void)

{

SPK=0;

LED1=1;

LED2=0;

P0=0xc0;

IE=0x87;

TMOD=0x01;

IT0=1;

IT1=1;

while(1)

{

anjian();

}

五、实验现象

演示视频:

相关推荐
离凌寒1 小时前
一、基于stm32+freertos下LD2410D和R60ADB1两款雷达的使用效果
stm32·单片机·嵌入式硬件
国科安芯1 小时前
商业光学遥感载荷焦平面供电链的低噪声稳压器研究综述——以国科安芯ASP7A84AS型3A低压差线性稳压器为器件级参照
大数据·网络·嵌入式硬件·平面·卫星·商业航天·抗辐射
NamoAmitabha1283 小时前
嵌入式开发中的定时器---deepseek
单片机·嵌入式硬件
福建佰胜张工4 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化
secondyoung4 小时前
Cortex-R52与TriCore详细对比
arm开发·单片机·嵌入式硬件·mcu
送外卖的工程师4 小时前
STM32仓库环境监测系统
stm32·单片机·嵌入式硬件
2501_922639584 小时前
率能半导体 SS6840单通道H桥驱动芯片:42V/7A,覆盖打印机、办公自动化、机器人、工业缝纫机四大应用场景
stm32·单片机·嵌入式硬件·硬件工程
天空'之城4 小时前
002基于 STM32 的智能灯光窗帘控制系统
stm32·单片机·毕业设计·智能家居·pwm
电子科技圈5 小时前
芯科科技2026年Tech Talks技术系列讲座再增添全新主题共探无线SoC架构演进与安全合规
科技·嵌入式硬件·mcu·物联网·安全·架构·iot
NYFEA5 小时前
跨协议桥接与高精度传感:我们的接口芯片如何连接物理世界?
嵌入式硬件