啾咪 有無單片機的大神 幫我看看這個需要在哪里改這個錯誤,非常感謝!
0101.c(292): warning C173: missing return-expression
0101.c(292): warning C290: missing return value
0101.c(303): warning C290: missing return value
0101.c(310): warning C290: missing return value
0101.c(320): warning C290: missing return value
0101.c(330): warning C290: missing return value
uchar keyscan(void) //鍵盤掃描
{ {unsigned char key_l,key,s;
key_l=P1&0x0f;
if(key_l!=0x0f) // 判斷是否有按鍵按下
{ delay5() ; //消抖
if(key_l!=0x0f) //再次判斷是否有按鍵按下
{
key_l=P1&0x0f; //掃描列 得到列值
P1=0X7f; //0111 1111
if(P1!=0x7f) key=P1;
P1=0Xbf; //1011 1111
if(P1!=0xbf) key=P1;
P1=0Xdf;
if(P1!=0xdf) key=P1;
P1=0Xef;
if(P1!=0xef) key=P1;
P1=0x0f;
} delay1(1000);
}
switch(key)
{
case 0xeb: count1=1;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xd7: count1=2;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xdb: count1=3;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xdd: count1=4;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xb7: count1=5;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xbb: count1=6;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0xbd: count1=7;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0x77: count1=8;i=0; TR1=1;second=0;s1=0;s2=0; break;
case 0x7b: count1=9;i=0; second=0;s1=0;s2=0; TR1=1; break;
case 0x7d: count1=10;i=0; second=0;s1=0;s2=0; TR1=1; break;
case 0xe7: count2=1; break; //開機鍵ON/C
case 0xed: count2=2;h=0; s=second;break; //暫停鍵 =
case 0xee: count1=count1+1;i=0; delay1(100); TR1=1;second=0;s1=0;s2=0; break; //下一曲 +
case 0xde: count1=count1-1;i=0; delay1(100); TR1=1; second=0;s1=0;s2=0; break; //上一曲 -
case 0xbe: count2=5;h=1; TR0=1; s=second; break; TR1=1; //播放鍵
default:break;
}
P1 = 0x0f;
}
}
//=======外部中斷INT0==========//
void ZD() interrupt 0
{
keyscan();
}
//===========顯示延遲=======================//
delay2(int a)
{int b;
for(;a>0;a--)
for(b=0;b<255;b++);
}
check() //查忙
{e=1;
rw=1;
rs=0;
P0=0xff;
if(busy);
}
/*寫指令程序*/
wc(unsigned char dat)
{check();
e=0;
rw=0;
rs=0;
P0=dat;
e=1;
e=0;
}
/* 寫數據程序*/
wd(unsigned char dat)
{check();
e=0;
rw=0;
rs=1;
P0=dat;
e=1;
e=0;
}
|