TEXT1.C(25): error C141: syntax error near 'void'这是什么错误
这个错误是怎么搞的#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineSCANPO...
这个错误是怎么搞的#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define SCANPORT P1sbit spk=P3^0;uchar code table[]={0xF9,0xA4,0xB0,0x99}; //1,2,3,4的共阳字形码uchar uca_LineScan[]={0xEF,0xDF,0xBF,0x7F}; //uchar ucKeyScan(){uchar Temp=0; uchar ucRow=0,ucLine=0;//给行列值赋初值0for(ucLine=0;ucLine<4;ucLine++) //对P1端口扫描来确定键盘行值{SCANPORT=uca_LineScan[ucLine]; Temp=SCANPORT & 0x0F; if(Temp!=0x0F) {switch(Temp){case 0x0E: ucRow=10;break; //若为0x0E,则选中键盘第一列 case 0x0D: ucRow=20;break; //若为0x0D 则选中键盘第二列case 0x0B: ucRow=30;break;case 0x07: ucRow=40;break;default: ucRow=50;break; //未选中键盘列值}break;}}SCANPORT=0x0F; return ucRow+ucLine+1; //返回被按下键盘的行列值,即确定被按下的按键的位置}void vKeyProcess(unsigned char ucKeyCode){switch(ucKeyCode){case 11:P0=table[0];P2=table[0];spk=1;break; //按键K1-1被按下 case 12:P0=table[1];P2=table[0];spk=1;break; case 13:P0=table[2];P2=table[0];spk=1;break;case 14:P0=table[3];P2=table[0];spk=1;break;case 21:P0=table[0];P2=table[1];spk=1;break; //按键K2-1被按下 case 22:P0=table[1];P2=table[1];spk=1;break; case 23:P0=table[2];P2=table[1];spk=1;break;case 24:P0=table[3];P2=table[1];spk=1;break; // 按键K2-4被按下case 31:P0=table[0];P2=table[2];spk=1;break; case 32:P0=table[1];P2=table[2];spk=1;break; //按键K3-2被按下 case 33:P0=table[2];P2=table[2];spk=1;break; case 34:P0=table[3];P2=table[2];spk=1;break;case 41:P0=table[0];P2=table[3];spk=1;break; case 42:P0=table[1];P2=table[3];spk=1;break; //按键K4-2被按下 case 43:P0=table[2];P2=table[3];spk=1;break; //按键K4-3被按下 case 44:P0=table[3];P2=table[3];spk=1;break; default:break;}}void main() //主程序{spk=0;while(1) // 开始循环 {vKeyProcess(ucKeyScan()); //调用扫描键盘并确定按键行列值的子程序spk=0;}}
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询