51单片机P1⼀P2口初始化置低电平的时候怎样读取外部高电平???

2024-11-23 09:37:32
推荐回答(4个)
回答1:

单片机引脚作为输入和输出是由程序来决定的,与外围电路和端口状态无关。

比如你想做输出,就直接给P1口赋值。P1 = 0xFE; MOV P1,#0FEH

如果你想让P1口做输入,直接读取P1口就行了 A=P1; MOV A,P1

不用考虑IO口状态,直接读就是了。

你想判断外部是否是高电平,比如p1.0读到一个高电平的时候p2.2输出0:

if(p1_0)
p2_2 = 0;

明白了吗?

回答2:

51单片机的p1/p2口内部有上拉,你直接输入高电平,应该可以识别到。

如果程序判断不出,你可以测试一下端口电压,如果电压过低导致单片机无法识别,那就需要接外部上拉了,保证输入高电平的时候能够被识别出来。

回答3:

当IO口出现高电平的时候就可以读取了,高于3.6伏就是高电平了。程序中可以使用if判断当PI或者p2等于FFH的时候执行某种操作。

回答4:

51不用设置方向,这样的话就看外部电平的拉高拉低的能力了,如果是强上拉,就能拉高端口,如果比较弱,就拉不上来了