对于51单片机的I/O口及外部拉电阻,常见到一些模糊认识。稍微总结一下,或许有点用处。
▲ P1, P2,P3口:对地有一个晶体管做的开关,对电源是内部有个集成电阻(大约几十K~200K前后),
输出时,是由内部晶体管拉到0,或由内部上拉电阻拉到1。
输入时,片内已有上拉,不存在输入悬空的可能。如果数据来自外面的OC门,片内上拉电阻就成了OC门的上拉。如果数据来自外面的非OC门,则片内上拉电阻已无用处了。
▲ P0口:片内对电源、对地各有一个晶体管做的开关,无上拉、下拉电阻。
输出时,是由内部晶体管拉到0,或拉到1。
输入时,会存在输入悬空的情况,但输入数据是靠外界器件来提供,故意拉上拉下均无意义。
输入时分二种用法——总线方式或普通Input口方式,方式是由指令决定的,用MOV指令时是普通口,用MOVX指令时是总线口。
▲ 如果P0外部是接的OC门,为了避免输入悬空,应该用上拉电阻。
如果P0外部是接的非OC门,则不必用上拉电阻。
至于下拉,就不太合适了,因为不便于与OC门配合。
▲ 复位时,4个口自然是输出全1,不用人操心的。
▲ 关于上拉电阻的大小,
上拉电阻的大小收制于对脉冲沿的时间要求,自然也跟负载电容有管。例如负载电容C=100p,希望RC<0.2uS,则R<2K。R太小会过于耗电(输出0时)。
▲P1,P2,P3口是否需要外部上拉电阻?
内部上拉电阻大约几十K~200K前后(于产品型号厂家有关)。由上条可知,如果考虑到脉冲沿的要求,也可能需要加外部上拉电阻。
我要赚赏金打赏帖 |
|
|---|---|
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
| 在K230DBOX上实现音乐播放器功能被打赏¥15元 | |
| NXP MCU系列开发板MCULink固件升级方法【VSCode】被打赏¥28元 | |
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
我要赚赏金
