mình viết code ADC hiển thị trên LCD mà khi biên dịch máy báo lỗi thiếu ";" mà tìm hoài chỗ đó ko thấy thiếu ";" nào.Mình có gửi file đính kèm,ae nào có thể biên dich ra file hex và chỉ ra lỗi giúp mình đc ko

#include<at89x51.h>
//#include<THUVIEN_LCD16X2.C>
#define ADD_A P1_0
#define ADD_B P1_1
#define ADD_C P1_2
#define START P1_4
#define ALE P1_3
#define RS P1_5
#define RW P1_6
#define W P1_7
#define DATA_LCD P0
#define DATA_ADC P2
unsigned int KQ7;
unsigned char TR,CH,DV;/*Khai báo những thằng này thì không dùng đi dùng {TR,CH,DV}7*/
code char HANG1[]=" DH SP KY THUAT";// Đặt cận cho mảng chỗ này làm gì? mà có nhất thiết phải để unsigned char ko?
code char HANG2[]="NHIET DO DO: ";// Có thể dùng từ khóa code thay cho const
void delay();
void ghilcd();
void ghichuoi();
void setup_lcd();
void TS_GM();
void HT_LCD();
void CD_ADC();
void docADC_7();
void delay(unsigned int x)
{
unsigned int y;
;
for(y=0;y<x;y++)
;
}
void TS_GM()
{
DV7=(KQ7%10)+0x30;
CH7=(KQ7/10%10)+0x30;
TR7=(KQ7/100)+0x30;
if(TR7==0x30)
{
TR7=' ';
if(CH7==0x30)
CH7=' ';
}
}
void ghilcd(bit chonRS, unsigned char DL_LCD)
{
DATA_LCD=DL_LCD;
RS=chonRS;
RW=0;
E=1;
E=0;
delay(500);
}
void HT_LCD()
{
ghilcd(0,0x80);
ghilcd(1,TR7);
ghilcd(1,CH7);
ghilcd(1,DV7);
}
void ghichuoi(char *chuoi)
{
char ch;
;
while((ch=*chuoi))
{
ghilcd(1,ch);
chuoi++;
}
}
void setup_lcd()
{
delay(10000);
ghilcd(0,0x38);
ghilcd(0,0x38);
ghilcd(0,0x38);
ghilcd(0x0C);// Ghi LCD nhận 2 tham số sao ở đây lại chỉ có 1?
ghilcd(0x06);
ghilcd(0x01);
}
void CD_ADC()
{
ALE=START=1;
ALE=START=0;
delay(500);
}
void docADC_7()
{
ADD_A=1;
ADD_B=1;
ADD_C=1;
CD_ADC();
KQ7=DATA_ADC;
}
void main()
{
ADD_A=1;
ADD_B=1;
ADD_C=1;
while(1)
{
unsigned char i;
;
KQ7=0;
for(i=0;i<10;i++)
{
CD_ADC();
delay(100);
KQ7=KQ7+P2;
KQ7=KQ7/10;
TS_GM();
HT_LCD();
delay(1000);
}
}
}
Comment