Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
11/16/09 17:32
Read: times


 
#170875 - ADCMODE change
Responding to: ???'s previous message
You're right, that was a problem. Also, I changed ADCMODE to ADCMODE |= 0x22;
Now whether I input 0 Volts or 5 Volts, I get the output 0x8000.
Does it sound like I may have selected the wrong channels for the primary ADC?

I will repost the code.


#include <ADUC816.H>
#include <stdio.h>

void main (void)
{
/*-----------------------------------------------
Configure the serial port
-----------------------------------------------*/
SCON  = 0x50;
TMOD |= 0x20;
TH1   = 0xFA;
TR1   = 1;
TI    = 1;
PCON |= 0x80;

/*-----------------------------------------------
Configure the A/D to sequentially convert each
input channel.
-----------------------------------------------*/
  ADC0CON = 0x17;
  SF = 0x0D;


while (1)
  {
  unsigned int conv_val;

/*-----------------------------------------------
Start a conversion and wait for it to complete.
-----------------------------------------------*/
  ADCMODE |= 0x22;
  while (RDY0 != 1);
  RDY1 = 0;										/*Ready bit for PRIMARY ADC

/*-----------------------------------------------																	  1
Read A/D data and print it out.
-----------------------------------------------*/
  conv_val = ADC0M | ((ADC0H) << 8);

  printf ("Primary ADC Channel 3 = 0x%4.4Xrn", conv_val);
  }

}
 



List of 7 messages in thread
TopicAuthorDate
ADUC816            01/01/70 00:00      
   what error? which compiler?            01/01/70 00:00      
      Not seeing output values.            01/01/70 00:00      
   while (RDY1 != 1);            01/01/70 00:00      
      ADCMODE change            01/01/70 00:00      
         Success!            01/01/70 00:00      
            Well done            01/01/70 00:00      

Back to Subject List