×

51单片机笔记 51单片机学习纪实

51单片机学习纪实:1.1-点亮一颗LED_【基础实验1】

一哥 一哥 发表于2021-11-23 20:33:20 浏览1137 评论0

抢沙发发表评论

实验思路:

  1. 重定义管脚P0.0为LED1(管脚重定义要有意义,能通过重定义后的名称知道的功能)

  2. 给LED1(即P0.0管脚)低电平,点亮LED(开发版LED灯为共VCC,GND端接入P0.0管脚。因此给P0.0管脚低电平即可点亮LED)



完整代码:

/*******************************声明区*********************************
* 实验名称:控制1颗LED点亮
* 文件名称:main.c
* 版    本:V1.00
* 日    期:2021-11-23
* 编    著:gefon
* 说    明:使用普中A7开发版,控制D1编号LED点亮

***********************************************************************/
#include "reg52.h"

sbit LED1=P0^0; //将P0.0管脚定义为LED1

/*******************************主程序*********************************
* 函 数 名   :main
* 函数功能   :主函数
* 输    入   :无
* 输    出   :无
***********************************************************************/
void main()
{
    LED1=0; //点亮D1灯
    while(1)
    {    
    }
}


实验分析:

1、经实验LED1放在while(1)循环内或循环外,皆可实现点亮LED。

2、经实验无while(1)LED也可以点亮,是否可以不要while(1)也可以呢?经网上搜索发现,由于单片机本身的原因,如果没有while(1)程序执行完后可能会出现乱跑的现象,造成main函数无法终止。因此主函数main中有且必须有一个while(1)。


少长咸集

群贤毕至

访客