C51中定时器中断的函数中interrupt和using如何使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C51中定时器中断的函数中interrupt和using如何使用相关的知识,希望对你有一定的参考价值。

比如void timer1(void) interrupt 3 using 0
望详细解释,本人初学者

参考技术A 8051的中断系统包括5个中断源,并提供两个优先级,允许用户对中断源进行独立控制和中断优先级设置.

8051支持的5个中断源分别为外部中断0、定时器0溢出中断、外部中断1、定时器1溢出中断和串口中断。
对应的中断号为0、1、2、3、4;
寄存器有4个工作组可以切换,为0-3;

C51中,中断服务程序是以中断函数的方式来时实现的。中断函数格式如下:

void 函数名() interrupt 中断号 using 工作组



中断服务程序内容;



http://xiesx1985.blog.163.com/blog/static/48312097200853338779/本回答被提问者采纳
参考技术B void INT0()interrupt 0 using 1
....
.....

interrupt 0 指明是外部中断0;
interrupt 1 指明是定时器中断0;
interrupt 2 指明是外部中断1;
interrupt 3 指明是定时器中断1;
interrupt 4 指明是串行口中断;

using 0 是第0组寄存器;
using 1 是第1组寄存器;
using 2 是第2组寄存器;
using 3 是第3组寄存器;

R0-R7在数据存储器里的实际地址是由特殊功能寄存器PSW里的RS1、RS0位决定的。

using 0时设置 RS1=0,RS0 =0,用第0组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(00H)....R7(07H)

using 1时设置 RS1=0,RS0 =1,用第1组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(08H)....R7(0FH)

using 2时设置 RS1=1,RS0 =0,用第2组寄存器,R0--R7的在数据存储区里的实际地址是08H-0FH。R0(10H)....R7(17H)

using 3时设置 RS1=1,RS0 =1,用第3组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(18H)....R7(1FH)

单片机c语言中interrupt4表示啥意思

串口中断里用的

参考技术A 对51来说,
中断0
外部中断0
中断1
定时器1中断
中断2
外部中断1
中断3
定时器2中断
中断4
串口中断
当PC机发给51数据(通过RS232串口)时就会触发这个中断
一般要写个函数响应中断,函数名随便,但是格式必须一定:
例如
void
UART_Interrupt_Receive(void)
interrupt
4

unsigned
char
k
=
0;
if
(RI==1)

RI
=
0;
k
=
SBUF;
....

else


以上是关于C51中定时器中断的函数中interrupt和using如何使用的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,用于设置中断、中断信号的函数都有哪些?怎么设置一个发送中断信号(自己定义的)的函数?

我想用C51单片机的定时器0工作方式2输出一个PWM。它的频率要怎么设置???

ESP8266 中断(Interrupts)和计时器(Timers)功能介绍

单片机c语言中interrupt4表示啥意思

单片机中void my_int(void)interrupt 2是怎么意思

单片机中的Timer0Interrupt(void) interrupt 1啥意思?