main.c

来自「飞思卡尔单片机ad采集程序」· C语言 代码 · 共 50 行

C
50
字号
#include <hidef.h>       /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

void delay_100us(void)
{
  int i;
  for(i=0;i<50;i++) 
  {
     asm nop;
  }
}
void ADCInit()
{
  
  ATD0CTL2=0xC0;  //AD模块上电, 快速自动清零, 无等待模式
                  //禁止外部触发, 中断禁止
  delay_100us();                
  ATD0CTL3=0x20;  //每个序列4次转换
                  //No FIFO, Freeze模式下继续转换
  ATD0CTL4=0x83;  //8位精度, 2个时钟, 
                  //ATDClock=[BusClock*0.5]/[PRS+1]  ; PRS=3, divider=8
  ATD0CTL5=0xA0;  //右对齐无符号,单通道采样,通道0 
  ATD0DIEN=0x00;  //禁止数字输入
}


void main(void) 
{ 
  char i=0;    
  ADCInit();   //AD初始化
  DDRB = 0xFF;
  PORTB  = 0x00; 
  /* put your own code here */
  EnableInterrupts;

  
   while(1) 
   {
        while(!ATD0STAT1_CCF0)   //等待转换结束
        {
          _asm nop;
        }
         PORTB = (byte)ATD0DR0;    //在B口显示转换值
         
   }
       /* wait forever */
  /* please make sure that you never leave this function */
}

⌨️ 快捷键说明

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