| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6962 人关注过本帖, 1 人收藏
标题:单片机 流水灯
只看楼主 加入收藏
o547336583
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2014-12-21
结帖率:25%
收藏(1)
已结贴  问题点数:20 回复次数:8 
单片机 流水灯
1、基本的流水灯。
根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。每点亮一个LED,采用软件延时一段时间。
2、简单键控的流水灯。
不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。松手后,又按正序点亮流水灯。
3、键控的流水灯。
上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。
图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 软件 发光二极管 单片机 上电 
2016-03-29 19:07
robin123
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2016-4-5
收藏
得分:10 
楼主是自动化专业的吗
2016-04-05 18:43
li4835
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2016-4-6
收藏
得分:10 
按一下和长按怎么区分啊,搞不懂这个
2016-04-06 17:47
dasx45
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-4-12
收藏
得分:0 
楼主现在做出来了吗?
2016-04-12 21:34
olyon
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-22
收藏
得分:0 
楼主学的是用什么语言编的呢
2016-04-22 21:43
yw1573
Rank: 2
来 自:西安石油大学
等 级:论坛游民
帖 子:4
专家分:10
注 册:2015-12-31
收藏
得分:0 
好想学单片机,刚买了51的开发板郭天祥的

只想好好学习C 语言
2016-04-28 09:53
QQ1691371683
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-9-23
收藏
得分:0 
代码了???
2016-09-23 08:57
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
第一题
程序代码:

#include <AT89X52.h>       //调用51单片机的头文件



void main(void)           

{

    unsigned int a;        //定义一个int型变量,做延时用
    P0=1;
    while(1)               //死循环,单片机初始化后,将一直运行这个死循环
       {
        for(a=0;a<20000;a++); //延时若干时间,具体时长暂不理会
    if (P0==0x80)             //如果移到最左边
            P0=0x01;          // 初始化端口为0000001
        else                  //否则左移
            P0=P0<<1;            //移动一位
       }
}


我是硬件工程师
2017-01-31 13:20
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
第二题
程序代码:
#include <AT89X52.h>       //调用51单片机的头文件
   


////////////////////////////////////////////////////
    int zuoyi()
      {if (P0==0x80)             //如果移到最左边
            P0=0x01;          // 初始化端口为0000001
        else                  //否则左移
            P0=P0<<1;           //移动一位
   

        }
        //////////////////////////////////////////////////
     int youyi ()
       

        {if (P0==0x01)             //如果移到最右边
            P0=0x80;          // 初始化端口为0000001
        else                  //否则右移
            P0=P0>>1;            //移动一位}
       

    }
            ///////////////////////////////////////////
       


void main(void)           

{
        P0=1;
       

  

   

    while(1)               //死循环,单片机初始化后,将一直运行这个死循环
       { unsigned int a;        //定义一个int型变量,做延时用
        for(a=0;a<30000;a++); //延时若干时间,具体时长暂不理会
      if (P2_0==0)                //P20作为开关控制左右移动
            youyi();                  //调用右移动函数
        else
            zuoyi();                     //调用左移动函数
       }
}


我是硬件工程师
2017-01-31 15:00
快速回复:单片机 流水灯
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034163 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved