资源简介
基于51单片机的心形声光电子琴,内容很全,包含硬件电路图,proteus仿真图,程序源代码及其他相关资料。
代码片段和文件信息
#include
#define uint unsigned int
#define uchar unsigned char
sbit speaker=P1^4;//喇叭接30脚
sbit key1=P1^0;//流水灯按键(暂时)
sbit key2=P1^1;//播放音乐按键(暂定)
uchar abnum1s1numn1n2;
char num;//定义num为可以负数
uchar code yinfu[]={0xfb0xe9 //Do
0xfc0x5c //Re
0xfc0xc1 //Mi
0xfc0xef //Fa
0xfd0x45 //So
0xfd0x92 //La
0xfd0xd0 //Si
0xfd0xee //Do#
0x000x00 //间隔
};
uchar code shengri_tone[]={ 10121430 //生日快乐音调
10121540
101864320
70764540 //0代表不发声,即停顿;数字即为音调
};
uchar code shengri_beat[]={ 24124484848725//节拍
24124484848725
2412448484848725
24124484848725 //节拍,即tone表各音调的延时
};
uchar code ledtable[]={0x7f0xbf0xdf0xef //取反
0xf70xfb0xfd0xfe};//P0组口的发光二极管代码(焊接过程可能会相反,具体更改)
uchar code ledtable2[]={0x7f0xbf0xdf0xef //取反
0xf70xfb0xfd0xfe};//P2组口发光二极管代码相反!
void check_key();//改为P3组为按键
void keyscan();
void turn();//顺时针流动
void back();
void qianhou();
void dangshuang();
void delay(uint z);//延时函数声明
void delay1(void);//声明第二个延时函数
void play1(void);//播放生日快乐
void main()
{
s1num=0;//流水灯种类标志
key1=1;
key2=1;
TMOD=0x01;
TH0=a;
TL0=b;
ET0=1;//打开定时器,但是未允许中断
TR0=1;
while(1)
{
check_key();
keyscan();
}
}
void time0() interrupt 1
{
TH0=a;
TL0=b;
speaker=~speaker;
}
void check_key()
{
P3=0xff;//先赋给P2组口高电平
switch(P3)//按下一个键相应4个灯亮
{
case 0xfe:P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;//P0P2组为发光二极管组
case 0xfd:P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改为TR0
case 0xfb:P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;EA=1;break;
case 0xf7:P0=0x77;P2=0xee;a=0xfc;b=0xef;EA=1;break;
case 0xef:P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;
case 0xdf:P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;
case 0xbf:P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;
case 0x7f:P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;
default:EA=0;speaker=0;//P0=0xff;P2=0xff ;
}
}
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void keyscan()
{
if(key1==0)
{
delay(5);
if(key1==0)
{
s1num++;
while(!key1);
if(s1num==1)
{
turn();
}
}
if(s1num==2)
{
back();
}
if(s1num==3)
{
qianhou();
}
if(s1num==4)
{
dangshuang();
}
if(s1num==5)
s1num=1;
}
if(key2==0)
{
delay(5);
while(~key2);
play1();
}
}
void delay1(void)//第二个延时函数
{
uchar n=15;
while(n--)
{
uchar i;
for(i=0;i<125;i++);
}
}
void play1(void)//播放生日快乐
{
uchar m=0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4857 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\1.c
文件 10822 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\1.LST
文件 11038 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\1.OBJ
文件 9288 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序
文件 2518 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.hex
文件 22 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.lnp
文件 13659 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.M51
文件 190 2015-07-27 08:48 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.plg
文件 55201 2015-07-27 08:48 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.uvopt
文件 13220 2015-06-13 13:46 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序.uvproj
文件 55199 2015-07-27 08:23 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序_uvopt.bak
文件 0 2015-06-13 13:44 10.心形声光电子琴\1-程序\声光电子琴c源程序\程序_uvproj.bak
文件 15060 2015-07-27 08:23 10.心形声光电子琴\1-程序\程序.docx
文件 43520 2015-07-27 09:09 10.心形声光电子琴\10-任务书\声光电子琴任务书.doc
文件 198024 2015-07-27 08:53 10.心形声光电子琴\12-实物图\模板9.jpg
文件 4 2015-07-27 08:54 10.心形声光电子琴\13.14-原理图程序视频讲解\视频讲解连接.txt
文件 2535 2012-09-20 14:38 10.心形声光电子琴\15-仿真\dzq.hex
文件 116888 2015-07-27 08:55 10.心形声光电子琴\15-仿真\Last Loaded 声光电子琴.DBK
文件 116888 2015-07-27 08:55 10.心形声光电子琴\15-仿真\声光电子琴.DSN
文件 768 2016-12-28 01:12 10.心形声光电子琴\15-仿真\声光电子琴.PWI
文件 120 2014-09-21 11:15 10.心形声光电子琴\16-c语言学习和软件安装使用教程\单片机十天征服你视频教程及课件.txt
文件 47 2015-05-16 21:51 10.心形声光电子琴\16-c语言学习和软件安装使用教程\相关软件安装和使用视频.txt
文件 32 2015-06-22 22:20 10.心形声光电子琴\17-售后电话15948362546(13点-15点)\重要.txt
文件 595456 2015-07-27 08:37 10.心形声光电子琴\18.另送参考--文(针对本设计)\声光电子琴毕业论文.doc
文件 1489 2015-04-17 13:37 10.心形声光电子琴\2-原理图\原理图\Backup of Preview 原理图.PPC
文件 725318 2015-06-13 23:55 10.心形声光电子琴\2-原理图\原理图\Backup of 原理图.Pcb
文件 27296 2015-06-13 23:55 10.心形声光电子琴\2-原理图\原理图\Backup of 原理图.Sch
文件 653 2014-10-09 18:34 10.心形声光电子琴\2-原理图\原理图\Backup of 超声波测距.Bom
文件 11644 2014-10-09 18:36 10.心形声光电子琴\2-原理图\原理图\Backup of 超声波测距.Sch
文件 1489 2015-04-17 13:37 10.心形声光电子琴\2-原理图\原理图\Previous Backup of Preview 原理图.PPC
............此处省略64个文件信息
- 上一篇:FANUC和三菱新代三轴UG后处理自动换刀与非自动换刀
- 下一篇:代码自动生成工具
相关资源
- msc c51单片机各实用源码及proteus仿真集
- 51单片机 电子琴
- 基于51单片机的出租车计费器的程序原
- 基于51单片机的音乐播放器
- HC-SR04超声波测距资料及例程代码 51单
- 基于51单片机的土壤PH值测定
- 基于51单片机智能家居的设计.caj
- 51单片机太阳单轴追踪系统
- 基于51单片机的电子秤设计涵pcb与原理
- 基于51单片机指纹识别系统的程序
- 基于89C51单片机的数字电容表设计
- 51单片机技术文档&用户手册英文原版
- AT89C51单片机波形发生器 附加论文
- HX711 AD转换 51单片机称重
- 51单片机介绍
- 基于51单片机的数码管显示时钟电路图
- 基于51单片机八路抢答器课程设计
- 51单片机+原理图+PCB+例程
- 51单片机 PROTUES仿真大全
- 0023、基于51单片机的数字频率计设计
- 基于51单片机的自动窗帘程序和PCB
- 51单片机智能电表全部解决方案ad原理
- 多功能智能小车原理图及PCB文件
- 基于51单片机160种例程
- 51单片机常用辅助开发软件合集
- 基于51单片机的高敏度电子秤设计
- 51单片机制作电压电流表
- 辉光管时钟全套开源资料 PCB 源码 5
- 基于51单片机的空气智能加湿器的设计
- keil下51单片机程序的烧写过程
评论
共有 条评论