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

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

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Ejemplitos en C para 16F648A
« Respuesta #360 en: 26 de Octubre de 2007, 21:09:58 »
yo mire la ayuda y decia algo que para generar nuevas secuencias habia que tomar tomar un reloj externo.... e hice una analogia con los algoritmos utilizados en las pc de numeros aleatorios (que se manejan tomando unas constantes del reloj de la compu).....
pero.......... no me dejen mentir :D (no mire las fnc srand() por dentro)..... saludos
P/D: puedo pedir un ejemplito? quisiera conocer mas el Detector de frecuencia NE567
si molesto mucho obviar el pedido :-/......
LAS MALVINAS SON ARGENTINAS!

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Ejemplitos en C para 16F648A
« Respuesta #361 en: 31 de Octubre de 2007, 21:17:14 »
HOLA!!!! es verdad vszener srand(unsigned int32 seed) es la semilla ( punto de partida ) de la secuencia pero...siempre es la misma secuencia con esa semilla a eso voy :) y nos proponen pasar el tiempo desde otra fuente para nuevas secuencias con la misma seed (por eso creo que toma otros datos mas ). Una cosita ya que estamos en el tema en el ejemplo del dado " srand(10) "// esto solo permite un punto de partida desde 10..... para limitar el maximo hay que definir RAND_MAX antes de llamar a la libreria con el  maximo (como lo hiciste en el ejemplo del dado lcd).... y si llamamos a la libreria el maximo que retorna es 32767 podemos posteriormente calcular el modulo pero bue va en gusto. perdon por ser tan pesado :(! Saludos.. numeros aleatorios cerrado
LAS MALVINAS SON ARGENTINAS!

Desconectado rodrigodedomingo

  • PIC10
  • *
  • Mensajes: 8
Re: Ejemplitos en C para 16F648A
« Respuesta #362 en: 04 de Noviembre de 2007, 21:45:19 »
Hola,

tengo un problema,creo que con los tipos de datos q estoy usando.Estoy recibiendo un dato por RS232 y tengo q hacer un cambio de variable antes de sacarlo por el puerto de salida del PIC.El cambio es y=201/93*x-48-32 y redondear el resultado al entero mas proximo pero no me va.
Estoy usando enteros para todo,q pasa cuando multiplicas un entero por un numero decimal y lo vuelcas en un entero otra vez?¿no se redondea el resultado automaticamente?¿como deberia hacer ese cambio de variable?

Muchas gracias,

Saludos.

Desconectado dawaherjesus

  • PIC12
  • **
  • Mensajes: 59
Re: Ejemplitos en C para 16F648A
« Respuesta #363 en: 09 de Febrero de 2008, 05:49:40 »
hola como les va soy totalmente nuevo en esto de los pic NO SE PRÁCTICAMENTE NADA
e estado viendo algunos ejemplos que hay por aquí tengo algunas dudas
  • E tratado de compilar un ejercicio que esta al principio de LCD y el compilador me da un erro en el comando VsZeNeR"05" );   //muestra por pantalla el mensaje exactamente con el 05
    el compilador que estoy utilisando es el CCS C
  • otra duda de donde puedo descargar el proteus para simular C
  • necesito hacer una comvercion de analogico a digital y mostrarla en un LCD como lo puedo hacer
me caería muy bien su ayuda gracias

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Ejemplitos en C para 16F648A
« Respuesta #364 en: 10 de Febrero de 2008, 21:32:15 »
haber puedo contestarte algunas preguntas, porque no me las se todas :mrgreen:

Citar
E tratado de compilar un ejercicio que esta al principio de LCD y el compilador me da un erro en el comando VsZeNeR"05" );   //muestra por pantalla el mensaje exactamente con el 05
esta no la entendí mbien, podrías colocar el link del mensaje (eso lo hacer haciendo click derecho en el titulo del numero del post y abrir en otra ventana o copiar la ruta), y decir que mensaje te sale en el compilador

Citar
otra duda de donde puedo descargar el proteus para simular C
de su pagina, hay versiones demo, o puedes comprarlo tb de la misma pagina: http://www.labcenter.co.uk/

Citar
# necesito hacer una comvercion de analogico a digital y mostrarla en un LCD como lo puedo hacer
de esto para hacerlo en el 16f648a, no creo que se pueda, pues este micro no posee conversor A/D, pero con uno que tenga, como el 16f88 u otro, creo que tendrás que hacer algo así:

definiendo antes todos los fuses y librerias necesarias, como la lcd.c; vendría:

Código: [Seleccionar]
... includes pic, libreria lcd
#device adc=8 // puede ser de 8 o 10 bits
#fuses ...
#use delay (clock=4000000)

void main()
{
   int16 adcValue;
   setup_adc_ports(RA0_ANALOG); //RA0 entrada analógica, según el micro que uses, la sentencia RA0_ANALOG a veces cambia
   setup_adc(ADC_CLOCK_INTERNAL); // reloj interno
   set_adc_channel(0);      // selecciona el canal 0
   set_tris_a(0xFF);
   lcd_init();

   do
   {
         adcValue=read_adc();     // Lee el resultado de la conversion
         delay_us(20);            // Retardo para carga del cap. de muestreo
         printf (lcd_putc,"\fValor:%u", adcValue);
         // el printf puede desplegar los datos en varios formatos, la u dice que mostrará el dato como entero sin signo, tb se puede usar una X (mayúscula o minúcula) y se mostrará en hexa, mas datos los puedes ver en el manual de CCS, que tb esta en su pagina: http://www.ccsinfo.com/downloads.php Current Compiler Manuals
   } while (TRUE);
}

creo que con eso puedes empezar, mucha de la info que te he dado esta por el foro, siempre usa el buscador dawaherjesus, que seguro ahí lo encuentras. un saludo
« Última modificación: 10 de Febrero de 2008, 21:35:29 por Cryn »
.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Ejemplitos en C para 16F648A
« Respuesta #365 en: 16 de Febrero de 2008, 08:04:49 »
Ese ejemplo a sido motivo de discordia desde que nos mudamos de foro, no se respetaron las tabulaciones y quedó de esa manera, y claro, si se hace un 'copy & paste' pues es lógico que dé error.

Bajate el archivo correspondiente de ese ejemplito y verás que está bien redactado y no dá errores.


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

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Ejemplitos en C para 16F648A
« Respuesta #366 en: 16 de Febrero de 2008, 13:07:42 »
si, eso es muy correcto, yo me descargue ese programa una vez y funcionó mbien, y hasta armando daba excelente :mrgreen:
.

Desconectado diego_z

  • PIC16
  • ***
  • Mensajes: 225
Re: RE: Ejemplitos en C para 16F648A
« Respuesta #367 en: 26 de Febrero de 2008, 01:18:05 »
hola medio tarde en esto pero estoy aprendieno sepan disculpar


este es uno el tercer ejemplo de esta post=y dice asi
En esta dire podeis descargaros los archivos: c, hex, dsn(proteus) del programa anterior del encendido de tres led"s de tres formas diferentes

<a href="http://miarroba.com/foros/ver.php?foroid=348538&temaid=3484219

me dice que el foro no existe mas podrian poner el ejemplo de nuevo no se como van las conexiones y me da error el proteus gracias  :mrgreen:
,,,,option,,,,,,,,,,,explicit,,,,,,,

DR800 big a la venta ,solo argentina por privado

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Ejemplitos en C para 16F648A
« Respuesta #368 en: 27 de Febrero de 2008, 10:07:27 »
revisa la pagina 8 o 9 creo que estan todos los ejemplos en un archivo rar para descargar. saludos

LAS MALVINAS SON ARGENTINAS!

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Ejemplitos en C para 16F648A
« Respuesta #369 en: 27 de Febrero de 2008, 16:36:27 »
Se me pasó ese enlace al antiguo foro, en el primer mensaje de este post, hay un enlace para descargarte todos los ejemplitos expuestos en este post.


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

Desconectado diego_z

  • PIC16
  • ***
  • Mensajes: 225
Re: Ejemplitos en C para 16F648A
« Respuesta #370 en: 27 de Febrero de 2008, 17:11:54 »
gracias hermanito por tu interes en ayudarme si descargando ya  :mrgreen:

te e comentado que este  foro es un libro abierto?
pues si en realidad esta muuuuuuuuuuuy bueno  :-/

solo tengo una duda como pongolas salidas de un puerto e anivel bajo al arrancar antes de wile?
« Última modificación: 27 de Febrero de 2008, 17:14:27 por diego_z »
,,,,option,,,,,,,,,,,explicit,,,,,,,

DR800 big a la venta ,solo argentina por privado

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Ejemplitos en C para 16F648A
« Respuesta #371 en: 01 de Marzo de 2008, 13:10:19 »
Buenas!!! De esta manera:

Código: C
  1. output_b(0x00);

Donde la letra b corresponde al puerto en cuestión.

PD: Hat más formas, te invito a que indagues en los ejemplitos para aprenderlas.



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

Desconectado dawaherjesus

  • PIC12
  • **
  • Mensajes: 59
Re: Ejemplitos en C para 16F648A
« Respuesta #372 en: 27 de Marzo de 2008, 20:22:14 »
hola com les va, e estado practicando con algunos de los programas que tienen aqui que estan muy buenos pero en algunos cuando los modifico y los compilo para obtener el .hex el CCS C me da un error con la linea donde se le indica las orden para el programador exactamente con la orden NOLVP que puede ser? y para que es esa orden?
la otra duda que tengo es que la tabla de prueba que tengo lo que es led los tiene por portc y los programas aqui estan por portb como hago para cambiar eso y para elegir un pin en especifico del micro, no se como configurar los pines de entrada y salida como aria
el pic que estoy usando es el 16F690
muchas gracias

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Ejemplitos en C para 16F648A
« Respuesta #373 en: 28 de Marzo de 2008, 03:04:26 »
hola dawaherjesus
mira el fuse NOLVP se trata de decirle al micro que no trabaje con voltaje bajo a programacion (no low voltage programing),en teoria no te deberia salir error,eso si el micro que usas soporta esa opcion, deberias checar el datasheet si es que lo tiene,sino lo tiene,simplemente quitaselo,a la otra pregunta pues  simplemente cambia el
#use fast_io(c) y cambias en el output_high(PIN_C0); por ejemplo,aunque hay varias maneras,para configurar los pines de entrada y salida se hace con el
set_tris_x(0x0b00001100); si es 1 es entrada, 0 es salida
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado dawaherjesus

  • PIC12
  • **
  • Mensajes: 59
Re: Ejemplitos en C para 16F648A
« Respuesta #374 en: 28 de Marzo de 2008, 03:37:11 »
estube viendo en el foro que el NOLVP nada mas se usa para el portb y yo lo estoy cambiando por el portc y el pic que estoy usando es el PIC16F690

otraa duda que opinan de las targetas de entrnamiento? quiero hacer una para practicar por que es un fastidio armar en protoboard estube pensando en armar la del amigo RedPic el RRBOARD2 que se ve chevere pero me gustaria saber si hay algo mas nuevo o mejor?
 vi tambien la de los dsPic pero aqui en mi pais no es muy facil y economico los 33f


 

anything