DECODIFICADOR DE PULSOS DE CUADRATURA (QEP)

Este programa puede aplicarse a un odómetro, el cual calcula la distancia total o parcial recorrida por un objeto o cosa. El odómetro se armará en parejas y el programa mostrará en centímetros la distancia recorrida en sentido recto y de reversa.
  • Código:
#include <pasos.h>
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>
float cuenta=0;
float cm;
#INT_EXT

void  EXT_isr(void)
{
   if (input(PIN_B1)) //reversa
     cuenta=cuenta-1;
  
   else           //B0, directo
      cuenta=cuenta+1;

   cm=(cuenta*1.2)/2;
   lcd_gotoxy(5,2);
   printf(lcd_putc,"%3.1f",cm);
}

void main()
{
   enable_interrupts(INT_EXT);
   enable_interrupts(GLOBAL);
   lcd_init();
   lcd_gotoxy(1,1);
   lcd_putc("Susi y Marco");
   lcd_gotoxy(1,2);
   lcd_putc("Cm= ");

   while(TRUE)
   {
     if (input(PIN_B2)) //reset
         cuenta=0;  
   }

}

  • Simulación en Proteus:
  • Armado y ejecución:




No hay comentarios:

Publicar un comentario

Ultima entrada ingresada

SISTEMA DE RIEGO AUTOMÁTICO CON MÚSICA

El objetivo era hacer un programa que pueda activar una bomba de agua en la noche, y que por las mañanas reproduzca música para las plantas....