首页 > 其他 > 详细

51 单片机 跑马灯

时间:2016-07-24 07:01:13      阅读:270      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!