Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
WWW.INGALEJANDROTORRES.COM
ING. Oscar Alejandro Torres Cruz
Microprocesadores y Micro controladores
1) Prender y apagar un led
#include <16f877A.h>
#use delay (clock =20M)
#fuses XT,NOWDT
#use standard_io(b)
void main()
{
while (true)
{
output_high(pin_b0);
delay_ms(500);
output_low(pin_b0);
delay_ms(500);
}
}
2)
Secuencia de Leds
#include <16f877A.h>
#use delay (clock =20M)
#fuses XT,NOWDT
#use standard_io(b)
void main()
{
while(true)
{
if (input(pin_a0))
{
output_high(pin_b0);
delay_ms(20);
}
output_low(pin_b0);
delay_ms(20);
}
}
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
5) Diseo de un semaforo
#include <16f877A.h>
#use delay (clock =20M)
#fuses XT,NOWDT
#use standard_io(b)
void main()
{
while (true) {
delay_ms(5000);
output_high(pin_d7);
output_low(pin_d6);
output_low(pin_d5);
output_low(pin_b2);
output_low(pin_b1);
output_high(pin_b0);
output_high(pin_b5);
output_low(pin_b6);
output_low(pin_b7);
output_low(pin_d2);
output_high(pin_d1);
output_high(pin_d0);
output_high(pin_b0);
output_low(pin_b1);
output_low(pin_b2);
delay_ms(2000);
output_high(pin_d0);
output_low(pin_d1);
output_low(pin_d2);
output_low(pin_b2);
output_high(pin_b1);
output_low(pin_b0);
delay_ms(3000);
output_high(pin_d2);
output_low(pin_d1);
output_low(pin_d0);
delay_ms(5000);
delay_ms(5000);
output_low(pin_d7);
output_high(pin_d6);
output_low(pin_d5);
output_low(pin_d2);
output_high(pin_d1);
output_low(pin_d0);
delay_ms(2000);
delay_ms(2000);
output_low(pin_d7);
output_low(pin_d6);
output_high(pin_d5);
output_low(pin_d2);
output_low(pin_d1);
output_high(pin_d0);
output_low(pin_b2);
output_high(pin_b1);
output_high(pin_b0);
output_low(pin_d7);
output_high(pin_d6);
output_high(pin_d5);
delay_ms(2000);
delay_ms(2000);
output_high(pin_b2);
output_low(pin_b1);
output_low(pin_b0);
}
}
}
}
q = read_adc();
//Lectura canal0
//Conversin a tensin
lcd_init();
printf(lcd_putc, "Numero =%1.2f", q);
delay_ms(1000);
}
}
9) Logica positiva y negativa conexin a bombillos de 120VAC
#include <16F877A.h>
#FUSES XT,NOWDT
#use delay(clock=4000000)
void main()
{
while(true)
{
output_high(pin_b0);
output_high(pin_b1);
delay_ms(5000);
output_low(pin_b0);
output_low(pin_b1);
delay_ms(10000);
}