Beruflich Dokumente
Kultur Dokumente
h>
#include <D:\ita\septimo semestre\diseo\caida libre\PRUEBAS\Nueva
carpeta (2)\2\lcd_d.c>
#define led1 pin_a0
//
L
#define led2 pin_a1
//
E
#define led3 pin_a2
//
D
#define led4 pin_a3
//
#define led5 pin_a5
//
I
#define led6 pin_e0
//
N
#define led7 pin_e1
//
D
#define led8 pin_e2
//
I
#define led9 pin_a6
//
.
#define led10 pin_c0
//
.
#define boton pin_b7
//Boton 1
#define sole pin_d3
//Solenoide
////// DECLARACIN DE VARIABLES ////////
int16 t[11],i,j;
float tt[11], vf[11];
float g=9.81;
int ban,ban2,cont,cuenta;
/////////////////////////////////////////
//
INTERRUPCIN 0
//
//
UTILIZADA PARA BOTON 2
//
/////////////////////////////////////////
#int_EXT
void EXT_isr(void)
{
cuenta++;
ban2=1;
if(cuenta>9)
disable_interrupts(int_EXT);
}
/////////////////////////////////////////
//
INTERRUPCIN 1
//
//
UTILIZADA PARA CONTAR
//
//
EL TIEMPO ENTRE PULSOS
//
/////////////////////////////////////////
#int_EXT1
void EXT1_isr(void)
{
if(i>=0 && i<=10)
{ i++;
t[i]=get_timer1();
set_timer1(0);
if(i==10)
{
ban=1;
disable_interrupts(int_EXT1);
}
if(i!=10)
ban=0;
}
}
/////////////////////////////////////////
//
FUNCIN PARA ENCENDER LOS LEDS
//
//
SEGUN COMO EL OBJETO PASA
//
//
POR LOS SENSORES
//
/////////////////////////////////////////
//2.0 s overflow
//Inicio de LCD
//Se habilitan las
//Las medidas se tomaran
//Primer mensaje en la
// Comienza ciclo
output_high(led10);
cont++;
cuenta=1;
ban2=1;
}
if(i==3)
output_low(sole);
if(ban==1)
{
printf("---------- Prueba # %u ----------",cont);
printf("\n\r No. Tiempo(s)
Velocidad(m/s)\n\r");
// Suma de los tiempos
tt[1]=t[2];
tt[2]=tt[1]+t[3];
tt[3]=tt[2]+t[4];
tt[4]=tt[3]+t[5];
tt[5]=tt[4]+t[6];
tt[6]=tt[5]+t[7];
tt[7]=tt[6]+t[8];
tt[8]=tt[7]+t[9];
tt[9]=tt[8]+t[10];
tt[10]=tt[9]+t[10];
for (i=1;i<=10;++i)
{
printf(lcd_putc "\f");
tt[i]=(tt[i]*.000032);
vf[i]=g*(tt[i]);
printf(" %Lu
%1.3f
\n\r",i,tt[i],vf[i]);
%1.3f
}
printf("\n\r\n\r");
for (i=1;i<=10;++i)
{
putc(tt[i]);
}
ban=0;
}
if(ban2==1)
{ if(cuenta==9)
{
printf(lcd_putc "\f");
lcd_gotoxy(1,1);
printf(lcd_putc "\n\rPrueba # %u Final.",cont);
lcd_gotoxy(1,2);
printf(lcd_putc "\n\rOprime el Boton 1");
lcd_gotoxy(1,3);
printf(lcd_putc "\n\rPara continuar");
}
lcd(cuenta);
ban2=0;
}
if(!input(boton))
{
set_timer1(0);
enable_interrupts(int_EXT1);
enable_interrupts(int_EXT);
printf(lcd_putc "\f");
printf("\f");
i=0;
output_high(sole);
output_low(led1);
output_low(led2);
output_low(led3);
output_low(led4);
output_low(led5);
output_low(led6);
output_low(led7);
output_low(led8);
output_low(led9);
output_low(led10);
}
boton
}
}