• Miércoles 6 de Noviembre de 2024, 02:45

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - LexCorp

Páginas: [1]
1
Microcontroladores / Re: Envio De Datos Por El Puerto Serial Pic-pc
« en: Miércoles 5 de Abril de 2006, 19:38 »
Bueno hola Karen81  :hola: , mira en el codigo que te escribi, el programa lo que hace es enviar los numeros que ahi aparecen, es decir envio el codigo en hexadecimal de una secuencia de numeros, es decir, en hexadecimal envio 0x20 que en decimal es 32, lo cual en ASCII es el caracter espacio, hasta el 0x41 que en ASCII es el caracter " ) " el programa envia los datos pero no estoy muy seguro de que los haga de la forma correcta, y tienes razon el cachito de codigo que mencionas:

Código: Text
  1.  
  2. CLRF contT;Inicializa contador en cero
  3. MOVWF dato&#59;lo guarda en dato
  4.  
  5.  

Esta de mas la instruccion, no es necesaria, sin embargo si manda datos.

Bueno continuando, yo utilice la hiperterminal de windows y no recibo nada, mi configuracion ya la viste, utilizo el cristal de 4MHz y los capacitores de 22p pero no se si tenga que ver algo la configuracion de mi programa, es decir, yo quiero utilizar la velocidad de transmision a 9600 Bauds.

Mis preguntas son las siguientes:

1.-Que sistema operativo utilisaste para la comunicacion??, lo que pasa es que he oido que windows XP desabilita el puerto paralelo.

2.-Que pic fue el que utilisaste para tu programa?

3.- Podrias pasarme la configuracion que utilisaste, que cristal, capacitores de cuanto, para que yo lo pueda reproducir, y asi salir de dudas, mas que nada por que en verdad quiero saber en que estoy mal. Utilizaria la hiperterminal para probarlo, pero anda pasame la configuracion.
Utilisas ensamblador igual que yo para el codigo, solo eso quiero, un ejemplo que ya alla funcionado para corregir mis errores.

He probado tambien mi circuito con un programa en java pero nada mas no me recibe nada, solo pura basura, eso me da a entender que los datos estan siendo enviados mal, pero no se si manejo mal la velocidad de transmision.

Si es que no quieres postear tu programa  me lo podrias manda a mi mail???

P.D. En verdad necesito ese favor...  :D

2
Microcontroladores / Re: Envio De Datos Por El Puerto Serial Pic-pc
« en: Viernes 17 de Marzo de 2006, 22:35 »
Hola disculpen la otra vez ya habia ecrito al foro por lo de un problema con un pic, en especifico el 16F877, pero hice una configuracion con el pic y sigue sin funcionar, nose si podrian decirme si tiene un error el codigo fuente, o tal vez sea la forma en que hago las conexiones del pic a la pc, podrian ayudarme, y por cierto karen81, a el circuito que esta en la pagina de pablin, dijiste que le quitaste la resistencias de 4.7k, solo se la quitaste o dejaste la union del circuito en lugar de la resistencia???
Bueno aqui esta mi programa, alguien podria ayudarme diciendome si he configurado mal???
Utilizo el pic 16F877 con un crystal de 4MHz y capacitores de 22p, con un boton conectado a una patita del pic, mando una señal para que en vie el siguiente dato, envio datos en hexadecimal, si los envia pero los envia de una forma muy rara.
CUAL SERA EL PROBLEMA?????

                Include "p16f877.inc"
dato    EQU 0x21
cont          EQU 0x20
N              EQU 0xA5
contT        EQU 0x22
   org 0x0000
trans    BSF STATUS,RP0 ;banco 1
                MOVLW 0x80 ;Todos los bits del puerto C como salidas
                MOVWF   TRISB ;y el MSB como entrada
   BSF    TXSTA,BRGH ;pone bit BRGH=1    (velocidad alta)
   MOVLW .25 ;valor para 9600 Bauds (Fosc=4.000 Mhz)
   MOVWF SPBRG ;configura 9600 Bauds
   BCF TXSTA,SYNC ;limpia bit SYNC (modo asíncrono)
   BSF TXSTA,TXEN ;pone bit TXEN=1 (habilita transmisión)
   MOVLW 0xbf   ;RC7/Rx entrada,
   MOVWF TRISC   ;RC6/Tx salida
   BCF STATUS,RP0 ;regresa al banco 0
   BSF RCSTA,SPEN ;pone bit SPEN=1 (habilita puerto serie)
               CLRF cont ;Inicializa contador en cero
               CLRF contT ;Inicializa contador en cero
               MOVWF dato ;lo guarda en dato
               CALL envia
       
tecla   BTFSS PORTB,7 ;checa botón
        GOTO tecla ;Si no se ha presionado espera
        CALL d20ms ;pausa de 20 milisegundos
        BTFSS PORTB,7 ;checa nuevamente el botón
        GOTO tecla ;tecla falsa, espera de nuevo
        INCF cont,1 ;tecla válida, incrementa contador
        CALL codigo ;obtiene código para desplegar el contador
        MOVWF dato ;lo guarda en dato
        CALL envia
suelt   BTFSC PORTB,7 ;checa de nuevo el botón
        GOTO suelt ;si sigue presionado espera
        GOTO tecla ;si ya se soltó espera nueva presión.
;*************************************************
;Subrutina para enviar un dato por el puerto serie
;*************************************************
envia   BSF STATUS,RP0 ;banco 1
esp    BTFSS TXSTA,TRMT ;checa si el buffer de transmisión
      GOTO esp ;si está ocupado espera
      BCF STATUS,RP0 ;regresa al banco 0
      MOVF dato,W ;rescata dato a enviar
        MOVWF PORTB
      MOVWF TXREG ;lo envía
      RETURN
;*************************************************
;Subrutina para obtener dato
;*************************************************
codigo
                               MOVLW 0x1f ;carga máscara
      ANDWF cont,0 ;enmascara el contador y lo deja en W
      ADDWF PCL,1 ;Salta W instrucciones adelante
      RETLW 0x20
      RETLW 0x21
      RETLW 0x22
      RETLW 0x23
      RETLW 0x24
      RETLW 0x25
      RETLW 0x26
      RETLW 0x27
      RETLW 0x28
      RETLW 0x29
      RETLW 0x2A
      RETLW 0x2B
      RETLW 0x2C
      RETLW 0x2D
      RETLW 0x2E
      RETLW 0x2F
      RETLW 0x30
      RETLW 0x31
      RETLW 0x32
      RETLW 0x33
      RETLW 0x34
      RETLW 0x35
      RETLW 0x36
      RETLW 0x37
      RETLW 0x38
      RETLW 0x39
      RETLW 0x3A
      RETLW 0x3B
      RETLW 0x3C
      RETLW 0x3D
      RETLW 0x3E
      RETLW 0x3F
      RETLW 0x40
      RETLW 0x41
        RETURN

;*****************************************
;Rutina de Pausa que dura 20 milisegundos
;*****************************************
d20ms  
        MOVLW N ;Carga dato que controla la duración
        MOVWF contT ;inicializa contador con el dato
rep     DECFSZ contT,1 ;Decrementa contador y escapa si cero
        GOTO rep ;si no es cero, repite
esc     RETURN ;regresa de esta subrutina

   end

3
Microcontroladores / Re: Envio De Datos Por El Puerto Serial Pic-pc
« en: Lunes 6 de Marzo de 2006, 10:00 »
Hola a todos, soy nuevo en el foro y he leido sobre lo que han hecho con el pic16F877, yo estoy en un proyecto con ese pic, pero mi duda es que si es necesario tener un convertidor a rs232, com por ejemplo el MAX232, o si solo conectando las salidas TX, RX del USART del pic puedo hacer el envio y recepcion de datos con una pc, ya que he tenido problemas probando con la pc, es decir le envio cualquier dato a la pc por medio del pic, pero me lo recibe como caracteres raros, no saben si se deba a la velocidad de transmision, o si necesita el MAX o podrian enviarme un programa de ejemplo de envio de datos que si funcione, que ya halla sido probado para guiarme, y que cristal utilizaron. Su ayuda va a ser de gran valor para mi.

Páginas: [1]