找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 15841|回复: 11
打印 上一主题 下一主题
收起左侧

单片机p0口外接数码管上拉电阻的问题

[复制链接]
跳转到指定楼层
楼主
ID:253035 发表于 2017-11-25 22:40 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
单片机io接了上拉电阻的话,外部5v的压降全部加载到1k电阻上,输出5ma电流
如果没有上拉电阻的话,外部电压全部加载到数码管上电流不应该更大吗
主要是不太理解p0口置1有无上拉电阻时,电路中的电流究竟是怎么来的,p0口输出电压究竟是多少(5v?)与外接5v电源在电路之间的关系,望各位大侠指点一二

1E4FD293-B4BC-4B8C-B918-F5FBDE605205.png (120.19 KB, 下载次数: 84)

1E4FD293-B4BC-4B8C-B918-F5FBDE605205.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:253655 发表于 2017-11-26 00:44 | 只看该作者
单片机是5V供电的话,IO口的电压就是0V或5V。当IO口为0V时,数码管电流不是5毫安,计算方法为供电电压(5V)-IO口电压(0V)-数码管电压(0.7v),再除以1K
回复

使用道具 举报

板凳
ID:155507 发表于 2017-11-26 08:57 | 只看该作者
楼主看一下单片机的内部结构吧!
你看了片子内部结构就知道除了P0口外 其他3口都接了上拉电阻 所以 一旦P0口要用作I\O口使用 就必须接上拉电阻

对于共阴极数码管,需要高电平才能驱动
P0为什么要上拉电阻原因有:
1。 P0口片内无上拉电阻
2。 P0为I/O口工作状态时,上方FET被关断,从而输出脚浮空,因此P0用于输出线时为开漏输出。
3。 由于片内无上拉电阻,上方FET又被关断,P0输出1时无法拉升端口电平。
4、上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,
驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。

不过,加1K上拉后,电流并不是5V/1K=5mA。因为led一般会有2V左右的压降,这样1K电阻两端只有3V左右的电压,流过的电流只有3mA左右!
回复

使用道具 举报

地板
ID:155507 发表于 2017-11-26 08:58 | 只看该作者
传统的51单片机P0口的电流驱动能力较弱。如果用来驱动数码管(多段的LED),建议增加外部的驱动器:用51单片机的P0口驱动外部驱动器,再由外部驱动器驱动数码管。这时P0口可以不用上拉电阻。
(外部驱动器可以是三极管或集成电路)
回复

使用道具 举报

5#
ID:113415 发表于 2017-11-26 09:00 | 只看该作者
关于上拉电阻作用的解释:
  先看图(本图仅供示意,并不是内部真的构造!),芯片内部,每个IO管脚都有相应的场管,其集电极(漏极)有电阻,这个电阻能提供的电流是有限的,如果负载需要电流小于这个限度,则不加上拉电阻也能工作。
  当负载电流较大,超出限度后,必须加上拉电阻,本质上,就是在原来集电极电阻基础上又并联了一个集电极电阻。

1.gif (9.75 KB, 下载次数: 54)

1.gif
回复

使用道具 举报

6#
ID:242746 发表于 2017-11-26 11:55 | 只看该作者
P0口没有内部上拉电阻,相当于开漏输出,只有接地与不接地两种状态。用于驱动LED等负载可以不加上拉电阻,相当于在LED负极串联开关。但是要驱动芯片之类时,无法输出1,必须加上拉。
回复

使用道具 举报

7#
ID:253035 发表于 2017-11-26 15:39 | 只看该作者
angmall 发表于 2017-11-26 08:57
楼主看一下单片机的内部结构吧!
你看了片子内部结构就知道除了P0口外 其他3口都接了上拉电阻 所以 一旦P0 ...

可不可以这样理解,P0口置1时处于悬空状态,电流直接由外部5V电源经过图上交叉的节点和数码管流向接地的P2口,P0口置0时接地,电流不会经过数码管直接流量P0内部的地。
但是如果没有这个上拉电阻的话,P0口置1时,没有电阻的电流同样是由外部电源经过中间节点流向数码管吗
回复

使用道具 举报

8#
ID:155507 发表于 2017-11-26 18:27 | 只看该作者
但是如果没有这个上拉电阻的话,P0口置1时,处于悬空状态,电流怎么来的?
回复

使用道具 举报

9#
ID:111634 发表于 2017-11-26 19:18 | 只看该作者
先学理论,打基础,否则,问题多多,事倍功半。
回复

使用道具 举报

10#
ID:253035 发表于 2017-11-26 19:54 | 只看该作者
angmall 发表于 2017-11-26 18:27
但是如果没有这个上拉电阻的话,P0口置1时,处于悬空状态,电流怎么来的?

图中不是接了排阻上方外部5v电源吗,与接地P2口难道 不能行成压差吗,P0口悬空的时候
回复

使用道具 举报

11#
ID:253035 发表于 2017-11-26 19:56 | 只看该作者
zl2168 发表于 2017-11-26 19:18
先学理论,打基础,否则,问题多多,事倍功半。

感觉到了,现在就是想回头来把不太理解的都搞明白,之前都是编个程序就完事了,电路为什么这么设计不太了解
回复

使用道具 举报

12#
ID:253988 发表于 2017-11-26 23:49 | 只看该作者
P0为什么要上拉电阻原因有:
1。 P0口片内无上拉电阻
2。 P0为I/O口工作状态时,上方FET被关断,从而输出脚浮空,因此P0用于输出线时为开漏输出。
3。 由于片内无上拉电阻,上方FET又被关断,P0输出1时无法拉升端口电平。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表