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

📄 ad.h

📁 飞思卡尔智能车最终完整程序 具有很高的参考价值
💻 H
字号:
//AD初始化和操作类


#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */


#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
word AD_wData[9];  //全局变量存放 AD0,AD1,AD2的结果
void AD_Init(void)	//AD初始化
{
     //控制寄存器2:    上电,标志位快速清零,开中断
      ATD0CTL2  = (ATD0CTL2_ADPU_MASK|ATD0CTL2_AFFC_MASK|ATD0CTL2_ASCIE_MASK); 
     ATD1CTL2  = (ATD1CTL2_ADPU_MASK|ATD1CTL2_AFFC_MASK|ATD1CTL2_ASCIE_MASK); 
     //控制寄存器3:转换序列长度为3
     
     ATD0CTL3  =0x78;// (ATD0CTL3_S2C_MASK|ATD0CTL3_S1C_MASK);
    	ATD1CTL3 =0x78;// (ATD1CTL3_S2C_MASK|ATD1CTL3_S1C_MASK);
	 //控制寄存器4:
     ATD0CTL4  = (ATD0CTL4_SRES8_MASK|ATD0CTL4_PRS1_MASK|ATD0CTL4_PRS0_MASK);
   	ATD1CTL4  = (ATD1CTL4_SRES8_MASK|ATD1CTL4_PRS1_MASK|ATD1CTL4_PRS0_MASK);
	 //控制寄存器5:
     ATD0CTL5  = (ATD0CTL5_DJM_MASK|ATD0CTL5_SCAN_MASK|ATD0CTL5_MULT_MASK);
    	ATD1CTL5  = (ATD1CTL5_DJM_MASK|ATD1CTL5_SCAN_MASK|ATD1CTL5_MULT_MASK);
     ATD0DIEN=0x00;   // 禁止数字输入缓冲
      ATD1DIEN=0x00;   // 禁止数字输入缓冲
}

#pragma CODE_SEG NON_BANKED  //中断服务程序
#pragma TRAP_PROC
void interrupt 22 Int_AD0(void)
{
    AD_wData[0] = ATD0DR0;   //将结果寄存器中的值存放到数组中
    AD_wData[1] = ATD0DR1;   //将结果寄存器中的值存放到数组中
    AD_wData[2] = ATD0DR2;   //将结果寄存器中的值存放到数组中
    AD_wData[3] = ATD0DR3;
    AD_wData[4] = ATD0DR4;
    AD_wData[5] = ATD0DR5;
    AD_wData[6] = ATD0DR6;
    AD_wData[7] = ATD0DR7;
    AD_wData[8] = ATD1DR0;
   
   // PWM_Init();
}
#pragma CODE_SEG DEFAULT

⌨️ 快捷键说明

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