Need clever way to convert 10 bits to 8 bits


Closed Thread
Results 1 to 7 of 7

Hybrid View

  1. #1
    MikeTamu's Avatar
    MikeTamu Guest

    Default Need clever way to convert 10 bits to 8 bits

    Hello, I have a setup that I am working on for students to learn about analog to digital conversion. Basically, I have a variable voltage being converted by the onboard analog to digital convertor of a PIC16F88. This PIC has 10 bit A/D. I then want to be able to convert this 10 bit sample variable into 8 bits, and then send these 8 bits out a Port to a 'parallel in' digital to analog convertor (8 inputs for the 8 bits). Basically, I want my students to learn the limits of the PIC analog to digital conversion.

    Does anyone have some clever ideas on how to convert 10 bits to 8 bits without the use of floating point variables? Simply dividing by 4 to shift the answer 2 bits works in real life, but without floating point and a limit of 16 bit variables, I am stuck.

    Thanks.

  2. #2
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    what about using PBP ADCIN in 8 bit results
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  3. #3
    MikeTamu's Avatar
    MikeTamu Guest


    Did you find this post helpful? Yes | No

    Default

    I assume you are referring to the 'DEFINE ADC_BITS 8' command for ADCIN?

    I looked at the data sheet for the 16F88 and could not find any way to only use 8 bits for the analog to digital conversion. Does this DEFINE statement have more power than I give it credit for?

    Thanks.

  4. #4
    Join Date
    Jul 2003
    Location
    USA - Arizona
    Posts
    156


    Did you find this post helpful? Yes | No

    Default

    When you define ADFM=0 (default) and read the ADRESH register you are in fact converting the 10-bit reading into an 8-bit reading. This is done for you by using the 'DEFINE ADC_BITS 8' command.

    Hope this helps.

  5. #5
    Join Date
    Jul 2003
    Posts
    2,358


    Did you find this post helpful? Yes | No

    Default

    Oh Dear, I do hope there's none of your students subscribed to this list realising that teacher hasn't a clue... that aside (I'm just poking friendly fun)... Hey Lester, I got a great money-spinning idea, we need a SUBSCRIPTION ONLY section to this website... where folks can ask embarassing questions in total privacy! Kinda like the PIC/PBP version of your local hospital's Sexual Heath clinic *laughs*... OK, OK, enough Melanie, be a good girl...

    if you had MyWordVariable which contained your ten bit ADC, you could simply...

    MyByteVariable=MywordVariable/4

    or

    MyByteVariable=MyWordVariable >> 2

    both of which would divide by four happilly without the need for floats.

    The best option has already been mentioned, use the PICs ADC in 8-bit mode rather than 10-bit mode.

  6. #6
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,615


    Did you find this post helpful? Yes | No

    Wink

    Hi, Mel
    Hi, Tamu

    A fair solution for the students coul be to use a LCD ...

    Values on first line w/ 10 bits resolution ( pot position in degrees, or voltage could be more suggestive ...) , and a 8 digits bargraph ( also binary ...) on the second line ... enough room left to print the "bargraph value" ...

    No, no,Thanks, no flowers ...I' ve already got here a Nobel Prize on one of these forums ...

    Alain
    Last edited by Acetronics2; - 2nd September 2005 at 10:31.

Similar Threads

  1. Bits, Bytes Words and Arrays
    By Melanie in forum FAQ - Frequently Asked Questions
    Replies: 24
    Last Post: - 14th June 2016, 07:55
  2. Replies: 9
    Last Post: - 31st July 2008, 08:56
  3. How to work with LCD in a mode of 8 bits?
    By MCU Destroyer in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 1st July 2005, 21:10
  4. error on compiling
    By parker in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 16th June 2005, 14:31
  5. Serial Output 10 Bits
    By GEEZER in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 17th May 2005, 02:14

Members who have read this thread : 1

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