刚接触定时器,打算做一个一秒的延迟函数,但是不知道程序错在哪里。
时间:10-02
整理:3721RD
点击:
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
void delay1ms()
{
TMOD|=0x01;
TH1=0xFC;
TL1=0x18;
ET1=1;
EA=1;
TR1=1;
}
sbit led1=P2^0;
void main()
{
while(1)
{
led1=0;
delay1ms();
led1=1;
delay1ms();
}
}
void delay1msInit () interrupt 3
{
static u16 i;
TH1=0XFC;
TL1=0X18;
i++;
if(i==1000)
{
i=0;
}
}
typedef unsigned int u16;
typedef unsigned char u8;
void delay1ms()
{
TMOD|=0x01;
TH1=0xFC;
TL1=0x18;
ET1=1;
EA=1;
TR1=1;
}
sbit led1=P2^0;
void main()
{
while(1)
{
led1=0;
delay1ms();
led1=1;
delay1ms();
}
}
void delay1msInit () interrupt 3
{
static u16 i;
TH1=0XFC;
TL1=0X18;
i++;
if(i==1000)
{
i=0;
}
}
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit led1=P2^0;
bit x=0;
void delay1ms()
{
TMOD|=0x10;
TH1=0xFC;
TL1=0x18;
ET1=1;
EA=1;
TR1=1;
}
void main()
{
delay1ms();
while(1)
{
if(x==1)
{
x=0;
led1=~led1;
}
}
}
void delay1msInit() interrupt 3
{
static u16 i;
TH1=0XFC;
TL1=0X18;
i++;
if(i>=1000)
{
i=0;
x=1;
}
}
楼上正解
路过观摩
