请解释void Timer0(void) interrupt 1 using 1

swallowlly 2003-10-27 02:48:07
我明白函数申明后面加上 interrupt 1 using 1什么意思
...全文
3475 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilingzhang 2003-10-28
  • 打赏
  • 举报
回复 1
interrupt xx using y
跟在interrupt 后面的xx 值得是中断号,就是说这个函数对应第几个中断端口,一般在51中
0 外部中断0
1 定时器0
2 外部中断1
3 定时器1
4 串行中断
其它的根举相应得弹片极有自己的含义,实际上c载编译的时候就是把你这个函数的入口地址方到这个对应中断的跳转地址
using y 这个y时说这个中断函数使用的那个寄存器组就是51里面一般有4个 r0 -- r7寄存器,如果你的终端函数和别的程序用的不是同一个寄存器组则进入中断的时候就不会将寄存器组压入堆栈返回时也不会谈出来节省代码和时间
Alicky 2003-10-28
  • 打赏
  • 举报
回复
定时器0产生中断
tuxw 2003-10-27
  • 打赏
  • 举报
回复
Timer0 是函数名,随便取的
interrupt 1 说明这是个中断函数, 对就中断1, 就是定时器0中断
using 1 选择寄存器组
程序 / PWM 控制 DC电机转速 // 晶振为12M // 利用定时器控制产生占空比可变的 PWM 波 // 按K1,PWM值增加,则占空比增加,电机转快 // 按K2,PWM值减小,则占空比减小,电机转慢。 // 当PWM值增加到最大值(255)或减小到最小值(1)时,蜂鸣器将报警。 #include sbit K1 =P1^0 ; //增加键 sbit K2 =P1^1 ; //减少键 sbit K3 =P1^2 ; //转向选择键 sbit PWMUOT =P3^0 ; //PWM波输出 sbit turn_around =P3^1 ; //转向控制输出 sbit BEEP =P3^2 ; //蜂鸣器 unsigned int PWM; void Beep(void); void delay(unsigned int n); void main(void) { TMOD=0x11;//设置T0、T1为方式1(16位定时器) TH0=0 ; //65536us延时常数(t=(65536-TH)/fosc/12) TL0=0; TH1=PWM ; //脉宽调节,高8位 TL1=0; EA=1; //开总中断 ET0=1; //开T0中断 ET1=1; //开T1中断 TR0=1 ; //T0定时允许 while(1) { if(K3==0&&K1==1&&K2==1)//转向控制 { turn_around=!turn_around; } while(K3==0);//检测K3是否释放 do{ PWM++ ; if(PWM>0xfe)//防止PWM计数溢出 { PWM=0xff; } if(PWM==0xff)Beep() ; delay(3000); } while(K1==0&&K2==1); do{ PWM-- ; if(PWM<1)//防止PWM计数溢出 { PWM=1; } if(PWM==1)Beep() ; delay(3000); } while(K1==1&&K2==0); } } void timer0() interrupt 1 using 2// 定时器0中断服务程序. { TR1=0 ; //T1禁止 TH0=0 ; //置T0定时常数 TL0=0 ; TH1=PWM ; //置T1定时常数 TL1=0; TR1=1 ; //T1允许 PWMUOT=0 ; //PWM波输出0 } void timer1() interrupt 3 using 3 // 定时器1中断服务程序 { TR1=0 ; //T1禁止 PWMUOT=1 ; //PWM波输出1 } void Beep(void) //蜂鸣器子程序 { unsigned char i; for (i=0;i<100;i++) { delay(100); BEEP=!BEEP; //Beep取反 } BEEP=1; //关闭蜂鸣器 delay(100); } void delay(unsigned int n) // 延时子程序 { while(n--) ; }

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧