单片机中中断服务函数 有哪位大神能帮我解释一下下面这段程序什么意思,就算能让我清楚一点也成,谢谢了

voidtime1_int()interrupt1//中断服务函数,1表示定时器0溢出中断{uccount,count1;TL0=0xb0;TH0=0x3c;if(fla... void time1_int() interrupt 1//中断服务函数,1表示定时器0溢出中断
{
uc count,count1;
TL0=0xb0;
TH0=0x3c;

if(flag==1)
{
count++;
if(count==10)
{
buzz=0;
led=0;
}
if(count==20)
{
count=0;
buzz=1;
led=1;
}
}
if(yanshi==1)
{
count1++;
if(count1==10)
{
led=0;
}
if(count1==20)
{
count1=0;
led=1;
sec++;
if(sec==30)
{
sec=0;
flag3=1;
yanshi=0;
on_off=1;
}
}
}

}
展开
 我来答
zhxiufan
2017-04-25 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38386
国家科技进步奖

向TA提问 私信TA
展开全部
void time1_int() interrupt 1//中断服务函数,1表示定时器0溢出中断
{
uc count,count1;
TL0=0xb0; //重赋初值,50毫秒中断值
TH0=0x3c;

if(flag==1) //标志位1则执行内部程序
{
count++; // 计数变量count加1
if(count==10) // 10次计数满
{
buzz=0; // 蜂鸣器开启
led=0; //LED灯点亮
}
if(count==20) //20次计数满
{
count=0; //计数变量清0
buzz=1; //关闭蜂鸣器
led=1; //LED灯灭
}
}
if(yanshi==1) //延时标志为1则执行内部程序
{
count1++; //计数变量count1加1
if(count1==10) //满10计数
{
led=0; //LED灯点亮
}
if(count1==20) //20次计数满
{
count1=0; //计数变量清0
led=1; //LED灯灭
sec++; //秒变量加1
if(sec==30) //30秒到
{
sec=0; //秒变量清0
flag3=1; //标志flag3置1
yanshi=0; //yanshi置0
on_off=1; //on_off置1
}
}
}

}
追问
虽然不是太懂,不过谢谢大神了
许喜多何惜0
2017-04-25 · TA获得超过270个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:78.1万
展开全部
void time1_int() interrupt 1//中断服务函数,1表示定时器0溢出中断
             /* 上面这里有问题格式问题    */
{
uc count,count1;   //定义两个 UC类型。我也不知道uc是什么类型。没看到定义
TL0=0xb0;          // TL0 不知道哪里定义的,从赋值来看因该是单片机接口
TH0=0x3c;          // 同上
 
if(flag==1)        //如果标志位等于1
{  
count++;
if(count==10)      
{
buzz=0;            
led=0;             
}
if(count==20)
{
count=0;            
buzz=1;
led=1;
}
}
        /*上面这段应该在循环函数里面,count做自+1运算。当count=0的时候关闭LED灯,当count=20的时候开启LED灯。buzz应该是做LED灯的时候一起工作,关闭的时候一起关闭*/
if(yanshi==1)
{
count1++;
if(count1==10)
{
led=0;
}
if(count1==20)
{
count1=0;
led=1;
sec++;
if(sec==30)
{
sec=0;
flag3=1;
yanshi=0;
on_off=1;
}
}
}
/* 和上面的差不多应该放在循环里面。count1=10的时候,LED灯灭。count1=20的时候,LED灯亮起来。再用sec做一次++,应该用于计算led循环点亮的次数,到达30次后。停止点亮。退出循环,*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式