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

[复制链接]
 楼主| xf2012 发表于 2012-5-22 12:57 | 显示全部楼层 |阅读模式
如题!
单片机的普通IO口能否判断一个电压值,比如说6V?在高于6V时候 IO口为高电平, 低于6V时,IO为低电平?
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
airwill 发表于 2012-5-22 18:41 | 显示全部楼层
嗯, 利用 IO 口的施密特输入特性, 可以接受不高不低的中间电平的输入. 也是 单片机的内部保护措施之一.
对于 CMOS 的输入口, 通常这个转换点在 VCC/2 附近. 施密特延迟电压通常很小, AVR 有个典型值 VCC/20.
不过, 并不是所有的单片机 IO 口都有这样的特性, 想利用这个特性, 得先看看数据手册关于输入回差值的描述来确定.
twuking 发表于 2012-5-24 15:50 | 显示全部楼层
若没有的话,可以在前一级加一个比较器。
t.jm 发表于 2012-5-24 16:54 | 显示全部楼层
不会有太好的方法。
比较器只能比较一个电压,
用RC测电压依赖于R和C的精度,而C的精度一般都很差。
不亦心 发表于 2012-5-26 12:16 | 显示全部楼层
不会有太好的方法。
比较器只能比较一个电压,
用RC测电压依赖于R和C的精度,而C的精度一般都很差。
t.jm 发表于 2012-5-24 16:54


可以不用RC的充放电时间来判定
参考张明峰的那本PIC教材上的方法,C完全不参与运算,精度无所谓。
airwill 发表于 2012-5-26 13:22 | 显示全部楼层
阈值不同, 用个分压电阻不就好了嘛.
 楼主| xf2012 发表于 2012-5-28 17:51 | 显示全部楼层

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

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

结贴,谢谢楼上各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

1

主题

16

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部