完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大致流程,供参考: mv1=read_ad();//读取电压值,暂存为历史电压(read_ad()是子程序,根据你的AD自己设计) while(1) { mv2=read_ad();//读取当前电压值 if(mv2!=mv1) { mv1=mv2;//更新历史电压值 ***;//按照你自己的要求处理,可以是语句,也可以是子程序 ***;//适当延时,可有可无 } ***;//按键扫描 if(key==quit) break;//如果按了退出键,退出当前循环 }
最佳答案
|
|
|
|
采样率与分辨率不是一个概念的。一个是时间上的,一个是量程上的。
|
|
|
|
我是这么个意思,如果用一个8位adc对一个0~5v的模拟量采样,当ad的采样速度大于电压的变化速率是,是否会在一个点上多次采样,如果用单片机控制,该如何避免呢? |
|
|
|
暴躁的小黄瓜 发表于 2016-1-20 12:52 0~5v的模拟量说明是一个交流信号,那么采样率起码要高于信号频率的4倍以上最好10倍,你为何要“避免”。 |
|
|
|
暴躁的小黄瓜 发表于 2016-1-20 12:52 单片机开两个寄存器,一个存历史电压值,一个存最新电压值,如果最新电压值等于历史电压值,就不处理,再去读取下一个电压值,直到最新电压值不等于历史电压值了,你就可以按照你自己的要求处理这个新电压值了,然后用这个新电压值替换掉历史电压值。如此循环,就可以剔除掉重复的电压值了。不知道这是不是你想要的? |
|
|
|
风之追逐 发表于 2016-1-21 15:38 是 就是这个意思 |
|
|
|
0~5v的模拟量说明是一个交流信号,那么采样率起码要高于信号频率的4倍以上最好10倍,你为何要“避免”。
|
|
|
|
其实还是没懂楼主想要解决什么问题。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
896 浏览 0 评论
1532 浏览 1 评论
ad把一个15mm*1.5mm的灯放到直径15mm的圆形pcb板上,可以实现吗
1372 浏览 1 评论
1650 浏览 1 评论
请问PCB覆铜规则改成了Direct Connect为什么还是Relief Connect连接?
1962 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:21 , Processed in 0.867043 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号