高级会员
- 积分
- 586
- 威望
- 339
- 贡献
- 143
- 兑换币
- 177
- 注册时间
- 2013-9-12
- 在线时间
- 52 小时
- 毕业学校
- 黄山学院
|
void AD2_Init(void)
{
volatile word i;
OutFlg = FALSE;
AD1_ModeFlg = IDLE;
setReg(ADCB_ADCR1,0x4000); // 设置控制寄存器1,停止AD转换
setReg(ADCB_ADPOWER,208); //设置AD电源寄存器
setReg(ADCB_ADOFS0,0); // 设置AD偏差补偿寄存器
setReg(ADCB_ADOFS1,0);
setReg(ADCB_ADOFS2,0);
setReg(ADCB_ADOFS3,0);
setReg(ADCB_ADOFS4,0);
setReg(ADCB_ADHLMT0,999); //5个通道口采集的数据上限都是4095
setReg(ADCB_ADHLMT1,999);
setReg(ADCB_ADHLMT2,999);
setReg(ADCB_ADHLMT3,999);
setReg(ADCB_ADHLMT4,999);
setReg(ADCB_ADLLMT0,0);
setReg(ADCB_ADLLMT1,0);
setReg(ADCB_ADLLMT2,0);
setReg(ADCB_ADLLMT3,0);
setReg(ADCB_ADLLMT4,0);
setReg(ADCB_ADZCSTAT,0xff); //清除过零标志位
setReg(ADCB_ADLSTAT,0xffff); //清除高低限制标志位
setReg(ADCB_ADSTAT,0x0800); //清除EOSI标志位
setReg(ADCB_ADSDIS,224); // 使能0-4通道采样
setReg(ADCB_ADLST1,4951); //设置AD通道转换列表
setReg(ADCB_ADLST2,0);
setReg(ADCB_ADZCC,0); //设置过零点控制寄存器
setReg(ADCB_ADCR2,17); //设置预分频
setRegBit(ADCB_ADCR1,STOP); //停止AD转换
}
|
|