Autor Tema: Ejemplitos en C para 16F648A  (Leído 736450 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado robotec

  • PIC10
  • *
  • Mensajes: 3
Re: Ejemplitos en C para 16F648A
« Respuesta #450 en: 01 de Julio de 2010, 16:30:59 »
que tal, apenas adentro al mundo de programacion en c y voy a seguir este tutorial saludos

Desconectado losgrises

  • PIC10
  • *
  • Mensajes: 2
Re: Ejemplitos en C para 16F648A
« Respuesta #451 en: 30 de Agosto de 2010, 18:19:58 »
Hola gente del foro!!  Realmente he estado leyendo hace rato muchos de los ejemplos del foro. Querria pedirles si pueden postear la libreria kdb3x4.c par usar el teclado conjuntamente con una lcd 20x2 8bit..bueno la libreria para el lcd ya la tengo lcd2.c .
Les agradeceria muchisimo que me puedan ayudar. Estoy haciendo mi proyecto de fin de carrera y una parte de ete consta de programar en un lcd un menu de opciones que dependeran estas de las teclas pulsadas del teclado 3x4 y no tengo pines de sobra para utilizar por eso tengo q realizarlo si o si de esa forma ( en conjunto ambos)(por cierto los utilizare en el puerto d a ambos).
Mi correo por si alguie quiere consultarme algo o que me faciliten la libreria kdb3x4.c es el siguiente: lui79_leon2002@yahoo.com.ar
Estare muy agradecido con cualquier ayuda!
Muchas gracias! Luis.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ejemplitos en C para 16F648A
« Respuesta #452 en: 30 de Agosto de 2010, 19:19:10 »
Es sencillo realizar la librería para un keypad, pero sino también tenes la propia de CCS, búscala como kdb.c en la carpeta driver.



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado zaratustra_x

  • PIC10
  • *
  • Mensajes: 6
Re: Ejemplitos en C para 16F648A
« Respuesta #453 en: 05 de Diciembre de 2010, 11:58:10 »
Con respecto a las librerías aquí están, ves como no es tan lamentable la filosofia del foro es compartir y compartir y compartir.
Saludos

Muchas gracias por compartir las librerias  :-/

Ssaludos

Desconectado kl-shadows

  • PIC10
  • *
  • Mensajes: 1
Re: RE: Ejemplitos en C para 16F648A
« Respuesta #454 en: 20 de Diciembre de 2010, 18:03:10 »
Desde este enlace os podeis descargar lo necesario para el programa anterior: Claves


Suerte!!! :wink:
Vs zener :
Bueno sabes estan muy buenos tus ejemplos y ademas he logrado simularlos muy bien pero tengo un pequeño 
problema porque me faltan unas librerias para el proteus.
la version mia de proteus es la v7.7 si fueras tan amable de ayudarme a conseguirlas seras un maestro para mi.
muchas gracias por tus aportes y ojala me ayudaras.

 :-/

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Ejemplitos en C para 16F648A
« Respuesta #455 en: 21 de Diciembre de 2010, 13:30:41 »
Buenas:

Todas las librerías necesarias para los ejemplitos están puestas en el primer mensaje para su descarga. En caso de que necesites librerías específicas de Proteus no te las puedo facilitar ya que están vinculadas al propio programa mediante licencia.

Un saludo ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado zerovlc

  • PIC10
  • *
  • Mensajes: 28
Re: Ejemplitos en C para 16F648A
« Respuesta #456 en: 03 de Marzo de 2011, 15:08:26 »
hola buenos primero felicitar por los ejemplos son muy utiles, me preguntaba si hay posibilidad de comunicar dos pic 16f84a utilizando el protocolo i2c y si puede ser posible algun ejemplo de este ya que voy un poco perdido gracias

Desconectado ingero

  • PIC10
  • *
  • Mensajes: 13
Re: RE: Ejemplitos en C para 16F648A
« Respuesta #457 en: 13 de Marzo de 2011, 14:35:09 »
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!<img   src="http://pics.miarroba.com/caretos/wink.gif" alt="Giño" title="Giño" />

como kedari el ejemplo en un pic 18f2550 con proteus tambien

Desconectado ingero

  • PIC10
  • *
  • Mensajes: 13
Re: RE: Ejemplitos en C para 16F648A
« Respuesta #458 en: 13 de Marzo de 2011, 14:41:46 »
Y para empezar con estos "cacharros" que mejor que decir "hola mundo" jeje pues aqui esta!!!!:

////////////////////////////////////////////////////////////////////////////////////
//                     VsZeNeR"05      
//                     26/Agosto/05
//
//   Programa:   Hola mundo
//   Version:   0.0
//
//   Dispositivo: PIC 16F648A         Compilador:    CCS vs3.227
//   Entorno IDE: MPLAB IDE v7.21      Simulador:    Proteus 6.7sp3
//
//   Notas: Se muestra por pantalla de lcd(LM016L) en la primera linea la
//         frase "hola mundo <img   src="http://pics.miarroba.com/caretos/wink.gif" alt="Giño" title="Giño" />" y en la segunda linea "VsZeNeR"05". Tener
//         en cuenta que hay que poner la directiva NOLVP para que el pin B4 sea de
//         salida.
//
//   Conexiones:      B0 -> E            
//               B1 -> RS         
//               B2 -> RW      
//               B4 -> D4        
//               B5 -> D5            
//               B6 -> D6   
//               B7 -> D7                  
//////////////////////////////////////////////////////////////////////////////////

#include <16f648a.h>            //pic a utilizar          
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP      //ordenes para el programador
#use delay (clock=4000000)         //Fosc=4Mhz
#define use_portb_lcd TRUE         //definir portb lcd
#include<lcd.c>                  //libreria manejo lcd
      
///PROGRAMA
void main(void)
{
   lcd_init();         //inicializa lcd
   printf(lcd_putc,"hola mundo ; )
VsZeNeR"05" );   //muestra por pantalla el mensaje  
}

Jeje ya sabemos encender las lcd"s.....<img   src="http://pics.miarroba.com/caretos/wink.gif" alt="Giño" title="Giño" />

como quedaria este ejemplo con el pic 18f2550

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
Re: Ejemplitos en C para 16F648A
« Respuesta #459 en: 13 de Marzo de 2011, 16:05:46 »
Ya se te ha dicho en otro tema que te pongas a estudiar.

¿No sabes cambiar un PIC por otro?

Debes de exponer alguna idea, algo, un mínimo ... de lo contrario los deberes no te los realizaremos.

Desconectado danielpardo92

  • PIC10
  • *
  • Mensajes: 1
Re: Ejemplitos en C para 16F648A
« Respuesta #460 en: 08 de Julio de 2011, 13:47:18 »
MUY BUENO... me han ayudado mucho los proyectos que ha publicado que tienen que ver con la LCD (sobre todo la del teclado) gracias...

Desconectado davidrrb1

  • PIC10
  • *
  • Mensajes: 4
Re: Ejemplitos en C para 16F648A
« Respuesta #461 en: 20 de Octubre de 2011, 02:00:39 »
Muy bueno estos ejemplos en pcw, pero tengo una duda sobre el ejemplo del contador de 0 a 99 con timer que es el ajuste fino como hago ese ajuste teniendo la formula  del timer porque lo ponen a 50ms y le hacen el ajuste disculpen las preguntas pero soy nuevo en esto de los pics y estoy haciendo cada uno de los ejemplos
if(flag>var){      //¿ya es 1 segundo?
      var--;         //SI -> decremento var...
      if(var<18)
         var=20;      //...ajuste fino de 1s
      flag=0;         //reset flag para contar 1s
      if(i>8){
 no entendi esa parte.
« Última modificación: 21 de Octubre de 2011, 12:20:32 por davidrrb1 »

Desconectado fran_j_P

  • PIC10
  • *
  • Mensajes: 5
Re: Ejemplitos en C para 16F648A
« Respuesta #462 en: 18 de Noviembre de 2011, 11:40:15 »
buen dia amigo tengo una pregunta yo le realice una modificación al programa original del 16f648a al 16f88 que el que se consigue en mi pais lo simulo y todo bien pero cuando lo monto en la practica en displey se no funciona correctamente y se coloca a saltar de un digito a otro espero pronta respuesta gracias

Desconectado callecuatro1976

  • PIC12
  • **
  • Mensajes: 85
Re: Ejemplitos en C para 16F648A
« Respuesta #463 en: 29 de Diciembre de 2011, 16:43:40 »
#include <16f84a.h>
#fuses nowdt,xt, put

#use delay (clock=4m)
#byte puerto_b=0x06
#use standard_io(b)
#use standard_io(a)


void ext(void);

unsigned int const display[10]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x73};

int x=0,y=0,z=0,o=0;

 int flag=0,var=20; 
 
void main(void{
   

set_tris_b(0x00);


puerto_b=0;

 


       
     
d:
  if (input(pin_a0)==1)
          ext();
      output_high(PIN_A1);     
      output_high(PIN_A2);
      output_high(PIN_A3);
      output_low(PIN_A4);         //activado...
      output_b(display[ x ]);      //...1º 7seg
      delay_ms(10);
      output_high(PIN_A1);
      output_high(PIN_A2);     
      output_low(PIN_A3);         //activado...
      output_high(PIN_A4);     
      output_b(display[ y ]);      //...2º 7seg
      delay_ms(10);
      output_high(PIN_A1);
      output_low(PIN_A2);         //activado...
      output_high(PIN_A3);     
      output_high(PIN_A4);     
      output_b(display[ z]);      //...3º 7seg
      delay_ms(10);
      output_low(PIN_A1);         //activado...
      output_high(PIN_A2);
      output_high(PIN_A3);
      output_high(PIN_A4);     
      output_b(display[ o ]);      //...4º 7seg
      delay_ms(10);               
     


     
     
   goto d; 

   
 
           
      }

 void ext (void) {
 


         if(x>=9){           
         x=0;           
         y++;           
         if(y>9){         
            y=0;         
            z++;       
            if(z>9){
               z=0;     
               o++;     
               if(o>9)     
                  o=0;   
               }
            }
            }
      else{
     
         x++;       }
         
       
      }       




 hise este programa basandome el el de zener y tengo un problema cuando lo cargo al pic arranca y no para nunca de contar y en el proteus anda perfecto alguna idea como seguir ,con el contador, saludos

Desconectado callecuatro1976

  • PIC12
  • **
  • Mensajes: 85
Re: Ejemplitos en C para 16F648A
« Respuesta #464 en: 29 de Diciembre de 2011, 17:28:21 »
buen dia amigo tengo una pregunta yo le realice una modificación al programa original del 16f648a al 16f88 que el que se consigue en mi pais lo simulo y todo bien pero cuando lo monto en la practica en displey se no funciona correctamente y se coloca a saltar de un digito a otro espero pronta respuesta gracias
si ami me paso algo parecido y le baje la tension al pic en 3 volt y me empezo a andar , me parese que no aguanta la corriente el pic hay que ponerle transistores


 

anything