#include <p18f452.h>
#include <usart.h>
#include <delays.h>

void main(void)
{

char result;

TRISD = 0x00;
PORTD = 0x00;


	OpenUSART( USART_TX_INT_OFF &
	USART_RX_INT_OFF &
	USART_ASYNCH_MODE &
	USART_EIGHT_BIT &
	USART_CONT_RX &
	USART_BRGH_LOW,
	64 );
	while(1)
	{
	
	result = getcUSART();
	
	switch(result){
		case 'w' : //Forward
		PORTD = 0x0E;
		break;

		case 'a' : //Left & Forward
		PORTD = 0x0A;
		break;

		case 'd' : //Right & Forward
		PORTD = 0x06;
		Delay1KTCYx(1);
		break;
	
		case 's' : //Backward
		PORTD = 0x0D;
		break;
	
		case 'z' : //Left & Backward
		PORTD = 0x09;

		break;
	
		case 'c' : //Right & Backward
		PORTD = 0x05;
		break;

		case 'r' : //Right
		PORTD = 0x07;
		break;

		case 'l' : //Left
		PORTD = 0x0B;
		break;	

		default:
		PORTD = 0x0F;	
		}
	}
}

