麻烦高手注释一下 51单片机

来源:百度知道 编辑:UC知道 时间:2024/06/27 11:34:34
void t0(void) interrupt 1 using 0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;

if((errorflag==1) && (rightflag==0))
{
bb++;
if(bb==800)
{
bb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
P0_0=~P0_0;
}

aa++;
if(aa==800)
{
aa=0;
P0_1=~P0_1;
}
second3++;
if(second3==6400)
{
second3=0;
hibitflag=0;
errorflag=0;
rightflag=0;
cmpflag=0;
P0_1=1;
alarmflag=0;
bb=0;
aa=0;
}
}

if((errorflag==0) && (rightflag==1))
{
P0_1=0;
cc++;
if(cc<1000)
{
okflag=1;
}

void t0(void) interrupt 1 using 0 //定时器0中断函数
{
TH0=(65536-500)/256; //定时记数器赐初值
TL0=(65536-500)%256; //同上

if((errorflag==1) && (rightflag==0))//判断两个表达式都为真程序就进入{}内执行
{
bb++; //bb的值加1
if(bb==800) //如果bb的值等于800 程序就进入下面{}内执行
{
bb=0; //bb清零
alarmflag=~alarmflag; //alarmflag 的值取反
}
if(alarmflag==1) //如果alarmflag等于1 程序就进入下面{}内执行
{
P0_0=~P0_0; //P0.0 输出取反
}

aa++; //aa的值加1
if(aa==800) //如果aa的值等于800 程序进入下面{}内执行
{
aa=0; //aa清零
P0_1=~P0_1; //P0.1输出取反
}
second3++; //second3的值加1
if(second3==6400)//如果second3的值等于6400 程序进入下面{}内执行
{
second3=0; //second3清零
hibitflag=0; //清零
errorflag=0; //清零
rightflag=0; //清零