We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
#include<reg52.h> //header file #define lcd P2 sbit rs=P3^7; sbit rw=P3^6; sbit en=P3^5; sbit start=P1^2; sbit stop=P1^1; sbit buzzer=P1^0; sbit slide_sw=P1^4; sbit relay=P1^3; void lcddata(unsigned char); void lcdcmd(unsigned char); void lcd_init( ); void delay(unsigned int); void lcdstring(unsigned char*); void display(unsigned char); void delay1(unsigned long); unsigned int time,speed; unsigned int time_count; unsigned int time_sec,sec; void main() { unsigned char high_byte, low_byte; unsigned int timel ; lcd_init(); //Initialise the LCD lcdcmd(0X80); //select LCD 1st line starting position lcdstring(" SPEED CHECKER "); //Display string on LCD lcdcmd(0XC0); //select the LCD2nfdline starting position lcdstring(" FOR HIGHWAYS "); //display string on LCD start=stop=1; //initialise the start&stop while(1) { if(start==1) lcdcmd(0X01); //cleear the LCD lcdcmd(0X80); //select the LCD 1st line starting positAn lcdstring(" START "); //display string on LCD time_count=0; //clear the time_count sec=0; //clear the seconds time_sec=0; //clear the timesec TMOD=0X10; //select the timerl in model mode TH1=0X00; // load the timerl high count TL1=0X00; //load the timerl low count TMOD=0X01; //select the timer0 in model mode TH0=0X00; // load the timer0 high count TL0=0X00; // load the timer0 high count TR0=1; //start the timer0 TR1=1; //start the timerl } if(stop==1) { TR0=0; //stop the timer0 TR1=0; //stop the timed. lcdcmd(0X80); //select the lcd 1st line starting position lcdstring(" STOP "); //display string on LCD high_byte=TH0; // copy the timer0 high count low_byte=TL0; //copy the timer0 low count delay1() time=( (time_count*71.1066) + (( ((256*high_byte)+low_byte)*(1.085) ) )) ;//calculate the time lcdcmd(0X80); //select the lcd 1st line starting position lcdstring("TIME: "); //display string on LCD lcdcmd(0X85); //select the lcd 1st line 5th position timel=(time/1000); display(timel); //dispaly the time lcdcmd(0X8A); //select the lcd 1st line 10th position lcdstring("sec"); lcdcmd(0XC0); //select the lcd 2nd line starting position lcdstring("SPEED: "); //display the string on LCD lcdcmd(0XC6); //select the lcd 2nd line 6th position speed=(360/(timel)); // calculate the speed display(speed); //dispaly the speed lcdcmd(0XCA); //select the lcdstring("KMPH"); if(slide_sw==0) { if(speed>40) // if speed is greater than 40KM { buzzer=1;//switch ON the buzzer relay=1 // switch ON the relay delay(50000); relay=0; //switch OFF relay } else
{ buzzer=0; // switch OFF buzzer relay=0; //switch off relay } if(slide_sw==1) { if(speed>60) //if speed MOR than 60KM { buzzer=1 // switch ON buzzer relay=1//switch ON relay delay(50000); relay=0; //switch off relay } else { buzzer=0;//swiych OFF buzzer relay=0; //switch off relay } } } } } void lcd_init() { lcdcmd(0X38); //select 5x7 matrix lcd 8,6x2 LCD lcdcmd(0X0E); // display On curser blinking lcdcmd(0X06); // shift the curser to right lcdcmd(0X80); //select the lcd lst line starting position } void lcdcmd(unsigned char cmd) { lcd=cmd; //copy the command on the Data bus rs=0; //rs=0 for command rw=0; //rw =0 for writing en=1; //make enable pin high en=0; //make enable pin low } void lcddata(unsigned char dat) { lcd=dat; //copy the Data on the Data bus rs=1; //rs=1 for Data rw=0; //rw=0 for writing en=1; //make enable pin high en=0; //make enable pin low } void lcdstring(unsigned char*str) { while(*str!='\0') { lcddata(*str); str++; } } void display(unsigned char num) // display the speed { unsigned char templ,buffer[4],t=0; temp1=num%10; buffer[0]=templ+0X30; temp1=num%10; buffer[1]=templ+0X30; num=num/10; temp1=num%10; buffer[2] =templ+0X30; num = num/10; temp1=num%10; buffer[3]=templ+0X30; if(buffer[0]=='0') { if(buffer[1]=='0') { if(buffer[2]=='0') { lcddata(buffer[3]); return; } else { for(t=2;t<=3;t++) lcddata(buffer[t]); return; } } else { for(t=1;t<=3;t++); lcddata(buffer[t]); return; } } else { for(t=0;t<=3;t++); lcddata(buffer[t]); } } void delay(unsigned int itime) { unsigned int i; for(i=0;i<itime;i++); } void delay1() { unsigned int m,n; for(m=0;m<100;m++) { for(n=0;n<4000;n++); } } void TIMERl_ISR()interrupt1 //timerlinterrupt service routine { unsigned int sec,time_sec; time_sec++; //increment the timesec if(time_sec==60) { time_sec=0; sec++, lcdcmd(0XC7); display(sec); //display the time } } this is the code i'm getting the following errors
Build target 'Target 1' compiling done.c... done.c(78): error C141: syntax error near 'delay' done.c(92): error C141: syntax error near 'relay' done.c(93): error C141: syntax error near 'delay' done.c(139): error C202: 'temp1': undefined identifier done.c(141): error C202: 'temp1': undefined identifier done.c(144): error C202: 'temp1': undefined identifier done.c(147): error C202: 'temp1': undefined identifier done.c(184): error C236: '_delay1': different length of parameter lists done.c(192): error C132: 'interrupt1': not in formal parameter list done.c(192): error C141: syntax error near '{' done.c(193): error C132: 'sec': not in formal parameter list done.c(193): error C132: 'time_sec': not in formal parameter list done.c(194): error C132: 'time_sec': not in formal parameter list done.c(194): error C141: syntax error near '++' done.c(197): error C244: 'time_sec': can't initialize, bad type or class done.c(197): error C132: 'time_sec': not in formal parameter list done.c(198): error C132: 'sec': not in formal parameter list done.c(198): error C141: syntax error near '++' done.c(199): error C132: 'lcdcmd': not in formal parameter list done.c(200): error C132: '_display': not in formal parameter list done.c(201): error C141: syntax error near '}'
You missed a semi-colon.
Some would say you also missed the inclusion of meaningful comments.