// aula 16 .c - Criado pelo studio UNO 2.3
// 14 July 2016 6:59:20 pm
#include <uno.h>
// Declaracao das Variaveis
unsigned char endereco;
unsigned char passo;
// Prototipos
void repete(void);
void tras(void);
void direita(void);
void esquerda(void);
void frente(void);
//Funcoes do Usuario
void repete(void)
{
endereco = 0;
for (int __i0 = 0; __i0 < 5; ++__i0) {
if ((eeprom_read(endereco) == 0)) {
frente();
}
if ((eeprom_read(endereco) == 1)) {
esquerda();
}
if ((eeprom_read(endereco) == 3)) {
direita();
}
if ((eeprom_read(endereco) == 4)) {
tras();
}
endereco++;
}
passo = 0;
}
void tras(void)
{
__motor_curso(__BACKWARD);
__delay(2000);
__motor_curso(__STOP);
eeprom_write(passo, 4);
passo++;
}
void direita(void)
{
__motor_curso(__RIGHT_TURN);
__delay(600);
__motor_curso(__STOP);
eeprom_write(passo, 1);
passo++;
}
void esquerda(void)
{
__motor_curso(__LEFT_TURN);
__delay(600);
__motor_curso(__STOP);
eeprom_write(passo, 3);
passo++;
}
void frente(void)
{
__motor_curso(__FORWARD);
__delay(2000);
__motor_curso(__STOP);
eeprom_write(passo, 0);
passo++;
}
//Funcao Principal
void main(void)
{
__inicializa;
passo = 0;
repete();
while((passo < 5)) {
if (__UP_KEY) {
frente();
}
if (__BOTTOM_KEY) {
tras();
}
if (__LEFT_KEY) {
esquerda();
}
if (__RIGHT_KEY) {
direita();
}
}
while(TRUE) { }
}