51单片机用c语言编程判断各i/o口的是否有高低电平,应该怎样写程序?

如题所述

就直接用
if (P_^_==0) ……这里的_表示数字,51有四个端口,各有八个,你随便用啊追问

那怎样把端口的高低电平通过串口发送给上位机啊?谢谢

追答

这要用MAX232经过电平的转换,将TTL电平转化成232电平,才能与上位机(电脑)通信啊;然后用单片机的串行通信功能写个程序直接发就行了

追问

硬件都已经做好了,串口程序我找了几个,但我不明白在判断了某个端口是高(低)电平后,怎样将这个值透过串口发给上位机,能简单举个例子给吗?

追答

SBUF=temp;51里与串口发送的实际只一句,它就把temp传到SBUF然后再一位一位的串行发送了呀,至于它是怎么发的,我们没必要知道啊;那是串行通信的协议;比如吧,
sbit shu=P2^0;
if (shu==0 )
SBUF=0;它就把0这个数据发到上位机

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-15
sbit P12=P1^2; 这是定义IO口

if(P12==0) {}
if(P12==1){} 就这样判断
相似回答