51单片机各针脚介绍 - 图文 51单片机各引脚及端口详解 51单片机引脚功能: 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中的信息不会丧失 在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,假设输入为低电平那么可提供电流;所以假设P0口假设作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效 ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离参见图2〔8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进展存取时,用以锁住地址的低位地址,即P0口输出。
由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用 PSEN 外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作 1、内部ROM读取时,PSEN不动作; 2、外部ROM读取时,在每个机器周期会动作两次; 3、外部RAM读取时,两个PSEN脉冲被跳过不会输出; 4、外接ROM时,与ROM的OE脚相接 参见图2—〔8051扩展2KB EEPROM电路,在图中PSEN与扩展ROM的OE脚相接〕 EA/VPP 访问和序存储器控制信号 1、接高电平时: CPU读取内部程序存储器〔ROM〕 扩展外部ROM:当读取内部程序存储器超过0FFFH〔8051〕1FFFH〔8052〕时自动读取外部ROM 2、接低电平时:CPU读取外部程序存储器〔ROM〕 3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压 RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2 外接晶振引脚当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号 VCC:电+5V输入 VSS:GND接地 8031各端口工作原理讲解 并行端口 P0端口 总线I/O端口,双向,三态,数据地址分时复用,该端口除用于数据的输入/输出外,在8031单片机外接程序存储器时,还分时地输出/输入地址/指令由Po端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分P0端口8位中的一位构造图见以下列图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关与相应控制电路、场效应管驱动电路构成 在输出状态下,当切换开关MUX向下时,从内部总线来的数据经锁存器反相和场效应管T2反相,输出到端口引脚线上此时,场效应管T1关断,因此这种输出方式应为外接上拉电阻的漏极开路式当切换开关MUX向上时,一位地址/数据信号分时地输出到端口线上此外,由T1、T2的通断组合,形成高电平、低电平与高阻浮动三态的输出 在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外例如,当从内部总线输出低电平后,锁存器Q=0,Q=1,场效应管T2开通,端口线呈低电平状态。
此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因此不能正确地读入端口引脚上的信号又如,当从内部总线输出高电平后,锁存器Q=1,Q=0,场效应管T2截止如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令那么从端口引脚线上读入信号 读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上下面是几条读--修改-写指令的例子 这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以防止因外部电路的原因此使原端口的状态被读错 P0端口是8031单片机的总线口,分时出现数据D7一D0、低8位地址A7一AO,以及三态,用来接口存储器、外部电路与外部设备P0端口是使用最广泛的I/O端口 P1端口: 通用I/0端口,准双向静态口输出的信息有锁存,输入有读引脚和读锁存器之分。
P1端口的一位构造见以下列图. 由图可见,P1端口与P0端口的主要差异在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口 由以下列图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态为此,在作引脚读入前,必须先对该端口写入l具有这种操作特点的输入/输出端口,称为准双向I/O口8031单片机的P1、P2、P3都是准双向口P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入1后再作读操作 单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作假设在应用端口的过程中,已向P1一P3端口线输出过0,那么再要输入时,必须先写1后再读引脚,才能得到正确的信息此外,随输入指令的不同,H端口也有读锁存器与读引脚之分 Pl端口是51单片机中唯一仅有的单功能I/O端口,并且没有特定的专用功能,输出信号锁存在引脚上 P2端口: P2端口的一位构造见以下列图: 由图可见,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。
这主要表如今输出功能上,当切换开关MUX向左时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当MUX向右时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上 由于8031单片机必须外接程序存储器才能构成应用电路,而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的切换开关MUX总是在进展切换,分时地输出从内部总线来的数据和从地址信号线上来的地址因此P2端口是动态的I/O端口输出数据虽被锁存,但不是稳定地出如今端口线上其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位地址 在输入功能方面,P2端口与P0和H端口一样,有读引脚和读锁存器之分,并且P2端口也是准双向口 可见,P2端口的主要特点包括: ①不能输出静态的数据; ②自身输出外部程序存储器的高8位地址; ②执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口〔这是针对8031说的,P2端口的描绘与8051的不同8051有内部的ROM,无需外加ROM,所以8051的P2可以输出静态的数据也可以作为外部存储器的地址总线〕 P3端口: 双功能静态I/O口P3端口的一位构造见以下列图。
由上图可见,P3端口和P1端口的构造相似,区别仅在于P3端口的各端口线有两种功能选择当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用一样,也是静态准双向I/O端口当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口 P3口的特殊功能〔即第二功能〕: 使P3端品各线处于第二功能的条件是: 1\\串行I/O处于运行状态(RXD,TXD); 2\\翻开了处部中断(INT0,INT1); 3\\定时器/计数器处于外部计数状态(T0,T1) 4\\执行读写外部RAM的指令(RD,WR) 在应用中,如不设定P3端口各位的第二功能(WR,RD信号的产生不用设置),那么P3端口线自动处于第一功能状态,也就是静态I/O端口的工作状态在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。
端口的负载才能和输入/输出操作: P0端口能驱动8个LSTTL负载如需增加负载才能,可在P0总线上增加总线驱动器P1,P2,P3端口各能驱动4个LSTTL负载 前已述及,由于P0-P3端口已映射成特殊功能存放器中的P0一P3端口存放器,所以对这些端口存放器的读/写就实现了信息从相应端口的输入/输出例如: MOV A, P1 把Pl端口线上的信息输入到A MoV P1, A 把A的内容由P1端口输出 MOV P3, #0FFH 使P3端口线各位置l 串行端口: MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进展全双工的串行异步通信 1.串行端口的根本特点 8031单片机的串行端口有4种根本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要其中,方式0主要用于外接移位存放器,以扩展单片机的I/O电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式1的功能外,还可用作多机通信,以构成分布式多微机系统 串行端口有两个控制存放器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。