• Martes 7 de Mayo de 2024, 08:09

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 - Welteroel

Páginas: [1]
1
Microcontroladores / Comunicación Serial Con Bit De Paridad
« en: Miércoles 16 de Mayo de 2007, 09:30 »
Saludos amigos, de nuevo yo molestando. La situación es que estoy realizando un comunicación serial con un PIC, la cual es de 8 bit data y bit de paridad par.

     El bit de paridad debe gnerarse por Software y he estado ha desarrollado el programa que me lo genera, pero me gustaria saber si alguno de ustedes conocen  o han desarrollado una forma más sencilla y RAPIDA  de generar el bit de paridad (que consuma menos ciclos de reloj), que el que yo he desarrollado, ya que como les he comentado anteriormen soy nuevo programando en assembler y tengo tanta destreza aun. Aqui les dejo la subrutina para la paridad que he desarrollado!

Código: Text
  1. PARIDAD
  2.   CLRF  BitPari    ; Se pone en 0 bit de paridad
  3. ; Bit 0
  4.   BTFSC  Recibido,0   ; Si [7|6|5|4|3|2|1|(0)] es 0 No Se cambia
  5.   BSF    BitPari,0  ; Si es 0 Se Cambia
  6. ; Bit 1  
  7.   RRF    Recibido,1  ; Desplazo a la derecha [X|7|6|5|4|3|2|(1)]  
  8.   MOVFW  Recibido
  9.   XORWF  BitPari,1
  10. ; Bit 2
  11.   RRF    Recibido,1  ; Desplazo a la derecha [X|X|7|6|5|4|3|(2)]    
  12.   MOVFW  Recibido
  13.   XORWF  BitPari,1
  14. ; Bit 3
  15.   RRF    Recibido,1  ; Desplazo a la derecha [X|X|X|7|6|5|4|(3)]    
  16.   MOVFW  Recibido
  17.   XORWF  BitPari,1
  18. ; Bit 4
  19.   RRF    varia2,1  ; Desplazo a la derecha [X|X|X|X|7|6|5|(4)]    
  20.   MOVFW  Recibido
  21.   XORWF  BitPari,1
  22. ; Bit 5
  23.   RRF    varia2,1  ; Desplazo a la derecha [X|X|X|X|X|7|6|(5)]    
  24.   MOVFW  Recibido
  25.   XORWF  BitPari,1
  26. ; Bit 6
  27.   RRF    varia2,1  ; Desplazo a la derecha [X|X|X|X|X|X|7|(6)]    
  28.   MOVFW  Recibido
  29.   XORWF  BitPari,1
  30. ; Bit 7
  31.   RRF    varia2,1  ; Desplazo a la derecha [X|X|X|X|X|X|X|(7)]    
  32.   MOVFW  Recibido
  33.   XORWF  BitPari,1
  34. ; Almacenaniento el bit de paridad
  35.   BCF    TXSTA,0
  36.   BTFSC  BitPari,0
  37.   BSF    TXSTA,0
  38.   RETURN
  39.  

2
Microcontroladores / Re: Tomar El Nible De Un Registro
« en: Miércoles 16 de Mayo de 2007, 09:17 »
Tienes toda la razon amiga, funciona tantocon XOR como con IOR. Mi error debio ser porque interpretando tu codigo la visualise rapidamente con una IOR, pero como tu dices, funciona perfectamente porque la operacion es con ceros.
 
    Al realizar la XOR entre los dos registros se obtendria      
                             [0|1|0|1|0|0|0|0]   (C0)
                             [0|0|0|0|1|0|0|1]   (0B)
                             ----------------------------      
                             [0|1|0|1|1|0|0|1]   (CB)
   
   Tienes toda la razón!

   Disculpa mi error y el que no me haya dado cuenta que eres un chica. Muchas Gracias, Bye!

3
Microcontroladores / Re: Tomar El Nible De Un Registro
« en: Domingo 13 de Mayo de 2007, 20:13 »
Muchisimas gracias mi amigo Toph, me entendiste perfectamente y era justo lo que necesitaba, bueno realmente funcionó con una IOR al final en vez de la XOR, pero te capte la idea perfectamente.

 Nuevemente te agradezco, hasta luego amigo!!!!

4
Microcontroladores / Re: Diferencias Entre ...
« en: Viernes 11 de Mayo de 2007, 23:25 »
Si puedes, digamos que cada UART trabaja de manera independiente, por ejemplo, con los PICs que tienen dos UART podriamas realizar hasta dos comunicacione full duplex "al mismo tiempo", el asunto esta en desarrollar el firmware que te pueda atender y controlar la comunicacion de las dos UARTs.

5
Microcontroladores / Tomar El Nible De Un Registro
« en: Viernes 11 de Mayo de 2007, 23:12 »
Saludos amigos, tengo poco tiempo programando micros con asembler y se me presento un incoveniente en el programa que estoy desarrollando para un pic 16f628. Tengo una variable almacenada en una posicion cualquiera de la memoria, necesito tomar el nible menos significativo y almacenarlo en otro registro o ubicacion de memoria, pero sin alterar el otro nible del nuevo registro donde se quiere almacenar la información. Como podria realizar esta acción? No se si me supe explicar, pero espero la ayuda que me puedan brindar!

6
Microcontroladores / Porgramar Pic24
« en: Martes 24 de Abril de 2007, 07:04 »
Alguien que haya utilizado un micro como este y me pueda dar informacion de que montaje se puede utilizar para programarlo. Asi como tambien que compiladores lo tienen en sus librerias????

7
Microcontroladores / Familia Pic 17
« en: Lunes 16 de Abril de 2007, 22:50 »
Hola Amigos... Les escribo para hacerles una pregunta que quizas para ustedes la respuesta es obvia.

Por q hay tan poca información relacionada a la familia de PIC17? Incluso en la página de la microchip no salen estos PICs al uno ingresar en la familia de los PICs de 8bits, salen  las familias 16 y 18 pero no la 17. Incluso para obtener informacion de estos dispositivos hay que buscar los Data sheet en el buscador de la pagina.

Que pasa con estos PIC?????

8
Microcontroladores / Re: Convertidor De Protocolo (urgente)
« en: Viernes 13 de Abril de 2007, 19:32 »
Gracias por tu ayuda Jpaler, voy a hacer una pruebas con la UART con software a ver si me funciona, yo estoy usando el lenguaje BASIC, pero ya veo que ASM y C son los más utilizados por lo que tendre que migrarme en este caso al C que es el de alto nivel y será mś facil para desarrollar el proyecto. Con Basic no pude configurar no pude configurar el noveno bit de paridad con 8 bits de datos, solo me permitia hacerlo con 7 bits, a pesar de que en la hoja de datos y como me dice el amigo Huguen en PIC's como el 16F876 se tiene la posibilidad de un noveno bit de dato, supondo que para este caso en especifico.

  Donde puedo encontrar (Descargar) un software (Cual?) para programar micros en alto nivel, como el  leguaje C, ya que es el más utilizado y podre conseguir apoyo más facilmente. Por ejemplo cual sería el comando para configurar la UART con 8bits data, 1 bit paridad even, 1 bit stop, 1200baudios.

9
Saludos amigos, les escribo para consultarles sobre que controlador adquirir. Estoy desarrollando un proyecto y me gustaria comprar el programador de micros para no perder tiempo en el desarrollo o montaje del mismo. He visto que los precios en el mercado son muy elevados, sin embargo consegui esto pagina donde tienen varios modelos que me parecieron interesantes. La situacion es que quiero un dispositivo que me permita programar la mayor catidad de micros posibles, por lo que les consulto a ver si ustedes conocen uno de estos y me dicen si vale la pena la inversión.

Este cuesta alrededor de 80 a 100 dolares
www.electronica.com.ve//ventas/catalog/ ... cts_id=235

Este cuentaalrededor de 20 dolares
www.electronica.com.ve//ventas/catalog/ ... cts_id=181

Esos fueron los que más me interesaron por el precio y aqui estan los otros programadores que venden:
www.electronica.com.ve//ventas/catalog/ ... p?cPath=21

10
Microcontroladores / Re: Convertidor De Protocolo (urgente)
« en: Viernes 13 de Abril de 2007, 13:51 »
Gracias por tu ayuda Huguen. Te cuento que ya he revisado algunas hojas de datos en la pagina de la microchip y he visto varios micros que cuentan con dos UARTs como el P18F8520, que posiblemente sea el que utilice. El problema esta en que domino es el lenguaje BASIC y no se si pueda programarlo con este lenguaje (que compilador puedo utilizar?).

   Recuerden que soy nuevo en el mundo de los microcontroldares. Me gustaria que me dieran una recomendación sobre que programador adquirir, que me sirva para programar multiples micros, incluyendo el antes mencionado y tambien que me den información de que compilador en BASIC puedo utilizar, algunos links para visitar paginas relacionada a la informacion correspondiente.

11
Microcontroladores / Convertidor De Protocolo (urgente)
« en: Jueves 12 de Abril de 2007, 21:09 »
Saludos amigos, soy nuevo en este foro y recurro a ustedes en busca de ayuda. Estoy desarrollado un proyecto que consiste en disenar una tarjeta de interfaz electrónica entre dos dispositivos, ya que estos usan protocolos de comunicación diferentes.

     Yo soy nuevo en esto de los microcontroladores y he utilizado un sistema de desarrollo BasicATOM, basado en el PIC 16F876 de Microchip. Ya he desarrollado un pequeño programa en BASIC, que es el lenguaje que domino,  para hacer la conversión de la data y me funciona correctamente. Sin embargo necesito mantener comunicación serial RS232 Full Duplex con uno de los equipos y comunicación Simplex con el otro, esta situación me impide desarrollar el sistema con el micro con el que cuento ahora (16F876), ya que este cuenta con una sola UART y cuando la dedico a comunicarse con un equipo, pierdo la información proveniente del otro.

    He determinado entonces la necesidad de usar dos micros en tal caso un micro con dos UARTS, como el P18F8520, pero no tengo experiencia con estos micros, ni con el manejo de dos UARTS, así que no se si con un dispositivo como este pueda mantener una comunicación full duplex y una simplex cada una con una UART.

    Otro problema que tengo con el programador que utilizo es para configurar la comunicación serial con 8 bits de datos, bit de paridad par, ya que cuando utilizo los 8 bit no puedo utilizar bit de paridad. No se si el micro que utilizo (16F876) no lo permite o es una limitación de lenguaje BASIC que estoy utilizando.

    Les solicito ayuda sobre que dispositivo (microcontrolador) y esquema eléctrico debo utilizar, así como el programador y lenguaje a utilizar con dicho micro, ya que como les dije anteriormente el lenguaje que domino es el BASIC. Recuerden también que no he podido configurar la comunicación serial con 8bits data y paridad even.

    Se que es difícil ayudarme con la información tan vaga que les suministro pero cualquier aporte o inquietud sobre lo que les he planteado sera bien recibido por mi persona.

     Sin más nada que agregar y esperando su pronta ayude se despide de ustedes Welteroel

Páginas: [1]