码迷,mamicode.com
首页 > 其他好文 > 详细

51 单片机 跑马灯

时间:2016-07-24 07:02:22      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

/*-----------------------------------------------
  名称:流水灯
  日期:2009.5
  修改:无
  内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/*------------------------------------------------
                    延时子程序
------------------------------------------------*/
void delay(unsigned int cnt) 
{
    while(--cnt);
}
/*------------------------------------------------
                    主函数
------------------------------------------------*/

main()
{
    bit flag = 0;                  //设置一个位变量

    P1=0x7f;                       //给初始化值 换算成二进制是0111 1111
    while(1)                     //当为1时  则无限循环   当为0时  则一次都不执行
    {  
        if (flag == 0)           //判断是否为0
        {
            delay(30000);        //延时程序
            P1 = P1 >> 1;          //左移一位 该语句等效于 P1=P1<<1
            P1 |= 0x80;            // 1000 0000
    
            if(P1==0xfe)         //检测是否移到最左端?"=="表示检测符号2端的值是否相等
            { 
                flag = 1;       
            }
        
        }
        else
        {
            delay(30000);        //延时程序
            P1 = P1 << 1;          //左移一位 该语句等效于 P1=P1<<1
            P1 |= 0x01;            // 0000 0001
    
            if(P1==0x7f)         //检测是否移到最左端?"=="表示检测符号2端的值是否相等
            { 
                flag = 0;
            }
        }
    }
}

 

51 单片机 跑马灯

标签:

原文地址:http://www.cnblogs.com/zengsf/p/5700028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!