This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I need help with the error stated by the program. Yet I have placed the "END" statement

#include <at89c51xd2.h>
#include <string.h>
#include <stdio.h>
#include "lcd.h"

#define motor1Cnt1 P0_0
#define motor1Cnt2 P0_1
#define motor2Cnt1 P0_2
#define motor2Cnt2 P0_3

#define forward1Led P1_0
#define forward2Led P1_1
#define forward3Led P1_2
#define stopLed P1_3

unsigned char forward1Flag = 0;
unsigned char forward2Flag = 0;
unsigned char forward3Flag = 0;
unsigned char backwardFlag = 1;

void forward1_Handle( void );
void forward2_Handle( void );
void forward3_Handle( void );
void back_Handle( void );
void stop_Handle( void );

void DelayMs( int );

#define f1key P0_4
#define f2key P0_5
#define f3key P0_6
#define bkey P0_7

int bkeyCnt = 0;
void main( void )
{ unsigned char index = 0;

unsigned char *myString1 = "**** WELCOME ***"; unsigned char *myString2 = " TO "; unsigned char *myString3 = " RF BASED "; unsigned char *myString4 = " VEHICLE SPEED "; unsigned char *myString5 = " CONTROL "; unsigned char *myString6 = " SPEED 1 ZONE "; unsigned char *myString7 = "****************"; unsigned char *myString8 = " SPEED 2 ZONE "; unsigned char *myString9 = " SPEED 3 ZONE "; unsigned char *myString10 = " STOP ZONE "; unsigned char *myString11= " BACKWARDS ";

Lcd_Init(); SenStringToLcd ( 1, myString1 ); SenStringToLcd ( 2, myString2 ); DelayMs(300); SenStringToLcd ( 1, myString3 ); SenStringToLcd ( 2, myString7 ); DelayMs(300); SenStringToLcd ( 1, myString4 ); SenStringToLcd ( 2, myString5 ); DelayMs(300);

motor1Cnt1 = 0; motor1Cnt2 = 0; motor2Cnt1 = 0; motor2Cnt2 = 0;

forward1Led = 0; forward2Led = 0; forward3Led = 0; stopLed = 0; DelayMs( 300 ); forward1Led = 1; forward2Led = 1; forward3Led = 1; stopLed = 1; DelayMs( 300 );

while( 1 ){

if( f1key == 0 ){

SenStringToLcd ( 1, myString6 ); SenStringToLcd ( 2, myString7 ); DelayMs(100); forward1Led = 0; forward2Led = 1; forward3Led = 1; stopLed = 1; DelayMs( 200 ); forward1Flag = 1; forward2Flag = 0; forward3Flag = 0; backwardFlag = 1;

}

if( forward1Flag == 1){ forward1_Handle(); }

if( f2key == 0 ){ SenStringToLcd ( 1, myString8 ); SenStringToLcd ( 2, myString7 ); DelayMs(100); forward1Led = 1; forward2Led = 0; forward3Led = 1; stopLed = 1; DelayMs( 200 ); forward1Flag = 0; forward2Flag = 1; forward3Flag = 0; backwardFlag = 1;

} if( forward2Flag == 1){ forward2_Handle(); }

if( f3key == 0 ){

SenStringToLcd ( 1, myString9 ); SenStringToLcd ( 2, myString7 ); DelayMs(100); forward1Led = 1; forward2Led = 1; forward3Led = 0; stopLed = 1; DelayMs( 200 ); forward1Flag = 0; forward2Flag = 0; forward3Flag = 1; backwardFlag = 1; }

if( forward3Flag == 1){ forward3_Handle(); }

if( bkey == 0 ){

forward1Flag = 0; forward2Flag = 0; forward3Flag = 0; if( backwardFlag == 1 ){

SenStringToLcd ( 1, myString11 ); SenStringToLcd ( 2, myString7 ); DelayMs(100); forward1Led = 1; forward2Led = 1; forward3Led = 1; stopLed = 0; DelayMs( 200 ); backwardFlag = 0;

} else{ SenStringToLcd ( 1, myString10 ); SenStringToLcd ( 2, myString7 ); DelayMs(100); forward1Led = 1; forward2Led = 1; forward3Led = 1; stopLed = 1; DelayMs( 200 ); stop_Handle(); backwardFlag = 1; } }

if( backwardFlag == 0 ){ back_Handle(); } }
} void forward1_Handle( void ){

motor1Cnt1 = 1; motor1Cnt2 = 0; motor2Cnt1 = 1; motor2Cnt2 = 0; return;
} void forward2_Handle( void ){ motor1Cnt1 = 1; motor1Cnt2 = 0; motor2Cnt1 = 1; motor2Cnt2 = 0; DelayMs( 40 ); motor1Cnt1 = 0; motor1Cnt2 = 0; motor2Cnt1 = 0; motor2Cnt2 = 0; DelayMs( 10 ); return;
}

void forward3_Handle( void ){ motor1Cnt1 = 1; motor1Cnt2 = 0; motor2Cnt1 = 1; motor2Cnt2 = 0; DelayMs( 20 ); motor1Cnt1 = 0; motor1Cnt2 = 0; motor2Cnt1 = 0; motor2Cnt2 = 0; DelayMs( 10 ); return;
} void back_Handle( void ){

motor1Cnt1 = 0; motor1Cnt2 = 1; motor2Cnt1 = 0; motor2Cnt2 = 1; DelayMs( 20 ); motor1Cnt1 = 0; motor1Cnt2 = 0; motor2Cnt1 = 0; motor2Cnt2 = 0; DelayMs( 10 ); return;
} void stop_Handle( void ){

motor1Cnt1 = 0; motor1Cnt2 = 0; motor2Cnt1 = 0; motor2Cnt2 = 0; DelayMs( 50 ); return;
} END
}

yet the program keep saying error A41, missing END statement. Where have I gone wrong?

Parents
  • Shame you didn't post your code correctly.

    What are you compiling the code with?

    What EXACTLY is the error message reported?

    What extension does your source file have?

    That's enough from me for now.

Reply
  • Shame you didn't post your code correctly.

    What are you compiling the code with?

    What EXACTLY is the error message reported?

    What extension does your source file have?

    That's enough from me for now.

Children