PIC 16f877a utilizado con serial

hola que tal..........
porfa necesito utilizar el pic 16f77A con lo que es programacion serial, pero mi duda es a que aplicacion lo haria???
estoy consiente que del pic tengo 2 pines de transmision de datos (RX ,TX) y este a su ves utilizar un circuito auxiliar em MAX232,y al la ves utilizaria el puerto serial (db9) sin embargo: eso solo es teÓrico no tengo un ejemplo para poder aplicarlo(circuito, materiales,INTERFAZ )de forma mas practica ,

Agradesco la atensión prestada a la presente.
cualquier link tutoriales, consejo te agradesco de corazon..........
 
si deseas armar un proyecto con el 16f877, yo tengo algunos que utilizan el puerto serie y son buenos, pero no tienen explicación, solo programa y el armado. Por ejemplo, un control remoto para auto de juguete. Podrías aprender mucho si te bajas los datasheets del PIC, del MAX232 y el Manual para PICs de gama media.
 
Hola acá te coloco un diagrama de conexión del pic con el 232 al PC, espero te sea de ayuda!!! Esto funciona con el 16f877a de la misma forma!....
Saludos
 

Adjuntos

  • pic-232-pc_333.doc
    38.5 KB · Visitas: 1,167
Hola

La verdad es que no tengo mucha idea de esto y he encontrado esto buscando ayuda para mi.
Yo estoy intentando hacer una comunicacion serie entre un sensor de potencia y el 16f877a, pero no con un 232, sino con la funcion especial SPI que incorpora este micro.

Alguien podría decirme alguna pista de por dnde empezar, estoy perdidisimo y el tiempo para acabar el proyecto se me ehca encima.

Los dispositivos a comunicar son :

CS5461 --> sensor de potencia (necesita comunicacion serial) (adjunto datasheet)
16F877 --> PIC
 

Adjuntos

  • doc1_132.doc
    41.5 KB · Visitas: 321
HOlA qué tal.

Creo que tengo un error de concepto, y quería saber si ustedes me podrían ayudar.

El caso es que en comunicación vía serie he visto repetidas veces MAX232 y USART.
Sé que la USART no lo tienen todos los pics y MAX232 es un módulo externo. Si se quisiera transmitir algo por puerto serie, se tendría que configurar la USART y a continuación poner un módulo MAX232????o en cambio si se tiene USART no se debería poner un MAX232???

Le agradezco todo tipo de ayuda.
 
Lo del MAX232 ya me lo habia planteado, pero mi tutor me emdio ha impuesto que quiere hacer la comunicion serial con la funcion SPI del microchip.

Agradeceria que me mandaseis alguien un ejemplo sobre ese tipo de comunicacion.

Muchas gracias.
 
Anchoasfrescas dijo:
Lo del MAX232 ya me lo habia planteado, pero mi tutor me emdio ha impuesto que quiere hacer la comunicion serial con la funcion SPI del microchip.

Agradeceria que me mandaseis alguien un ejemplo sobre ese tipo de comunicacion.

Muchas gracias.

No buscaste en las application note de microchip? hay muchos ejemplos de esto!
 
hola amigos , tengo poca experiencia en progarmar pic y estoy tratando de comunicar un 16f877 con la pc y no tengo comunicacion alguna , para eso estoy usando el hiperterminal y el sgte programa que adjunto (en picbasic pro) , espero que me ayuden si algo le falta a mi programa les agardesco su ayuda
Luis_r

*************************************************
INCLUDE "modedefs.bas"


DEFINE HSER_RCSTA 90h

DEFINE HSER_TXSTA 24h

DEFINE HSER_BAUD 9600

DEFINE HSER_CLROERR 1

RCIF VAR PIR1.5 ' PIR1.5 TOMA EL NOMBRE DE RCIF


'** DEFINIR VARIABLES

datoserial VAR BYTE
i VAR BYTE

'********************
datoserial=0


Inicio:
Pause 500

Condicion:
IF RCIF = 0 Then
HSerin [datoserial]
EndIF

IF datoserial <> 0 Then
GoSub dialogo
EndIF
GoTo condicion

'************************************************
dialogo:
For i = 1 TO 3
High PORTB.0 : Pause 100 : Low PORTB.0 : Pause 100
Next i

Return

End
 
hola.

Estoy realizando una comunicacion serie con un microcontrolador 16f877, lo unico que quiero es la transmision al pc, la simulacion larealice en proteus pero nome funciono, solo quiero transmitir el numero 48 endecimal, para losque mepuedan ayudar muchas gracias.

adjunto el archivo en mplab y elde proteus.
 

Adjuntos

  • serie_771.rar
    11 KB · Visitas: 307
Jejejejeje, que chevere que el código que subí le sirva de referencia a otros.
Dices que solo quieres enviar el 48decimal, pero cada cuando envias ese dato? por ejemplo, si quieres enviarlo cada segundo, el código sería parecido al siguiente:

Código:
   processor   16f877 
   include    <p16f877.inc> 
   __CONFIG   0x3F71 

; ------------------------------Código modificado por aztk------------------------------------- 
; inicio 
          org     0x00 
          goto    inicio
; Comienzo del programa principal 
inicio:
          bsf     STATUS,RP0     ; Bank01 
          bcf     STATUS,RP1 
          movlw   b'10111111'    ; RC7/RX entrada, 
          movwf   TRISC          ; RC6/TX salida 
          movlw   b'00100100'    ; Configuración USART 
          movwf   TXSTA          ; y activación de transmisión 
          movlw   .25            ; 9600 baudios 
          movwf   SPBRG 
          bcf     STATUS,RP0     ; Bank00 
          movlw   b'10010000'    ; Configuración del USART para recepción continua 
          movwf   RCSTA          ; Puesta en ON 

BUCLE     movlw   .48
          call    TX_DATO
          call    t1s            ; t1s es una subrutina de tiempo de 1s
          goto    BUCLE 

; Se transmite via Serie el dato que esta en el registro W 
TX_DATO   bcf     PIR1,TXIF      ; Restaura el flag del transmisor
          movwf   TXREG          ; Mueve el byte a transmitir al registro de transmision 
          bsf     STATUS,RP0     ; Bank01 
          bcf     STATUS,RP1 
TX_DAT_W  btfss   TXSTA,TRMT     ; ¿Byte transmitido? 
          goto    TX_DAT_W       ; No, esperar 
          bcf     STATUS,RP0     ; Si, vuelta a Bank00 
          return 

; Crear una subrutina de tiempo de 1s
t1s:
      .
      .
      .
          return 

          end

Buena Vibra!
 
Hola.


Muchas gracias por lainformación, la probe en proteus y funciono perfecto. ahoraestoy haciendoun programa en visual basic 6.0 para poder leer la información ( el numero 48 en decimal) y aprender mas deestacomunicacion si usted tiene algun programa que me pueda ayudar le estare agradecido.
este es mi programa en visual...
 

Adjuntos

  • prueba_117.rar
    1.5 KB · Visitas: 200
Atrás
Arriba