打印

单片机IO口能否判断一个电压值?

[复制链接]
3475|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xf2012|  楼主 | 2012-5-22 12:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
fzyuan| | 2012-5-22 13:18 | 只看该作者
可以大概的判断,一般的IO在输入模式时都会有斯密特触发器做输入。

使用特权

评论回复
板凳
xf2012|  楼主 | 2012-5-22 14:11 | 只看该作者
谢谢fzyuan!

如果有误差,是不是就是高电平—低电平的差值? 电压从高降到低的时候,是低电平的门电压起作用? 如果电压从0升高时候,就以高电平的门电压起作用?

使用特权

评论回复
地板
不亦心| | 2012-5-22 15:46 | 只看该作者
是的。

IO口搞个电阻电容,测电容充放电时间,普通IO可以做ADC

张明峰的那本PIC教材上有详细介绍。。。
4# xf2012

使用特权

评论回复
5
airwill| | 2012-5-22 18:41 | 只看该作者
嗯, 利用 IO 口的施密特输入特性, 可以接受不高不低的中间电平的输入. 也是 单片机的内部保护措施之一.
对于 CMOS 的输入口, 通常这个转换点在 VCC/2 附近. 施密特延迟电压通常很小, AVR 有个典型值 VCC/20.
不过, 并不是所有的单片机 IO 口都有这样的特性, 想利用这个特性, 得先看看数据手册关于输入回差值的描述来确定.

使用特权

评论回复
6
twuking| | 2012-5-24 15:50 | 只看该作者
若没有的话,可以在前一级加一个比较器。

使用特权

评论回复
7
t.jm| | 2012-5-24 16:54 | 只看该作者
不会有太好的方法。
比较器只能比较一个电压,
用RC测电压依赖于R和C的精度,而C的精度一般都很差。

使用特权

评论回复
8
不亦心| | 2012-5-26 12:16 | 只看该作者
不会有太好的方法。
比较器只能比较一个电压,
用RC测电压依赖于R和C的精度,而C的精度一般都很差。
t.jm 发表于 2012-5-24 16:54


可以不用RC的充放电时间来判定
参考张明峰的那本PIC教材上的方法,C完全不参与运算,精度无所谓。

使用特权

评论回复
9
airwill| | 2012-5-26 13:22 | 只看该作者
阈值不同, 用个分压电阻不就好了嘛.

使用特权

评论回复
10
xf2012|  楼主 | 2012-5-28 17:51 | 只看该作者

RE: 单片机IO口能否判断一个电压值?

本帖最后由 xf2012 于 2012-5-30 09:43 编辑

结贴,谢谢楼上各位!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

16

帖子

0

粉丝