求问单片机编程高手,下面这段4X4键盘的程序哪里出错了???不需要别的,只需要修正~~谢谢~~~

unsignedintb,t,i;unsignedcharkey_scan(){Set_IOA_Dir(0xfff0);Set_IOA_Attrib(0xfff0);//... unsigned int b,t,i;
unsigned char key_scan()
{
Set_IOA_Dir(0xfff0);
Set_IOA_Attrib(0xfff0); //对A口的初始化;

Set_IOA_Data(0xffef); //对第一行进行赋值检测;

b=Get_IOA_Data(); //获得A口值;
b&=0x000f;

if(b!=0x000f)
{
for(i=0;i<100;i++); //防抖;

b=Get_IOA_Data();
b&=0x000f;

if(b!=0x000f)
{
b=Get_IOA_Data(); //检测获得列值;
switch (b)
{
case 0xffee:t=0;break;
case 0xffed:t=1;break;
case 0xffeb:t=2;break;
case 0xffe7:t=3;break;
}
while(b!=0x000f) //检测释放按键;
{
b=Get_IOA_Data();
b&=0x000f;
}
Watchdog_Clear();
return t; //返回值;
}
}

Set_IOA_Data(0xffdf);

b=Get_IOA_Data();
b&=0x000f;
if(b!=0x000f)
{
for(i=0;i<100;i++);

b=Get_IOA_Data();
b&=0x000f;

if(b!=0x000f)
{
b=Get_IOA_Data();
switch (b)
{
case 0xffde:t=4;break;
case 0xffdd:t=5;break;
case 0xffdb:t=6;break;
case 0xffd7:t=7;break;
}
while(b!=0x000f)
{
b=Get_IOA_Data();
b&=0x000f;
}
Watchdog_Clear();
return t;
}
}

Set_IOA_Data(0xffbf);

b=Get_IOA_Data();
b&=0x000f;
if(b!=0x000f)
{
for(i=0;i<100;i++);

b=Get_IOA_Data();
b&=0x000f;

if(b!=0x000f)
{
b=Get_IOA_Data();
switch (b)
{
case 0xffbe:t=8;break;
case 0xffbb:t=9;break;
case 0xffbd:t=10;break;
case 0xffb7:t=11;break;
}
while(b!=0x000f)
{
b=Get_IOA_Data();
b&=0x000f;
}
Watchdog_Clear();
return t;
}
}

Set_IOA_Data(0xff7f);

b=Get_IOA_Data();
b&=0x000f;
if(b!=0x000f)
{
for(i=0;i<100;i++);

b=Get_IOA_Data();
b&=0x000f;

if(b!=0x000f)
{
b=Get_IOA_Data();
switch (b)
{
case 0xff7e:t=12;break;
case 0xff7d:t=13;break;
case 0xff7b:t=14;break;
case 0xff77:t=15;break;
}
while(b!=0x000f)
{
b=Get_IOA_Data();
b&=0x000f;
}
Watchdog_Clear();
return t;
}
}
}
展开
 我来答
做而论道
高能答主

2011-08-05 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
这是凌阳61单片机的程序。
更多追问追答
追问
我知道……我编出来没有错误,可是不能实现功能。。。所以求教一下,这个要怎么改呢?有同学是用位操作编写的,但是我不想调用那个头文件,所以想问问可以请您帮忙改改不??
追答
粗看起来,没有错误。
楼主发现有什么不对?
返回值T,你显示出来看看,究竟是多少?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式