STC12C5A60S2单片机AD,为什么只能用一路?

2025-02-24 19:08:40
推荐回答(4个)
回答1:

STC12C5A60S2单片机有8路AD输入,但是它的AD核只有一个,1次只能进行一个输入端的AD转换,你可以看一下它的DataSheet上面是有相关的说明的,在STC官网上也有代码,进入www.stcmcu.com/网站,按下Ctrl键+F键就可以查询你想要的代码了。

回答2:

ADC_CONTR这个寄存器是控制adc转换功能引脚寄存器,你要将这个寄存器的低三位修改为你所使用的引脚号 000 p0.0
001 p0.1
010 p0.2
……

111 p0.7

回答3:

遇到了我以前的问题,首先确认你的程序没问题,我说的是控制字ADC_CONTR和P1ASF的赋值。如果没问题。重点来了,多通道用笨办法给ADC_CONTR赋值,如ch==0,ADC_CONTR直接等于0Xxx,不要用与,或赋值,这样程序比以前多几行判断赋值语句。我知道你看的很多例程和视频是用与/或 给ADC_CONTR赋值的,这些在单通道没有问题,多通道就会不成功。我也是用课程里的例程但其他通道就是没有数据。
STC有提示赋值不要用与或,所以尝试用笨办法,结果真的就解决了。判断通道号直接给ADC_CONTR赋值,测试就成功,7个通道采集不同的电压值,完全没问题。

回答4:

可用8路,找找官方的手册看看,上面有代码