51单片机IO端口基础知识及应用
文章目录 89C51单片机引脚信息 单片机IO端口内部结构 单片机IO引脚输出应用 单片机IO引脚输入应用 总结89C51单片机引脚信息
我们在学习使用任何芯片到时候,可能第一个要注意的就是芯片的引脚信息了,因为我们必须弄懂每个引脚的功能才能更好的设计出对应的电路。本文就来说下89C51单片机的引脚IO端口及应用,学习单片机的IO口的应用也是入门单片机的第一步。
上图是89C51单片机的封装引脚图,89C51单片机有4个IO端口为P0~P3,每个端口有8个引脚,分别对应8个位0~7,每个端口的引脚都可以作为输入输出使用。
单片机IO端口内部结构
其中P3端口有复用功能,比如串口和外部中断功能等,从上两张图中引脚信息也可以看出。
在有使用外部存储器时,P2用作访问外部总线的高8位地址,P0端口用作分时访问外部总线低8位地址和8位数据。
另外P0口没有内部上拉电阻,是一个真正的双向口 ,引脚内的是一个开漏结构。
P1、P2、P3口的位结构都有一个上拉电阻,因而被称为"准双向口 "。正是由于此上拉电阻的存在,所以有些时候P1、P2、P3端口的引脚的外部上拉电阻可以省略,P0端口的引脚某些时候需要考虑使用上拉电阻。下面就以P1端口为例,介绍下单片机引脚输入输出功能的应用。
单片机IO引脚输出应用
单片机IO引脚作为输出时,其实就是控制其引脚内部开关管的通断,从而使引脚输出对应的高低电平。下面给出一张控制led灯的电路图,并讲解IO输出高低电平的控制过程。
上图中使用P1端口的一个引脚控制一个Led灯,红色剪头已经指出了Led亮时电流的流向,主要就是控制引脚内部的开关管的通断来控制Led灯亮灭。
如上图所示,输出数据0时,IO引脚内部开关管导通,从而使IO引脚低电平接地,所以Led灯亮。
当内部总线输出数据为1时,IO引脚内部开关管截止,IO引脚与地断开,通过内部上拉电阻连接到Vcc,所以Led灭。
单片机IO引脚输入应用
单片机IO引脚作为输入时,主要通过外部不同的高低电平输入,从而读出对应的数据1和0的过程,下面就以一张按键输入电路为例讲解按键的识别过程。
从上图中可以很直观的知道,在IO引脚作为输入时,需要先控制其内部开关管断开,不然开关管导通会使IO引脚一直接地,从而读到的会一直是0。在配置开关管断开后,我们就可以读IO引脚数据了,如果读到1,说明按键没有按下,引脚通过上拉电阻接到电源Vcc,如果读到0,说明按键按下,引脚通过按键连接到地。这样我们就可以判断按键按下了。
总结:
1.单片机每一个I/O口都可以独立地作输入或输出口使用,但P0和P2在访问外部存储器时作地址/数据总线,此时它们将不能再作为I/O口使用。
2.当I/O口作为输入时,必须通过程序输出1使内部开关管截止,这样从"管脚Px.x"输入的信号才能在"读管脚"信号的帮助下被正确读走。
3.P1、P2、P3因为内部上拉电阻而被称为"准双向口"。在作输入时,上拉电阻将"管脚Px.x"拉高并在外设输入低电平时向外输出电流。
4.P0口没有内部上拉电阻,是一个真正的双向口。作输入时因开漏结构而浮地。
欢迎大家点赞、评论、转发、收藏!有什么不对、不详细的地方也请大家指出补充。分享是种美德,如果觉得此文讲的不错的话,欢迎给个转发分享给更多的朋友。有什么问题也欢迎评论一起交流。更多有关电子电路、单片机、嵌入式、C语言编程、RTOS的知识,请关注我头条号:单片机嵌入式爱好者 。会有更多干货文章分享,帮您加速解决实际工程中遇到的问题。
单片机IO口科普:推挽输出、开漏输出详解
在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻。是不是有时候感觉一头雾水?今天就详解一下推挽和开漏,以后你买芯片的时候就可以和别人大声理论了。
1. 什么是推挽输出
推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。
2. 推挽输出电路的结构
推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。其示意结构如下图所示:
当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平;
当内部输出0电平时,上边的MOS管截至同时下边的MOS管导通,IO口输出低电平;
3. 什么是开漏输出
开漏输出只能输出低电平,如果要输出高电平必须通过上拉电阻才能实现。就类似于三极管的集电极输出。
4. 开漏输出电路的结构
如上图:
内部输出1时MOS管截止,输出与地断开,这时候IO口其实是没有驱动能力的,需要外部连接上拉电阻才能输出高电平,才能驱动数字器件;
内部输出0时MOS管导通,输出低电平,所以开漏能输出低电平;
5. 准双向IO
在学51单片机的时候老师告诉我们,51单片机的IO口是准双向的,什么是准双向的?示意如下:
其结构类似于开漏输出,只不过是把上拉电阻集成到了单片机内部。
6. IO口如何应用
对于推挽输出的IO口可以直接输出高低电平驱动功耗较小的数字器件,但对于开漏输出的话必须要在外部接上拉电阻才行。比如说LPC11C14单片机的片上I2C资源就是开漏输出的,如果要使用这两个引脚做输出就必须加上拉电阻,如下图所示:
本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8
相关问答
单片机io端口 的使用方法?单片机IO端口是单片机与外部设备交互的重要接口,其使用方法可以分为输入和输出两种。输入时,需要设置端口为输入模式,通过读取端口状态获取外部设备输入的数据...
怎样使 单片机 上电时 IO 口为低电平呀?由于STC单片机上电后有一段时间的延迟,好像最长能到65535个指令周期,才进入用户程序,所以从软件上想办法不能阻止上电误动作的产生,最简单的方法是在需要处理...
单片机 p0口和 io 口的区别?功能不同。P口指的是“并行口”IO口指的是“输入输出口”P口当然可以作为IO口来用,但是通常P3口会用于他的第二功能,而P2口、P0口则经常被用作地址总线和数...
单片机 用一个 IO 口采集多个按键信号,如何实现?在设计中如果用到IO口不够用,我们肯定第一时间想到的就是通过电阻分压,根据按下不同按键,来让不同阻值的电阻接到分压电路中,然后ADC模块做电压数据读取分析...
单片机io 口输出默认是高电平吗?不是所有单片机的IO口输出默认都是高电平,这取决于具体的单片机型号以及其设计的硬件电路。有些单片机的IO口默认输出低电平,有些则默认输出高电平。因此在使...
PIC 单片机IO 口什么时候设置为输入,什么时候设置为输出,这个输入输出的我好像还不是很明白原理?如果你要用某个引脚控制一个东东,如让它高电平或低电平,则这个引脚就得设置为输出。如果你想知道某个引脚是高电平或低电平,则这个引脚就得设置为输入。还有...
单片机 的 io 口最低驱动电压及电流,也就是说多少伏以上及多少毫安以上被认为高电平?5v单片机的io口与TTL电平兼容输入高电平>2.0V低电平<0.8V,输出高电平3.5V,低电平0.2V,输入电流是很小的1UA左右,输出电流可以在10-20ma5v单片机的i...
单片机 的 io 口作为输入口是,需要选输出全零?如今的比较好的单片机的IO口是可以定义的,这和最原来的51有区别。当作为输入口时候是单片机接收IC的数据信息,或者是灌电流,这时候要考虑电流的大小是否在单片...
怎样了解 单片机 的各个I/O口?MCS-51单片机的4个口都可作为IO口使用,除P1口外,其它三个I/O口都有第二功能。P0口可作为数据总线口,它可以对外部存储器低8位读写。P2口也可以作为系统扩展时...
用NPN三极管控制一个发光二极管,B基为 单片机IO 口,集电极为5V...[最佳回答]截止,当然是单片机输出为0呗,这样B极就没电流了.饱和的话,Uce