Ejemplitos en C para 16F648A

(1/97) > >>

vszener:
Buenass!!! aqui podreis encontrar programas realizados en C con el compilador de la casa CCS para los microcontroladores PIC de Microchip.

En este caso, para los programas se ha utilizado el pic 16F648A, se ha usado dicho pic por su precio, por su memoria, sus perifericos.....y porque tenia unos cuantos por aqui tirados sin usar!jeje

     INDICE:

        1. Parpadeo de un led cada 0,5s       
        2. Parpadeo de un led cada 0,5s 16F628A     
        3. Parpadeo de tres led"s cada 0,5s       
        4. Parpadeo de cuatro led"s cada 0,5s     
        5. Coche Fantastico v.I       
        6. Coche Fantastico v.II funcion rotar     
        7. Coche Fantastico v.III bucle while       
        8. Coche Fantastico vIV bucle for       
        8. Juego de luces         
       10. Luces. Como realizar una libreria       
       11. Contador ascendente 0a9   (7seg)         
       12. Contador descendente 9a0 (7seg)       
       13. Contador reversible 0a9 con switch (7seg)         
       14. Contador 00a99. (7seg) uso del TMR0         
       15. Contador 00a99 automatico (7seg)         
       16. Contador 0a9 BCD&Boton       
       17. Contador 0a9 BCD 2pulsadores(1.Inc  2.Decr)       
       18. Super contador 0000a9999 (7seg)         
       19. BETI parpadeo (7seg)         
       20. AUPA DEPO (7seg)       
       21. HOLA rotar hacia izquierda (7seg)     
       22. Animacion limites (7seg)       
       23. Dado digital (7seg)       
       24. Hola mundo (LCD)         
       25. Hola mundo ahorrando 1 pin (LCD)     
       26. Abecedario (LCD)       
       27. Mover palabra por pantalla LCD       
       28. Limites LCD       
       29. Escribir&Leer eeprom interna del pic (LCD)     
       30. Contador 0a9 buzzer&boton (LCD)       
       31. Escribir&Leer eeprom 24LC256 (LCD)       
       32. Dado digital (LCD)       
       33. Reloj-Calendario DS1302 (LCD)       
       34. RS232: PIC->PC         
       35. Reloj-Calendario RS232      
       36. RS232 & teclado 3x4     
       37. LCD & Teclado 3x4        
       38. Clave (LCD&Teclado 4x4)         
       39. RS232: PC->PIC        
       40. Manejo INT/RB0 interrupcion externa       
       41. Manejo ccp1 mod.comparacion flanco asc/des genera int     
       42. Animacion bateria lcd2x16     
       43. Animacion come-cocos RS232->lcd 2x16       
       44. Temperatura con ds1620 BETA        
       45. Manejo del periferico CCP1 modo PWM       
       46. CCP1 modo PWM al 50% y 75% utilizacion y creacion .h     
       47. C & ASM         
       48. Interrupcion de los pines <4:7> portb       
       49. Abecedario(1 Matriz de led"s 5x7)     
       50. Reloj digital(display"s 7seg)         
       51. Interrupcion RS-232. Lectura/Escritura eeprom interna       
       52. Interrupcion RS-232. Lectura/Escritura eeprom 24LC256   
       53. SAA1064 modo DINAMICO       
       54. SAA1064 modo ESTATICO       
       55. PCF8591 modo D/A         
       56. PCF8591 modo A/D         
       57. Manejo 16 display's 7seg con dos pines del micro (4 SAA1064 en bus i2c)   
       58. Termometro digital con ds1620      

     HERRAMIENTAS:

       MPlab IDE  -> Entorno de trabajo
       CCS Plug-in MPlab -> Integrar nuestro compilador CCS al entrono MPlab
       CCS Demo -> Una version demo de nuestro compilador
       Como integrar CCS en Proteus -> CCS en PROTEUS
       Como simular CCS en Proteus -> Debug con codigo .c
       CCS manual -> Manual CCS en ingles(ultima version)
       Manual CCS -> Manual de nuestro compilador en espaņol
       7Seg -> Programa que genera el codigo de display"s 7segmentos(ac & cc)
       LCD 5x7 -> Programa que genera codigo para caracteres cgram LCD 5x7
       ASCII & RCC -> Programas para obtener codigo ASCII y RCC para colores resistor


     REVISIONES:

        1. El programa 51 es la revision del programa 29
        2. El programa 52 es la revision del programa 31



Recordar que estos programas fueron pensados para usar las funciones del compilador CCS manejando los perifericos del pic, por lo tanto, estos programas son validos para cualquier pic, eso si, con las modificaciuones oportunas y sus respectivas especificaciones y limitaciones del propio pic!

PD: Aqui os dejo un enlace a mi disco duro virtual para la descarga completa de los programitas y demas cosas!!! VsZeNeR-Disco Duro Virtual

Suerte!!! :wink:

vszener:
El primer ejemplo como no!!! la iluminacion de un led!!!jeje alguien alguna vez a visto programa similar???jeje bueno fuera de bromas por alguno hay que empezar y este es el nivel inferior jeje. El programa consiste en el encendido y apagado d eun led cada 0.5s por el pin RB0 del pueto B:

////////////////////////////////////////////////////////////////////////////////////
//   VsZeNeR"05      
//             6/Agosto/05
//
//Programa:   Parpadeo de un led cada 0.5s
//Version:   0.0
//
//Dispositivo: PIC 16F648A      Compilador:    CCS vs3.227
//Entorno IDE: MPLAB IDE v7.20   Simulador:    Proteus 6.7sp3
//
//Notas: Parpadeo de un led cada 0.5s por el pin RB0 del puerto B
//////////////////////////////////////////////////////////////////////////////////

#include <16f648a.h>         //pic a utilizar          
#fuses XT,NOWDT,NOPROTECT,PUT      //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#use fast_io(b)

///PROGRAMA
void main(void)
{
   set_tris_b(0xFE);   //portb como salida(RB0,las demas desactivadas)
   disable_interrupts(GLOBAL);   //todas las interrupciones desactivadas
   
   do{   
      output_low(PIN_B0);          //led off
      delay_ms(500);            
      output_high(PIN_B0);        //led on
      delay_ms(500);
   }while(TRUE);                //bucle infinito
}

Seguimos en contacto!

LordLafebre:
Hola:

Que bien.... con ejemplos es como a mi parecer se aprende mas rapido.... yo tambien estoy colgando ejemplos pero en el foro PBP y PROTON+, estaba queriendo aprender a programar en C, ya tengo el compilador y ahora solo queda seguir uno a uno los ejemplos que vayas colgando... y de ves en cuando o si no es muy seguido ire haciendote preguntas de "NOVATO", puedo este mismo programa utilizarlo para un pic 16F628...?

vszener:
Hola lordlafebre!!!por supuesto que puedes ir haciendo preguntas, asi entre todos podremos aprender juntos jeje(que bien suena), bueno con respecto hacia el pic 16F628 decirte que microchip sugiere que utilicemos la version 16F628A y claro que se puede utilizar este ejemplito para el pic que mencionaste, solamente tendremos que adecuarlo a sus necesidades, y esta vez adecuarlo es bastante facil, solamente tendremos que cambiar el include a nustro pic seleccionado(para asi poder utilizar las variables y funciones definidas para este dispositivo) y nada mas!!!!(nada mas por ser el ejmeplito muy facil jeje en otros dsipositivos tendriamos que ver si tienen los mismos perifericos etc), y aqui esta el programa modificado para el PIC 16F628A:

////////////////////////////////////////////////////////////////////////////////////
//      VsZeNeR"05      
//                14/Agosto/05
//
//Programa:   Parpadeo de un led cada 0.5s
//Version:   0.0 revision del 16F628a
//
//Dispositivo: PIC 16F628A      Compilador: CCS vs3.227
//Entorno IDE: MPLAB IDE v7.20   Simulador:   Proteus 6.7sp3
//
//Notas: Parpadeo de un led cada 0.5s por el pin RB0 del puerto B
//////////////////////////////////////////////////////////////////////////////////

#include <16f628a.h>         //pic a utilizar          
#fuses XT,NOWDT,NOPROTECT,PUT      //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#use fast_io(b)

///PROGRAMA
void main(void)
{
   set_tris_b(0xFE);   //portb como salida(RB0,las demas desactivadas)
   disable_interrupts(GLOBAL);   //todas las interrupciones desactivadas
   
   do{   
      output_low(PIN_B0);   //led off
      delay_ms(500);            
      output_high(PIN_B0);   //led on
      delay_ms(500);
   }while(TRUE);         //bucle infinito
}

Decir que aqui esta el enlace a la pagina que microchip a dedicado para el dispositivo 16F628a:
http://www.microchip.com/stellent/idcplgidcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010210

vszener:
Desde esta direccion se podeis descargas el programa en c, el archivo hex y la simulacion en proteus


Suerte!!! :wink:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente