C51中定时器中断的函数中interrupt和using如何使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C51中定时器中断的函数中interrupt和using如何使用相关的知识,希望对你有一定的参考价值。
比如void timer1(void) interrupt 3 using 0
望详细解释,本人初学者
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)功能介绍