Autor Tema: Novato con la programacion de PIC16F628  (Leído 2948 veces)

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

Desconectado astwin

  • PIC10
  • *
  • Mensajes: 3
Novato con la programacion de PIC16F628
« en: 03 de Mayo de 2007, 15:49:47 »
Hola a todo el mundo. Tengo un problemilla, soy estudiante de telecomunicaciones y tengo que hacer un trabajo de un sistema el cual incorpora un ad9851 (dds). Mi problema es que en el trabajo se nos pide un subsistema para programacion del dds y he escogido un pic16f628 (deberia escoger una fpga que de lo que nos han enseñado en la carrera, pero es mejor opcion un pic). Lo que pasa es que no tengo ni idea de como programar un pic, haber si me podeis hechar un cable, solo tengo que poner una subrutina que se encargue de la programacion. Tendria que reservar 40 bits de memoria en los cuales deberia contenerse la palabra para mandar por un puerto (programacion serie).
De los 40 bits , 32 son una palabra digital que controla la frecuencia del dds y los otros 8 son opciones de este.
Habia pensado tener 4 bytes en memoria para la palabra digital y los otros 8 o en registros o en 8 variables binarias o algo asi. Se empieza mandando el bit menos significativo de la palabra digital de 32 bits hasta el mas significativo y luego los otros 8 bits.

#DEFINE         DDS_FQ_UP       PORTB,0         ; AD9851 update pin.
#DEFINE         DDS_CLOCK       PORTB,2         ; AD9851 write clock pin.
#DEFINE         DDS_DATA        PORTB,3         ; AD9851 serial data input pin.
estos son los puertos q me he definido. Cada bit de los cuarenta se manda por dds_data, y despues un flanco de reloj de dds_clock, cuando se manden los cuarenta se finaliza con un flanco de dds_fq_up. Es una subrutina bastante facil, pero sin tener ni idea cuesta un poquito. Si alguien seria tan amable de echarme un cable le estaria muy agradecido.
« Última modificación: 03 de Mayo de 2007, 16:02:16 por astwin »

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: ayuda por favor con un pequeño programita
« Respuesta #1 en: 03 de Mayo de 2007, 15:52:29 »
en primer lugar te tengo que decir que modifiques el nombre del asunto, acaso no has leido las reglas del foro?
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado astwin

  • PIC10
  • *
  • Mensajes: 3
Re: Novato con la programacion de PIC16F628
« Respuesta #2 en: 03 de Mayo de 2007, 16:07:15 »
Lo siento mucho, tengo que ser sincero, no, no habia leido las normas del foro. La verdad esque buscando informacion sobre el tema encontre este foro y postee sin leer nada de las normas. Ruego me disculpen por esto. En todos los foros en los que soy asiduo si he leido todas sus normas y las respeto y me gusta que el resto de la gente las respete. Pero como este foro (por ahora, espero sumergirme en el mundo de los pic cuanto antes) lo he visitado y he posteado por un hecho puntual no me he molestado en leerlas.  Groseria por mi parte. Lo siento.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Novato con la programacion de PIC16F628
« Respuesta #3 en: 04 de Mayo de 2007, 19:41:43 »
Hola astwin y bienvenido al foro.

te voy a sugerir unas cuantas cosas, debido a que tu consulta le falta información.

suponiendo que vas a programar en C, puedes crear una función la cuál tenga como parametros, la información (data), en esa data obviamente irá toda la información que necesites para programar al dds, y es importante respetar los tiempos.

para crear esa función, solo basta seguir el mapa de tiempos que sale en la página 14 del AD9851.pdf, es decir todo implica que activaras o desactivaras pines con cierto retrazo (que está especificado en la tabla II) estos tiempos son los minimos, no importa si tarda un poco mas.

luego mediante un simulador (para ahorrar tiempo) miras si se está cumpliendo los tiempos de bits, siempre repito lo de respetar los tiempos entre señales porque sino no funcionará, deberás observar posteriormente que se cumpla fisicamente.


disculpa la respuesta genérica pero es lo que entendí de tu consulta.

PD: sería buena idea que empezaras a repasar ciertos conceptos de los pics (instrucciones, puertos, etc) para saber a lo que te enfrentas y puedas orientar mejor las dudas, que seguro alguno aquí te dará una mano con el código.
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado astwin

  • PIC10
  • *
  • Mensajes: 3
Re: Novato con la programacion de PIC16F628
« Respuesta #4 en: 05 de Mayo de 2007, 18:05:53 »
Hola, muchas gracias por tu contestacion. Ya esta hecho. Soy teleco y estoy tengo entrenamiento en estar puteado y aprender a programar en lenguajes nuevos, programar un dia una fpga y al dia siguiente un maldito 68000 (por dios tecnologia puntera ante todo!!), ha estar un dia midiendo parametros de radiacion y al otro programando un shell en linux (que xorras tendra q ver una cosa con otra..) . Solo era cuestion de sacar tiempo y ponerse (oooh!! tiempo, algo q hace mucho q no se lo que es). Se que es posible que no me explicara muy bien (de hecho se que me explique como el culo..). Otra vez gracias por hacer caso a un post asi.
Un saludo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Novato con la programacion de PIC16F628
« Respuesta #5 en: 07 de Mayo de 2007, 08:18:17 »
astwin, lo que te pasa a tí le pasa a todos, no solo por las características del trabajo que tenemos sino porque muchos, por hobby o curiosidad se meten en una cosa, que los lleva a otra cosa y así ... y así nos vamos quedando sin tiempo :)

Una aclaración y espero te lo tomes a bien, te pido que por favor leas las reglas del mismo, explicarte bien o no, tener tiempo o no, no implica que uses lenguaje vulgar en el foro.

Saludos


PD: bienvenido al foro.

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Novato con la programacion de PIC16F628
« Respuesta #6 en: 07 de Mayo de 2007, 08:47:26 »
Astwin, me da la impresión que esa comunicación es SPI, para lo que CCS dispone ya de una librería que te facilitará la vida.

Busca en la ayuda del compilador el comando SPI_WRITE y echa un vistazo a los ejemplos.
Si estás acostumbrado a ese tipo de batallas, esto debe ser pan comido para ti.