Autor Tema: Necesito informacion de pic 12xxxx  (Leído 1998 veces)

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

Desconectado Zorruno

  • PIC10
  • *
  • Mensajes: 1
Necesito informacion de pic 12xxxx
« en: 29 de Octubre de 2002, 12:14:00 »
Necesito saber si es posible tener en un pic de la serie 12 la comunicacion serial asi el puerto de la PC y el protocolo i2c hacia otros dispositivos.  
Ya que estoy haciendo la coneccion desde el puerto serial al pic y del pic hacia unos dispositivos que se comunican con el pic por protocolo i2c .gracias


Zorruno

Desconectado pacalaconcurso

  • PIC24F
  • *****
  • Mensajes: 718
RE: Necesito informacion de pic 12xxxx
« Respuesta #1 en: 29 de Octubre de 2002, 13:17:00 »
siempre te sera posible implemetar la comunicacion por software.

seguro que Norberto tiene una buena libreria para asm je, je.

un saludo.

Desconectado alekspm

  • PIC10
  • *
  • Mensajes: 13
Comunicacion RS232 hacia hypertem de Windows con 12F50xA
« Respuesta #2 en: 17 de Enero de 2010, 00:29:12 »
Hola, yo he comunicado al 12F508 y al 12F509 via seriar a la hyperterm de Windows, si te sirve ahi esta el OpCode en .ASM

;Comunicaciones RS232. Controla tres líneas de salida desde hypertem de Windows
;Las líneas GP0, GP1 y GP2 cambian de estado cada vez que se reciba el carácter
;0, 1 o 2 respectivamente
      
      List   p=12F508      ;Tipo de procesador
      include   "P12F508.INC"   ;Definiciones de registros internos

;Ajusta los valores de la palabra de configuración durante el ensamblaje:
;Protección de código =OFF, WDT=OFF, MCLR=Interno y OSC= RC interno
;Estas u otras configuraciones se pueden seleccionar según las necesidades

   __config _CP_OFF&_WDT_OFF&_MCLRE_OFF&_IntRC_OSC

;Las siguientes variables determinan el tipo y velocidad de la comunicación

CLKIN   equ   .4000000   ;Frecuencia del oscilador expresada en ciclos/segundo
BAUDIOS   equ   .9600      ;Velocidad de transferencia
T_MODO   equ   1         ;Transmite 1º el bit LSB (a 0 transmite 1º el bit MSB)
R_MODO   equ   1         ;Recibe 1º el bit LSB (a 0 recibe 1º el bit MSB)
T_Nbit   equ   .8         ;Nº de bits a transmitir (7 u 8)
R_Nbit   equ   .8         ;Nº de bits a recibir (7 u 8)
Sbit   equ .1         ;Nº de bits de stop (1 o 2)

#define   Txd_pin   GPIO,4   ;Línea de transmisión
#define   Rxd_pin   GPIO,5   ;Línea de recepción

RS232VAR   equ   0x07         ;Inicio de la variables (5) empleadas
                        ;por las rutinas de Transmisión/Recepción

         org   0x00         ;Vector de Reset
         goto   Inicio

include    "RS232LOW.INC"      ;Incluir rutinas de Transmisión/Recepción

Inicio      movwf   OSCCAL      ;Almacena valor de calibración original
         movlw   b'11000111'   ;Preescaler 1:256 asignado al TMR0
         option            ;Pin GP2/TOCKI=GP2
         movlw   b'11111000'
         movwf    GPIO      ;Borra salidas
         movlw   b'11101000'   ;GP0-GP2 salidas, GP4 salida TxD
         tris   GPIO      ;y GP5 como entrada RxD
      
Loop      call   RxD         ;Esperar recibir un carácter
         movf   Rxdreg,W   ;Lee carácter recibido   
         movlw   '0'
         subwf   Rxdreg,W
         btfsc   STATUS,Z   ;Es el carácter 0??
         goto   Toggle_GP0   ;Si, GP0 cambia de estado
         movlw   '1'
         subwf   Rxdreg,W
         btfsc   STATUS,Z   ;Es el carácter 1 ??
         goto   Toggle_GP1   ;Si, GP1 cambia de estado
         movlw   '2'
         subwf   Rxdreg,W
         btfss   STATUS,Z   ;Es el carácter 2 ??
         goto   Loop      ;No, carácter inválido

Toggle_GP2   movlw   b'00000100'
         xorwf   GPIO,F
         goto   Loop      ;GP2 cambia de estado

Toggle_GP1   movlw   b'00000010'
         xorwf   GPIO,F
         goto   Loop      ;GP1 cambia de estado

Toggle_GP0   movlw   b'00000001'
         xorwf   GPIO,F
         goto   Loop      ;GP0 cambia de estado
   
         end


 

anything