#include"reg52.h" //包含52头文件
#define TRUE 1 //定义布尔量'1':真
#define FALSE 0 //定义布尔量'0':假
#define uchar unsigned char //定义 无符号字符型数据 简称
#define uint unsigned int //定义 无符号整型数据 简称
#define th0 0x3c
#define tl0 0xb0 //50ms at 12MHz(定时器工作模式1 状态)
#define FlickTimeAt50ms 20; //50ms×20=1s
sbit LED=P1^0;
void Timer0() interrupt 1
{
static uchar T50ms=0;
TL0=tl0;
TH0=th0;
T50ms=++T50ms%FlickTimeAt50ms; //先对50ms计时变量加1,后对变量范围进行限制(0~19)(即对20取模)
if(!T50ms) LED=~LED;
}
void TimerInit() //系统初始化函数
{
TMOD=0x01; //关闭定时器1,开启定时器0,并工作在模式1
TH0=th0;
TL0=tl0;
TR0=1; //启动计时
ET0=1; //允许定时器0中断
EA=1; //开启系统中断功能
}
void main()
{
TimerInit();
while(1);
}
#include
#define uint unsigned int
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
void delayms(uint);
void main()
{
while(1)
{
led1=0;
delayms(200);
led1=1;
delayms(1000);
led2=0;
delayms(500);
led2=1;
delayms(200);
led3=0;
delayms(500);
led3=1;
}
}
void delayms(uint xms)
{
uint i, j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}