ADC = SYSclk/2/16/SPEED 带入公式就可以了 |
你们说的是STC-AD的采样率,有谁知道单片机的数据输出率怎么算的?? |
不一定速度快了就好,选择比较合适的,也就是在保证允许精度的情况下,尽量调快速度 |
问题解决了吗 |
F ADC = SYSclk/2/16/SPEED |
其实速度不影响AD精度,只是一般人不会用而已,51单片机实际只有一路AD硬件,通过模拟开关选择不同的通道,切换通道是需要一定的时间才能够使电压稳定,所以前面几次ADC数值不准确是正常的,切换通道时前面几次ADC丢弃,再取几次ADC平均才能够得到准确的AD数值,如果不改变通道就不需要丢弃。STC8单片机最快ADC速度=32/30M=1.0666us,每秒可以进行93.7万次,但是ADC不可以自动连续运行,启动、读取数据也需要时间,所以官方给出的数据是每秒可以进行80万次ADC。 |
不一定速度快了就好,选择比较合适的,也就是在保证允许精度的情况下,尽量调快速度 |
同问,上课听的一知半解 |
数据表里说的很清楚了,如果越快,那精度不高的。也可能抖动的历害,想稳定点,要选慢点,或多次取平均值。 |
是不是速度越快越好?为什么还要设置速度?用最快速不是很好吗 |
输入ADC模块的时钟频率=SYSclk/2 完成一次A/D转换需要16个ADC时钟脉冲 SPEED=ADC_CHS[3:0]设置状态 完成一次A/D转换时间=SYSclk/2/16/SPEED |
Y_G_G 发表于 2019-4-3 08:38 意思是 stc8a8k64s4a12单片机ADC转换速度等于:SYSclk/ (设置的speed系数) *不要去理会多少分频(2分频。。。。)和16个ADC时钟才能完成一次转换这样的描述 *直接将Speed设置为32~512,再用系统时钟除这个系数就是ADC转换速度 是这样吗? |
想继续请教一下,这个转化时间的选择是以什么来评定的呢?按理来说选择时间越短会更好呀 |
F ADC = SYSclk/2/16/SPEED SYSclk=系统频率 输入ADC模块的时钟频率=SYSclk/2 完成一次A/D转换需要16个ADC时钟脉冲 SPEED=ADC_CHS[3:0]设置状态 完成一次A/D转换时间=SYSclk/2/16/SPEED,注:SPEED的值1~16 |
不要看这个,底下表格里面已经标志好了:最快是32个系统时钟完成,最慢是512个系统时钟完成,自行设定就可以了它说的是ADC时钟等于多少的分频,实际上就是系统时钟*多少,然后就是是每16个ADC时钟完成一次ADC 最快的是2分频算一个,那就是:系统时钟*2*16=32个系统时钟 主要是你没有严谨的从头看数据手册 ![]() |