๑乛v乛๑嘿嘿 2023-04-10 23:13 采纳率: 0%
浏览 506
已结题

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

img



#include<reg52.h>
#include<intrins.h>
#include<stdio.h>
#include<string.h>
#include<absacc.h>
#include<math.h>
#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;j<i;j++)
    for(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;
                }
        }
    }
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-10 23:24
    关注

    if(Q=1)
    应该是==

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月18日
  • 创建了问题 4月10日