0% encontró este documento útil (0 votos)
27 vistas4 páginas

Programa 3

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 4

#include <16f877a.

h>

#device ADC=10 //SI no se le pone esto trabajo solo a 8 bits y desprecia los
menos significativos

#fuses XT,NOPROTECT,NOWDT,NOBROWNOUT, NOPUT, NOLVP

#use delay(clock=4M)

#include <lcd.c>

#use standard_io(c)

#BYTE PORTA=5

#BYTE PORTD=8

long bits; //ALMACENA BITS

float volt; //ALMACENA VOLTAJE

#int_ext /// int_ext && Void int_rb0() siempre van de la mano

Void int_rb0()

output_low(pin_c0); ///cambio de estado el pin c

output_low(pin_c1); ///cambio de estado el pin c

output_low(pin_c2); ///cambio de estado el pin c

output_low(pin_c3); ///cambio de estado el pin c

output_low(pin_c4); ///cambio de estado el pin c

output_low(pin_c5); ///cambio de estado el pin c

output_low(pin_c6); ///cambio de estado el pin c

output_low(pin_c7); ///cambio de estado el pin c

Void main()

set_tris_b(0b00000001); ///Entrada de datos en b0

output_low(pin_c0);

output_low(pin_c1);

output_low(pin_c2);

output_low(pin_c3);
output_low(pin_c4);

output_low(pin_c5);

output_low(pin_c6);

output_low(pin_c7);

port_b_pullups(true); //Resistencia interna

enable_interrupts(int_ext); //Senecnia que activa la funcion

ext_int_edge(h_to_l); //orden de salida de alto a bajo

enable_interrupts(GLOBAL);

while(true)

set_tris_a(0b00000100); //Pone el RA2 como entrada

set_tris_d(0); //Pone el puerto D como salida

setup_adc_ports(all_analog); //Todo el puerto a analogico

setup_adc(adc_clock_internal);

lcd_init(); //Inicializa el LCD

lcd_putc("\f"); //Borro el LCD

While(1)

set_adc_channel(2);

delay_ms(1);

bits=read_adc(); //Guarda el dato

volt=bits*(0.004887585553); //conversion de bits a voltage

lcd_gotoxy(2,2);

printf(lcd_putc,"VOLTAJE = %f v",volt);

int n;

if(volt<=1.5)

output_high(pin_c0);

output_high(pin_c1);

output_high(pin_c2);

output_low(pin_c3);
output_low(pin_c4);

output_low(pin_c5);

output_low(pin_c6);

output_low(pin_c7);

n=15;

else if(volt>=1.6 & volt<=3.0)

output_low(pin_c0);

output_low(pin_c1);

output_low(pin_c2);

output_high(pin_c3);

output_high(pin_c4);

output_high(pin_c5);

output_low(pin_c6);

output_low(pin_c7);

n=30;

else if (volt<=3.1)

output_low(pin_c0);

output_low(pin_c1);

output_low(pin_c2);

output_low(pin_c3);

output_low(pin_c4);

output_low(pin_c5);

output_high(pin_c6);

output_high(pin_c7);

n=50;

}
int x=0;

for(x=0;x<=n;x++)

lcd_gotoxy(2,1);

delay_ms(150);

printf(lcd_putc" CONTADOR=%u ",x); //Siempre se pone un espacio para que borre el


anterio digito*

También podría gustarte