#include <reg52.h>
#include <stdio.h>
#include <string.h>
#define unchar unsigned char;
unsigned int code display[]={
64580, 64688, 64780, 64822, 64900, 64970, 65031, /*存放不同音调的中低高音的周期值
以备送入THO,TL0*/
65058, 65112, 65158, 65179, 65218, 65253, 65284,
63621, 63836, 64021, 64108, 64264, 64403, 64526,
64688, 64780, 64822, 64900, 64970, 65031, 65087,
65112, 65158, 65179, 65218, 65253, 65284, 65312,
63836, 64021, 64108, 64264, 64403, 64526, 64637,
64780, 64822, 64900, 64970, 65031, 65087, 65136,
65158, 65179, 65218, 65253, 65284, 65312, 65336,
64021, 64108, 64264 , 64403, 64526, 64637, 64735,
64822, 64900, 64970 , 65031, 65087, 65136, 65158,
65179, 65218, 65253, 65284, 65312 , 65336, 65347,
64108, 64264, 64403, 64526, 64637, 64735, 64780,
64900, 64970, 65031, 65087, 65136, 65158, 65200,
65218, 65253, 65284, 65312, 65336, 65347, 65368,
64264, 64403, 64526, 64637, 64735, 64780, 64863,
64970, 65031, 65087, 65136, 65158, 65200, 65236,
65253, 65284, 65312, 65336, 65347, 65368, 65386,
64403, 64526, 64637, 64735, 64780, 64863, 64936,
65031, 65087, 65136, 65158, 65200, 65236, 65269,
65284, 65312, 65336, 65347, 65368, 65386, 65403,
64526, 64637, 64735, 64780, 64863, 64936, 65001,
};
unsigned char dis_a;
void music(void);
void light(void);
void delay(unsigned char x);
sbit P1_0=P1^0;
void main(void)
{
P2=0xff;
TMOD=0x21;
SCON=0x50;
TL1=0xCC; /*定时器1作为波特率发生器*/
TH1=0xCC;
EA=1;
ES=1;
TR1=1;
ET1=0;
while(1);
}
#pragma NOAREGS
void light(void) /*子程序,让按键时产生相应的灯光信号*/
{
if ((dis_a==0)||(dis_a==21)||(dis_a==42)||(dis_a==63)||(dis_a==84)||(dis_a==105)||(dis_a==126)||(dis_a==7)||(dis_a==28)||(dis_a==49)||(dis_a==70)||(dis_a==91)||(dis_a==112)||(dis_a==133)||(dis_a==14)||(dis_a==35)||(dis_a==56)||(dis_a==77)||(dis_a==98)||(dis_a==119)||(dis_a==140)) P2=0xfe;
if ((dis_a==1)||(dis_a==22)||(dis_a==43)||(dis_a==64)||(dis_a==85)||(dis_a==106)||(dis_a==127)||(dis_a==8)||(dis_a==29)||(dis_a==50)||(dis_a==71)||(dis_a==92)||(dis_a==113)||(dis_a==134)||(dis_a==15)||(dis_a==36)||(dis_a==57)||(dis_a==78)||(dis_a==99)||(dis_a==120)||(dis_a==141)) P2=0xfd;
if ((dis_a==2)||(dis_a==23)||(dis_a==44)||(dis_a==65)||(dis_a==86)||(dis_a==107)||(dis_a==128)||(dis_a==9)||(dis_a==30)||(dis_a==51)||(dis_a==72)||(dis_a==93)||(dis_a==114)||(dis_a==135)||(dis_a==16)||(dis_a==37)||(dis_a==58)||(dis_a==79)||(dis_a==100)||(dis_a==121)||(dis_a==142)) P2=0xfb;
if ((dis_a==3)||(dis_a==24)||(dis_a==45)||(dis_a==66)||(dis_a==87)||(dis_a==108)||(dis_a==129)||(dis_a==10)||(dis_a==31)||(dis_a==52)||(dis_a==73)||(dis_a==94)||(dis_a==115)||(dis_a==136)||(dis_a==17)||(dis_a==38)||(dis_a==59)||(dis_a==80)||(dis_a==101)||(dis_a==123)||(dis_a==143)) P2=0xf7;
if ((dis_a==4)||(dis_a==25)||(dis_a==46)||(dis_a==67)||(dis_a==88)||(dis_a==109)||(dis_a==130)||(dis_a==11)||(dis_a==32)||(dis_a==53)||(dis_a==74)||(dis_a==95)||(dis_a==116)||(dis_a==146)||(dis_a==18)||(dis_a==39)||(dis_a==60)||(dis_a==81)||(dis_a==102)||(dis_a==124)||(dis_a==144)) P2=0xef;
if ((dis_a==5)||(dis_a==26)||(dis_a==47)||(dis_a==68)||(dis_a==89)||(dis_a==110)||(dis_a==131)||(dis_a==12)||(dis_a==33)||(dis_a==54)||(dis_a==75)||(dis_a==96)||(dis_a==117)||(dis_a==147)||(dis_a==19)||(dis_a==40)||(dis_a==61)||(dis_a==82)||(dis_a==103)||(dis_a==125)||(dis_a==145)) P2=0xdf;
if ((dis_a==6)||(dis_a==27)||(dis_a==48)||(dis_a==69)||(dis_a==90)||(dis_a==111)||(dis_a==132)||(dis_a==13)||(dis_a==34)||(dis_a==55)||(dis_a==76)||(dis_a==97)||(dis_a==118)||(dis_a==148)||(dis_a==20)||(dis_a==41)||(dis_a==62)||(dis_a==83)||(dis_a==104)||(dis_a==126)||(dis_a==146)) P2=0xbf;
}
void recive_visualbasic(void) interrupt 4 using 1 /*串口中断服务程序,接受PC机送来的信息*/
{
RI=0;
TI=0;
if(SBUF!=0xfe)
{
{ if(SBUF!=0xff)
{dis_a=SBUF;
TH0=(display[dis_a]&0xff00)>>8;
TL0=(display[dis_a]&0xff);
EA=1;ET0=1;TR0=1;
light();
}
else {
EA=1;ET0=1;TR0=1;light();
}
}
}
else
{
EA=1;P2=0xff;ES=1;TR0=0;ET0=0;PS=1;PT0=0;
}
}
void timer0(void) interrupt 1 using 0 /*定时器0的中断服务程序*/
{P1_0=!P1_0; /*用以产生不同的频率植*/
TH0=(display[dis_a]&0xff00)>>8;
TL0=(display[dis_a]&0x00ff);
}
程序(电子琴).rar_c电子琴_单片机 电子琴_电子琴_电子琴 单片机_简易电子琴
版权申诉
116 浏览量
2022-09-23
06:30:38
上传
评论
收藏 2KB RAR 举报
周楷雯
- 粉丝: 78
- 资源: 1万+
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈