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

📄 main.c

📁 使用摩托罗拉PC9SDG128B单片机进行AD转换试验
💻 C
字号:
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
word AD_wValue;
 word i;
void AD_Init(void)	//初始化
{
  ATD0CTL2=0xC0;  //AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止
  ATD0CTL3=0x20; // 每个序列4次转换, No FIFO, Freeze模式下继续转换
  ATD0CTL4=0x83; // 8位精度, 2个时钟, ATDClock=[BusClock*0.5]/[PRS+1]  ; PRS=3, divider=8
  ATD0CTL5=0xa3; //右对齐无符号,单通道采样,通道0 
  ATD0DIEN=0x00; // 禁止数字输入
}
void AD_GetValue(word *AD_wValue)	//读取AD转换结果
{
    *AD_wValue = ATD0DR3;  //Read out the Result Register
}
                                  

void main(void) {
  /* put your own code here */

  AD_Init();   //AD初始化
  DDRB = 0xFF;
  PORTB  = 0x00;
 // ATD0DIEN=0x80; 
 // EnableInterrupts;
  
  for(;;)
  {
       while(!ATD0STAT1_CCF3);   //等待转换结束
   //     PORTB=0xF0;
	 AD_GetValue(&AD_wValue);  //读取转换结果
      PORTB = (byte)AD_wValue;  //在B口显示转换值
  } 
 
 // EnableInterrupts;

  for(;;) {} /* wait forever */
  /* please make sure that you never leave this function */
}

⌨️ 快捷键说明

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