利用定时器T0的工作方式1实现1秒钟延时程序(单片机)42
发布网友
发布时间:2023-11-17 10:45
我来回答
共1个回答
热心网友
时间:2024-11-13 09:38
#include <reg51.h>
#defineuchar unsigned char
sbit LED=P1^0;
uchar time;
void initT0( )
{
TMOD = 0x01; //定时器0,工作方式1
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256; //50ms中断一次
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main(void)
{
initT0();
while(1)
if(time==20) //中断20次,1s
{
time=0;
LED=!LED; //P1.0上的LED,1s亮或灭一次
}
}
void T0int( ) interrupt 1
{
TH0 = (65536-65536)/256;
TL0 = (65536-65536)%256;
time++;
}