TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Sacahe en 16 de Enero de 2012, 15:14:36

Título: Conversion de Datos en PBP
Publicado por: Sacahe en 16 de Enero de 2012, 15:14:36
Hola Amigos!!!

He estado en estos dias de vacaciones cacharreando el PicBasic para aprender mas de el. Y estoy recopilando subrutinas en este lenguaje para aplicarlos en los proyectos que realice. Ahora deseo realizar una vitacora con respecto a la conversion de datos con PBP.

1. Convertir un numero contenido en dos bytes en una variable tipo Word
       Ejm: tenemos el numero 624 guardado en BYTE1 y BYTE2 (BYTE2=00000010- BYTE1=01110000) ---------------------> WORD= 0000001001110000 = H'0270'
                                                                                                          H'02'                     H'70'          CONVERSION                   
   
       Solucion:  WORD1 = BYTE2 * 256 + BYTE1


2. Convertir dos numeros BCD a su equivalente Hexadecimal
       Ejm: Tenemos BCD2=6 y BCD1=3   ---------------------> HEX=h'63'
                                                                CONVERSION

       Solucion:   HEX = (BCD2<<4) + BCD1


3. Convertir un numero Hexadecimal a su equivalente Binario
       Ejm: Tenemos el numero HEX=h'56' ---------------------> BIN= 56 = h'38'
                                                               CONVERSION

       Solucion:  BIN = ((HEX & $F0)>>4*10) + (HEX & $0F)

   
Ya seguire subiendo otros ejercicios y quien desee aportar es Bienvenido!!!  :-/
Título: Re: Conversion de Datos en PBP
Publicado por: dogflu66 en 17 de Enero de 2012, 15:27:55
Por mi parte ya tienes un seguidor del hilo, están interesantes esos procedimientos.
Título: Re: Conversion de Datos en PBP
Publicado por: Sacahe en 18 de Enero de 2012, 15:31:40
Aqui van otros ejercicios:

4. Convertir un Word (16 bits) en dos Bytes:
     Ejm: tenemos WORD= 285 = 0000000100011101 = h'011D' ---------------------> BYTE2=h'01'  y  BYTE1=h'1D'
                                                                                               CONVERSION

     Solucion:    BYTE_1 = WORD_1 // 256
                      BYTE_2 = WORD_1 / 256


5. Convertir dos numeros Hexadecimales a su equivalente Binario (16BITS) :
      Ejm:  tenemos HEX2= h'98'  y HEX1= H'42' ---------------------> BIN= 10011001110010 = h'2672' = 9842
                                                                       CONVERSION

      Solucion:  HEX2 = $98
                     HEX1= $42

                     BINARIO = ((HEX2 & $F0)>>4*1000) + ((HEX2 & $0F)*100) + ((HEX1 & $F0)>>4*10) + (HEX1 & $0F)



6. Convertir 4 numeros BCD a su equivalente Binario:
      Ejm: Tenemos BCD4=6, BCD3=2, BCD2=1, BCD1=9  --------------------->  BIN= 1100001001011 = h'184B' = 6219
                                                                                        CONVERSION
     
      Solucion:   :-)  Para realizar esta conversion aplicamos los ejercicios 2 y 5  :-)
                 
                     HEX2 = (BCD4<<4) + BCD3
                     HEX1 = (BCD2<<4) + BCD1
 
                     BIN = ((HEX2 & $F0)>>4*1000) + ((HEX2 & $0F)*100) + ((HEX1 & $F0)>>4*10) + (HEX1 & $0F)