找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2835|回复: 0
打印 上一主题 下一主题
收起左侧

一排流水灯闪烁三下的程序(带详细注释)初学单片机,多多指教!

[复制链接]
跳转到指定楼层
楼主
ID:558259 发表于 2020-11-6 12:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>                      //52系列单片机头文件
#define uint unsigned int              //宏定义
/*************"if...else"写法*************/
void delay1s();                      //声明延时函数
uint n;                             
void main()                          //主函数
{
    while(1)                          //大循环
    for(n=1;n>=0;n++)
    {
        if(n%4==0)                      //4的整数倍数
        {                              //关闭发光二极管
            P1=0xff;
            delay1s();                  //调用延时函数
            delay1s();
            delay1s();
        }
        else
        {
            delay1s();                  //调用延时函数
            P1=0;                      //打开发光二极管
            delay1s();
            P1=0xff;                  //关闭发光二极管
            delay1s();
        }
    }
}
void delay1s()                          //定义延时函数
{
    uint i,j;
    for(i=1000;i>0;i--)
        for(j=110;j>0;j--);
}

#include<reg52.h>                      //52系列单片机头文件
#define uint unsigned int              //宏定义

/*************"while..."写法*************/
void main()
{
//    while(1);
    uint n;                              //定义局部变量
    for(n=1;n>0;n++)
    {   
        delay1s();                      //调用延时函数
        P1=0;                          //打开发光二极管
        delay1s();                      //关闭发光二极管
        P1=0xff;
        while(n%3==0)
        {
            P1=0xff;                  //关闭发光二极管
            delay1s();                  //调用延时函数
            delay1s();
            delay1s();        
        }   
        
    }

}

#include<reg52.h>                      //52系列单片机头文件
#define uint unsigned int              //宏定义
/*************"switch..."写法*************/
void lights_flased();                  //声明发光二极管闪烁三下函数
void lights_extinguish();              //声明发光二极管熄灭函数
void main()
{
    uint n;                              //定义局部变量
    for(n=1;n>=0;n++)                  //大循环
    {
        switch(n)                      //选择函数
        {
            case 1:
            case 2:
            case 3:lights_flased();break;//当值为1、2、3时都选择调用发光二极管闪烁三下函数
            default:lights_extinguish(); //当值不为1、2、3选择调用发光二极管熄灭函数
        }
        if(n==4)                      //当for循环执行4次时n置零
            n=0;
    }
}
void lights_flased()                  //定义发光二极管闪烁三下函数
{
    delay1s();
    P1=0;                              //打开发光二极管
    delay1s();
    P1=0xff;                          //关闭发光二极管
}
void lights_extinguish()              //定义发光二极管熄灭函数
{
    P1=0xff;                          //关闭发光二极管
    delay1s();                          //调用延时函数
    delay1s();
    delay1s();
}

#include<reg52.h>                      //52系列单片机头文件
#define uint unsigned int              //宏定义
/***********for内嵌循环..."写法*************/
void main()
{
    uint i,j;
    for(i=1;i>0;i++)
    {
        for(j=0;j<3;j++)
        {
            delay1s();                      //调用延时函数
            P1=0;                          //打开发光二极管
            delay1s();                      //关闭发光二极管
            P1=0xff;
        }
        P1=0xff;                           //关闭发光二极管
        delay1s();                              //调用延时函数
        delay1s();
        delay1s();
    }   
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表