第4章单片机的IO口.ppt
单片机的I/O口,4 单片机的I/O口,3,教学目的,了解AT89S52的P0P3端口的结构 理解AT89S52的P0P3端口的功能掌握AT89S52的P0P3端口的应用规则和方法,4,本章内容,AT89S52单片机P0P3端口的结构与功能 AT89S52单片机I/O口应用实例,4.1 P0P3端口的结构与功能,P0端口的结构与功能P1端口的结构与功能 P2端口的结构与功能 P3端口的结构与功能,AT89S52的端口管脚分布,6,4.1 P0P3端口的结构与功能,P1,P3,P0,P2,P0端口的结构与功能,P0口的功能:1、I/O功能:输入-采集管脚上的电平值,输入CPU,变成CPU内 部的逻辑值“1”或“0”。输出-将CPU内部的逻辑值“1”或“0”输出,变成管脚上的电平值。读-修改-写-读取锁存器值、修改、重写2、总线功能:数据总线(DB7DB0)-读入或写出八位数据信息 地址总线(AB7AB0)-输出低八位地址信息 提示:数据总线与地址总线分时复用P0口,7,4.1 P0P3端口的结构与功能,P0端口的结构与功能,P0口的一位结构图,8,4.1 P0P3端口的结构与功能,9,P0端口的结构与功能,P0口用作通用I/O口-需要外接上拉电阻用作通用I/O口时,CPU令控制信号为低电平,其作用有二个:一是使模拟开关MUX接通下端,即锁存器输出端;二是令与门输出低电平,VF0截止,致使输出级为开漏输出电路。,4.1 P0P3端口的结构与功能,0,0,0,10,P0端口的结构与功能,P0口用作输出口 输出“0”,4.1 P0P3端口的结构与功能,0,0,0,1,0,0,1,0,11,P0端口的结构与功能,P0口用作输出口 输出“1”-需要外接上拉电阻,4.1 P0P3端口的结构与功能,0,0,1,0,1,0,12,P0端口的结构与功能,P0口用作输入口 输入“0”,4.1 P0P3端口的结构与功能,0,0,0,0,13,P0端口的结构与功能,P0口用作输入口 输入“1”-如果锁存器的原始值为“0”,使VF1导通,导致管脚被下拉为低电平,不能正确输入“1”,4.1 P0P3端口的结构与功能,0,0,0,1,1,1,0,0,0,0,14,P0端口的结构与功能,P0口用作输入口 输入“1”-因此,P0口在用作输入时,首先程序要对P0各位置“1”,使锁存器中原始值为“1”,使VF1截止,保证管脚的高电平被正确输入“1”-准双向口:MOV P0,0FFH;MOV A,P0;,4.1 P0P3端口的结构与功能,0,0,1,0,1,0,1,15,P0端口的结构与功能,P0的“读-修改-写”操作“读-修改-写”操作中的“读”不是读管脚,而是读锁存器原有值,以避免因外部电路的原因使端口引脚的状态发生变化而造成误读。例如:ANL P0,55H;XRL P0,55H;,4.1 P0P3端口的结构与功能,0,0,0,16,P0端口的结构与功能,P0口用作地址/数据总线 P0口分时输出低8位地址(A7A0)、输入数据(D7D0)P0口分时输出低8位地址(A7A0)、输出数据(D7D0),4.1 P0P3端口的结构与功能,1,1,1,17,P0端口的结构与功能,P0口用作地址/数据总线 P0口输出“1”,4.1 P0P3端口的结构与功能,1,1,1,0,0,1,1,1,18,P0端口的结构与功能,P0口用作地址/数据总线 P0口输出“0”,4.1 P0P3端口的结构与功能,1,0,1,0,1,1,0,0,0,19,P0端口的结构与功能,P0口用作地址/数据总线 P0口输入数据-第一步,输出地址信息,4.1 P0P3端口的结构与功能,1,0,1,0,1,1,0,0,0,20,P0端口的结构与功能,P0口用作地址/数据总线 P0口输入数据-第二步,输入数据信息,-按照P0口作I/O的输入方式操作,但输入前向锁存器写入“1”是系统自动进行的,因此,此时是真正的双向口。,4.1 P0P3端口的结构与功能,0,0,1,0,1/0,0,1/0,0,P2端口的结构与功能,P2口的功能:1、I/O功能:输入、输出、读-修改-写-与P0口的I/O功能相似 2、总线功能:地址总线(AB15AB8)-输出高八位地址信息,21,4.1 P0P3端口的结构与功能,22,P2端口的结构与功能,P2口的一位结构图:,4.1 P0P3端口的结构与功能,23,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作通用I/O口用作通用I/O口时,CPU令控制信号为低电平,使模拟开关MUX接通左端,即锁存器输出端,0,24,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作输出口输出“1”,0,1,1,0,1,1,0,25,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作输出口输出“0”,0,0,0,1,0,1,0,26,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作输入口与P0相同,首先程序向P2口锁存器写“1”,关断VF1,使管脚上的电平不受影响地到达内部总线-准双向口,0,1,1,0,1/0,1/0,27,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口的“读-修改-写”操作与P0口的“读-修改-写”相同,0,1/0,28,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作地址总线 P2口用作地址总线时,CPU令控制信号为高电平,使模拟开关MUX接通右端,即地址信号输出端,1,29,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作地址总线 地址信息为“1”,1,1,0,1,0,1,30,P2端口的结构与功能,4.1 P0P3端口的结构与功能,P2口用作地址总线 地址信息为“0”,1,0,1,0,0,31,P1端口的结构与功能,P1口的一位结构图,4.1 P0P3端口的结构与功能,32,P1端口的结构与功能,P1口的与P2口结构对比,4.1 P0P3端口的结构与功能,33,P1端口的结构与功能,P1口的与P2口结构对比 从P1口结构可知,P1口结构与P2口的I/O功能部分结构相似,P1口的I/O功能与P2口一样。,4.1 P0P3端口的结构与功能,34,P1端口的结构与功能,P1口引脚的第二功能对于 AT89S52单片机,P1口的P1.0、P1.1、P1.5、P1.6、P1.7也具有第二功能。P1.0和P1.2分别作为定时器/计数器2的外部计数输入或时钟输出(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。51系列没有定时器T2,51系列的P1.0、P1.1也就没有第二功能。P1.5P1.6P1.7则是在对AT89S52单片机在线编程时使用到。AT89C52由于不具备在线编程功能,因此它的P1.5-P1.7不具备第二功能,P1.0和P1.1则与AT89S52一样。,4.1 P0P3端口的结构与功能,35,P1端口的结构与功能,AT89S52单片机P1口引脚的第二功能,4.1 P0P3端口的结构与功能,P3端口的结构与功能,P3口的某一位结构,4.1 P0P3端口的结构与功能,37,P3端口的结构与功能,P3口的I/O功能第二功能部分自动预先置“1”,从P3口结构可知,P3口结构与P2口的I/O功能部分结构相似,P3口的I/O功能与P2口一样。,4.1 P0P3端口的结构与功能,1,38,P3端口的结构与功能,P3口的第二功能锁存器自动预先置“1”,4.1 P0P3端口的结构与功能,1,1,1,39,P3端口的结构与功能,P3口的第二功能,4.1 P0P3端口的结构与功能,40,注意事项,单片机的并行I/O接口有以下应用特性 P0,P1,P2,P3作为通用I/O口使用时,输入操作是读引脚状态;输出操作是对口的锁存器的写入操作,锁存器的状态立即反映到引脚上。P1,P2,P3口作为输出口时,由于电路内部带上拉电阻,因此无需外接上拉电阻,而P0口由于内部无上拉电阻,因此使用它时,必须外接上拉电阻。P0,P1,P2,P3作为通用的输入口时,必须使电路中的锁存器写入高电平“1”,使场效应管(FET)VF1截止,以避免锁存器输出为“0”时场效应管VF1 导通使引脚状态始终被钳位在“0”状态。,4.1 P0P3端口的结构与功能,41,注意事项,I/O口功能的自动识别。无论是P0、P2口的总线复用功能,还是P3口的第二功能复用,单片机会自动选择,不需要用户通过指令选择。两种读端口的方式。包括端口锁存器的“读-改-写”操作和读引脚的操作。在单片机中,有些指令是读端口锁存器的,如一些逻辑运算指令、置位/复位指令、条件转移指令以及将I/O口作为目的地址的操作指令;有些指令是读引脚的,如以I/O口作为源操作数的指令。I/O口的驱动特性。P0口每一个I/O口可驱动8个LSTTL输入,而P1、P2、P3口每一个I/O口可驱动4个LSTTL输入。在使用时应注意口的驱动能力。,4.1 P0P3端口的结构与功能,4.2 I/O口应用实例,LED与数码管简介 I/O口的实例,43,小结,本章主要介绍了单片机的四个八位I/O口的结构与功能。四个八位口都具有输入/输出功能,在作输入操作时,这些口都是准双向口,要首先向对应锁存器写“1”,然后才能读端口。P0口用作输入/输出时,要接上拉电阻。P0口具有数据/地址总线第二功能,地址总线是低8位地址线。P1口具有定时器T2应用的第二功能。P2具有地址总线第二功能,地址总线是高8位地址线,配合P0口的第八位构成16位地址线。P3口具有多项第二功能:串行通信、外中断输入、计数器脉冲输入、外部存储器读写信号。,44,谢谢!,