// teste_servos.c - Criado pelo studio UNO 2.3
// 26 September 2014 2:38:08 pm
#include <uno.h>
// Defines
#define Tempo 1000
// Declaracao das Variaveis
unsigned char etapa;
unsigned int teste;
// Prototipos
void servos(void);
//Funcoes do Usuario
void servos(void)
{
if ((etapa == 0)) {
__PWM0 = 0;
__PWM1 = 0;
__PWM2 = 0;
__PWM3 = 0;
__PWM4 = 0;
__PWM5 = 0;
__PWM6 = 0;
__PWM7 = 0;
}
if (((etapa == 1) || (etapa == 3))) {
__PWM0 = 90;
__PWM1 = 90;
__PWM2 = 90;
__PWM3 = 90;
__PWM4 = 90;
__PWM5 = 90;
__PWM6 = 90;
__PWM7 = 90;
}
if ((etapa == 2)) {
__PWM0 = 180;
__PWM1 = 180;
__PWM2 = 180;
__PWM3 = 180;
__PWM4 = 180;
__PWM5 = 180;
__PWM6 = 180;
__PWM7 = 180;
}
if ((etapa == 3)) {
etapa = 0;
}
else {
etapa++;
}
}
//Funcao Principal
void main(void)
{
__inicializa;
__backlight(__ON);
etapa = 0;
bitset(__TRIS_PWM, __DIGITAL0);
bitset(__TRIS_PWM, __DIGITAL1);
bitset(__TRIS_PWM, __DIGITAL2);
bitset(__TRIS_PWM, __DIGITAL3);
bitset(__TRIS_PWM, __DIGITAL4);
bitset(__TRIS_PWM, __DIGITAL5);
bitset(__TRIS_PWM, __DIGITAL6);
bitset(__TRIS_PWM, __DIGITAL7);
__timer_sistema = 0;
while(TRUE) {
if ((__timer_sistema % Tempo < 50)) {
servos();
__delay(55);
}
__lcd_goto(0x7f, 1);
__lcd_puts("%l", __timer_sistema);
}
while(TRUE) { }
}