- 打卡等级:常住居民III
- 打卡总天数:164
- 最近打卡:2025-01-04 18:47:02
注册会员
- 积分
- 52
|
发表于 2024-4-7 17:44:54
|
显示全部楼层
/*------------------------AD采样-----------------------------*/
void Get_ADC(unsigned char channel) //channel =2~3
{
P_SW2 |= 0x80; //使能访问XFR
ADCTIM = 0x29; //设置ADC内部时序,达到该单片机的采样转换速率的极限500k
P_SW2 &= 0x7f;
ADCCFG = 0x20; //设置ADC时钟为内部时钟的1/2,转换右对齐
ADC_CONTR = 0x80; //使能ADC模块
ADC_RES = 0;
ADC_RESL = 0;
ADC_CONTR = (ADC_CONTR & 0xF0) | 0x40 | channel; //启动AD转换和adc通道选择
_nop_();
_nop_();
_nop_();
_nop_();
while((ADC_CONTR & 0x20) == 0); //wait for ADC finish
ADC_CONTR &= ~0x20; //清除ADC结束标志
} |
|