main.c
来自「本人用中断记时编的流水灯程序」· C语言 代码 · 共 45 行
C
45 行
#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 + =
减小字号Ctrl + -
显示快捷键?