120ad.c

来自「c8051f120单片机AD采样程序 可以直接在KEIL上运行」· C语言 代码 · 共 66 行

C
66
字号
#include "c8051f120.h"

#define UCHAR unsigned char

void SYSCLK_Init(void);
void PORT_Init(void);

void init_adc(void)
{
 SFRPAGE= 0x00;
 ADC0CN = 0x80;                      
 REF0CN = 0x02;                    
 AMX0SL = 0x00;                     
 ADC0CF = 0x90;
 EIE2 &= ~0x02;                     
 EIE1 &= ~0x04;                     
 ADC0CN = 0x80; 
}

  void Delay1uS(void)
{
 unsigned char i,j;
 for(i=4;i--;)
 for(j=255;j--;)
   ;
}    

 void SYSCLK_Init(void)
{
 int i;
 SFRPAGE=0x0F;
 OSCXCN=0x67;
 for(i=0;i<256;i++);
 while(!(OSCXCN&0x80));
 OSCICN=0x88;
}

void PORT_Init(void)
{   
   SFRPAGE=0x0F;
   XBR0=0x04;
   XBR1=0x00;
   XBR2=0x40;
}

void main()
{
  int idata adc=0x00;
  WDTCN=0xde;
  WDTCN=0xad;
  SYSCLK_Init();
  PORT_Init();
  init_adc();
  for(;;)
  {
   SFRPAGE=0x00;
   AMX0SL = 0x00;        // 模拟量输入通道,在这里只用了一个通道
   Delay1uS();
   AD0INT = 0;           // 清除转换结束标记
   AD0BUSY = 1;          // 开始转换
   Delay1uS();
   while (!AD0INT);            
   SFRPAGE=0x00;
  }
} 

⌨️ 快捷键说明

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