×

AD1674 c语言程序

消耗积分:10 | 格式:rar | 大小:2 | 2010-08-18

分享资料个


#include
#include
#include

// define P1.0 to check STATUS.
sbit STATUS = P1^0;

unsigned char xdata CTRL  _at_ 0x2FFF;
unsigned char xdata ADSEL _at_ 0x4FFF;
unsigned char hByte;
unsigned char lByte;

void adc_Convert (void)
 { // Start a conversion with A0 and A/$C$ low.
   // The convesion takes place on rising CE edge.
   CTRL  = 0x00;
   ADSEL = 0x00;
   // Wait until we have completed a conversion .
   while(STATUS==1);
   // Set R/$C$ with A0 low and read the low byte.
   CTRL  = 0x02;
   hByte = ADSEL;
   // Set R/$C$ with A0 high and read the high.
   CTRL  = 0x03;
   lByte = ADSEL;
 }


void main(void)
 { unsigned int delay, MSB , LSB, adc_Res;
   // Initialize serial interface
   SCON  = 0xDA;        // SCON: mode 1, 8-bit UART, enable rcvr      */
   TMOD |= 0x20;        // TMOD: timer 1, mode 2, 8-bit reload        */
   TH1   = 0xFD;         // TH1:  reload value for 1200 baud @ 12MHz   */
   TR1   = 1;           // TR1:  timer 1 run                          */
   TI    = 1;           // TI:   set TI to send first char of UART    */
  
   while(1)
    { adc_Convert();
      MSB=(unsigned int)(hByte << 4);
      LSB=(unsigned int)(lByte >> 4);
      // adc_Res now has the converted data with 12-bit resolution.
      adc_Res = MSB + LSB;
      // Send adc results to the serial interface
      printf("ADC READINGS: %03Xh\n", adc_Res);
     // simple delay - it is mcu clock dependent !
      for (delay=0; delay<10000; delay++)
       ;
    }
 }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !