大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 4530|回复: 30
收起左侧

【大赛原创经验贴】LED流水灯

  [复制链接]
发表于 2012-7-10 18:33:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多交流,硬件的世界向你敞开大门!

您需要 登录 才可以下载或查看,没有帐号?立即注册吧!

x
这是我学会的唯一一个程序,方法有些笨,不过还可以当入门的参考,一开始什么都不会,看着教程慢慢学,再尝试自己编,这个只能这样了,给大家看看吧。

流水灯



#include<msp430x14x.h>
#define uint unsigned  int
#define uchar unsigned char
//各个LED亮灭的宏定义
#define   LED1_OFF     P6DIR|= BIT7,P6OUT|=BIT7  //方向输出 高电平灭
#define   LED2_OFF     P6DIR|= BIT6,P6OUT|=BIT6
#define   LED3_OFF     P6DIR|= BIT5,P6OUT|=BIT5
#define   LED4_OFF     P6DIR|= BIT4,P6OUT|=BIT4
#define   LED5_OFF     P6DIR|= BIT3,P6OUT|=BIT3
#define   LED6_OFF     P6DIR|= BIT2,P6OUT|=BIT2
#define   LED7_OFF     P6DIR|= BIT1,P6OUT|=BIT1
#define   LED8_OFF     P6DIR|= BIT0,P6OUT|=BIT0
#define   LED1_ON      P6DIR|= BIT7,P6OUT&=~BIT7       //方向输出 低电平亮
#define   LED2_ON      P6DIR|= BIT6,P6OUT&=~BIT6
#define   LED3_ON      P6DIR|= BIT5,P6OUT&=~BIT5
#define   LED4_ON      P6DIR|= BIT4,P6OUT&=~BIT4
#define   LED5_ON      P6DIR|= BIT3,P6OUT&=~BIT3
#define   LED6_ON      P6DIR|= BIT2,P6OUT&=~BIT2
#define   LED7_ON      P6DIR|= BIT1,P6OUT&=~BIT1
#define   LED8_ON      P6DIR|= BIT0,P6OUT&=~BIT0
//  时钟设置
void int_clk()
{
    uchar i;
    BCSCTL1&=~XT2OFF;                  //打开XT振荡器
    BCSCTL2|=SELM1+SELS;//MCLK 8M and SMCLK 1M  
    do
{
        IFG1 &= ~OFIFG;                                  //清除振荡错误标志
        for(i = 0; i < 100; i++)
   _NOP();   //延时等待
        }
    while ((IFG1 & OFIFG) != 0);                             //如果标志为1继续循环等待
    IFG1&=~OFIFG;
}
//  延时子函数
void delay()
{
  uint i,j;
  for(i=0;i<=1000;i++)
    {
    for(j=0;j<=1000;j++)
         ;
    }
}
void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;                         //关闭看门狗      
  int_clk();                         //初始化时钟
                    //循环亮灭
  while(1)
  {
  delay();
  LED1_ON;                    
  delay();
  LED2_ON;
  delay();
  LED3_ON;
  delay();
  LED4_ON;
  delay();
  LED5_ON;
  delay();
  LED6_ON;
  delay();
  LED7_ON;
  delay();
  LED8_ON;
  delay();
  LED1_OFF;
  delay();
  LED2_OFF;
  delay();
  LED3_OFF;
  delay();
  LED4_OFF;
  delay();
  LED5_OFF;
  delay();
  LED6_OFF;
  delay();
  LED7_OFF;
  delay();
  LED8_OFF;
  delay();
  }

}
  
回复

使用道具 举报

发表于 2012-7-10 19:21:19 | 显示全部楼层
这个流水灯有点笨
不过精神值得表扬
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 20:13:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 20:13:57 | 显示全部楼层
能让它跑起来就不错了
回复 支持 反对

使用道具 举报

发表于 2012-7-10 20:20:44 | 显示全部楼层
鼓励下
回复 支持 反对

使用道具 举报

发表于 2012-7-10 20:23:29 | 显示全部楼层
不要急功近利,埋头好好学
回复 支持 反对

使用道具 举报

发表于 2012-7-10 20:34:39 | 显示全部楼层
我也来鼓励一下。首先不得不说这是我看过比较麻烦的流水对代码,辛苦你了。
由于我仔细看了你的代码,另外补充一点:你的代码有冗余,定时器部分好像只是空架子,而且还有点瑕疵。
呵呵,希望等你以后回过头来看这个程序。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 21:10:12 | 显示全部楼层
努力学习中
回复 支持 反对

使用道具 举报

发表于 2012-7-10 21:55:26 | 显示全部楼层
这个是正儿八经的流水程序

大家的鼓励很好,你可以用循环的方式试着改写一下
回复 支持 反对

使用道具 举报

发表于 2012-7-11 08:16:11 | 显示全部楼层
本帖最后由 honghu 于 2015-4-5 09:19 编辑 <br /><br />鼓励一下楼主哦

回复 支持 反对

使用道具 举报

发表于 2012-7-12 11:02:49 | 显示全部楼层
楼主加油~~~
回复 支持 反对

使用道具 举报

发表于 2012-7-13 10:45:59 | 显示全部楼层
鼓励下吧,初学者能运行起来就不错了,最起码比爱因斯坦强吧!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-13 12:58:31 | 显示全部楼层
呵呵
回复 支持 反对

使用道具 举报

发表于 2012-7-15 20:08:33 | 显示全部楼层
学习中。。。
回复 支持 反对

使用道具 举报

发表于 2012-7-16 09:11:22 | 显示全部楼层
嗯,不错,继续加油!
回复 支持 反对

使用道具 举报

发表于 2012-7-16 13:51:56 | 显示全部楼层
就是要这种精神啊
回复 支持 反对

使用道具 举报

发表于 2012-7-17 18:06:54 | 显示全部楼层
有趣。
回复 支持 反对

使用道具 举报

发表于 2012-7-18 09:14:26 | 显示全部楼层
很基础,学习了!
回复 支持 反对

使用道具 举报

发表于 2012-7-19 12:27:47 | 显示全部楼层
不错,继续加油!
回复 支持 反对

使用道具 举报

发表于 2012-7-19 16:49:52 | 显示全部楼层
继续加油
回复 支持 反对

使用道具 举报

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

本版积分规则

单片机开发者1群:235808606;会员QQ 6群:254085994; 1群:12835691(满); 2群:121061287(满); 3群:237320668(满);4群:249652919(满);5群:253578883(满);大赛1群:187926790(满),2群:231577758(满),3群:249652919(满)。 TI杯4群:58129202(满)。
载入中

QQ|手机版|小黑屋|Archiver|大连创客空间 ( 辽ICP备15004617号-2  

GMT+8, 2017-6-27 14:57 , Processed in 0.427525 second(s), 29 queries .

地址:辽宁省大连市高新园区火炬路7号17层 QQ:2401085253

Copyright © 2010-2015 创客空间(大连)科技有限公司 All Rights Reserved.

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