打印
[单片机资料]

51单片机怎么用计时器控制流水灯闪烁

[复制链接]
359|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是初学者,这是我编得代码,但现象是所有的led灯都亮了,百思不得其解,哪位大佬帮帮忙!


#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>                //因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

#define led P2          

void TimeroInit()
{
        TMOD|=0x01;
        TH0=0xfc;
        TL0=0x18;
        ET0=1;
        EA=1;
        TR0=1;
}

void main()
{
          TimeroInit();
         while(1);
         led=0x00;
}
void Time0() interrupt 1
{
        static u16 i;
        TH0=0xfc;
        TL0=0x18;
        i++;
  if(i=1000)
        {
                i=0;       
       
                {
                  u8 i;
                        led=0x01;       
                  while(1)
                {       
                for(i=0;i<7;i++)         
                {
                        led=_crol_(led,1);
                       
                }
                for(i=0;i<7;i++)       
                {
                        led=_cror_(led,1);
                }               
                }

        }
        }

}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝