51单片机电子琴

简介: 51单片机电子琴

这是我在论坛第一篇文章,大一时用Arduino写过电子琴,大二了用51再写一次。

电路图:

微信图片_20221012120255.png

注意事项:需要修改一下蜂鸣器的电压值其他的参数应该不需要改,实测可用。上面的电路多了一个元件是扬声器,本来想用扬声器的没有想到合适的方法。

微信图片_20221012120258.png

程序:


#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
void T1_init();
uchar scan();
void delay(uint jishi);     
uint  DATA[]={63625 ,63833 ,64019, 64104 ,64260, 64400, 64524}; //低音区乐谱表(1~7)
sbit spp=P2^0;
sbit yue_1=P2^1;
sbit yue_2=P2^2;
sbit yue_3=P2^3;
sbit yue_4=P2^4;
sbit yue_5=P2^5;
sbit yue_6=P2^6;
sbit yue_7=P2^7;
uchar j;
uint da,k,fig=150;
void main()
 {  
  T1_init();
    while(1)
   { 
    spp=0;
    //delay();
    j=scan();  
    da=DATA[j];
   } 
 }
 uchar scan()
 { uchar i;
 //##################//
  if( yue_1==0)
 { 
  if( yue_1==0)
  {
   i=0;
   k=0;
  }
 }
 //#################//
  if( yue_2==0)
 { 
  if( yue_2==0)
  {
   i=1;
   k=0;
  }
 }
 //#################//
 if( yue_3==0)
 { 
  if( yue_3==0)
  {
   i=2;
   k=0;
  }
 }
 //#################//
  if( yue_4==0)
 { 
  if( yue_4==0)
  {
   i=3;
  k=0;
  }
 }
 //#################//
 if( yue_5==0)
 { 
  if( yue_5==0)
  {
   i=4;
  k=0;
  }
 }
 //#################//
 if( yue_6==0)
 { 
  if( yue_6==0)
  {
   i=5;
   k=0;
  }
 }
 //#################//
 if( yue_7==0)
 { 
  if( yue_7==0)
  {
   i=6;
   k=0;
  }
 }
 //#################//
 return i;
 }
void T1_init()
{   //spp=0;
    TMOD=0x10;
    EA=1;
    TH1=(65536)/256;
    TL1=(65536)%256;
    ET1=1;
    TR1=1; 
}
void T1_time()interrupt 3       
{ 
  TR1=0;
  k++;
  TH1=(da)/256;
  TL1=(da)%256;
  if(k<fig){ spp=1;
      }
  else{spp=0;}
  TR1=1;
} 
void delay(uint jishi)
{
  uint i,j;
  for(i=jishi;i>0;i--)
    for(j=110;j>0;j--);
}
相关文章
|
19天前
|
数据处理
单片机的码制
单片机的码制
17 0
|
19天前
|
编译器 程序员 C语言
单片机的数制
单片机的数制
26 0
|
19天前
4-3 51单片机蜂鸣器
4-3 51单片机蜂鸣器
19 2
|
19天前
|
IDE 编译器 程序员
单片机 (2)
单片机 (2)
27 0
|
8月前
|
存储 数据采集 编译器
STC8系列单片机介绍
STC8系列单片机是中国STC公司生产的一款8位单片机系列产品。作为STC公司的主打产品之一,STC8系列单片机以其高性价比、丰富的外设资源和强大的功能而备受青睐。本文将详细介绍STC8系列单片机的特点、应用领域、开发工具和资源支持等方面。 一、STC8系列单片机的特点 1. 强大的8051内核:STC8系列单片机采用了高性能的8051内核,具有快速的指令执行速度和高效的运算能力。8051内核被广泛应用于嵌入式系统中,具有稳定可靠的特点。 2. 大容量闪存存储器:STC8系列单片机内置大容量的闪存存储器,可存储程序代码和数据。闪存容量从4KB到128KB不等,可以满足不同应用需求。闪存存储
760 0
|
19天前
|
传感器 物联网 C语言
单片机
单片机
22 0
|
19天前
|
传感器 5G 人机交互
|
19天前
|
存储 传感器 芯片
【51单片机】开发板和单片机的介绍(2)
【51单片机】开发板和单片机的介绍(2)
|
19天前
1-1 单片机介绍
1-1 单片机介绍
11 0