完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新唐单片机n76e003的ADC这么配置有什么问题吗?AD读出来是错的。
代码如下: void ADC_Init(void) { P0M1 |= 0X28; //0010 1000 设置高阻输入(AIN4/AIN6) P0M2 &= 0xD7; //1101 0111 AINDIDS = 0x00; AINDIDS = 0x50;// 0101 0000 关闭数字输入功能 } unsigned int Read_ADC_Value(unsigned char AD_IN) { unsigned int AD_Value; AD_IN &= 0x0F; while(ADCS == 1);//等待空闲 ADCF = 0;//清除转换完成标志 ADCCON0 &= 0xF0; ADCCON0 |= AD_IN ; //选择通道(AD_IN为4或6) ADCCON1 |= 0x01; //´打开转换电路 //ADCF = 0;// ADCS = 1;//开始转换 delay_1us(3); while(ADCF == 0);//等待完成 AD_Value = ADCRH; //取高8位 AD_Value <<= 4; AD_Value = AD_Value|(ADCRL&0x0F); //取低4位 //ADCCON1 &= 0xFE;// AD_Value = AD_Value / 4;//12位转10位 return (unsigned int)AD_Value; } |
|
相关推荐
1个回答
|
|
首先,看到代码中对P0口的设置,使用了按位或(|=)和“与等于”(&=)操作,如果这些设置与实际硬件连接相符的话,那么应该没有问题。
其次,我们需要检查ADC的配置是否正确。手册中提供了ADC的配置流程如下: 1. 设置ADC管脚为输入模式; 2. 设置ADC时钟频率; 3. 设置ADC输入通道; 4. 对ADC进行校准; 5. 启动ADC转换。 根据这个流程,我们可以看看代码是否符合要求,建议参考手册中的示例代码: #include "N76E003.h" #include "SFR_Macro.h" #include "Function_define.h" #include "Common.h" void ADC_Init(void) { // 1.设置ADC管脚为输入模式 P07_Input_Mode; // 2.设置ADC时钟频率 ADCCON0 = (ADCCON0 & 0xF3) | 0x08; // ADC时钟= fsys/16,即2MHz // 3.设置ADC输入通道 ADCCON1 |= SET_BIT0; // 选择CH0通道 // 4.对ADC进行校准 clr_ADCF; set_ADCS; while(ADCF == 0); clr_ADCF; ADCCON1 |= SET_BIT7; // 自动校准开启 // 5.启动ADC转换 clr_ADCF; set_ADCS; } 在这个示例代码中,首先设置了P0.7口为输入模式,然后设置了ADC时钟频率为2MHz,在ADCCON1寄存器中选择了CH0通道,并进行了校准,最后启动了ADC转换。如果你的应用场景中需要多个通道采集,需要逐个设置。 最后,如果ADC读出来的结果不准确,还需要考虑参考电压的问题,因为ADC采集的电压范围与参考电压有关。参考电压可以是内部参考电压或外部参考电压,需要根据实际情况选择并设置。 希望以上信息能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
698 浏览 0 评论
1109 浏览 1 评论
2476 浏览 5 评论
2810 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2653 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
656浏览 9评论
651浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
784浏览 6评论
632浏览 5评论
672浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 18:51 , Processed in 0.966442 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号