[VinCiPI 51开发板]第四章 功能模块的实验方法 4.1.5 IO输出-闪烁1个LED

4.1.5 闪烁1个LED

一、简介
本文介绍如何利用单片机让led灯闪烁

二、实验平台
单片机型号:STC12C5A60S2

编译软件:KEIL

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

三、版权声明
博主:文武先生

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

原文地址:

联系方式:644746740@qq.com

51单片机群:463850023

四、讲解
我们从以上实验学到了如何去控制IO口,进而控制LED的亮灭,那么我们这节实验就让LED闪烁起来。

/***************************SantaE_VinciPI_51开发板***************************/
/*工程名称:IO口高低电平控制
/*淘宝店铺:
/*编写时间:2014年09月15日                                                                        
/*硬件支持:SantaE_VinciPI_51开发板 V1.0                                                            
/*编写人员:SantaE          
/*实验内容:让P2端口8个led闪烁        
/*****************************************************************************/

#include<STC12C5A.h>            //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

/*------------------------------------------------
                    定义
------------------------------------------------*/
sbit LED_Switch = P3^3;// 8个led开关;
sbit LED0 = P2^0;
/*------------------------------------------------
                    函数声明
------------------------------------------------*/
void Delay(unsigned int t);     //函数声明

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
    P2M0 = 0XFF;            //设置P2端口推挽输出
    P2M1 = 0X00;
    P2 = 0x00;          //初始化P2端口数据
    LED_Switch = 0;     //打开流水灯开关
    while (1)                   //主循环
    {
        LED0 = 0;               //将P1口赋值 0,对外输出低电平
        Delay(10000);           //调用延时程序;更改延时数字可以更改延时长度;
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);           //用于改变闪烁频率
        LED0 = 1;               //将P1口赋值 1,对外输出高电平
        Delay(10000);
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);
        Delay(60000);           //主循环中添加其他需要一直工作的程序
    }
}
/*------------------------------------------------
 延时函数,含有输入参数 unsigned int t,无返回值
 unsigned int 是定义无符号整形变量,其值的范围是
 0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
    while(--t)
    {
         ;
    }
}

/******************************版权归SantaE所有*********************************/

闪烁,就是让LED亮一会,灭一会。

传送门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值