51单片机怎么读取P0,P1口的值,是要先给一个高电平才能读取吗?c程序怎么写?
发布网友
发布时间:2022-05-19 19:14
我来回答
共2个回答
热心网友
时间:2023-10-16 11:47
为了保险一般需要先给送一个“高”,再读取IO口,这是针对那些没有加上拉电阻的IO口而采取的办法,如果加了上拉电阻,是不用这么麻烦的,可以直接读取IO口的值。
uncsigned char dat0,dat1;
//
P0=0xff;P1=0xff;
dat0=P0;
dat1=P1;
热心网友
时间:2023-10-16 11:48
是的
可以先在初始化写一句
P1=1;
就可以读了
P0记得接上拉电阻
51单片机怎么读取P0,P1口的值,是要先给一个高电平才能读取吗?c程序...
为了保险一般需要先给送一个“高”,再读取IO口,这是针对那些没有加上拉电阻的IO口而采取的办法,如果加了上拉电阻,是不用这么麻烦的,可以直接读取IO口的值。uncsigned char dat0,dat1;//P0=0xff;P1=0xff;dat0=P0;dat1=P1;
MC51单片机如何通过上电复位实现p01和p02做输入口?具体汇编程序应该怎 ...
51是准双向口,你要读哪个口的数据,在读之前简单的加个SBIT P0.x就可以了,或者直接MOV P0,0xff,然后再读进来的就是P0口的输入值,不过标准51的P0是不带上拉的,你需要在P0口外面加上一个10K的上拉电阻才能作为输入。
急。。单片机读引脚时,为什么要向I/O口写1
51单片机的P1 P2 P3 口为准双向口,输出高电平是由内部开关管与地断开,上拉到高电平,如果内部的开关管与地是通的,那么输出的是低电平“0”,这样你怎么读端口都会一直是低电平,所以要先写个“1”,就是让它输出高电平,这样内部开关管就与地断开了,读到的电平就是外部的电平了。简单言之,...
51单片机用C写程序如何识别P0、P1、A这些?
P0,P1在相关型号单片机的头文件中就有定义了,这个部分用户使用即可。在C中,没有累加器A的概念,直接定义变量就可以完成A的各种操作。
请问51单片机怎么才能判断电位的高低?
0脚的电位;SETB P1.0 JNB P1.0,DIDIANPING //如果是低电平,转移到:DIDIANPING AJMP GAODIANPING //如果是高电平,转移到:GAODIANPING DIDIANPING:... //低电平处理 RET GAODIANPING:... //高电平处理 RET 思路就是:先置位成高电平,再读取那个I/O口,判断是高还是低 ...
51单片机怎么用一个按键控制P0,P2顺序输出高电平
下面这个程序里面有你要的东西,自己找找。include"reg51.h"void delay(int n);sbit K1=P3^3; //LED左移按键 sbit K2=P3^5; //LED右移按键 sbit K3=P3^6; //开启手动按键 sbit K4=P3^7; //开启自动按键 bit mark1=0;bit mark2=0;unsigned char a,b,c,d;int x;v...
c语言编程时,读P1~P3口的引脚数据,用不用先往对应的寄存器中写1啊?
51核的单片机不用写1,上电后 单片机默认高电平。如果是P0口的话就要加上拉电阻。其他类型的单片机一般都有配置引脚为 "输出"或"输入"的寄存器。要读数据只需要把引脚配置成输入类型,同样不用写1。
急!C51单片机I/O口默认高电平问题!!!
1. 在C51单片机中,P0、P1、P2、P3端口的寄存器地址分别为0x80、0x90、0xA0、0xB0。这些地址指的是端口寄存器的地址,并非端口的默认高电平或低电平值。2. 如果发光二极管(LED)是高电平驱动的,当P0口输出值为0xFF(二进制为11111111)时,LED会亮起。然而,这个值不是直接从头文件中获得的,...
51单片机的P0,P1,P2,P3,P4口各是什么意思?
一、P0口:这是一个真正的双向I/O口,具备输出锁存和输入缓冲功能。在使用前,需要先将输入端置为高电平。该口输出为漏极开路形式,因此输出时需要连接上拉电阻。在输入模式下,呈高阻状态,能够驱动8个TTL负载。当片外存储器被使用时,P0口作为数据总线。二、P1口:这是一个较为简单的I/O口,...
51单片机 如何检测某个引脚是否为高低电平 求一个C源程序实例
要求:一个51最小系统版,一个LED,一个1K~10K的电阻(4.7K)。+5V电源接到LED的正极,串联一个4.7K电阻,接到单片机的引脚上(如P0.1口)。该电路功能:当单片机输出低电平时,小灯亮;单片机输出高电平时,小灯不亮。编程序观察现象。程序:void main(){ sbit LED=P0^1; void delayms(unsigned mx){ unsigned ...