BJTU 发表于 2025-1-27 23:10:10

自制一个简单示波器但是在AD采样的时间问题上遇到了bug

刚学完51,正在做一个示波器,使用的单片机是stc8h8k64u的打狗棒,主频35M,12位ADC。AD转化获取的电压值基本上是准确的,但是我的波形的频率相差非常大,示波器一大格是25个像素点,1ms挡位时我需要在1ms内采样25次,那么两次采样直接的间隔就是40us,我设置ADC工作时钟频率为 SYSCLK/2/11,一个完整ADC转化时间为26个ADC时钟(默认设置1+2+11+12),那么一次ADC转化的时间是不是1/35000000*2*11*26=16us?那我再用软件延时24us(或者用定时器)是不是就可以实现我想要的效果?为什么我按照上面的思路去做得到的波形与理论上的波形相差非常多?找了四天都找不到问题,老师们救救孩子吧{:4_184:}


下面是我的代码(刚学写的一坨见谅)

DebugLab 发表于 2025-1-27 23:19:44

可以使用PWM周期触发ADC

BJTU 发表于 2025-1-28 20:34:04

DebugLab 发表于 2025-1-27 23:19
可以使用PWM周期触发ADC

感谢建议,但是我更纠结的是我上面的思路是哪里有问题吗?我觉得挺合理的啊?{:4_167:}

梁工 发表于 2025-2-10 17:34:41

请参考我的例子。

sjh007 发表于 2025-2-16 15:29:51

刚学完51就做示波器了,都这么狠了吗
页: [1]
查看完整版本: 自制一个简单示波器但是在AD采样的时间问题上遇到了bug