// programa padrao.c - Criado pelo Studio UNO 2.11
// 14 December 2012 4:10:46 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char aux;
unsigned int batidas;
unsigned char lado;
// Prototipos
void esquerda(void);
void direita(void);
//Funcoes do Usuario
void esquerda(void)
{
__motor_curso(__BACKWARD);
__delay(1000);
__motor_curso(__LEFT_ROTATE);
__delay(375);
__timer_sistema = 0;
}
void direita(void)
{
__motor_curso(__BACKWARD);
__delay(1000);
__motor_curso(__RIGHT_ROTATE);
__delay(375);
__timer_sistema = 0;
}
//Funcao Principal
void main(void)
{
__inicializa;
batidas = 0;
lado = 0;
aux = 1;
__backlight(__ON);
__lcd_clear();
__lcd_puts("Programa padrao");
__timer_sistema = 0;
while(TRUE) {
if ((aux != 0)) {
if (!__digital_in(5)) {
if ((lado == 0)) {
batidas = 0;
esquerda();
}
else {
if ((batidas > 2)) {
direita();
batidas = 0;
}
else {
batidas++;
lado = 0;
esquerda();
}
}
}
if (!__digital_in(6)) {
if ((lado == 1)) {
batidas = 0;
direita();
}
else {
if ((batidas > 2)) {
esquerda();
batidas = 0;
}
else {
batidas++;
lado = 1;
direita();
}
}
}
if (__ENTER_KEY) {
__delay_us(50); while (__ENTER_KEY) { }; __delay_us(50);
aux = 0;
__lcd_clear();
__lcd_goto(0x7f, 5);
__lcd_puts("<Parado>");
}
__motor_curso(__FORWARD);
if ((__timer_sistema > 7000)) {
if ((__randon(1, 3) == 1)) {
__motor_curso(__RIGHT_ROTATE);
}
else {
__motor_curso(__LEFT_ROTATE);
}
__delay(750);
__timer_sistema = 0;
}
}
else {
__motor_curso(__STOP);
if (__ENTER_KEY) {
__delay_us(50); while (__ENTER_KEY) { }; __delay_us(50);
aux = 1;
__lcd_clear();
__lcd_puts("Programa padrao");
__timer_sistema = 0;
}
}
}
while(TRUE) { }
}