1、高等职业技术院校电类专业,单片机应用技术(汇编语言),模块一 单片机结构及开发设计流程,模块二 单片机指令系统及汇编语言程序设计,模块三 单片机简单应用电路设计实例,模块四 单片机内部三大功能,模块五 单片机接口电路及应用,Exit,模块一 单片机结构及开发设计流程,课题一 单片机结构课题二 单片机工作条件课题三 单片机输入/输出端口结构课题四 单片机开发设计流程,课题三 单片机输入/输出端口结构,一、任务目标通过本课题的学习,使读者理解单片机输入/输出(I/O)端口的工作原理,以便设计出更合理的电路及程序。 二、任务分析在51系列单片机中有4个双向并行I/O口P0P3,每个端口都由锁存器、输
2、出驱动器和输入缓冲器组成。单片机与外部设备交换信息时,都是通过端口进行的。,单片机输入/输出端口结构,在进行写端口操作时,CPU将内部总线的数据经锁存器和输出驱动器送到端口引脚;在进行读端口操作时,将端口锁存器或引脚数据经输入缓冲器传送至内部数据总线。4个I/O端口都可作输入/输出口使用,其中P0口和P2口还可用于对外部存储器或外部扩展设备的访问。在扩展外部存储器或外部设备时,把P0口作为地址/数据总线口使用,分时输出外部存储器或外部设备的低8位地址和8位数据。当扩展的外部存储器或外部设备的地址为16位时,把P2口用作地址总线口,输出高8位地址。P3口除作通用I/O口外,其各位还可作为第二功能
3、使用。,单片机输入/输出端口结构,三、相关知识 1、P0口如图1-11所示为P0口的位结构图。,图1-11 P0口的位结构图,单片机输入/输出端口结构,P0口作通用I/O口:写端口时,在内部控制信号的作用下,输出控制电路接通锁存器输出端,数据由内部总线经锁存器、输出控制电路和输出驱动器送到引脚。读端口时,在内部控制信号的作用下,输入控制电路接通引脚或锁存器输出端,引脚或锁存器数据经输入缓冲器送到内部总线。,单片机输入/输出端口结构,读端口时有两种情况:一是读引脚:此时端口数据无需作运算修改,在内部控制信号的作用下,输入控制电路接通端口引脚,数据由引脚经输入缓冲器送到内部总线。二是读锁存器:此时
4、端口数据需作运算修改,在内部控制信号的作用下,输入控制电路接通端口锁存器,数据经输入缓冲器送到内部总线,再作某一运算修改后,重新写入端口。读端口数据时,究竟数据取至于引脚或锁存器是由单片机自动判别的,不需用户关心。,单片机输入/输出端口结构,当P0口既作输入口又作输出口时,当上次输出一个数据“0”(低电平)时,使输出驱动器的场效应管饱和导通,将引脚电平拉低,致使引脚高电平(“1”)误读为低电平(“0”)。所以在输出转输入时,必须先给端口送出一个“1”(高电平),使输出驱动器的场效应管截止,然后再读端口数据,才能正确读入端口数据“1”(高电平)。即当P0口既作输入口又作输出口时,在输出转输入时要
5、先写“1”再读。当P0口只作输入口时,无需进行先写“1”的操作。其他3个口P1、P2和P3也同样要遵守该规则。,单片机输入/输出端口结构,P0口输出驱动器为漏极开路电路,即漏极没有电阻接至电源,所以要能输出高电平,必须在P0口外部接一上拉电阻,即在P0引脚接一电阻至电源。其他3个口P1、P2和P3的输出驱动器内部已有上拉电阻,所以无需外接上拉电阻。在扩展外部程序存储器或外部设备时:P0口作地址/数据总线用,此时,在内部控制信号的作用下,输出控制电路接通内部地址/数据线,地址/输出数据经输出驱动器送到引脚,其中地址(16位地址中的低8位地址)或数据(8位数据)在内部控制信号的作用下分时传送,先传
6、地址后传数据;输入数据从引脚经输入缓冲器送入内部总线。,单片机输入/输出端口结构,2、P1口如图1-12所示为P1口的位结构图。与P0口相比较,少一个输出控制电路,其余组成相同。P0口只作通用I/O口使用,其数据输入、输出过程与P0口作通用I/O口时的数据输入、输出过程相同。,图1-12 P1口的位结构图,单片机输入/输出端口结构,3、P2口如图1-13所示为P2口的位结构图。与P0口相比,P2口在扩展外部存储器或外部设备时只作地址总线用,其余两者相同。在作通用I/O口时,其数据传送与P0口相同。在扩展外部存储器或外部设备时,输出控制电路接通内部地址信号端,高8位地址经输出驱动器送到引脚。,单
7、片机输入/输出端口结构,图1-13 P2口的位结构图,单片机输入/输出端口结构,4、P3口如图1-14所示为P3口的位结构图。与P0口相比,P3口除作通用I/O口使用外,还有第二功能,见表1-1。在作通用I/O口时,其数据传送与P0口相同。在作第二功能输出时,输出控制电路接通内部第二功能输出端,第二功能信号经输出驱动器送到引脚;在作第二功能输入时,引脚第二功能信号经H2输入缓冲器送到第二输入功能端。,单片机输入/输出端口结构,图1-14 P3口的位结构图,单片机输入/输出端口结构,四、任务实施51系列单片机有4个8位双向输入/输出端口P0、P1、P2和P3,端口每一位都包括锁存器、输出驱动器和
8、输入缓冲器,每一位均可作为双向通用I/O端口使用。P0P3作通用I/O口时:当端口既作输入又作输出使用时,在输出转输入时应先给端口写“1”然后再读;但如果端口只作输入时,因单片机上电复位时,4个端口均置为FFH,即每一位均置为“1”,所以读数时不必再向端口先写“1”。,单片机输入/输出端口结构,P0口在作通用输出口时,由于输出驱动电路为开漏电路,所以要外接上拉电阻,才有高电平输出;在作地址/数据总线时,无需外接上拉电阻,此时不能再作通用I/O口使用。P1P3口驱动驱动电路内部已有上拉电阻,所以无需外接上拉电阻。P0口即可作通用I/O口用,又可在扩展外部存储器或外部设备时作低8位地址/数据总线用。,单片机输入/输出端口结构,P1口只作通用I/O口用。P2口即可作通用I/O口用,又可在扩展外部存储器或外部设备时作高8位地址总线用。P3口即可作通用I/O口用,又可作第二功能用。驱动负载能力:P0口每位可驱动8个LSTTL负载,每一位的最大吸收电流为3.2mA。P1P3口每位可驱动4个LSTTL负载,每一位的最大吸收电流为1.6mA。,