其实一直想设置一个自己的宏定义把常用的函数和定义放入里面,不过这是后话。
#include<reg52.h>
#include<intrins.h>//包含移位函数_crol_
#define uchar unsigned char
#define uint unsigned int
uchar flag,temp;
void init();
void main()
{ init();
while(1) //设置大循环
{
}
}
void init() //初始化
{
temp=0xfe;
P1=temp;//使流水灯初始化的时候第一个灯亮11111110
TMOD=0x01;//设置中断工作为定时器0
TH0=(66536-50000)/256;
TL0=(66536-50000)%256; //设置定时器0的初始化,每50ms中断一次
EA=1;//开总中断
ET0=1;//定时器0中断允许
TR0=1;//定时器0运行控制位
}
void time() interrupt 1 //设置中断响应函数
{
TH0=(66536-50000)/256;
TL0=(66536-50000)%256; //重新复位定时器0
flag++;//标志位
if(flag==10)
{
flag=0;
temp=_crol_(temp,1);
P1=temp;
}
}
不过始终感觉好像中断程序有点大了!