梁工 发表于 2024-11-5 12:31:34

wjhhhhh 发表于 2024-11-5 11:10
这三处需要用户设置的是哪些才能不用丢弃?已有默认值就可以不需丢弃吗?谢谢




SMPDUTY就是采样时间,一般2~5us就足够了。
比如主频24MHz,ADC时钟为4MHz,SMPDUTY设置为11,则为3us采样(采样时间为SMPDUTY+1个ADC时钟)。

梁工 发表于 2024-11-5 13:03:10

dongfang 发表于 2024-11-5 11:25
我用的是STC8H1K28-36I-LQFP32,我参考了STC32G屠龙刀的例程,首先感谢你的回复指导,我看了例程里是丢弃两 ...

请测试“03-STC8H1K28-LQFP32-12路10位ADC转换-串口1(P3.1)返回结果-C语言”。



/*************        功能说明        **************
用户请先别修改程序, 直接下载"03-STC8H1K28-LQFP32-12路10位ADC转换-串口1(P3.1)返回结果-C语言"里的"ADC.hex"测试.

下载时选择主频11.0592MHZ. 测试时, 电脑的串口助手设置115200,8,n,1.

本程序演示12路ADC和bandgap查询采样,通过串口1(P3.1)发送给上位机,波特率115200,8,n,1.

0~7通道对应P1.0~P1.7, 8~11通道对应P0.0~P0.3, 15通道为内部1.19V基准电压做输入的ADC值.

初始化时先把要ADC转换的引脚设置为高阻输入.

******************************************/






dongfang 发表于 2024-11-5 18:49:33

梁工 发表于 2024-11-5 13:03
请测试“03-STC8H1K28-LQFP32-12路10位ADC转换-串口1(P3.1)返回结果-C语言”。




你好版主,我用你说的程序测试了,芯片是正常的,我把P1.0接地,P1口感应电压就没了,其他口还有感应电压,我测的结果是
接收←ADC00=0000
接收←ADC01=0000
接收←ADC02=0000
接收←ADC03=0000
接收←ADC04=0000
接收←ADC05=0000
接收←ADC06=0000
接收←ADC07=0000
接收←ADC08=0015
接收←ADC09=0018
接收←ADC10=0013
接收←ADC11=0031
接收←ADC15=0243
我的参考电压5v,计算16路ADC是(5/1024)*243=1.1865,这说明我的参考电源略低于5v,我再看看我的和你给的ADC的设置有什么区别

dongfang 发表于 2024-11-5 19:28:07

梁工 发表于 2024-11-5 13:03
请测试“03-STC8H1K28-LQFP32-12路10位ADC转换-串口1(P3.1)返回结果-C语言”。




版主我看了看你的程序和我的比较了一下,就是采用时间我设置最大32最大,别的没什么区别,AD转换程序没问题,

梁工 发表于 2024-11-5 20:40:48

本帖最后由 梁工 于 2024-11-5 20:42 编辑

dongfang 发表于 2024-11-5 19:28
版主我看了看你的程序和我的比较了一下,就是采用时间我设置最大32最大,别的没什么区别,AD转换程序没问 ...那再仔细查下程序吧,ADC转换这么简单。
页: 1 [2]
查看完整版本: 关于AD转换引脚问题奇怪现象,求解