当前位置:首页 > 单片机 > 单片机
[导读]格式:void 函数名()interrupt 中断号 using 工作组{  中断服务程序内容}  注意:中断不能返回任何值,所以前面是 void 后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任何参数,所以

格式:void 函数名()interrupt 中断号 using 工作组
{
  中断服务程序内容
}
  注意:中断不能返回任何值,所以前面是 void 后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任何参数,所以 函数名后面的() 内是 空的,中断号是指单片机的几个中断源的序号。这个序号是单片机识别不同中断的唯一标志。所以一定要写正确。

  后面的using 工作组 是指这个这个中断使用单片机内存中 4 个工作寄存器的哪一组,c51 编译后会自动分配工作组,因此最后这句话我们通常省略不写。 c51 中断写法实例  
void T1-time() interrupt 3
{
  TH1=(65536-50000)/256;
  TL1=(65536-50000)%256;
}
  上面的意思是定时器1 的中断服务程序,定时器1的中断服务序号是3 ,因此我们要写成 interrupt 3 ,服务程序的内容是给 两个初值寄存器装入新值。。
  写中断前的准备
1TMOD 赋值确定工作方式。T0还是T1的工作方式。
  2计算初值装入 TH0 TL0 或者TH1 TL1
  3中断方式时 ,对 IE 赋值,开放中断。
  4使 TR0 和 TR1 置位,启动定时器/计数器定时/计数。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭