用keil51编译器编写的单片机C语言中断程序void Time0(void) interrupt 1 using 0中各个数字代表什么含义?

怎么确定是1还是0?还有外部中断语句void int0(void) interrupt 0 using 0中怎么确定各个数字的含义啊?我用的是51单片机,它有2个外部中断,两个定时器中断,还有串口中断!谢谢!

interrupt 后面的数字简单的说就是中断服务函数的代号
0代表外中断0
1代表定时计数器0中断
2代表外中断1
3代表定时计数器1中断
4代表串行口中断
所以interrupt 1代表定时计数器产生中断后就转到这个函数里面执行
using 后面的数字是个工作寄存器的代号,也就是R0—R7。如果不写的话由系统自动分配,一般不用去理会
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-29
void int0[标号而已,没有实质意义](void) interrupt 0[0号中断,也就是外部中断0] using 0[使用寄存器组0]
第2个回答  2010-07-30
5代表定时计数器2中断
第3个回答  2010-07-29
外部中断0 定时器中断0 外部中断1 定时器中断1 串口中断 依次是interrupt 0~4

...Time0(void) interrupt 1 using 0中各个数字代表什么含义?
1代表定时计数器0中断 2代表外中断1 3代表定时计数器1中断 4代表串行口中断 所以interrupt 1代表定时计数器产生中断后就转到这个函数里面执行 using 后面的数字是个工作寄存器的代号,也就是R0—R7。如果不写的话由系统自动分配,一般不用去理会 ...

...提示在void timer0(void) interrupt 1 using 1 出错,求助啊_百度...
time=ctm;} } }--再加上一个括号 void timer(void) interrupt 1using 1 \/\/ 定时器0中断程序,用于报警 ……

我用keil c51编了一个流水灯程序,编译无误却只有第一和第二个灯亮了...
3 我给你改正的,程序:功能是先是第一个灯亮,再是第一个灯灭,亮2,然后2灭,亮3...void time1() interrupt 3 { tt++;if(tt==10){ tt = 0; \/\/---这句表示中断10次换一个灯,不可少 \/\/---如果没有这句tt = 0,则成了中断256次才换一个灯 P1 =~(1<<aa); \/\/---下面这三...

单片机实训题目:8位逻辑电平模块上的LED小灯呈现右侧4盏先闪烁3次,左 ...
void timer0() interrupt 1 using 2\/\/计数器0溢出中断 { TH0 = 0xD8;TL0 = 0xF0;\/\/12M晶振定时器赋初始值,定义10毫秒间隔 time++;\/\/循环200次为2秒 if(time==200){led1=1;time=0;xunhuan++;}\/\/2秒后允许LED闪烁,时间归零,循环计数 } void main(){ TMOD = 0x01 ;\/\/ 定时器1...

用keil. c语言编写每隔一秒亮一个灯,总共8个灯
EA=1;\/\/开总中断 ET0=1;\/\/开T0中断 TR0=1;\/\/启动T0定时器 t=0Xfe;P1=t;while(i){ if(a==20){ t=_crol_(t,1);P1=t;a=0;i--;} } while(1)P1=0xff; \/\/8个led灯为共阳接法 } void time0() interrupt 1 { TH0=(65535-50000)\/256;\/\/设定50ms计时初值 TL0=(65535...

在KEIL软件中建立51单片机工程,要求每隔500ms点亮上题中1个led灯,依 ...
ET0=1;\/\/开定时器中断 TR0=1;\/\/运行定时器 } void main(){ time_init();for(;;){ P1=led;} } void time_inter() interrupt 1 { IT0=1;\/\/清除中断标志 TH0=0xb4;TL0=0x00;counter++;if(counter==10)\/\/500ms延时 { counter=0;led=led<<1;\/\/点亮下一个灯 } } \/\/点亮八...

用Keil uVision4写一个程序
include <reg51.h>#define LED P2unsigned char time_flag;void InitTimer0(void){TMOD = 0x01;TH0 = 0x3C;TL0 = 0x0B0;EA = 1;ET0 = 1;TR0 = 1;}void main(void){InitTimer0();while(1){if(time_flag==100) time_flag =0;switch(time_flag\/10){case 0: LED = 0xfc;...

keil c51 显示error c141
void main(){ while(1)\/\/应该有主循环语句 { if(SIG1==1&&SIG2==1)\/\/两个条件的if语句应该这么写 TR0=0;switch(movctro){ case 0:neutra();\/\/这是调子函数,要带()break;case 1:foward();\/\/这是调子函数,要带()break;} } }\/\/少一个大括号 void tim0() interrupt 1 { TR0=...

温度控制的PID算法的C语言程序
void serve_T0() interrupt 1 using 1 { if(++count<=(high_time)) output=1; else if(count<=100) { output=0; } else count=0; TH0=0x2f; TL0=0xe0; } \/*** 串行口中断服务程序,用于上位机通讯 ***\/ void serve_sio() interrupt 4 using 2 { \/* EA=0; RI=0; i=SBUF; if(i==2...

如何让单片机产生 频率为60Hz 占空比在0.5-2.5之间的PWM波
void main(void ){ EA=0;\/\/关总中断 ET0=1; \/\/开定时器中断 TMOD=0x01;\/\/设置定时器为16为定时模式 TH0=0x02; \/\/定时651个周期,0x028B=651 TL0=0x8B;EA=1;\/\/开中断 TR0=1; \/\/开始定时 while(1);} void timer0 (void) interrupt 1 using 0\/\/定时器中断服务程序 { if(...

相似回答