• Martes 5 de Noviembre de 2024, 15:50

Autor Tema:  Necesito Información Sobre El 16f873  (Leído 3667 veces)

Ignite

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Necesito Información Sobre El 16f873
« en: Sábado 6 de Marzo de 2004, 12:36 »
0
Hola!!!

Primero de todo quiero decir que ya sé que toda la información sobre este micro la puedo encontrar en su datasheet. Pero la verdad es que no dispongo de mucho tiempo para empezar a mirarme detalladamente toda su configuración, y como no es que sea novato en este mundillo, sé que a veces por no tocar simplemente un flag te puedes romper la cabeza para que funcione.
Una vez comentado esto, me gustaría que alguien me comentara que registros tengo que tocar para configurar y poder usar los conversores y la USART. Me bastaría con ejemplos simples ya sea en asm o en c. Soy consciente de que pido mucho, pero es que yo los PIC no los he tocado mucho pero si otras marcas,y me he encontrado a veces que para usar una simple USART tienes que tocar varios registros en un orden determinado y luego leer otros también en un orden.
Espero que alguien me guie un poco.
Gracias.

lmarte

  • Miembro activo
  • **
  • Mensajes: 73
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #1 en: Sábado 6 de Marzo de 2004, 17:37 »
0
Hola Ignite, aqui te anexo la configuración como yo la uso, espero te sirva:

Código: Text
  1. BSF    STATUS,5
  2.       movlw  b'00000110'&#59;Configuro entradas digitales
  3.       movwf  ADCON1
  4.       MOVLW    b'11000111'
  5.           MOVWF    TRISA
  6.       MOVLW  B'10010100'
  7.       MOVWF  TRISC
  8.       movlw  b'00000000'
  9.       movwf  TRISB
  10.       movlw  b'00011111'&#59;Configuro prescaler para wdt
  11.       movwf  OPTION_REG
  12.       movlw   b'00000100'
  13.       movwf   TXSTA  &#59;Configuración de transmisión asincrona  
  14.       BSF    PIE1,1
  15.      
  16.       movlw   b'00000110'
  17.       movwf   TXSTA  &#59;Configuración de recepción asincrona
  18.      
  19.       movlw    d'25'  
  20.       movwf    SPBRG  &#59;Confg a 9600 Baudios
  21.      
  22.       BCF    STATUS,5
  23.  
  24.  
         

y esto seria en el momento de tx:

Código: Text
  1. TRANSF  BCF    PORTC,3
  2.     BSF    STATUS,5  &#59;VOY AL BANCO 1
  3.     MOVLW  D'25'    &#59;CARGO W CON DATO
  4.     MOVWF  SPBRG    &#59;TRANSFIERO W A SPBRG
  5.     MOVLW  b'00100100'  &#59;CARGO W CON PALABRA
  6.     MOVWF  TXSTA    &#59;TRANSFIERE W A TXSTA
  7.     BCF    STATUS,5  &#59;VOY AL BAMCO 0
  8.     CLRF  TXREG    &#59;CLEAR TXREG      
  9.     CLRF  RCSTA    &#59;CLEAR RCSTA
  10.     BSF    RCSTA,7    &#59;HABILITA RC6 PARA TRANSMISION
  11.  
  12.  


Un saludo
Lmarte
Si no se intenta, ... no se hace

Ignite

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #2 en: Lunes 8 de Marzo de 2004, 15:32 »
0
Muchas gracias lmarte!!!!

Probaré tu codigo a ver ke tal funciona. Por lo que veo no se tiene que hacer nada raro, simplemente configurar los registros y ya ta.

Saludos.

Xolar

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #3 en: Martes 23 de Marzo de 2004, 16:19 »
0
Hola!!  Yo tambien estoy intentando trabajar con ese mismo PIC, el 16F873, pero mi cometido, entre otros es el comunicarme con el PC mediante el puerto RS-232 utiliazando el MAX-232-A.

Luego he de configurar el pic para que capture el dato entregado en el registro de transmision serie, para compararlo a su vez y configurar el registro contador, si es que cuenta con el, mi idea era realizarlo mediante una interrupcion, que creo se genera autamaticamente una vez comienzan a llegar datos por el pin Rx.

Esto debo hacerlo tres veces, pues tengo tres variables que enviarle al PIC, para que luego comience a ejecutar cierto codigo ciclico y repita una salida, basada en una tabla de valores que tendrá  que recorrerla continuamente hasta que llegue otra interrupcion.

Parece sencillo, pero la verdad es que, para mi, eso de programar un PIC partiendo de cero me parece una tarea un tanto ardua, pues he trabajado con el HC11 y el 68K y eso de programar lo tengo un poco olvidado...

Necesitaria, si no es mucha molestia, algun enlace, libro o algo parecido para poder basarme en ello. La verdad es que si pudiera recibir como contestacion algo en lo que basarme estaria muy agradecido.

Asi mismo, si quereis alguna informacion mas acerca de mi aplicacion en concreto, no tengo ningun inconveniente en comentarla, pero puede ser un poco larga y coñazo, por lo que no la incluyo en esta peticion de AYUDA!!

Gracias por todo.

lmarte

  • Miembro activo
  • **
  • Mensajes: 73
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #4 en: Miércoles 24 de Marzo de 2004, 18:03 »
0
Hola Xolar, te respondo por partes. para iniciarte en los PIC hay un foro en

Mis primeros pasos

En cuanto al 16F873, si,  tiene un modulo usart para tx y rx. Interrupción como tal no he usado con el módulo, lo que conmumente se hace es esperar a que el bit 5 del registro Pir1  sea uno lo cual nos indica que el buffer receptor está lleno y ya el byte recibido está en el registro rcreg.

Es algo así

Código: Text
  1.  
  2. full1            btfss   PIR1,5&#59;Revisa el bit 5 para ver si RCREG esta lleno
  3.     goto    full1
  4.    
  5. guardar1                 movf    RCREG,0;Guarda dato de RCREG en w
  6.                  movwf  DATO;Guarda el valor de w en registro DATO
  7.  

Pero antes de todo debes configurar los registros para txsta, spbrg, rcsta.  
Con ellos configuras la recepción asincrona, la velocidad de tx/rx y activas el módulo receptor.
No es complicado con una pasada por el datasheet es suficiente ´para entenderlos.

Espero te sirva de algo
Un saludo

lmarte
Si no se intenta, ... no se hace

Xolar

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #5 en: Jueves 25 de Marzo de 2004, 10:36 »
0
Hola Imarte, muchas gracias por tu pronta respuesta, ahora seguire por probar con un libro que he cogido de la biblioteca acerca de los PIC16F87x, al igual que me pasare por el foro que me dices.

Gracias.

Don turri

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Necesito Información Sobre El 16f873
« Respuesta #6 en: Viernes 4 de Junio de 2004, 23:55 »
0
Tengo problemas al grabar el 16f873A usando el MPlab, con la version 5.7 no me reconoce el PIC(mas bien no esta soportado), y con la version 6.4 me compila bien , pero al cargarlo en el pic, este no funciona...




ayuda!!!!!!!!!!!!!