[VinCiPI 51开发板]第四章 功能模块的实验方法 4.1.2 IO输出-点亮1个LED灯方法1

4.1.2 IO输出-点亮1个LED灯方法1

一、简介

本文介绍如何利用单片机点亮1个LED灯的方法

二、实验平台

单片机型号:STC12C5A60S2

编译软件:KEIL

硬件平台:达芬奇51开发版

三、版权声明

博主:文武先生

声明:喝水不忘挖井人,转载请注明出处。

原文地址:

联系方式:[email protected]

51单片机群:463850023

四、讲解

首先看一下电路图

image.png

在程序中,使P2.0引脚电平拉低,看如下程序:

sbit LED=P2^0;         // 用sbit 关键字 定义 LED到P2.0端口,LED是自己任意定义且容易记忆的符号
void main (void){      //此方法使用bit位对单个端口赋值    
     LED=0;            //将P1.0口赋值 0,对外输出低电平    
     while (1)         //主循环    
    {                       
                       //主循环中添加其他需要一直工作的程序    
    }
}

给P2.0引脚起一个名字叫做LED,在后面的程序中都可以用LED代表P2.0,要想给P2.0低电平,直接用 LED = 0;就相当于给P2.0这个引脚赋值为0,这样P2.0引脚电平就被拉低了。While(1)让CPU做死循环,相当于让程序停留在那里,然后看结果。

4.1.3 IO输出-点亮1个LED灯方法2

点亮一个小灯的第二种方法就,给一个端口一起赋值,看下面程序关键代码:

P2 = 0xFF;   //初始化P2端口,P2八个IO口的电平都是1,都是高电平,换算成二进制是 1111 1111
void main (void){   
//这里面的P2是指P2端口,包含P1.0…P1.7八个IO口引脚,P2在头文件中已经定义好,不需要用户重新定义。
    P2 = 0xFE;         //P2八个IO口的P2.0引脚为0,P2.0位低电平,换算成二进制是 1111 1110
    while (1)          //主循环    
    {                       
                       //主循环中添加其他需要一直工作的程序    
    }
}

试验效果如图

猜你喜欢

转载自blog.csdn.net/caibinguitar/article/details/80305645
今日推荐