美文网首页单片机学习玩转51单片机
[VinCiPI 51开发板]第四章 功能模块的实验方法 4.1

[VinCiPI 51开发板]第四章 功能模块的实验方法 4.1

作者: 创客乌托邦 | 来源:发表于2018-03-25 16:47 被阅读32次

4.1.5 闪烁1个LED

我们从以上实验学到了如何去控制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亮一会,灭一会。

传送门

相关文章

网友评论

本文标题:[VinCiPI 51开发板]第四章 功能模块的实验方法 4.1

本文链接:https://www.haomeiwen.com/subject/satkcftx.html