Sei sulla pagina 1di 3

Luces Pic16f628a-CCS-01.

c output_b(0b00100100);
delay_ms(tiempo);
/*Juego de luces*/ output_b(0b00011000);
delay_ms(tiempo);
#include <16f628a.h> output_b(0b00100100);
#use delay (clock=4000000) delay_ms(tiempo);
#fuses nowdt,xt output_b(0b01000010);
#use standard_io(b) delay_ms(tiempo);

void main() for(int i=1;i<=5;i++) //Donde el contador i=1 enpieza


en 0 o en 1
{//Llave 1 {
output_b(0b00000000); //Configurado como salida output_b(0b00000000);
delay_ms(tiempo);
while(1) output_b(0b11111111);
{ delay_ms(tiempo);
output_b(0b10000001); //b'11111111' }
delay_ms(250); }
output_b(0b01000010); }
delay_ms(250);
output_b(0b00100100);
delay_ms(250); Prender led if else.c
output_b(0b00011000);
delay_ms(250); #include <16f628a.h>
output_b(0b00100100); #use delay (clock=4000000)
delay_ms(250); #fuses nowdt,xt
output_b(0b01000010); #use standard_io(b)
delay_ms(250);
void main()
{
} SET_TRIS_A(0b11111111); //Seteo los puertos "A" como entradas
}
while(true) //Solo realiza la secuencia cuando presiono el
Luces Pic16f628a-CCS-02 for y declaracion variables.c pulsador
{
#include <16f628a.h> if(input(pin_a1)==1) //Solo si la entrada del pin a1 en 1
#use delay (clock=4000000)
#fuses nowdt,xt {
#use standard_io(b) output_high(pin_b0); //el pin b0 ejecuta esta secuencia
cumpliendo la condiconal if
int16 tiempo=250; //Declara variable entera 16 bit int solo llega }
a 255 caracteres, segundos o ms else
{
void main() output_low(pin_b0);
{ }
output_b(0b00000000); //Configurado como salida }
}
while(1)
{
output_b(0b10000001); //b'11111111' Prender led mientras presiono botón.c
delay_ms(tiempo);
output_b(0b01000010); #include <16f628a.h>
delay_ms(tiempo);
#use delay (clock=4000000) {
#fuses nowdt,xt output_low(PIN_A0); // b1 configurado apagado para el led
//#use standard_io(b)
while(true)
void main() {
{
SET_TRIS_A(0b11111111); //Seteo los puertos "A" como entradas if(input(PIN_a1)==0)
{
while(true) //Solo realiza la secuencia cuando presiono el delay_ms(40);
pulsador
{ if(input(PIN_a1)==1)
if(input(pin_a1)==1) //Solo si la entrada del pin a1 en 1 {
{ output_toggle(PIN_A0); // 1 0 y despues 0 1
output_high(pin_b0); //el pin b0 ejecuta esta secuencia }
cumpliendo la condiconal if }
delay_ms(250); }
output_low(pin_b0); }
delay_ms(250);
}
}
}

Prender led.c

#include<16f876.h>
#fuses XT,NOWDT
#use delay (clock=4000000)
#BYTE TRISB=0x86
#BYTE PORTB=0x06

Void main ()
{
bit_clear(TRISB,0); //Configura en cero, osea como salida
bit_clear(PORTB,0); //Se apaga el led

While(1) Juego luces con for.c


{
bit_set(PORTB,0); //Se prende le led #include <16f628a.h>
delay_ms(100); #use delay (clock=4000000)
bit_clear(PORTB,0); //Se apaga el led #fuses nowdt,xt,noprotect
delay_ms(100);
} int16 tiempo=100;
} int16 i;

Juego de luces Pic16f628s-toogle1.c void main()

#include <16f628a.h> {
#use delay (clock=4000000) output_b(0b00000000);
#fuses nowdt,xt,noprotect
#use standard_io(b) while(true)
{
void main()
for(i=1;i<256;i=i*2) //for (Valor inicial ; 2da portb=~portb; //invierte la configuracion portb de 10101010 a
Ejecucion ; 1ra Ejecucion) 01010101 en bucle hasta que el contador llege al siguiente case
{ if (contador==30)
output_b(i); contador=0;
delay_ms(tiempo); delay_ms(tiempo);
} }
for(i=64;i>1;i=i/2) }
{ Prender led mientras presiono boton 2.c
output_b(i);
delay_ms(tiempo); #include <16f628a.h>
} #fuses noput, noprotect, nowdt
} #use delay(clock=4m)
} #use standard_io(a) //definido puerto a
#use standard_io(b) //definido puerto b
Juego Luces Switch case.c #define tiempo 250 //defino 250 y lo llamo tiempo

#include <16f628a.h> int w=0; // declaro variable


#use delay (clock=4000000)
#fuses nowdt,xt,noprotect byte CONST salida[2]={0x00,0x1}; //la constante de 2 posiciones
#use fast_io(b)
#byte portb=0x06 //Declaramos que al puerto 06h=0x06 lo llamaremos void main()
"portb" que asu vez representa todos los pines del puerto b
//#use standard_io(b) {
void main() port_b_pullups(true); //activo resistencias pullups
{ disable_interrupts(global); //desactivo interrupciones globales
int16 tiempo=500; output_b(salida[w]); //Enciende puerto b hasta nueva orden
int8 contador=0;
for(;;)
set_tris_b(0x00); //todo el puerto b como salida, es igual a {//bucle for indefinido
set_tris_b(0b00000000)
portb=0x00; // hace que todo el puerto b empiece apagado
if(input(pin_a0)==1) //si pin a0 es
delay_ms(tiempo); 1
{
while(true) delay_ms(tiempo);
{ w++;
contador=contador+1; if(w>1)
switch(contador) w=0;
{ output_b(salida[w]);
case 4: }
portb=0b10101010; }
break; }
case 10:
portb=0b00001111;
break;
case 20:
portb=0b00111100;
break;
case 30: //al cumplir case 30 se graba
portb=0b10000000 contador=0 y se repita 4 veces hasta case 4
portb=0b10000000;
break;
}

Potrebbero piacerti anche