基于51单片机点亮LED的原理解析

描述

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添加进入项目。

单片机

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分