原文:#
格式: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 ,服务程序的内容是给 两个初值寄存器装入新值。。
写中断前的准备
1 TMOD 赋值 确定工作方式。T0 还是T1 的工作方式。
2 计算初值 装入 TH0 TL0 或者 TH1 TL1
3 中断方式时 ,对 IE 赋值,开放中断。
4 使 TR0 和 TR1 置位,启动定时器/计数器 定时/计数。
阅读(1639) | 评论(0) | 转发(0) |