Nos informe porque este programa é inadequado. Por favor, não envie várias vezes.

Razão
Mensagem

Enviar    Cancelar

  • Use o bom senso
  • Seja educado. Trate os outros como você gostaria de ser tratado
  • Você só pode usar até 3.000 caracteres por comentário
  • Você não pode comentar o mesmo programa dentro do período de 60 segundos
  • Você não pode postar o mesmo comentário em vários programas.
  • Existe um limite de 100 comentários por usuário no período de 24 horas.

Fechar

Teste_servos

de LucasVedovatto |  v1 |  2 |  0 |  3498 |  9 
Acesse sua conta para comentar e baixar este programa.

Compartilhado há 9 anos e 6 meses atrás
Alguns direitos reservados
// 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) { }
}

Descrição

Este programa é útil para testar o acionamento de servo motores em todas as portas digitais.
Mas o que chama a atenção é a maneira como ele altera os ângulos destes servos a cada segundo sem utilizar um bloco espere e sem zerar o temporizador.

Nenhum Comentário

Download


Entre para Baixar

Favorito de


Projetos de LucasVedovatto


 0    2171   11 
 0    3152   7 
 0    3963   44 
 0    4249   52 
 1    2471   15