51单片机中,有4个组I/O口,分别是P0、P1、P2、P3;I/O(Input/Output)口,Input表示输入电平信号,Out表示输出电平信号。在数字电路中,电平有高低电平两种,也就是说I/O口,这个端口可以输入或者输出高低电平。
不同数字电路系统中,对于电平的定义的电压不一样。而在STC89C52中5V的系统中(如下图所示),低于0.8V被识别为低电平,而高于2.0V被识别为高电平。
LED电路原理图:
在51单片机系统中,LED正极接电源VCC(5V),负极接串联一个470欧电阻,连接到单片接P2。
LED点亮原理 :
以P20口为例说明,LED可以点亮的原理。
当单片机P20口的引脚为高电平,LED连接的VCC为端高电平,没有形成回路,形成不了电流,LED1不会亮。当单片机P20口的引脚为低电平,LED连接的VCC为端高电平,形成回路,形成电流从VCC流向P20口,LED1亮。
C51代码:
新建工程,编写程序。
#include "reg52.h"
sbit led0 = P2^0;
void main(){
led0 = 0;
}
代码解析:
(1)#include "reg52.h",包含头文件,添加51单片机特殊定义
(2)sbit led0 = P2^0, 声明位变量,并赋值。声明位变量,将P2的第0口赋值给 led0;可以通过,控制led0变量控制P2的第0口电平。
(3)void main(),C语言入口函数,代码执行的入口。
(4)led0 = 0,将P2的第0口电平输出低电平。
注意事项:
编译后可能没有错误,但是没有生成执行文件或者执行文件会没有效果。
(1)新建工程后,并没有选择生成hex文件,需要到下面位置进行设置。
(2)新建文件.c文件,写入代码后没有,将.c文件添加到项目中。需要双击项目文件夹(如箭头所示),将.c添加进入项目。
全部0条评论
快来发表一下你的评论吧 !