Combining 4 nibble to 16bits


Closed Thread
Results 1 to 8 of 8

Hybrid View

  1. #1
    Join Date
    May 2006
    Location
    Del Rio, TX, USA
    Posts
    343


    Did you find this post helpful? Yes | No

    Default

    From what you have explained, here is something that should work:

    Code:
    Full_Word var Word
    Low_Byte  var Full_Word.lowbyte
    High_Byte Var Full_Word.Highbyte
    
    'First Nibble
    High_Byte = (PortD & %00001111)
    High_Byte = High_Byte << 4
    'Second Nibble
    High_Byte = High_Byte + (PortD & %00001111)
    'Third Nibble
    Low_Byte = (PortD & %00001111)
    Low_Byte = Low_Byte << 4
    'Forth Nibble
    Low_Byte = Low_Byte + (PortD & %00001111)
    'Full_Word now has the 16 bit result of 4 Nibbles
    HTH,
    Steve

    [i]EDIT: just changed port, since I miss read original post and used B instead of D
    Last edited by SteveB; - 12th November 2006 at 00:28.

  2. #2
    Join Date
    May 2004
    Location
    brighton
    Posts
    149


    Did you find this post helpful? Yes | No

    Cool

    Sorry sayzer

    if i didn't give enough explaination so here it is

    I have 4 variables of 4bits each
    Nibble1,Nibble2,Nibble3 and Nibble4
    Lets assume that they contain the following values

    nibble1=F which is binary 1111
    nibble2=E which is binary 1110
    nibble3=D which is binary 1101
    nibble4=C which is binary 1100

    i want to combine them to form a 16bit word variable say result
    to make result=FEDC or 1111111011011100

    Then i can use the shiftout command to send the value of result
    as

    ShiftOut DataP,Clk,MsbFirst,[result\16]

    instead of as below as i presently do it

    ShiftOut DataP,Clk,MsbFirst,[nibble1\4,nibble2\4,nibble3\4,nibble4\4]

    Those are read in on PORTD.0 - PORTD3 one at a time as the device
    i am reading is only capable of send 4bits at a time.
    i think SteveB method might work though


    Hope this is clear
    Isaac

Similar Threads

  1. 4 pin 4 x 4 keypad interface using pic basic pro
    By dunlao_john in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 15th January 2009, 05:21
  2. Microcontroller with 2 way paging application problem
    By oneohthree in forum mel PIC BASIC Pro
    Replies: 30
    Last Post: - 20th April 2007, 17:27
  3. 16f88 - pin RA4 as analog input
    By savnik in forum mel PIC BASIC Pro
    Replies: 20
    Last Post: - 15th December 2006, 13:55
  4. Real Time Clock & Eeprom
    By smart_storm in forum General
    Replies: 8
    Last Post: - 17th February 2006, 19:03
  5. having problems with Hantronix 20x4 lcd
    By Rhatidbwoy in forum mel PIC BASIC Pro
    Replies: 16
    Last Post: - 22nd December 2005, 12:22

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts