CODIGOS PIC C COMPILER PARA LA

Anuncio
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 botón
#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 código 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);
output_b(0b00100100);
output_b(0b01000010);
output_b(0b10000001);
output_b(0b01000010);
output_b(0b00100100);
}
}
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
delay_ms(200);
5) Diseño 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);
}
}
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) Conexión al Led 7 segmentos de cátodo Común
#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 analógico
setup_adc(ADC_CLOCK_INTERNAL); //Fuente de reloj RC
for (;;) {
set_adc_channel(0);
delay_us(20);
//Habilitación canal a0;si lo cambiamos cambia el puerto A1,A2,A3
q = read_adc();
//Lectura canal0
//Conversión a tensión
lcd_init();
printf(lcd_putc, "Numero =%1.2f", q);
delay_ms(1000);
}
}
9) Logica positiva y negativa – conexión 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);
}
}
Descargar