************************************************/
#include<reg51.h>
sbit P14=P1^4;
sbit P07=P0^7;
sbit P26=P2^6;
volatile int i; //声明一个变量为可能意外变化的量(相对于const而言)用语中断程序
void main()
{
P26=1; //防止数码管干扰
P0=0x00;
P26=0;
P0=0xff;
P14=0; //开led使能
P07=0; //先将P20位的LED点亮
TMOD=0x01; //设置定时器T0工作在模式1
TH0=0xb1; TL0=0xe0; //装T0的计数初值,12MHz,20ms计时
EA=1; //开启总中断允许位
ET0=1; //开启T0定时器
TR0=1; //开启T0定时器中断允许位
while(1); //循环等待中断发生
}
void time0(void) interrupt 1 //中断程序写法
{ TH0=0xb1; TL0=0xe0; //重装T0的计数初值
i++; if(i==25) //计数到25次(即0.5秒)
{
i=0; //i清零
P07=~P07; //取反LED端口,
}
} |