80C51单片机的IO口(五) – P3口内部结构与工作原理
P3口的内部逻辑结构如下图所示,由1个输出锁存器、3个输入缓冲器(其中2个为三态缓冲器)、1个与非门和输出驱动电路组成。输出驱动电路与P1、P2口相同,内部有上拉电阻。
P3口的内部逻辑结构
P3口具备以下两种功能:
1. 作为通用I/O口(可字节或位寻址)
内部硬件自动将第二功能输出线W上的电平置“1”。这个时候:
当口线用作输出时,内部总线上的电平状态与输出引脚状态相同;
当口线用作输入时,先要向锁存器写入“1”,使与非门的输出为低电平,进而使MOS管T截止,引脚处于高阻状态。引脚上的数据在“读引脚”信号有效时,通过2个输入缓冲器进入内部数据总线。
从以下分析可知,P3口在用作通用I/O口时,也是准双向口。
2. 作为第二功能口(不进行字节或位寻址)
内部硬件自动将锁存器的Q端电平置“1”。P3口各引脚的第二功能定义如下:
(1) 输出
与非门对第二功能是畅通的,引脚状态与第二功能输出相同。
P3.1 :TXD(串行口输出)
P3.6 :WR(片外数据存储器“写”选通控制输出)
P3.7 :RD(片外数据存储器“读”选通控制输出)
(2) 输入
锁存器的Q端电平和第二功能输出线W电平都被内存硬件自动置“1”。与非门输出为低电平,进而使MOS管T截止,引脚处于高阻状态。引脚信号经输入缓冲器(非三态缓冲器)进入内部第二功能输入线。
P3.0 :RXD(串行口输入)
P3.2 :INT0(外部中断0输入)
P3.3 :INT1(外部中断1输入)
P3.4 :T0(定时器0的外部输入)
P3.5 :T1(定时器1的外部输入)
P3口第二功能的具体用法将在后期相关功能学习时进行介绍。请保持关注。
详解51系列单片机引脚及功能
51系列单片机有各种封装形式,这里以40引脚双列直插DIP形式的封装来进行介绍,如图1.1所示。其中正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
图1.1 8051双列直插式的引脚配置
有些新型的单片机在引脚数量以及功能上都略有区别,但都是基于51系列单片机内核。这里介绍的内容同样适用于新型的单片机。下面介绍51系列单片机的引脚功能,这些是学习单片机程序设计必须要了解和掌握的基础知识。
❑电源引脚:主要负责单片机的供电,有两根引脚。VCC(Pin40)为正电源端,接5.0V电压;GND(Pin20)为接地端。
❑外接晶振或外部振荡器引脚:主要负责为单片机的运行提供时钟振荡器,主要有两根引脚。其中,XTAL1(Pin19)为时钟XTAL1脚,片内振荡电路的输入端;XTAL2(Pin18)为时钟XTAL2脚,片内振荡电路的输出端。
8051单片机的时钟振荡器有两种工作方式。一种是片内时钟振荡方式,在18和19脚外接石英晶体和振荡电容,振荡电容的值一般取10~30pF。另外一种是外部时钟方式,由外部直接提供时钟源。
❑P0口:即P0.0~P0.7(Pin39~Pin32),输入输出脚,可用于8位并行I/O口或分时复用为地址和数据总线。
P0定义为I/O口时,为准双向I/O口,需外接上拉电阻,在程序中向该端口写入1后,成为高阻抗输入口。P0口作为输出口时,每个引脚可以负载8个TTL。在外扩存储器时,可定义为低8位地址/数据线。
❑P1口:即P1.0~P1.7(Pin1~Pin8),输入输出脚,8位准双向并行I/O口。P1口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;在Flash编程和校验时,定义为低8位地址线。
❑P2口:即P2.0~P2.7(Pin21~Pin28),输入输出脚,8位准双向并行I/O口。P2口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;当访问外部存储器时,定义为高8位地址线。
❑P3口:即P3.0~P3.7(Pin10~Pin17),输入输出脚,8位准双向并行I/O口。P3口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL。
P3口每个引脚都具有第二功能。引脚P3.0(RXD)和引脚P3.1(TXD)分别为串行数据的接收和发送端口,用于串行数据传输;引脚P3.2和引脚P3.3为外部中断请求,分别用于
和
的中断输入;引脚P3.4(T0)和引脚P3.5(T1),分别为定时器/计数器T0和T1的外部计数输入端;引脚P3.6(
)和引脚P3.7(
)用于读写单片机片外RAM存储器,分别是外部数据写选通信号和读选通信号。
❑RST(Pin9):单片机内部CPU的复位信号输入端。在单片机的振荡器启动后,该引脚置两个机器周期以上高电平,便可以实现复位。
❑
(Pin30):地址锁存使能端和编程脉冲输入端。
当访问外部程序存储器时,ALE引脚的负跳变将低8位地址打入锁存;而非访问内部程序存储器时,ALE引脚将有一个1/6振荡频率的正脉冲信号,该信号可以用于外部计数或时钟信号。当访问外部数据存储器(执行MOVX类指令)时,ALE引脚会跳过一个脉冲。另外,对8EH单元的特殊功能寄存器的D0位置1,可禁止ALE输出,只有在执行MOVX或MOVC类指令时,ALE才被激活,仍输出锁存有效。在执行片外程序代码时,该设定禁止ALE位无效。
❑
(Pin29):访问外部程序存储器的读选通信号。
当单片机访问外部程序存储器,读取指令码时,每个机器周期产生2次有效信号,即此脚输出2个负脉冲选通信号;在执行片内程序存储器以及读写外部数据时,不产生
脉冲信号。
❑
(Pin31):
为访问内部或外部程序存储器选择信号。
当8051 CPU访问外部程序存储器时,则
必须保持低电平;当
保持高电平时,则8051 CPU先从片内0000H单元开始,执行内部程序存储器程序;如果外部还有扩展程序存储器,则8051 CPU在执行完内部程序存储器程序后,自动转向执行外部程序存储器中的程序。
相关问答
单片机P3.6 /WR和P3.7/RD都是什么意思啊?不是连接1602的那个wr和rd?单片机P3.6既是IO口,又是一个写信号,当使用指令MOVX@DPTR,A时有效P3.7既是IO口,又是一个读信号,当使用指令MOVXA,@DPTR时有效。单片机P3.6既是IO口,又是一.....
单片机 中 p3 口高四位是哪几位?p3.7p3.6p3.5p3.4这四个是高四位的端口。p3.7p3.6p3.5p3.4这四个是高四位的端口。
51 单片机 c语言编程led灯1,3,5,7和2,4,6,8交替闪烁?假设你的8个LED是通过低电平来点亮,即LED负极连接P口,正极连接电源:1.当1,3,5,7亮时,我们的P2口状态以二进制表示应该是10101010,也就是0xAA,程序应该写成...
单片机 中 P3 口的使用?当P3端口使用第一功能(通用I/O口)输出数据时,“第二输出功能”信号应保持高电平,使与非门开锁,此时端口数据锁存器的输出端Q可以控制P3.x引脚上的输出电平;...
如何选择和设置?57.80C51 单片机 端口P0~ P3 作I/O口时,在使用...[最佳回答]200还差不多
单片机 定时的时间怎么改变?定时器实质是计数器。当计数脉冲周期一定时,就有定时功能。雅帆用水桶给你打个比方吧!一、向上计定时数器举例当一个255毫升的烧杯,提前放入155毫升水后,...
单片机 的P0P1P2 P3 分别是什么,哪个控制灯,哪个控制蜂鸣器?P0P1P2P3分别是指单片机的4组输入输出口。由于口是双向的,所以都可以用来做输入或者输出。具体用哪个脚关键看程序设置。注意使用的时候,P0口要加上拉电阻P0...
stc12c5a60s2 单片机 DAC?STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度...
单片机 中的问题:MCS-51复位时,ACC、PSW、SP、P0~ P3 的值分别是多少?特殊:堆栈SP=07H;P0,P1,P2,P3,P4为0FFH;其他都为0;所以ACC=0;PSW=0;特殊:堆栈SP=07H;P0,P1,P2,P3,P4为0FFH;其他都为0;所以ACC=0;...
c++设计输入6名学生5门课程的考试成绩,统计出每位学生的均...[回答]max){max=stu[i].a[j];max_i=i;max_j=j;}cout<<"最高分为"2)r[i]="否";elser[...