在线时间0 小时
UID360497
注册时间2012-5-22
NXP金币0
该用户从未签到
新手上路

- 积分
- 6
- 最后登录
- 1970-1-1
|
9S08 芯片如果用软件AD采样(不用中断),流程是怎么处理的。每次启动AD是哪一位操作?
第一次用FSC的IC,郁闷呢。。。。
QQ:101046388
程序如下:
unsigned int NewAd;
void main(void)
{
PTADD=0x00; //all a in
APCTL1=0x09; //ad0 ad3 set to ad port
PTAPE=0x12;
ADCSC1=0x41;//5f;
ADCSC2=0x00;
ADCCFG=0x98;//09;//45;
while(1)
{
NewAd=AdcNSample(0);
}
}
unsigned int AdcNSample(unsigned char i)
{unsigned int tad,MinAd,MaxAd,TempAdd;
unsigned char t;
tad=0;
ADCSC1_AIEN=0;
ADCSC1&=0xe0;
_NOP;
_NOP;
_NOP;
ADCSC1|=i;
ADCSC1=0x41;
MaxAd=0x00;
MinAd=0x3ff;
ADCSC2_ADTRG=0;
_NOP;
while(!ADCSC1_COCO);
ADCSC1_COCO=0;
// ADCSC2_ADACT=0;
ADCSC2_ADTRG=0;
while(!ADCSC1_COCO);
ADCSC1_COCO=0;
//---------------------
TempAdd=0;
t=18;//34;
do{
ADCSC1_COCO=0;
ADCSC2_ADTRG=0;
// ADCSC2_ADACT=1;
_NOP;
_NOP;
while(!ADCSC1_COCO);
ADCSC1_COCO=0;
tad=(unsigned int)ADCRH;
tad6);
tad&=0x3ff;
//---------------------
if (tad>MaxAd)
{
MaxAd=tad;
}
//-------------------------
if (tad>=4;
TempAdd&=0x3ff;
return(TempAdd);
}
|
|