#include <reg52.h> // 51单片机头文件
#define uint unsigned int
sbit BUZZER = P2^0; // 将P2.0定义为BUZZER
sbit KEY0 = P1^0;
sbit KEY1 = P1^1;
sbit KEY2 = P1^2;
sbit KEY3 = P1^3;
sbit KEY4 = P1^4;
sbit KEY5 = P1^5;
sbit KEY6 = P1^6;
sbit KEY7 = P1^7;
uint FREQSELECT;
// 音阶频率数组
unsigned int FREQ[] = {
63628, 63835, 64021, 64103, 64260, 64400, 64524,
64580, 64684, 64777, 64820, 64898, 64968, 65030,
65058, 65110, 65157, 65178, 65217, 65252, 65283
};
void Delay1ms(uint xms);
void main()
{
uint num = 0;
TMOD |= 0x01;
IE = 0X82;
TR0 = 0;
while(1)
{
if(KEY7 == 0)
{
num = num+7;
if(num >20)
{
num = 0;
}
}
if(KEY0 == 0)
{
FREQSELECT = num;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY1 == 0)
{
FREQSELECT = num + 1;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY2 == 0)
{
FREQSELECT = num + 2;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY3 == 0)
{
FREQSELECT = num + 3;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY4 == 0)
{
FREQSELECT = num + 4;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY5 == 0)
{
FREQSELECT = num + 5;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
if(KEY6 == 0)
{
FREQSELECT = num + 6;
TR0=1;
Delay1ms(500);
TR0=0;
Delay1ms(5);
}
}
}
void timer0_isr() interrupt 1
{
TH0 = FREQ[FREQSELECT]/256;
TL0 = FREQ[FREQSELECT]%256;
BUZZER = ~BUZZER;
}
void Delay1ms(uint xms) //@12.000MHz
{
while(xms)
{
unsigned char i, j;
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
51单片机实现简易电子琴,发出7个音,音调可调
共15个文件
json:2个
uvproj:1个
uvopt:1个
需积分: 0 7 下载量 160 浏览量
2023-05-06
16:33:48
上传
评论 3
收藏 100KB ZIP 举报
温馨提示
51单片机控制电子琴发出1、2、3、4、5、6、7 七个音节即do、re、mi、fa、so、la、si ,用p1.0到P1.6按键依次按键按下发声,然后用P2.0接PNP型号的三极管的基极,三极管发射极接喇叭负极,集电极极接地。喇叭正极接电源,让喇叭发出1、2、3、4、5、6、7七个音节,不按键时候喇叭不响,P1.7按键来控制七个音节的低音、中音和高音。文件中含有keil工程、protues,原理图文件和PCB文件。
资源推荐
资源详情
资源评论
收起资源包目录
打包.zip (15个子文件)
打包
电子琴音乐盒.pdsprj 18KB
lcx
Objects
lcx 5KB
lcx.obj 5KB
lcx.build_log.htm 997B
lcx.lnp 86B
lcx.hex 1KB
lcx.c 2KB
Listings
lcx.lst 5KB
lcx.m51 8KB
lcx.uvproj 14KB
lcx.uvgui.kdy 90KB
lcx.uvopt 5KB
电子琴音乐盒.pdsprj.DESKTOP-CS6OCRR.kdy.workspace 2KB
SCH_蓝电子琴_2023-05-06.json 54KB
PCB_PCB_蓝电子琴_2023-05-06.json 241KB
共 15 条
- 1
资源评论
.伪装
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功