如何理解单片机P0~P3端口与特殊功能寄存器P0~P3的关系?
1、P0口:真正的双向口,输出锁存,输入缓冲,输入前要先置1(KEIL包含的头文件已经有动作了,如果用汇编,要人工置1),输出为漏极开路,输出一般都要上拉电阻。输入为高阻态,能驱动8个TTL负载。当有片外存储器时,作数据线使用。
2、P1口:最简单的口,输入也要先置1,无高阻态,只能是输出或者输入。能驱动4个TTL负载。
3、P2口:I/O(输入/输出)与P1口一样,当有片外存储器时,作地址线使用,寻址64K片外数据存储器。能驱动4个TTL负载。
4、P3口:I/O(输入/输出)与P1口一样,但无论输入输出都要先置1。具有很多复用功能。
扩展资料
1、如果P1口用作输入端口,即Q=0,/Q=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“。
所以,与P0端口一样,在将数据输入P1端口之前,先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P1端口输入的“1”才可以送到三态缓冲器的输入端,此时再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。
2、具有这种操作特点的输入/输出端口,一般称之为准双向I/O口,51单片机的P1,P2,P3口都是准双向口。而P0端口由于输出具有三态功能(输出端口的三态是指:高电平,低电平,高阻态这三态),所以在作为输入端口时,无需先写“1”然后再进行读操作。
参考资料:EEPW - 51单片机的P1、P2、P3口的工作原理
单片机的P0~P3的32个引脚都是双向I/O口,你说的并不准确,因为也有置高的时候,置1(你说的置高)和置0是根据需要设置的。
现就AT89C51作一下简单的说明,仅供参考:
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为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 (外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
P0端口对应特殊寄存器地址:80H
P1端口对应特殊寄存器地址:90H
P2端口对应特殊寄存器地址:0A0H
P3端口对应特殊寄存器地址:0B0H
而且这四个寄存器是可以进行位寻址操作的
在学单片机,我想知道p0-p3 cpu是怎么控制它每个端口是干嘛用的,比如...
p0-p3 是双向输入输出口 输出时 用 MOV A,#direct MOV P1,A P1口的管脚)即输出数据 输入时先向端口写入1 然后执行 MOV A,P1 即读入了P1 口状态 或JB P1.0 即或获取单个引脚状态 P3口第二功能,只要开启,它就会生效 如外部中断引脚,只要你开总中断和外部中断,当在此管脚上出现...
单片机中的P0与P1的区别?
1、P0口默认位单片机寻址的低8位地址,而P1口则没有这种功能。2、在程序中可能包含有外部寻址的语句,而寻址的时候,P0仍然参与了工作。3、已经将1602从P0转移到了P1,所以通过外部寻址才能正常工作的程序就不能正常驱动1602了。4、建议:如果是上述情况,可将与外部寻址有关的指令,都改为对P1口的...
单片机的I\/O口就是指单片机上面的引脚吗?还是指P0,P1,P2,P3口等?_百 ...
单片机的I\/O口, I\/O 就是 输入\/输出,是指P0,P1,P2,P3口,如 P0 有8个 I\/O口组成 连接 8个引脚, P1 P2 P3 也是一样,如 40 引脚的单片机,P0,P1,P2,P3 组成 32个 I\/O口,也有 32个 I\/O口 以上的。
单片机Keil软件是如何点亮一盏灯的?
1. P0是指单片机的一组IO口,一共有8个输入或输出IO口(P0^0,P0^1,P0^2,P0^3,P0^4,P0^5,P0^6,P0^7),至少能点亮8个LED 2. P0=0x00,就是对这组IO赋值或传数据,0x00是一个16进制数,转成二进制是00000000,每个0对应每个IO口(就是输出8个低电平),前四位(前面四个0)叫...
P0<<=1 单片机编程中这个什么意思啊?
P0对应他这组的8个引脚,即 P0^0--P0^7 这句话的意思是右移 加入P0开始是00000001 经过P0<<=1(即P0=P0<<1)就变成了00000010 这个右移8次就把1移出去了,就会变成00000000即十进制的0
为什么说51单片机中数据总线是P0?
是因为当你执行访问外部RAM的指令时(例如movx r0,a),a的内容就是放在P0口的引脚上的,反过来输入时(例如movx a,@r0),CPU会把P0引脚上的信号送给a 当然P0是分时复用的,也输出地址,上例中r0的内容(地址)在ALE信号有效时也会出现在P0口。当然还有访问外部ROM的movc指令以及从外部ROM中取指令的...
单片机的P2口和P0口有什么联系
单片机的P0中是集电集开路输出,也叫OC门(真对TTL型逻辑),或者是OD门,源级开路(真对MOS芯片)。所以要在P0口加上一个上拉电阻,这样P0口才会有高电平输出。P0口的低电平驱动能力要比其他口大,最大的可以达到几十个毫安。这是把这个口单独当成普通IO口使用时要注意的。P0口和P2口在当成地址...
80351单片机p0口,p1口,p2口和p3口特点?
8051单片机p0口是地址数据复用端口,另外P0口没有上拉电阻,,p2口可以做为高8位地址线用,p3口除了作为通用IO口外,所有第二功能都在它上面,如串口,外部中断输入、计数器输入、读写外部RAM控制信号等。P1口没有特别之处。
在单片机程序中 这个语句有什么作用啊?谢谢 P0=0x00; P0=~DSY_CODE[i...
P0=~DSY_CODE[i];这条是段码的码表,假设放的是共阳码,这里~一下(按位反),就是共阴码了。这样写法方便的是只要共阴(或共阳)的码,就可以成了共阳(或共阴)的码了。
单片机中经常讲到的片内和片外是什么含义
片内程序储存器就是单片机内部FLASH 程序存储器 片内数据存储器不用多说就是单片机内部RAM,何为片外我来解释,51单片机有P0,P1,P2,P3,当你的程序大于内部FLASH存储器时,这时就需要外接硬件来扩展外部存储器,P0和P2口是用来做扩展外部存储器时的地址总线,P0做低8位 P2为高8位连接外部硬件(就...
酉贱斯帕: 不知道你说的是哪种单片机,如果是常用的51单片机的话,其P1口仅作为I/O,无第二功能;P3口作为I/O的同时,其第二功能是一些特殊功能,非扩展存储.P0口用于外部扩展存储时,用作地址总线或数据总线;P2口作为扩展存储时,作为地址总线.
沿滩区19643388165: 单片机AT89S52的p0,p1,p3管脚都是干什么的? - ?
酉贱斯帕: P0口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL逻辑电平.对P0端口写“1”时,引脚用作高阻抗输入. 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下,P0具有内部上拉电阻...
沿滩区19643388165: 大神们,51单片机AT89S52芯片P0口、P1口、P2口和P3口它们之间有什么内在联系?有什么区别?都有哪些功能? - ?
酉贱斯帕: 四个P口没有内在联系. P0是标准双向口,但不能输出高电平,需要上拉; P1是常用输入、输出口,有内部上拉 P2常与P0构造外部存储器地址,也用于输入输出 P3具有外中断、计数输入等第二功能,也用于输入输出. P1、P2、P3都有内部上拉,可以输出高电平,但驱动能力很差,一般都是用低电平作有效信号.
沿滩区19643388165: 8051单片机p0~p3口的结构有何区别 - ?
酉贱斯帕: P0开漏,只有低电平驱动能力.P1P2P3默认状态是弱上拉,几百uA的上拉电流.
沿滩区19643388165: 单片机的p0,p1,p2,p3端口有什么作用? - ?
酉贱斯帕: l P0.0~P0.7 P0口8位双向口线. l P1.0~P1.7 P1口8位双向口线. l P2.0~P2.7 P2口8位双向口线. l P3.0~P3.7 P2口8位双向口线. P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口) 2、外部扩展存...
沿滩区19643388165: 51单片机各口功能是哪些?p0p1p2p3 - ?
酉贱斯帕: 首先,51单片机p0p1p2p3口,都可以当准IO口使用,也就是既可以作输出口,也可以作输入口.区别在于: 1、P0口作输出口用时,需加上拉电阻. 2、P0口有复用功能.当对外部存储器进行读写操作时,P0口先是提供外部存储器的低8位地...
沿滩区19643388165: 80C51单片机的P0~P3口在结构上有何不同?在使用上有何特点? - ?
酉贱斯帕: P0口内部没有上拉电阻,可以用做16位地址的低8位;P3有第二功能;P2口可以用做16位地址的高8位;
沿滩区19643388165: 80C51单片机P0~P3口在结构上有何不同,在使用上有何特点 - ?
酉贱斯帕: 就P0不同吧要接上啦电阻因为它输出高电平时会不正确,其他的几个P口是一样的.......
沿滩区19643388165: 51单片机中,p0口作为输出口和p1,p2,p3有什么不同? - ?
酉贱斯帕: p0口中没有上拉电阻,在输出时需外加上拉电阻才能输出1;还有就是,p0口可以做片外数据和片外程序存储器的低八位地址总线和数据总线.其他的都差不多吧……
沿滩区19643388165: 典型51单片机的P0,P1,P2,P3口都有哪些功能? - ?
酉贱斯帕: P0口第一个功能是数据接口,第二个功能是地址低八位,P2口第二个功能是地址高八位.另外除了P0口没有内部上拉电阻外,其他三个都有内部上拉电阻.P1 就没多少功能,就是个准双向I/O口.最重要的就是P3口了,他除了是个准双向I/O口外,第二功能很重要:P3.0 (RXD)串行数据接收端;P3.1 (TXD)串行数据发送端;P3.2 (INT0)外部中断0输入;P3.3 (INT1)外部中断1输入;P3.4(T0)Timer0计数器输入;P3.5(T1)Timer1计数器输入;P3.6(WR)写外部存储器的脉冲输出;P3.7(RD)读外部存储器的脉冲输出;