⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 用ADuC8xx单片机实现AD转换、DA转换、片内flashdata的操作、定时器、计数器和I2C通信的源码
💻 C
字号:
#include <ADUC812.H>
#include <stdio.h>

void main (void)
{
unsigned char chan_2_convert;

/*-----------------------------------------------
Configure the serial port to run at 300 Baud.
Yeah, this is really slow!
-----------------------------------------------*/
SCON  = 0x50;
TMOD |= 0x20;
TH1   = 0xA0;
TR1   = 1;
TI    = 1;

/*-----------------------------------------------
Configure the A/D to sequentially convert each
input channel.
-----------------------------------------------*/
ADCCON1 = 0x7C;     // 0111 1100

while (1)
  {
  unsigned int conv_val;
  unsigned char channel;

/*-----------------------------------------------
Start a conversion and wait for it to complete.
-----------------------------------------------*/
  chan_2_convert = (chan_2_convert + 1) % 8;
  ADCCON2 = (ADCCON2 & 0xF0) | chan_2_convert;
  SCONV = 1;
  while (ADCCON3 & 0x80);

/*-----------------------------------------------
Read A/D data and print it out.
-----------------------------------------------*/
  channel  = ADCDATAH >> 4;
  conv_val = ADCDATAL | ((ADCDATAH & 0x0F) << 8);

  printf ("ADC Channel %bu = 0x%4.4X\r\n", channel, conv_val);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -