C51有关定时器的程序中一些地方实在看不明白,请大家帮忙看看,下面的程序是一部分,问题都标注出来了。谢谢!
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
long a=6553;
bit flag=1; //这是什么标志位?
sbit LED=P1^0;
SBIT BEEP=P3^7;
void Timer_init(void)
TMOD=0X11;
TH0=(65535-a)/256; //这个初值是什么意思?
TL0=(65535-a)%256;
EA=1;
ET0=1;
TR0=1;
void timer0(void)interrupt 1
{
if (flag==1)
{
LED=0;
TH0=65535-((65535-a)/256); //这里不明白?
TL0=65535-((65535-a)%256);
}
if (flag==0)
{
LED=1;
TH0=(65535-a)/256;
TL0=(65535-a)%256;
}
flag=~flag
}
此帖出自
小平头技术问答
if (flag==1)
{
LED=0;
TH0=65535-((65535-a)/256); //这里不明白?
TL0=65535-((65535-a)%256);
}
if (flag==0)
{
LED=1;
TH0=(65535-a)/256;
TL0=(65535-a)%256;
}
一周热门 更多>