首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PIC模数转换模块使用较短延迟读取的效果( PIC )

PIC模数转换模块使用较短延迟读取的效果( PIC )
EN

Stack Overflow用户
提问于 2013-08-18 07:57:58
回答 1查看 803关注 0票数 0

我在PIC16F887上工作,我的任务主要是基于adc读数(8bit)。有10个不同的模拟输入,因此逐个读取它们需要相当长的时间。时钟是20 The,模数转换器唯一允许的器件频率是Fosc/32 (当然是20 the时钟),这导致了TAD=1.6us

准确的adc读数应为10TAD(由于8位读取),简短地说是16us。

问题来了;例如,如果我使用10us会发生什么情况。我想要更小的延迟。我认为PIC的ADC模块使用了逐次逼近。这是否意味着首先读取最重要的位?我认为前4位的精确度对于我的计算已经足够了。但是剩余位的值是什么呢?它们会是零吗?或者身份不明,可能是任何级别的?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2013-08-18 14:18:33

请阅读PIC16F887手册中的模数转换器部分。查找有关如何使用ADC端口的特定信息。通常,不必使用在ADC端口运行时轮询ADC端口的代码。也就是说,您可以激活ADC端口,硬件将执行连续近似,完成后,硬件将在您的程序可以引用的寄存器中发布一个位。

这意味着您的代码可以多路复用多个ADC端口,并且只需在ADC为您的代码准备好样本时才需要处理来自ADC的数据。在这一点上,您需要考虑的是您自己使用ADC数据的代码的效率。

同一本手册将告诉您是否可以中断ADC以获取前四位,等等。它还将告诉您如何将ADC端口的时钟设置为不同的频率。

最后,你最好自己读这篇文章。如果您有特定的问题,请重新询问,并提供手册、页码和您的特定问题的链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18294433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档