51单片机引脚工作原理
51单片机IO引脚IO口工作原理
51单片机IO引脚IO口工作原理一、IO引脚的基本特性1.输入与输出:IO引脚可以配置为输入(接收外部信号)或输出(发送信号到外部设备)。
2. 高低电平:IO引脚可以输出高电平(通常为Vcc电压)或低电平(通常为接地GND电压)。
3.上拉与下拉:IO引脚可以通过上拉电阻或下拉电阻实现电平的稳定。
4. 悬空状态:未配置输入的IO引脚可能处于悬空状态(floating),容易受到噪声的干扰。
二、IO口的工作原理1.寄存器配置:通过对相应的寄存器进行配置,可以选择IO引脚的工作模式(输入或输出)、电平(高或低)、上拉或下拉等。
2.IO端口的控制:通过对控制寄存器进行设置,可以使IO引脚产生相应的电平信号,控制外部设备的操作。
3.输入输出驱动能力:IO引脚的输出能力决定了其能够驱动的外部设备的负载能力。
对于较重的负载,需要考虑使用缓冲电路或者外部驱动芯片。
三、IO口的配置与操作1.选择IO引脚功能:通过寄存器配置,将IO引脚配置为输入模式(将输入电平传递给芯片内部)或输出模式(将芯片内部的电平输出到外部设备)。
2.设置电平状态:对于输出模式的引脚,可以通过寄存器来设置输出电平的状态,使其输出高电平或低电平。
3.上拉与下拉电阻:通过配置相关寄存器,可以启用上拉电阻(使引脚在悬空状态时拉高到高电平)或下拉电阻(使引脚在悬空状态时拉低到低电平)。
四、IO端口的应用1.输入:将外部设备的信号输入到IO引脚,通过编程来实现对信号的判断和处理。
例如,读取按键的状态、读取传感器的数据等。
2.输出:将芯片内部产生的信号输出到外部设备,用于控制和驱动外部设备的操作。
例如,控制LED灯的亮灭、控制继电器的开关等。
3.通信:通过IO引脚与其他设备(例如外围设备、传感器、通信模块等)进行通信。
4.扩展IO口:通过外部的IO扩展芯片或者接口芯片,可以扩展更多的IO口。
总结:51单片机的IO口是其与外部设备通信的接口,通过配置相关寄存器来选择引脚的工作模式、电平和电阻状态。
51单片机与led灯的接口原理
51单片机与led灯的接口原理一、引言51单片机是一种广泛应用于嵌入式系统中的微控制器。
而LED(Light Emitting Diode)灯则是一种能够直接将电能转化为光能并发出可见光的半导体器件。
在嵌入式系统中,LED灯的使用十分广泛,常用于指示灯、显示屏等方面。
本文将详细介绍51单片机与LED灯的接口原理。
二、LED灯的基本原理LED灯是一种二极管,能够将电流转化为光能并发出光线。
其结构由一个PN结和一种能够发射光的半导体材料组成。
当外加电压导通PN结时,正向电流通过PN结,并在PN结内部的蓝宝石晶体中发射光线。
三、使用端口口输出控制LED灯1. 设置引脚为输出模式:通过将相应I/O口的数据方向寄存器(Data Direction Register)设为输出方向,将对应的引脚设置为输出模式。
2. 给引脚输出高电平或低电平:通过对相应I/O口的数据寄存器(Data Register)进行操作,可以使引脚输出高电平或低电平。
3.连接LED灯:将LED灯的阳极(正极)与51单片机的引脚相连,将LED灯的阴极(负极)与51单片机的电源GND相连。
4.对LED灯进行控制:通过对引脚输出高电平或低电平,可以控制LED灯的亮灭。
四、使用通用开关二极管控制LED灯通用开关二极管可用作简单的开关元件,可以通过其导通和截止状态来控制LED灯的亮灭。
具体步骤如下:1.选择合适的开关二极管:选择一个适用于LED灯的开关二极管,要求其典型开启电压低于单片机的高电平输出电压,且最大承受电流大于LED灯的最大工作电流。
2.连接开关二极管:将开关二极管的阴极连接到单片机的引脚,将其阳极连接到LED灯的阳极。
LED灯的阴极连接到电源的GND。
3.控制开关二极管状态:通过对单片机引脚输出高低电平,可以控制开关二极管的导通和截止状态,从而控制LED灯的亮灭。
五、使用数字集成电路控制LED灯除了基本的I/O口输出控制和通用开关二极管控制外,还可以通过数字集成电路来控制LED灯的亮灭。
51单片机各引脚
51单片机各引脚51单片机是一种广泛应用于嵌入式系统中的微控制器。
它具有多种功能引脚,这些引脚在不同的电路和项目中起着不同的作用。
本文将对51单片机的各引脚进行介绍和解释。
引脚P0: P0口是51单片机最常用的I/O口之一。
P0口具有8个引脚,可以通过设置它们的电平来进行数据输入/输出。
它通常用于连接外部设备,如LED灯、按键、数码管等。
P0口可以配置为输入端口或输出端口,可以通过程序对其进行控制和操作。
引脚P1: P1口也是51单片机的一个I/O口。
P1口同样具有8个引脚,与P0口相比,P1口的输入输出能力更强。
它通常用于连接外部设备,如LCD液晶显示屏、继电器、蜂鸣器等。
P1口同样可以配置为输入端口或输出端口,通过程序可以对其进行高低电平的控制。
引脚P2: P2口是51单片机的另一个I/O口。
P2口也具有8个引脚,它通常用于连接外部设备,如ADC(模数转换器)、数码管、EEPROM(电可擦程存储器)等。
P2口同样可以配置为输入端口或输出端口,并能通过程序进行控制。
引脚P3: P3口是51单片机最后一个I/O口。
P3口也具有8个引脚,它通常用于连接外部设备,如定时器、串口通信、中断控制等。
与其他I/O口不同的是,P3口的引脚具有特殊功能,比如RXD(接收数据)、TXD(发送数据)等。
P3口同样可以配置为输入端口或输出端口,并能通过程序进行相应的操作。
除了I/O口之外,51单片机还具有一些其他的引脚,如电源引脚、晶振引脚、复位引脚等。
这些引脚对于单片机的正常工作至关重要。
电源引脚: 51单片机通常需要接受电源供电才能工作,因此具有供电引脚。
根据具体型号的不同,51单片机的电源引脚可以是VCC (正电源)、GND(地线)、AVCC(模拟电源)等。
晶振引脚: 51单片机需要外部晶振来提供时钟信号,以保证其正常工作。
因此,51单片机具有晶振引脚,一般为两个引脚:XTAL1(晶体振荡器输入端,接入外部晶振的输入端)和XTAL2(晶体振荡器输出端,接入外部晶振的输出端)。
51单片机各引脚功能介绍
51单片机的引脚及各引脚功能介绍当我们拿到一块MCS-51系列单片机芯片时,看到这么多的引脚,他们都有干什么用的?8051 单片机的引脚图引脚功能:MCS-51 是标准的40 引脚双列直插式集成电路芯片,引脚分布请参照---- 单片机引脚图:l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
l P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的表达方式来写的,相信你也能够理解。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。
51单片机各针脚介绍
51单片机各针脚介绍51单片机是一款广泛应用于嵌入式系统中的微控制器,它在电子行业中具有重要的地位。
了解51单片机的各个针脚和其功能对于学习和应用它来说至关重要。
本文将为读者介绍51单片机的各个针脚以及它们的功能。
1. VCC和GND:VCC代表供电正极,GND代表接地。
这两个针脚是最基本的供电和接地连接,使用者需要将这两个引脚连接到电源,以提供电压和地线。
2. P0.0 - P0.7:P0口是51单片机最常用的8位通用I/O口之一。
每个引脚可以被配置为输入或输出,用于连接和控制外部设备。
3. P1.0 - P1.7:P1口也是一个8位通用I/O口,具有与P0口相同的功能。
P1口的特点是它具备上拉电阻功能,可以用于外部开关和按钮的输入控制。
4. P2.0 - P2.7:P2口也是一个8位通用I/O口,同样可以作为输入或输出引脚。
与P1口类似,P2口也具备上拉电阻功能。
5. P3.0 - P3.7:P3口是最后一个8位通用I/O口,同样可用作输入或输出引脚。
与P2口类似,P3口具备上拉电阻功能。
6. RST:RST是复位控制引脚,用于将51单片机重启至复位状态。
当对RST引脚施加低电平脉冲时,单片机将会重新启动,并执行初始化操作。
7. EA/VPP:EA/VPP引脚具有两个不同的功能。
在系统中,EA引脚必须连接到GND,以选择外部程序存储器;VPP引脚在烧录代码时使用,通常连接到12V电压。
8. ALE/PROG:ALE/PROG引脚也有两种功能,ALE用于地址锁存器的时钟输入,PROG用于编程电平切换。
在应用中,ALE通常用于与外部设备进行时序协调。
9. PSEN:PSEN引脚用于外部程序存储器的读取操作。
当进行指令获取或通信时,PSEN引脚连接到程序存储器并发送读取控制信号。
10. XTAL1和XTAL2:这两个引脚用于外部晶振或陶瓷谐振器的连接。
XTAL1接收晶振信号输入,XTAL2输出晶振信号。
51单片机的引脚
51单片机的引脚如下图所示:
如果你使用的是R2,请参考原理图上面的引脚图,引脚功能是一样的,只是封装不同而已。
引脚功能:
4个准双向输入输出口:
P0.0~P0.7 P0口,8位准双向输入输出口(39~32)
P1.0~P1.7 P1口,8位准双向输入输出口(1~8)
P2.0~P2.7 P2口,8位准双向输入输出口(21~28)
P3.0~P3.7 P2口,8位准双向输入输出口(10~17)
从图中可以看到,其中8位的每一位对应一个引脚。
至于这4个口的作用和区别就等以后实际用到的时候再说。
RST:单片机复位引脚。
XTAL1和XTAL2 为外接晶振引脚。
GND:接地端。
EA/VPP:访问程序存储器控制信号引脚。
接高电平时:CPU读取内部程序存储器(ROM)。
接低电平时:CPU读取外部程序存储器(ROM)。
R1和R2中都没有扩展外部ROM所以这个引脚就直接接到+5V(高电平)就可以了。
VCC:电源供电端,接+5V电源。
51单片机的P1、P2、P3口的工作原理
基于proteus的51单片机仿真实例五十、51单片机的P1、P2、P 3口的工作原理1、P1口某一位的内部电路结构如下图所示,在51单片机的P0,P1,P2,P3口中,P1口的结构最简单,用途也最单一。
仅仅只作为普通的数据输入/输出(I/O)端口使用。
从图中可以看出,P0口与P1口的主要差别在于:P1端口用内部上拉电阻代替了P0端口的场效应管,并且输出的信息只有内部总线的信息,没有了数据/地址总线的复用。
1)P1口用作输入端口如果P1口用作输入端口,即Q=0,/Q=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“,所以,与P0端口一样,在将数据输入P1端口之前,先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P1端口输入的“1”才可以送到三态缓冲器的输入端,此时再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。
具有这种操作特点的输入/输出端口,一般称之为准双向I/O口,51单片机的P1,P2,P3口都是准双向口。
而P0端口由于输出具有三态功能(输出端口的三态是指:高电平,低电平,高阻态这三态),所以在作为输入端口时,无需先写“1”然后再进行读操作。
2)P1口用作输出端口如果P1口用作输出端口,应给锁存器的写锁存CP端输入写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和/Q端输出,如果D端输入“1”,则/Q=0,场效应管截止,由于上拉电阻的作用,在P1.X引脚输出高电平“1”,反之,如果D端输入“0”,则/Q =1,场效应管导通, P1.X引脚连到地线上,从而在引脚输出“0”。
2、P2口的内部电路结构如下图所示,可以看出P2口既有片内上拉电阻,又有切换开关MUX,所以P2口在功能上兼有P0和P1端口的特点,这主要体现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。
51单片机引脚介绍(全)
51单片机引脚介绍(全)51单片机引脚介绍(全)单片机(Microcontroller)是一种集成了微处理器核心、存储器和各种输入输出控制电路的集成电路芯片,广泛应用于嵌入式系统中。
而51单片机(8051 Microcontroller)是最早被广泛使用的一款单片机型号,其引脚布局和功能十分重要。
本文将对51单片机的引脚进行详细介绍,以便更好地理解和应用。
1. 引脚简介51单片机共有40个引脚,编号为P0.0至P3.7,其中P0、P1、P2、P3为4个8位的I/O端口,分别对应于32个可编程的引脚。
此外,引脚还包括VCC(供电正极)、GND(接地)以及RESET(复位引脚)、PSEN(程序存储器使能引脚)、ALE/PROG(地址锁存/编程使能引脚)、EA/VPP(外部访问使能/编程电压),共计7个特殊功能引脚。
2. I/O口的功能P0口是可用的8位双向I/O口,可以用于与外设的数据传输。
P0口在模拟输入/输出工作状态下为双向I/O口,在数字输入/输出工作状态下为输出口。
P1口也是一个可用的8位双向I/O口,用于与外设的数据传输。
P2口是一个不可用的8位双向I/O口,它被用作外部总线的高8位数据总线。
P3口是一个可用的8位双向I/O口,用于与外设的数据传输。
3. 特殊功能引脚RESET引脚是用于复位单片机的引脚。
将RESET引脚拉低,即可使单片机复位。
PSEN引脚是用于访问外部程序存储器(EPROM或闪存)的引脚。
当PSEN为高时,表示访问的是程序存储器。
ALE/PROG引脚在T0(定时器0)的溢出和外部中断0激活时产生外部地址锁存信号。
在程序编程时,它与PSEN引脚一起用作编程使能信号,并提供编程电压。
EA/VPP引脚是用于控制单片机是否使用外部存储器。
当EA/VPP 为低时,表示单片机使用外部存储器;当EA/VPP为高时,表示单片机使用内部存储器。
4. 其他引脚VCC引脚是单片机的正电源引脚,需要接入正电源。
51单片机引脚工作原理介绍
51单片机引脚工作原理介绍
51单片机是一种常用的单片机系列,其引脚工作原理如下:
1. 引脚功能,51单片机的引脚具有多种功能,包括输入、输出、中断、定时器/计数器等。
每个引脚可以通过配置寄存器来设置其功能。
2. 输入引脚,某些引脚可以配置为输入模式,用于接收外部信号。
这些引脚通常与外部传感器、开关等连接,可以通过读取引脚的电平状态来获取外部信号。
3. 输出引脚,某些引脚可以配置为输出模式,用于控制外部设备。
这些引脚通常与LED、继电器等外部设备连接,可以通过设置引脚的电平状态来控制外部设备的开关状态。
4. 中断引脚,51单片机具有多个中断引脚,用于实现中断功能。
当外部事件触发中断引脚时,单片机会暂停当前任务,执行中断服务程序。
中断引脚可以用于处理紧急事件、实现实时响应等功能。
5. 定时器/计数器引脚,51单片机内置了多个定时器/计数器模块,用于实现定时、计数等功能。
这些模块的引脚可以配置为定时器/计数器功能,用于产生精确的时间延迟、计数外部事件等。
6. 引脚配置,通过设置相应的寄存器,可以配置引脚的工作模式、电平状态、中断触发条件等。
引脚的配置可以通过编程的方式实现,使得单片机可以根据需要与外部环境进行交互。
总结起来,51单片机的引脚具有多种功能,包括输入、输出、中断、定时器/计数器等。
通过设置相应的寄存器,可以配置引脚的工作模式和功能,实现与外部环境的交互。
这些引脚的工作原理是通过控制引脚的电平状态或触发条件来实现相应的功能。
AT89S52 (51)单片机的引脚图及各引脚功能说明
AT89S52 单片机的引脚图及各引脚功能说明之蔡仲巾千创作由于本书所有的例程均是基于AT89S52 单片机开发的,这里着重介绍AT89S52 各个引脚及功能。
这些关系到在后面学习例程时对原理图的理解,读者要特别重视。
而对于存储器、定时器、中断系统等部分内容,读者可参考介绍MCS-51单片机的相关书籍。
AT89S52 是Atmel公司生产的一种低功耗、高性能CMOS 8位微控制器,具有8 位在系统可编程Flash存储器。
AT89S52 使用Atme 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash 允许程序存储器在系统可编程,也适于惯例编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52 具有PDIP、PLCC、TQFP3 种封装形式以适用于分歧的使用场合。
各封装引脚定义如图1.2所示。
图 1.2 AT89S52引脚图下面简单介绍AT89S52 各引脚的功能,更多信息请查阅Atmel公司的技术文档。
VCC:电源。
GND:地。
P0 口:P0 口是一个8 位漏极开路的双向I/O 口。
作为输出口,每位能驱动8 个TTL逻辑电平。
对P0 端口写“1”时,引脚用做高阻抗输入。
当访问外部程序和数据存储器时,P0 口也被作为低8 位地址/数据复用。
在这种模式下,P0 具有内部上拉电阻。
在Flash编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。
在程序校验时,需要外部上拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TT逻辑电平。
当对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0 和P1.2 分别作为定时器/计数器2 的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如表1-1 所示。
51单片机各引脚及端口详解
51单片机各引脚及端口详解51单片机引脚功能:MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:l ~ P0口8位双向口线(在引脚的39~32号端子)。
l ~ P1口8位双向口线(在引脚的1~8号端子)。
l ~ P2口8位双向口线(在引脚的21~28号端子)。
l ~ P2口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。
在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢他起什么作用呢都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
51单片机的引脚功能及寄存器
51单片机的引脚功能及寄存器总是记不住,每当拿着一块单片机,总是要翻书查资料,放到这里以便以后查阅40:VCC 电源+5V20:VSS 接地19和18:XTL1和XTL2 振荡电路29: PSEN 片外ROM选通信号,低电平有效30:ALE/PROG 地址锁存信号输出端/EPROM编程脉冲输入端09: RST/VPD 复位信号输入端31: EA/VPP 内外部ROM选择端P0口双向I/O口驱动电流为10mAP1口准双向通用I/O口驱动电流为20mAP2口准双向I/O口驱动电流为20mAP3口多用途口驱动电流为20mAP0口当准双向口使用时,加上拉电阻(P0口作为输出口时,因输出级处于开漏极状态,所以必须加上拉电阻),输入是先将口置1.当数据总线使用时输入八位数据,当地址总线使用时输出8位地址。
P1口只能做I/O口使用,使用时不需要再加上拉电阻(P1口内置)。
P2口可以输出程序存储器或外部数据存储器的高8位地址,与P0口输出的低8位地址一起构成16位的地址线,从而可以分别寻址64K的程序存储器或外部存储器。
P3口端口位第二功能注释P3.0RXD串行口输入P3.1TXD串行口输出P3.2INTO外部中断0P3.3INT1外部中断1P3.4T0计数器0记数输入P3.5T1计数器1记数输入P3.6WR外部RAM写入选通信号P3.7RD外部RAM读出选通信号P0-P3做输出控制端时,低电平控制法,在低电平时I/O 口允许灌入的电流比高电平时要大,一般情况下低电平灌入的电流为高电平的4倍机器周期:计算机访问一次存储器的时间。
1个机器周期=12个振荡周期(晶振的时间周期)=1/fDJNZ=两个机器周期RAM 共分为两个部分,第一部分为 00H-7FH,在这128个字节中又分为三个区域,第一个区域为00H-1FH,有四组工作寄存器,每组8个字节,分别为R0-R7,同一时刻只能用其中的一组寄存器,通过程序状态字PW中的RS0,RS1两位来控制。
51单片机_P0口工作原理详细讲解
51单片机 P0口工作原理详细讲解一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。
再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
下面,我们先就组成P0口的每个单元部份跟大家介绍一下:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。
下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。
大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。
对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。
如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。
数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。
如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q 端的状态。
MCS51单片机的引脚及内部结构
P3口各引脚对应的第二功能
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD TXD /INT0 /INT1 T0 T1
/WR /RD
PSW各位定义
D7H D6H D5H D4H D3H D2H D1H D0H CY AC F0 RS1 RS0 OV — P
(1)CY(PSW.7):进位标志位 (2)AC(PSW.6):辅助进位标志位。 (3)F0 (PSW.5):用户标志位。 (4)RS1、RS0(PSW.4、PSW.3):工作寄存器组选择位。 用于选择CPU当前使用寄存器组。
(二)内部数据存储器低128字节
内部数据存储器低128字节按其用途划分为三个区 •工作寄存器区 •位寻址区 •用户RAM区
片内RAM低128字节的配置
30H~7FH 20H~2FH 18H~1FH 10H~17H 08H~0FH 00H~07H
用户RAM区(数据缓冲区) 位寻址区(00H~7FH) 工作寄存器区3区(R7~R0) 工作寄存器区2区(R7~R0) 工作寄存器区1区(R7~R0) 工作寄存器区0区(R7~R0)
单片机硬件系统
一、MCS-51单片机的引脚及内部结构
(一)89C51单片机的引脚
1、电源引脚: VCC:外接+5V;GND:电源地线。 2、时钟引脚 XTAL1、XTAL2为内部振荡器的两条引出线. 3、控制引脚 (1)ALE/PROG:地址锁存控制信号/编程脉冲输 入端 ﹡ ALE:在系统扩展时,ALE用于控制P0口输出的低 8位地址锁存,以实现低8为地址和数据的隔离。 ﹡ PROG:在EEPROM或EPROM编程期间,该引脚 用来输入一个编程脉冲。
51单片机各引脚
9、RST/VPD(9脚)RST复位(高电平复位):当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
VPD备用电源:VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。
18、19、时钟引脚时钟引脚外接晶体与片内的反相放大器构成了一个振荡器,它提供了单片机的时钟控制信号。
时钟引脚也可外接晶体振荡器。
(1)XTAL1(19脚):接外部晶体的一个引脚。
在单片机内部,它是反向放大器的的输入端。
这个放大器构成了片内振荡器。
如果采用外接晶体振荡器时,此引脚应接地。
(2)XTAL2(18脚):接外部晶体的另一端,在单片机内部接至内部反相放大器的输出端。
如果采用外部晶体振荡器时,该引脚接受振荡器的信号,即直接把此信号直接接到内部时钟的发生器的输入端。
XTAL1和XTAL2经常外接石英晶振和电容组成的反馈回路,以输出矩形脉冲作为单片机的时钟信号。
29、PSEN(29脚)外部程序存储器的读选通信号。
执行MOVC访问片外程序时,PSEN自动产生低电平,以实现外部ROM单元的读操作,其他情况均为高电平。
1. 内部ROM读取时,PSEN不动作;2. 外部ROM读取时,在每个机器周期会动作两次。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现;3. 外部RAM读取时,两个PSEN脉冲被跳过不会输出;4. 外接ROM时,与ROM的OE脚相接。
30、ALE/PROG(30脚)第一功能ALE(Address Lock Enable)为地址锁存允许,访问片外存储器时使用。
在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
51系列单片机引脚排列图与引脚功能介绍(含AT8051、89C2051等)
51系列单片机引脚排列图与引脚功能介绍(含AT8051、89C2051等)51系列单片机引脚排列图与引脚功能介绍(含AT8051、89C2051等)AT89c51(含8051、80S51、8031、8751、8052等)可以说是最常用的51单片机了,下图介绍了AT89c51双列直插和smt两种封装的芯片引脚图资料.供大家查阅.管脚资料与普通的51单片机一样.部分引脚简要说明:1、 RESET:一般接2个元件:①接10K电阻到地,②接10μ电容到电源。
2、 -EA / VPP:一般情况下接高电平(这时使用MCU内部RAM/ROM)。
3、 ALE / PROG:一般情况下空着(这时使用MCU内部RAM/ROM)。
4、 -PSEN:一般情况下空着(当使用MCU内部RAM/ROM时)。
5、 P0内部没有上拉电阻。
所以必要时需要在每个引脚外接5.1K左右上拉电阻到电源。
6、 XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空(特别声明:有些文章把XTAL1、XTAL2的功能正好说反了。
而我们这里的说法绝对是正确的)。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取20PF左右。
7、 VDD:电源+5V。
VSS:GND接地。
PDIP:PQFP/TQFP:PLCC:引脚功能说明:89C51外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便); ┏━┓┏━━┓; P1.0 ┫1 ┗┛ 40┣ Vcc; P1.1 ┫2 39┣ P0.0; P1.2 ┫3 38┣ P0.1; P1.3 ┫4 37┣ P0.2; P1.4 ┫5 36┣ P0.3; P1.5 ┫6 35┣ P0.4; P1.6 ┫7 34┣ P0.5; P1.7 ┫8 33┣ P0.6; RST/Vpd ┫9 32┣ P0.7; RXD P3.0 ┫10 31┣ -EA/Vpp(内1/外0 程序地址选择); TXD P3.1 ┫11 30┣ ALE/-P (地址锁存输出); -INT0 P3.2 ┫12 29┣ -PSEN (外部程序读选通输出); -INT1 P3.3 ┫13 28┣ P2.7; T0 P3.4 ┫14 27┣ P2.6; T1 P3.5 ┫15 26┣ P2.5; -WR P3.6 ┫16 25┣ P2.4; -RD P3.7 ┫17 24┣ P2.3; X2 ┫18 23┣ P2.2; X1 ┫19 22┣ P2.1; GND ┫20 21┣ P2.0; ┗━━━━━┛引脚说明:①电源引脚Vcc(40脚):典型值+5V。
51系列单片机各引脚功能概述
51系列单片机各引脚功能概述AT89C51引脚功能VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O,P1口管脚写入1后,被内部上拉为高,可用作输入。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口,管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
51单片机IO引脚IO口工作原理
51单片机IO引脚IO口工作原理1.IO口的分类1.1口线口线是指单向传输数据的引脚,它可以把数据发送给外部设备或接收来自外部设备的数据。
其中P0、P2和P3是口线,在默认情况下,它们的工作方式是输出模式。
1.2双向总线双向总线是指可以同时发送和接收数据的引脚,它常用于与外部设备进行通信,例如LCD显示屏。
其中P1是双向总线,在默认情况下,它的工作方式是输入模式。
2.IO口的工作模式2.1输入模式在输入模式下,IO口从外部设备接收信号。
当IO口设置为输入模式时,它会使用内部上拉电阻或外部电阻来保持引脚电平。
2.1.1内部上拉电阻内部上拉电阻使得当没有外部设备连接到IO引脚时,引脚会保持高电平。
要使用内部上拉电阻,可以将IO口设置为输入模式,并将其对应的引脚设置为逻辑1,例如:P1=0xFF。
2.1.2外部电阻如果需要连接外部设备到IO引脚,并保持引脚电平,可以使用外部电阻来实现。
在此情况下,需要将IO口设置为输入模式,并且外部设备需要连接一个电阻,使引脚电平保持在逻辑1或逻辑0。
2.2输出模式在输出模式下,IO口向外部设备发送信号。
当IO口设置为输出模式时,输出引脚可以被设置为逻辑1或逻辑0。
2.2.1输出高电平要将IO引脚设置为逻辑1,可以将IO口设置为输出模式,并将其对应的引脚设置为逻辑1,例如:P1=0xFF。
2.2.2输出低电平要将IO引脚设置为逻辑0,可以将IO口设置为输出模式,并将其对应的引脚设置为逻辑0,例如:P1=0x00。
2.3双向模式在双向模式下,IO口可以同时发送和接收数据。
要设置IO口为双向模式,可以将IO口设置为输入输出模式,并加上一个特定的配置。
3.IO口的配置为了设置IO口的功能,需要使用特定的控制寄存器和位操作。
以下是一些常用的51单片机IO口配置示例:3.1设置为输入模式要将IO口设置为输入模式,可以使用特定的控制寄存器和位操作。
例如,要将P1的第2位设置为输入模式,可以使用以下代码:```cP1=P1&(~(1<<2));//将P1的第2位设置为0,即输入模式```3.2设置为输出模式要将IO口设置为输出模式,可以使用特定的控制寄存器和位操作。
51单片机引脚介绍(全)
51单片机引脚介绍(上)单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈电源:⑴VCC - 芯片电源,接+5V;⑵VSS - 接地端;⒉时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:外ROM读选通信号。
⑶RST/VPD:复位/备用电源。
①RST(Reset)功能:复位信号输入端。
②VPD功能:在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。
①EA功能:内外ROM选择端。
②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机引脚工作原理一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。
再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
下面,我们先就组成P0口的每个单元部份跟大家介绍一下:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。
下面一个是读引脚的缓冲器,要读取P0.X 引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D 触发器来构成锁存器的。
大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。
对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。
如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。
数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。
如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。
多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。
那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。
大家看上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。
输出驱动部份:从上图中我们已看出,P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。
与门、与非门:这两个单元电路的逻辑原理我们在第四课数字及常用逻辑电路时已做过介绍,不明白的同学请回到第四节去看看。
前面我们已将P0口的各单元部件进行了一个详细的讲解,下面我们就来研究一下P0口做为I/O口及地址/数据总线使用时的具体工作过程。
1、作为I/O端口使用时的工作原理P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),看上图中的线线部份,多路开关的控制信号同时与与门的一个输入端是相接的,我们知道与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与让的输出是0,V1管就截止,在多路控制开关的控制信号是0(低电平)时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。
P0口用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP 有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。
前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。
下图就是由内部数据总线向P0口输出数据的流程图(红色箭头)。
P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程:数据输入时(读P0口)有两种情况1、读引脚读芯片引脚上的数据,读引脚数时,读引脚缓冲器打开(即三态缓冲器的控制端要有效),通过内部数据总线输入,请看下图(红色简头)。
2、读锁存器通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态,请看下图(红色箭头):在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。
例如,当从内部总线输出低电平后,锁存器Q=0,Q非=1,场效应管T2开通,端口线呈低电平状态。
此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。
又如,当从内部总线输出高电平后,锁存器Q=1,Q非=0,场效应管T2截止。
如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。
为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8051单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。
读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。
下面是几条读--修改-写指令的例子。
ANL P0,#立即数;P0→立即数P0ORL P0,A ;P0→AP0INC P1 ;P1+1→P1DEC P3 ;P3-1→P3CPL P2 ;P2→P2这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。
P0端口是8031单片机的总线口,分时出现数据D7一D0、低8位地址A7一AO,以及三态,用来接口存储器、外部电路与外部设备。
P0端口是使用最广泛的I/O端口。
2、作为地址/数据复用口使用时的工作原理在访问外部存储器时P0口作为地址/数据复用口使用。
这时多路开关‘控制’信号为‘1’,‘与门’解锁,‘与门’输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。
例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。
请看下图(兰色字体为电平):反之,控制信号为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。
请看下图(兰色字体为电平):可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。
P0口又作为数据总线使用。
在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读指令码(输入)。
在取指令期间,“控制”信号为“0”,V1管截止,多路开关也跟着转向锁存器反相输出端Q非;CPU 自动将0FFH(11111111,即向D锁存器写入一个高电平‘1’)写入P0口锁存器,使V2管截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线。
请看下图如果该指令是输出数据,如MOVX @DPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为‘1’,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据”线→反相器→V2场效应管栅极→V2漏极输出。
如果该指令是输入数据(读外部数据存储器或程序存储器),如MOVX A,@DPTR(将外部RAM 某一存储单元内容通过P0口数据总线输入到累加器A中),则输入的数据仍通过读引脚三态缓冲器到内部总线,其过程类似于上图中的读取指令码流程图。
通过以上的分析可以看出,当P0作为地址/数据总线使用时,在读指令码或输入数据前,CPU 自动向P0口锁存器写入0FFH,破坏了P0口原来的状态。
因此,不能再作为通用的I/O端口。
大家以后在系统设计时务必注意,即程序中不能再含有以P0口作为操作数(包含源操作数和目的操作数)的指令。
二、P1端口的结构及工作原理P1口的结构最简单,用途也单一,仅作为数据输入/输出端口使用。
输出的信息有锁存,输入有读引脚和读锁存器之分。
P1端口的一位结构见下图.由图可见,P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。
由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。
由上图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。
为此,在作引脚读入前,必须先对该端口写入l。
具有这种操作特点的输入/输出端口,称为准双向I/O口。
8051单片机的P1、P2、P3都是准双向口。
P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。
P1口的结构相对简单,前面我们已详细的分析了P0口,只要大家认真的分析了P0口的工作原理,P1口我想大家都有能力去分析,这里我就不多论述了。
单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。
如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。
此外,随输入指令的不同,H端口也有读锁存器与读引脚之分。
三、P2端口的结构及工作原理:P2端口的一位结构见下图:由图可见,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。
这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。
对于8031单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。
因此P2端口是动态的I/O端口。
输出数据虽被锁存,但不是稳定地出现在端口线上。
其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位地址。
在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并且P2端口也是准双向口。