❶ 51单片机p0p1p2p3口,到底有啥区别啊,他们的基本功能有啥
51单片机p0、p1、p2、p3口区别如下:
一、意思不同
P0口作输出口用时,需加上拉电阻。P0口有复用功能。当对外部存储器进行读写操作时,P0口先是
提供外部存储器的低8位地址,供外部存储器地址锁存器锁存,然后充当数据线,用于写出或读入数
据。P1口、P2口只是普通IO口。
二、功能不同
P0口第一个功能是数据接口,第二个功能是地址低八位,P2口第二个功能是地址高八位。另外除了
P0口没有内部上拉电阻外,其他三个都有内部上拉电阻。
三、用法
信号输出和交互接口,编程可以确定不同的功能,例如连接液晶屏,作为控制信号输出输入等。
由于没有端口复用功能,所以,P0口的V1变成了一个上拉电阻。由于内部就有上拉电阻,所以,作
为GPIO时,P1口不需要接上拉电阻,当然,您接了也没关系啦,就相当于两个上拉电阻并联。
基本功能:
一、P1 就没多少功能,就是个准双向I/O口。
二、P0当准IO口使用,也就是既可以用作输出口,也可以用作输入口。
三、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)读外部存储器的脉冲输出。
(1)c语言p1跟p1的区别扩展阅读
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。具有很多复用功能。
❷ C语言中*p和**p有何区别
一、表示的东西不同
*p表示p代表相应数据类型在存储单元中存储的首地址,而这个存储单元存储的是相应类型数据的数值。
**p表示p也表示地址,简单的说,这个地址对应的存储单元存储的数也是一个地址,而不是数值,而这个被存储的地址对应的存储单元存储的数据才是真正的相应类型的数值。
二、基类型不同
例如int *p1,**p2;
两者本质上都是指针,但是两者的基类型不同。p1的基类型是int,换句话说p1指针指向的是int型的数据,而p2的基类型是int *换句话说p2指向的是指向int型数据的指针,即指向指针的指针。
三、用法不同
例如int *p;
那么p就是指向int类型变量的一个指针。(即数组)
如果int**p;
那么p就是指向int*类型指针的一个指针。(即指向一维数组的指针,即二维数组)
❸ C语言有了int **p1,那*p1是什么
int **p1
p1为int **型,为二级指针
那么*p1就是int*型,整型指针。
❹ C语言里的P0,P1,等等这些是什么意思怎么决定的哪里是0哪里是1呢为什么用P呢
这和c语言学习没有关系。。P0P1是单片机的输出输入接口,是在单片机实际应用中才会遇到的。。
现在先学会c语言的基础语句应用,不要考虑这些。。当c语言基础语句和编程都有基础了,这些定义都不再是困扰。
学习是个渐进积累过程。。不懂的就先放下,踏实学会c语言语句及编程,然后再接触其他应用就会很容易了。