⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 本人用中断记时编的流水灯程序
💻 C
字号:
#include <REG51.H>                 //头文件
#define T 3                        //定义延时时间为T*50ms
int s=0xfe;                        //给变量赋初值
int i=0;
int j=0;

void clearmen()                    //系统初始化函数
{
   TH0=0x3C;TL0=0xB0;              //50ms定时初值
   TMOD=0x11;ET0=1;TR0=1;EA=1;     //开中断
}
//***************************************//
//               主函数                  //
//***************************************//
void main(void)         
{  
   clearmen();                     //系统初始化
   while(1)
   {
     P1=s;                         //将s值赋给P1口,点亮相应的led
   }
}


void time_intt0(void) interrupt 1  //中断函数
{  
   TR0=0;TH0=0x3c;TL0=0xB0;TR0=1;  //关中断,从新赋值,开中断
   j++;                            //T的标志位加一
   if (j==T)
   { 
     i++;                          //led标志位加一
     j=0;                          //当j=T时给j复位
     if (i<8)                      //如不是第八个led亮
     {
       s=s<<1;                     //s按位左移一位,点亮下一个led
       s=s|0x01;                   //给P1.0赋值1,避免P1.0口led也亮
     }
     else                          //如是第八个led亮
     {
       s=0xfe;                     //从新点亮第一个led
	   i=0;                        //led标志位置0
     }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -