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;
}
}
}
}
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
}
}
}
}追é®
{
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
}
}
}
}追é®
è½ç¶ä¸æ¯å¤ªæï¼ä¸è¿è°¢è°¢å¤§ç¥äº
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-04-25
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次后。停止点亮。退出循环,*/
}
/* 上面这里有问题格式问题 */
{
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次后。停止点亮。退出循环,*/
}