普中科技51单片机开发板简易电子琴代码
时间: 2023-08-03 19:09:44 浏览: 150
以下是一个简单的普中科技51单片机开发板的电子琴代码,你可以根据自己的需要进行修改和扩展:
```
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//数码管编码表
uchar music[]={0x02,0x04,0x08,0x10,0x20,0x40,0x80};//按键对应的音符
void delay(uint i) //延时函数
{
uint j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void main()
{
uchar i,key;
while(1)
{
key=P2&0x0f; //读取按键状态
if(key!=0x0f) //如果有按键按下
{
P1=music[key]; //发声
for(i=0;i<8;i++) //数码管循环显示音符
{
P0=table[i];
delay(100); //延时一段时间
}
}
else
{
P1=0x00; //停止发声
P0=0xff; //关闭数码管
}
}
}
```
此代码实现了一个简单的电子琴功能,可以通过按下四个按键来发出不同的音符,并在数码管上显示当前的音符。你可以在此基础上进行修改和扩展,添加更多的功能和效果。
阅读全文