检测P3.1引脚 只要这个引脚电平有变化P2.1就取反。
----
ORG 0000H
DJNZ R7, $
MOV A, P3
MOV 20H, A
XRL A, 21H
MOV 22H, A
MOV 21H, 20H
JNB 22H.1, 0000H
CPL P2.1
SJMP 0000H
END
可以实现题目要求。
在网上看到这样的一句话 “51单片机的I/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入”,
--正确。
也就是说如果上面的设计可以做到的话,那么就需要一开始的时候给高电平吗?
--必须先给端口置一。
--你的电路,是做不到的。
--你的电路,按键、不按键,送到引脚的信号,都是高电平。
--你的电路,设计的不对,不符合单片机的特点。
--按键,另一端,应该接地。
单片机里面有程序时,最好用示波器测引脚的电压。
程序运行时会引起引脚电平的变化,当引脚电平变化比较快时,万用表就测不准了。
当引脚输出频率比较高的方波信号时,万用表就会测出2.5伏的电压。
sbit GO_OUT =P3^5; //需要检测的引脚
sbit LED =P3^4; //显示led 引脚为低时候亮
void main() //主程序
{
while(1) //主循环
{
if(GO_OUT==0)
{
LED=1; //引脚为低 led不亮
}
else LED=0; // 否则led点亮
}
}
设置这个引脚 :外部电平变化触发中断。这样,每一次电平变化,单片机都执行一次中断服务程序,做相应处理。这是最高效的,不会漏检。
单片机引脚检测电平的介绍到此就结束了,感谢您耐心阅读,谢谢。
本文标签:单片机引脚检测电平