Proyectos con pic
PROYECTOS CON PIC Y SIMULACION EN PROTEUS Por: Jorge Arturo Rodriguez Hernandez Email: george.manson.69@gmail.com
-2-
Este libro fue creado para la necesidad de hacer nuevos programas usando el compilador CCS C y unido a MPLAB IDE. Proyecto #1 Crear un Proyecto en Mplab Al abrir el programa de Mplab nos iremos a dar un click en
Debe de aparecer una ventana donde nos saluda“WELCOME” y damos un click en nos mencionara que estamos en el primer paso “Step One”. 1.-Step One: Elegir el PIC a usar
-3En seste caso se usara el pic16f628a. 2.-Step Two: Elegir el compilador a usar.
Aquí usaremos el compilador CCS C.exe. 3.-Step Three: Lugar donde se grabara el proyecto.
-44.-Step Four: Agregar más proyectos
Aquí por lo general solo se da click en next. Despues deesto solo se da en terminar “Finish” y ya esta el lugar de trabajo.
Source Files.- Aquí aparecerá la hoja de trabajo osea la hoja donde estamos escribiendo el código Header Files.- Aquí parecera los archivos “.H”. Son las características que contiene el PIC. Object Files.- Aparecen las salidas al compilar. Other Files.- Aparecen las salidas al compilar.
-5Después de hacer el lugar de trabajodebemos de crear una hoja en blanco y luego grabarla en la misma carpeta donde se creo la hoja de trabajo con la extensión “.c”
. Ahora simple mente debemos incluir la hoja en blanco a Source Files para cuando se compile no cause error.
-6Ahora bien ya para terminar como el compilador fue adherido a MPLAB hay que configurarlo, hay que indicarle donde estan los archivos .h y los driver si esque maneja en su programita. Haremos click en
Ahora buscamos donde dice mostrar directorios y seleccionamos incluir y hacemos click en new, y buscamos donde esta intalado el CCS C, (PICC) y elegimos driver y lo agregamos y otra vez hacemos click en new y agregamos devices y listo para programar!!!
-7Proyecto#2 Parpadeo de un LED
En el pin B0 del puerto B del PIC, encendera un led por1 segundo y apagara por un 1 segundo es un simple parpadeo de un LED. El diagrama es el siguiente.
En código siguiente no se usa el Master Clean. //Autor: J.A.R.H //Despripcion: Parpadeo de un led en el // PIN B0 #include #fuses INTRC_IO,NOWDT,NOLVP,NOMCLR,NOPROTECT #use delay(clock=4000000)
void main(void){ SET_TRIS_B(0x00); do{ output_high(PIN_B0); delay_ms(1000); output_low(PIN_B0);delay_ms(1000); }while(TRUE); }
-8-
Projecto#3
Contador de 00 a 99
Este es un circuito que pone aprueba el timer0 del pic, se usan dos display de ánodo común, cada vez que le picamos al push botón incrementara hasta llegar a 99 y luego se reseteara a 00. El circuito es el siguiente
El programa //------------------------------------//AUTOR:JORGE ARTURO RODRIGUEZ HERNANDEZ//TITLE;CONTADOR //DATE:22/JULIO/'09 //------------------------------------//CONFIGURACION/////////////////// #include #fuses INTRC_IO,NOWDT,NOLVP,MCLR,NOPROTECT #use delay(clock=4000000) //DEFINIMOS E/S #define EN1 PIN_A0 #define EN2 PIN_A1 #define PUSH PIN_A2 //ARREGLO PARA MOSTRAR EL NUMERO DEL 0 AL 9
-9-
int mostrar[]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b10000011,0b11111000,0b00000000,0b00011000}; //VARIABLES int N1,N2; //FUNCION DE CONFIGURACION void config(void){ set_tris_b(0x00); set_tris_a(0x04); setup_comparator(NC_NC_NC_NC); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2|RTCC_8_BIT); //overflow cada 5mS aprox set_timer0(0); //overflow=escala x clock x (256-timer0) } //INTERRUPCION POR TIMER0 #INT_TIMER0 void TIMER(void){ output_low(EN1); output_b(mostrar[N2]);output_high(EN2); delay_us(520); output_low(EN2); output_b(mostrar[N1]); output_high(EN1); } //INICIO DEL PROGRAMA void main(void){ config(); N1=0; N2=0; enable_interrupts(INT_TIMER0); enable_interrupts(GLOBAL); while(TRUE){ delay_us(5);
- 10 while(~input(PUSH)); while(input(PUSH)); N2++; if(N2==10){ N2=0; N1++; if(N1==10){ N1=0; } } } }
- 11 Proyecto#4 Contador descendente de MM:SS...
Regístrate para leer el documento completo.