📄 ad.h
字号:
void AD_Init()
{
*ADCTRL1 = 0x10;
*ADCTRL2 = 0x8404;
*MAXCONV = 0x0F;
*CHSELSEQ1 = 0x3210;
*CHSELSEQ2 = 0x7654;
*CHSELSEQ3 = 0x0BA98;
*CHSELSEQ4 = 0x0FEDC;
}
//AD数字滤波子程序
void AD_Digital_Filter(UINT * AD0,UINT * AD1,UINT * AD3,UINT * AD6,UINT count)//count取值为3~255
{
UINT i=0;
UINT AD_temp = 0;
UINT AD0_max = 0;
UINT AD0_min = 0;
ULONG AD0_data = 0;
UINT AD1_max = 0;
UINT AD1_min = 0;
ULONG AD1_data = 0;
UINT AD3_max = 0;
UINT AD3_min = 0;
ULONG AD3_data = 0;
UINT AD6_max = 0;
UINT AD6_min = 0;
ULONG AD6_data = 0;
for(i=0;i<count;i++)
{
AD_temp=AD_result[0];
if(0==i)
AD0_max = AD0_min = AD_temp;
if(AD_temp>AD0_max)
AD0_max = AD_temp;
else if(AD_temp<AD0_min)
AD0_min = AD_temp;
AD0_data += AD_temp;
//---------------------------------------
AD_temp=AD_result[8];
if(0==i)
AD1_max = AD1_min = AD_temp;
if(AD_temp>AD1_max)
AD1_max = AD_temp;
else if(AD_temp<AD1_min)
AD1_min = AD_temp;
AD1_data += AD_temp;
//---------------------------------------
AD_temp=AD_result[13];
if(0==i)
AD3_max = AD3_min = AD_temp;
if(AD_temp>AD3_max)
AD3_max = AD_temp;
else if(AD_temp<AD3_min)
AD3_min = AD_temp;
AD3_data += AD_temp;
//---------------------------------------
AD_temp=AD_result[14];
if(0==i)
AD6_max = AD6_min = AD_temp;
if(AD_temp>AD6_max)
AD6_max = AD_temp;
else if(AD_temp<AD6_min)
AD6_min = AD_temp;
AD6_data += AD_temp;
}
AD0_data = AD0_data - AD0_max - AD0_min;
AD0_data = AD0_data/(count-2);
AD1_data = AD1_data - AD1_max - AD1_min;
AD1_data = AD1_data/(count-2);
AD3_data = AD3_data - AD3_max - AD3_min;
AD3_data = AD3_data/(count-2);
AD6_data = AD6_data - AD6_max - AD6_min;
AD6_data = AD6_data/(count-2);
*AD0 = AD0_data;
*AD1 = AD1_data;
*AD3 = AD3_data;
*AD6 = AD6_data;
}
void interrupt ADC_INT()
{
asm(" clrc SXM");
AD_j = RESULT0;
for(AD_i=0;AD_i<16;AD_i++,AD_j++)
{
AD_result[AD_i] = *AD_j>>6;
}
*ADCTRL2 = *ADCTRL2 | 0x4200;
AD_BRK = AD_result[8];
AD_ACC = AD_result[0];
ADIN_3 = AD_result[11];
ADIN_5 = AD_result[13];
ADIN_6 = AD_result[14];
asm(" clrc INTM");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -