- Código:
#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