资源简介
基于51单片机c语言电子琴程序 并用protues 仿真
按键发音
代码片段和文件信息
#include
#include
#include
#include
#define PA XBYTE[0xff7c]
#define PB XBYTE[0xff7d]
#define PC XBYTE[0xff7e]
#define CTRL XBYTE[0xff7f]
void delay(unsigned int z) ;
void display( int *a) ;
void function1 (void) ;
void duolaameng (void);
unsigned char table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
unsigned int pin[]={64580646846477764820648986498565030650586511065157651786521765265 65290};
unsigned int syin[8]={ 0};
sbit P20=P2^0;
sbit P21=P2^1;
sbit P17=P1^7;
int yincnt=0i;
unsigned poe;
main()
{ EA=1;
TMOD=0x01;
ET0=1;
PT0=1;
CTRL=0x89;
while(1)
{function1();
duolaameng();
}
}
void function1 (void)
{ poe=PC;
switch(poe)
{
case 0xfe:yin=1;
break;
case 0xfd:yin=2;
break;
case 0xfb:yin=3;
break;
case 0xf7:yin=4;
break;
case 0xef:yin=5;
break;
case 0xdf:yin=6;
;break;
case 0xbf:yin=7;
break;
case 0x7f:yin=8;
break; }
if(poe!=0xff)
{ if (yin==1) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xfe)
{delay(20);
TR0=1;
delay(2);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==2){
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xfd)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==3) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xfb)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==4) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xf7)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==5) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xef)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==6) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xdf)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==7) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0xbf)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
}
if (yin==8) {
TH0=pin[yin-1]/256;
TL0=pin[yin-1]%256;
while(poe==0x7f)
{
TR0=1;
delay(1);
poe=PC;
display(syin);
}
TR0=0;
} for (i=7;i>0;i--)
syin[i]=syin[i-1];
syin[0]=yin;
//if (cnt==8)
//cnt=0;
} P21=1;display(syin);
}
void display( int *a)
{ unsigned char wei=0xfe;
int i;
f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4968 2009-09-02 21:02 基于51单片机电子琴\2.PWI
文件 5482 2009-07-16 07:15 基于51单片机电子琴\shiyan2.c
文件 4501 2009-07-16 07:14 基于51单片机电子琴\shiyan2.hex
文件 47 2009-07-16 07:14 基于51单片机电子琴\shiyan2.lnp
文件 18708 2009-07-16 07:14 基于51单片机电子琴\shiyan2.M51
文件 167 2009-09-04 18:09 基于51单片机电子琴\shiyan2.plg
文件 2178 2009-07-09 21:16 基于51单片机电子琴\shiyan2.Uv2
文件 0 2009-07-09 19:08 基于51单片机电子琴\shiyan2_Uv2.Bak
文件 6376 2005-03-22 15:22 基于51单片机电子琴\STARTUP.A51
文件 14049 2009-07-16 07:14 基于51单片机电子琴\STARTUP.LST
文件 758 2009-07-16 07:14 基于51单片机电子琴\STARTUP.OBJ
文件 19446 2009-07-16 07:14 基于51单片机电子琴\shiyan2.LST
文件 17686 2009-07-16 07:14 基于51单片机电子琴\shiyan2.OBJ
文件 15827 2009-07-16 07:14 基于51单片机电子琴\shiyan2
文件 122797 2009-07-11 11:35 基于51单片机电子琴\Last Loaded 2.DBK
文件 121637 2009-07-16 07:15 基于51单片机电子琴\2.DSN
....... 1532 2009-07-23 14:31 基于51单片机电子琴\shiyan2_Opt.Bak
文件 1082 2009-07-23 14:33 基于51单片机电子琴\shiyan2.Opt
目录 0 2009-07-15 16:01 基于51单片机电子琴
----------- --------- ---------- ----- ----
357241 19
- 上一篇:C语言实现TFTP客户端代码
- 下一篇:图的深度优先遍历与广度优先遍历(C语言实现)
相关资源
- 51单片机做红外遥控
- 51单片机GPS程序
- 51单片机C语言电流电压测量代码
- 基于51单片机的c语言编写的计算器程
- 基于51单片机的DDS信号发生器AD9833程序
- 51单片机控制PS2键盘的程序KEIL环境C
- 基于51单片机Max7219驱动8×8点阵PROTEU
- 基于51单片机控制的篮球比赛计时、计
- 基于51单片机的人体感应灯设计
- 51单片机产生PWM的程序和怎样控制直流
- 51单片机Modbus协议
- 51单片机-液晶屏交通灯.
- 基于51单片机的汉字滚动显示
- 51单片机实现8个流水灯
- 基于51单片机的智能晾衣架
- at89c51单片机产生5KHZ方波c语言编程
- 51单片机直流电机控制C语言代码.rar
- 51单片机实现CRC校验
- 51单片机电子琴
- 基于51单片机的家庭安全防火防盗系统
- ADS1115的51单片机驱动
- 基于单片机的智能计算器
- 函数信号发生器c语言
- 51单片机用C语言取出奇偶校验位
- 51单片机C语言编程输出方波脉冲
- 51单片机-光立方-C语言
- 单片机电子琴设计用C语言编写
- 51单片机数码管显示万年历的程序
- 原创:51单片机操作ds18b20ds1302,lcd1
- 51单片机驱动步进电机(含电路图和
评论
共有 条评论