APP下载

51单片机中并行I/O口的使用

2013-08-06韩彩霞

电脑与电信 2013年4期
关键词:单片机程序

韩彩霞

(江汉大学文理学院,湖北 武汉 430056)

1.8位并行I/O口P0口的使用

我们通过如下实例来说明P0口使用中需要注意的问题。

如:在51单片机的P 0.7上接开关,P2.3上接LED,开关控制LED的点亮和熄灭(开关闭合,LED点亮;开关断开,LED熄灭)。电路如图1所示。主程序如下:

#include

sbit K1=P0^7;

sbit LED=P2^3;

voidmain(void)

{while(1)

{if(K1==0)

{LED=1; //灯亮

}

else{LED=0; //灯灭

}

}

}

图1 开关控制LED图(不接上拉电阻)

把上述程序在KeilC软件中进行编译没有错误后,生成HEX文件。然后进行proteus软件仿真。仿真结果如图2所示。

图2 开关控制LED仿真图(不接上拉电阻)

由图2(a)可以看出,当开关断开时P0.7引脚电平为灰色显示,表示是高阻抗状态(这里可以把它看作是低电平)。由图2(b)可知:仿真开始后(开关从(a)图变化到(b)图的状态)无论开关断开或闭合,LED的状态都没有变化,也就是说开关根本没有控制LED的点亮或熄灭。

下面我们把图1改成图3的形式,即在P0.7引脚上外接一个上拉电阻R1,程序没有变化,同样进行如上的proteus软件仿真,仿真结果如图3(a)、(b)所示。

图3 开关控制LED仿真图(接上拉电阻)

由图3(a)可以看出,当开关断开时P0.7引脚旁电平为红色显示,表示为高电平。由图3(b)可知:仿真开始后(开关从(a)图变化到(b)图的状态)开关断开,LED熄灭;开关闭合,LED点亮。实现了开关闭合或断开控制LED点亮或熄灭。

出现上面的情况是由于51单片机P0口内部结构决定的。

因为51单片机P0口内部没有上拉电阻,所以图2(a)中P0.7为高阻抗状态(低电平),要使开关断开P0.7呈现高电平,须外接上拉电阻,如图3所示,这样在P0口才能有真正的高电平输出。

那么是不是使用P0口时都需要外接上拉电阻呢?通过以下分析来说明这个问题。……

登录APP查看全文

猜你喜欢

单片机程序
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
试论我国未决羁押程序的立法完善
小议PLC与单片机之间的串行通信及应用
失能的信仰——走向衰亡的民事诉讼程序
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
基于单片机的平衡控制系统设计
创卫暗访程序有待改进