详解单片机的IO接口
MCS-51系列单片机有4组I/O接口:P0、P1、P2和P3。前面简单介绍了一下各个端口,要学好单片机技术,非常有必要详细了解这些端口的内部结构及工作原理。
P0端口
P0 端口有 P0.0~P0.7 共 8 个引脚,这些引脚除了可作 I/O 引脚外,在外接存储器时,还可作地址 / 数据总线引脚。 P0端口每个引脚的内部电路结构都相同,其内部电路结构如图2-6所示。
图2-6 P0端口内部电路结构
(1)当P0端口用作输出端口时
如果要将P0端口用作输出端口,单片机内部的CPU会发出一个“0”到与门的控制端。控制端的“0”一方面关闭与门(即与门的一端为“0”时,不管另一端输入何种信号,输出都为“0”),使地址/数据总线送来的信号无法通过与门;另一方面控制电子开关,让电子开关与锁存器的Q端接通。
此时若给锁存器的写锁存器端送写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和Q端输出,如D端输入“1”,则Q端输出“0”(Q端输出“1”),该“0”经电子开关送到场效应管VT2的栅极,VT2截止,从P0端口输出“1”。
也就是说,当给P0端口内部的与门控制端送“0”,同时给写锁存器端送写脉冲信号时,单片机内部总线的信号就可以通过接口电路从P0端口输出。
(2)当P0端口用作输入端口时
当将P0端口用作输入端口时,P0端口的信号既送到三态门,又送到VT2的漏极。如果锁存器之前锁存的为“0”,即Q=0、Q=1,其中Q=1会使VT2导通,P0端口被钳在“0”电平上,“1 ”将无法送入P0端口。
解决的方法是:在将数据输入P0端口前,先通过内部总线向锁存器写“1”,即让Q=0,VT2截止,P0端口输入的“1”就可以送到三态门的输入端,此时再给三态门的读引脚送一个读控制信号,“1”就可以通过三态门送到内部总线。
也就是说,要将P0端口作为输入端口,先要将P0端口的锁存器写“1”,然后再给输入三态门送读控制信号,P0端口的数据就可以通过接口电路,送到单片机内部的总线上。
(3)当P0端口用作地址/数据总线引脚时
如果要将P0端口用作地址/数据总线引脚,先要给与门的控制端送“1”,于是与门打开,同时电子开关和非门输出端接通。当地址/数据总线为“1”时,“1”一方面通过与门送到VT1的栅极,VT1导通,另一方面送到非门,经反相变为“0”,再经电子开关送到VT2的栅极,VT2截止,VT1导通,VT2截止使P0端口输出为“1”;当地址/数据总线为“0”时,VT1导通,VT2也导通,P0端口输出为“0”。
也就是说,当给与门的控制端送“1”时,内部地址/数据总线上的信号就可以从P0端口输出,P0端口就可当作地址/数据总线引脚使用。
P1端口
P1 端口有 P1.0~P1.7 共 8 个引脚,这些引脚可作 I/O 引脚。 P1端口每个引脚的内部电路结构都相同,其内部电路结构如图2-7所示。
图2-7 P1端口内部电路结构
从图2-7中可以看出,P1端口的结构较P0端口简单很多,由于P1端口内部采用了一只场效应管,并且与电源之间接了一只上拉电阻,所以不需要在P1端口的外部接上拉电阻。
(1)当P1端口用作输出端口时
如果要将P1端口用作输出端口,应给锁存器的写锁存器CL端送写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和Q端输出,如D端输入“1”,则Q端输出“0”(Q端输出“1”),该“0”送到场效应管的栅极,场效应管截止,从P1端口输出“1”。
(2)当P1端口用作输入端口时
当将P1端口用作输入端口时,如果锁存器以前锁存的为“0”,即Q=0、Q=1,其中Q=1会使场效应管导通,P1端口被钳在“0”电平上,“1”将无法送入P1端口。所以与P0端口一样,在将数据输入P1端口前,先要通过内部总线向锁存器写“1”,让Q=0,场效应管截止,P1端口输入的“ 1”就可以送到输入三态门的输入端,此时再给三态门的读引脚送一个读控制信号,“1”就可以通过输入三态门送到内部总线。
P2端口
P2端口有P2.0~P2.7共8个引脚,P2端口每个引脚的内部电路结构都相同,其内部电路结构如图2-8所示。
图2-8 P2端口内部电路结构
从图2-8中可以看出,P2端口的内部结构与P0端口很相似。P2 端口也可作 I/O 引脚,在外接存储器时,还可以作为地址总线引脚。
(1)当P2端口用作地址总线引脚时
如果要将P2端口用作地址总线引脚,单片机内部的CPU会发出一个控制信号到电子开关的控制端,让电子开关与内部地址总线接通,地址总线上的信号就可以在通过电子开关、非门和场效应管后从P2端口引脚输出。
(2)当P2端口用作I/O接口时
如果要将P2端口用作I/O接口,单片机内部的CPU会发出一个控制信号到电子开关的控制端,让电子开关与锁存器接通。
当将P2端口用作输出端口时,给锁存器的CL端送写脉冲信号,内部总线上的数据就被锁存进锁存器并从Q端输出,再通过电子开关、非门和场效应管从P2端口引脚输出。
当将P2端口用作输入端口时,如果锁存器以前锁存的为“0”,即Q=0,经非门反相后会使场效应管导通,P2端口被钳在“0”电平上,“1”将无法送入P2端口。所以与P0、P1端口一样,在将数据输入P2端口前,先通过内部总线向锁存器写“1”,让Q=1,场效应管截止,P2端口输入的“1 ”就可以送到输入三态门的输入端,此时再给读引脚送一个读控制信号,“1”就可以通过三态门送到内部总线。
P3端口
P3 端口有 P3.0~P3.7 共 8 个引脚, P3 端口可作为 I/O 接口,还可以用于其他方面。P3端口每个引脚的内部电路结构都相同,其内部电路结构如图2-9所示。
图2-9 P3端口内部电路结构
(1)当P3端口用作I/O接口时
如果要将P3端口用作I/O接口,应让与非门的选择输出功能端为“1”,以开通与非门。
当将P3端口用作输出端口时,给锁存器的CL端送写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q端输出,再通过与非门和场效应管从P3端口引脚输出。
当将P3端口用作输入端口时,应先通过内部总线向锁存器写“1”,让Q=1,场效应管截止,P3端口输入的信号就可以通过缓冲器、输入三态门送到内部总线。
(2)当P3端口用作第二功能时
P3端口用作第二功能(又称复用功能)时,实际上也是在该端口输入或输出信号,只不过输入、输出的是一些特殊功能的信号。所以当P3端口用作第二功能时,其内部电路的工作原理与用作I/O接口时是一样的,在用作输入功能时,端口的锁存器同样要先置“1”。
P3端口8个引脚的第二功能详见表2-1。例如P3.2引脚用作第二功能时,该端口可输入由外部设备送到的中断请求信号,该信号通过缓冲器、输入三态门送到内部总线。
P3端口除了可以接收外界的输入信号外,还可以接收内部的替代输入功能端送来的信号,该信号通过输入三态门送到内部总线。
总之,P0、P1、P2 和 P3 端口的功能是:都可以作输入或输出端口; P0、P2、P3 端口具有第二功能,各种端口的第二功能见表2-1。例如,表中说明P0端口的第二功能可以用作低8位地址总线/ 数据总线,P2端口可用作高8位地址总线,P3.0端口可用作串行数据接收端。
表2-1 MCS-51系列单片机各端口的第二功能
关于单片机原理及其接口技术
什么是单片机?
首先,我们了解一下什么是单片机以及计算机的原理和发展。相信想入门嵌入式的小伙伴们,一定知道要从基础入手,那么关于嵌入式的一个基础入门的分支就是单片机,这里我整理了一套路线以及入门需要掌握的核心,给大家分享一下,加微信领取资料。
计算机的发展:1946年2月14日,世界上第一台电脑ENIAC在美国宾西法尼亚大学诞生,
是美国人莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)发明的,主要是由大量的电子管组成,主要用于科学计算。
主要特点:
1、它以电子管作为元器件,所以又被称为电子管计算机。
2、它是个庞然大物,用了18000个电子管,占地150平方米,足有两间房子大,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算。
3、由于它使用的电子管体积很大,耗电量大,易发热,因而工作的时间不能太长。
4、使用机器语言,没有系统软件。
5、采用磁鼓、小磁芯作为储存器,存储空间有限。
6、输入/输出设备简单,采用穿孔纸带或卡片。
7、主要用于科学计算,当时美国国防部用它来进行弹道计算。
第二代计算机采用的主要元件是晶体管,称为晶体管计算机。计算机软件有了较大发展,程序语言也出现了Fortran,Cobol计算机高级语言,采用了监控程序,这是操作系统的雏形。
第三代计算机即第三代集成电路计算机 (1964-1971)。特征是以中小规模集成电路(每片上集成一千个逻辑门以内)(西文写作SSI、MSI)来构成计算机的主要功能部件;主存储器采用半导体存储器。运算速度可达每秒几十万次至几百万次基本运算。在软件方面,操作系统日趋完善。
第四代计算机是指从1970年以后采用大规模集成电路(LSI)和超大规模集成电路(VLSI)为主要电子器件制成的计算机。例如80386微处理器,在面积约为10mm X l0mm的单个芯片上,可以集成大约32万个晶体管。
第四代计算机的另一个重要分支是以大规模、超大规模集成电路为基础发展起来的微处理器和微型计算机。
第五代计算机 智能计算机
将信息采集、存储、处理、通信同人工智能结合在一起的智能计算机系统。主要面向知识处理,具有形式化推理、联想和理解的能力,能够帮助人们进行判断、决策、开拓未知领域和获取新的知识。
所谓的微型计算机就是电子计算机的一种,以微处理器为基础,配以内存储器及输入输出(I/O)接口电路和相应的辅助电路而构成的裸机。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括地讲,一块芯片就成了一台计算机。在一片集成电路芯片上集成中央处理器(CPU),存储器(ROM/RAM),I/O接口电路,从而构成了单芯片微型计算机,简称单片机。常用英文字母的缩写MCU表示单片机。
相关问答
单片机 原理及 接口技术 的介绍?本人工科狗一枚,专业是机械大类的一类,大学本科也学了单片机。单片机原理与应用算是比较基础的一门课,能够学习通过单片机进行一些简单的控制。如果题主是一...
单片机 有几个输入输出 接口 ,分别叫什么?经典51系列的I/O口(输入输出接口)一般是四组,分别P0~P3,其中每组8个端,如P0.0~P0.7。(具体的你可以查相应的器件手册)经典51系列的I/O口(输入输出接口)一般...
如何把传感器的接收的信号传入到 单片机 内 接口 电路?你好,要将传感器的接收信号传入到单片机内的接口电路,可以按照以下步骤进行操作:1.确定传感器的输出信号类型:传感器的输出信号可以是模拟信号或数字信号。...
单片机接口 打不开?是用的串口烧写程序吧,基本好了端口打开失败要看你的设备管理器有没有串口设备,没有的话就是驱动和硬件有问题是用的串口烧写程序吧,基本好了端口打开失败要...
单片机 有几个输入输出 接口 ?单片机通常具有多个输入输出接口,具体数量取决于单片机的型号和规格。常见的单片机如8051、AVR、PIC等,一般都具有多个通用输入输出引脚,可以用于连接外部设备...
请讨论"微机原理与 接口技术 "和 单片机 ,EDA,PLC的联系与区别?EDA技术范围最广,包括单片机,使用的语言很多C,VHDL等等,EDA就是比较宏观上的技术了。单片机其实就算是一种芯片的使用吧,最小系统。常见的单片机编程C语言了...
i2c总线 接口 芯片有哪些IIC一般用模拟的较多,就是用普通IO口来模拟IIC时序,网上可以很容易找到相应的代码。但是有很多单片机还是有IIC硬件模块的,比如AVR系列的单片机是自带基于状态...
我想要接一个12电源,在 单片机接口 如何才能做到,求助?你这个是单片机开发板吧,很多单片机都是5V电源,也有12或者24V的,12V的开发板供电,找个12V电源,我看你这线接头是十字槽螺钉,跟很多家用保险开关差不多,很...
三个常见的 单片机接口 模块?分别是数字量接口模块,模拟量接口模块,通讯接口模块。分别是数字量接口模块,模拟量接口模块,通讯接口模块。
设计用2×2矩阵键盘,一位数码管和8051 单片机 的 接口 电路?2×2矩阵键盘,共四个键,需要四条I/O线。如果用独立按键,也是四条I/O线。所以,在按键较少时,是没有必要用矩阵键盘的。2×2矩阵键盘,共四个键,需要四条I/O线。...