keil报错:error C129:missing ';'before 'Q',但是找不到哪里少了';'

img



#include
#include
#include
#include
#include
#include
#define uchar unsigned char
#define uint  unsigned int
unsigned long i=0;
unsigned long k=0;
sbit E=P2^7;    //1602使能引脚
sbit RW=P2^6;    //1602读写引脚
sbit RS=P2^5;    //1602数据/命令选择引脚
sbit key1=P2^0;
Sbit Q=P1.3;

void Outside_Init(void)
{
 EX0=1;    //开外部中断0
 IT0=1;    //负边沿触发
 EA=1;        //开总中断
}

void Outside_Int1(void)interrupt0  using 1
{if(Q=1) i=0;
Else i=36000;
}

void delays()
{
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
}
bit Busy(void)
{
    bit busy_flag=0;
    RS=0;
    RW=1;
    E=1;
    delays();
    busy_flag=(bit)(P0&0x80);
    E=0;
    return busy_flag;
}
void wcmd(uchar del)
{
    while(Busy());
    RS=0;
    RW=0;
    E=0;
    delays();
    E=1;
    delays();
    E=0;
}

void wdata(uchar del)
{
    while(Busy());
    RS=1;
    RW=0;
    E=0;
    delays();
    P0=del;
    delays();
    E=1;
    delays();
    E=0;
}

void L1602_init(void)
{
    wcmd(0x38);
    wcmd(0x0c);
    wcmd(0x06);
    wcmd(0x01);
}

void L1602_string(uchar hang,uchar lie,uchar *p)
{
    uchar a,b=0;
    if(hang==1)a=0x80;
    if(hang==2)a=0xc0;
    a=a+lie-1;
    whlie(1)
    {
        wcmd(a++);
        if((*p=='\0')||(b==16))break;
        b++;
        wdata(*p);
        p++;
    }
}

void Delay(uint i)
{
    uint x,j;
    for(j=0;jfor(x=0;x<=148:x++);
}

void Time0_Init()
{
    TMOD=0x06;
    TH0=0xff;
    TL0=0xff;
    IE=0x82;
    TR0=1;
}

void Time0_Int() interrupt 1
{if(Q=1) i++;
 Else i--;
}

void main()
{
uchar tabPL[9];
L1602_init();
Time0_Init();
Outside_Init();
    while(1)
    {    k=i;
        tabPL[8]=k%10+'0';
        tabPL[7]=(k/10)%10+'0';
        tabPL[5]=(k/100)%10+'0';
        tabPL[4]=(k/1000)%10+'0';
        tabPL[3]=(k/10000)%10+'0';
        tabPL[2]=(k/100000)%10+'0';
        tabPL[1]=(k/1000000)%10+'0';
        tabPL[0]=(k/10000000)%10+'0';
        tabPL[6]='.';
        wcmd(0x01);
        L1602_string(1,1,tabPL);
        if(key1==0)
        {            Delay(2);
            if(key1==0)
                {i=0;
                }
        }
    }
}

if(Q=1)
应该是==

以下内容部分参考ChatGPT模型:


根据错误提示,应该是在 'Q' 前面少了一个分号。但是在提供的代码中,没有出现 'Q' 这个字符,因此无法确定具体出错位置。建议检查代码中所有的语句,逐一排查是否存在缺失分号的情况。同时,建议提供更完整的代码,方便更准确地定位问题。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快