使用定时器让P1.7的指示灯闪烁
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar tcc1;
uchar tcc2;
uchar flag;
sbit P17=P1^7;
void main()
{
tcc1=0;
tcc2=0;
flag=0;
TMOD|=0x1;
TH0=0xf8; //根据实际情况修改,软件用"51定时器计算.exe"
TL0=0xcc;
TR0=1;
ET0=1;
EA=1; //开启定时中断
while(1)
{
if(1==flag) //判断时,建议常量在前,因为在有些编译器如里if(flag=1)这样的错误会编译通过
{
flag=0;
P17=!P17;
}
}
}
void time0(void) interrupt 1
{
TH0=0xf8;
TL0=0xcc;
tcc1++;
if(100==tcc1)
{
tcc1=0;
tcc2++;
if(5==tcc2)
{
tcc2=0;
flag=1;
}
}
}