Está en la página 1de 5

CODIGOS PIC C COMPILER PARA LA PROGRAMACION DE PICS Y SIMULACION EN ISIS PROTEUS

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);
}
}
3) Prender led oprimiendo un botn

#include <16f877A.h>
#use delay (clock =20M)
#fuses XT,NOWDT
#use standard_io(b)
void main()
{
while(true)
{
output_low(pin_b0);
output_low(pin_b1);
if (input(pin_a0))
{
output_high(pin_b0);
delay_ms(200);
}
if (!input(pin_a1))
{
output_high(pin_b1);
delay_ms(200);
}
}

4) Secuencia LEds usando cdigo binario en el puerto B

#include <16f877A.h>
#use delay(clock=4M)
#fuses XT,NOWDT
#use standard_io(b)

void main()
{
while(true)
{

output_b(0b00011000); delay_ms(200);
output_b(0b00100100); delay_ms(200);
output_b(0b01000010); delay_ms(200);
output_b(0b10000001); delay_ms(200);
output_b(0b01000010); delay_ms(200);
output_b(0b00100100); delay_ms(200);
}
}
5) Diseo de un semaforo

#include <16f877A.h> delay_ms(5000);


#use delay (clock =20M)
#fuses XT,NOWDT output_low(pin_b2);
#use standard_io(b) output_high(pin_b1);
void main() output_low(pin_b0);
{
while (true) { delay_ms(3000);

output_high(pin_d7); output_low(pin_b2);
output_low(pin_d6); output_low(pin_b1);
output_low(pin_d5); output_high(pin_b0);

output_high(pin_b5); output_low(pin_d2);
output_low(pin_b6); output_high(pin_d1);
output_low(pin_b7); output_high(pin_d0);

output_high(pin_b0); delay_ms(2000);
output_low(pin_b1);
output_low(pin_b2);
output_high(pin_d2);
output_high(pin_d0); output_low(pin_d1);
output_low(pin_d1); output_low(pin_d0);
output_low(pin_d2);
delay_ms(5000);
delay_ms(5000);

output_low(pin_d7); output_low(pin_d2);
output_high(pin_d6); output_high(pin_d1);
output_low(pin_d5); output_low(pin_d0);

delay_ms(2000); delay_ms(2000);

output_low(pin_d7); output_low(pin_d2);
output_low(pin_d6); output_low(pin_d1);
output_high(pin_d5); output_high(pin_d0);

output_low(pin_b2); output_low(pin_d7);
output_high(pin_b1); output_high(pin_d6);
output_high(pin_b0); output_high(pin_d5);

delay_ms(2000); delay_ms(2000);

output_high(pin_b2); }
output_low(pin_b1); }
output_low(pin_b0);
6) Mensaje en una LCD

#include <16f877a.h>
#use delay (clock = 4M)
#include <LCD.C>

void main () {
while (true) {
lcd_init (); //inicializa la LCD
printf (lcd_putc,"u controladores. \n");
printf (lcd_putc," IT.COFREM. ");
delay_ms(1000);
}
}

7) Conexin al Led 7 segmentos de ctodo Comn

#include <16f877A.h>
#use delay(clock=4M)
#fuses XT,NOWDT
#use standard_io(b)

//segundero

void main()
{
while(true)
{
// gfedcba en el display 7 segmentos //
output_b(0b10111111); delay_ms(1000); //numero 0
output_b(0b00000110); delay_ms(1000); //numero 1
output_b(0b11011011); delay_ms(1000); //numero 2
output_b(0b01001111); delay_ms(1000); //numero 3
output_b(0b11100110); delay_ms(1000); //numero 4
output_b(0b01101101); delay_ms(1000); //numero 5
output_b(0b11111100); delay_ms(1000); //numero 6
output_b(0b00000111); delay_ms(1000); //numero 7
output_b(0b11111111); delay_ms(1000); //numero 8
output_b(0b01100111); delay_ms(1000); //numero 9

}
}
8) Lectura de la entrada Analoga (An0)}

#include <16F877A.h>
#device adc=10 //para la practica cambiemos
por 8

#FUSES XT,NOWDT

#use delay(clock=4000000)
#include <LCD.C>

void main() {
double q;

setup_adc_ports(AN0);
//Canal 0 analgico
setup_adc(ADC_CLOCK_INTERNAL); //Fuente de reloj RC

for (;;) {

set_adc_channel(0); //Habilitacin canal a0;si lo cambiamos cambia el puerto A1,A2,A3


delay_us(20);

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);

} }

También podría gustarte