C51 单片机的中断号以及中断向量

1、外部中断 0、 1;分别由引脚/INT0、/INT1的电平信号引起。

2、定时/计数器 0、1;分别由T0、 T1的溢出引起。

3、串行口发送、接收;发送完一个字节或接收到一个字节引起。

上述共5个中断源。

 

一、中断号

外部中断0            0

定时器T0             1

外部中断1            2

定时器T1             3

串口中断              4    

二、 interrupt 和 using 在C51中断中的使用

8051 系列 MCU 的基本结构包括:32 个 I/O 口(4 组8 bit 端口);两个16 位定时计数器;全双工串行通信;6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;128 字节内置RAM;独立的 64K 字节可寻址数据和代码区。中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务处理程序。中断程序的入口地址被编译器放在中断向量中,中断向量位于程序代码段的最低地址处,注意这里的串口输 入/输出中断共用一个中断向量。8051的中断向量表如下:

中断源       中断向量     
上电复位 0000H
外部中断0   0003H
定时器0 溢出 000BH
外部中断1 0013H
定时器1 溢出 001BH
串行口中断 0023H
定时器2 溢出 002BH

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C51单片机中断单片机应用中的重要部分,可以提高程序的响应速度和实时性。下面是C51单片机中断实验的总结: 1. 中断的概念和作用 中断是指在程序执行过程中,由硬件或软件发起的一种特殊事件。中断可以打断程序的正常执行,转而执行中断服务程序(ISR),处理该事件后返回到原来的程序执行位置。中断可以提高程序的实时性和响应速度。 2. 中断的分类 C51单片机中断可以分为外部中断和定时器中断两种。外部中断是由外部设备(如按键、传感器等)产生的中断,而定时器中断则是由定时器模块产生的中断。 3. 中断的使用方法 在C51单片机中,中断的使用需要注册中断服务程序,并设置中断优先级和中断向量。具体步骤如下: (1)编写中断服务程序,命名为“中断向量+中断服务程序名”,例如“INT0_ISR”。 (2)在主程序中设置中断优先级和中断向量,如下所示: ```c EA = 1; // 允许中断 EX0 = 1; // 允许外部中断0 IT0 = 1; // 设置外部中断0为下降沿触发 ``` (3)在中断服务程序中处理相应的中断事件,如下所示: ```c void INT0_ISR(void) interrupt 0 { // 处理外部中断0事件 } ``` 4. 中断实验的设计 中断实验可选用外部中断或定时器中断。例如,设计一个按键控制LED的实验,当按下按键时,LED亮起;松开按键时,LED熄灭。实验过程如下: (1)连接电路,将按键和LED分别连接到P3.2和P1.0口。 (2)编写中断服务程序,处理外部中断0事件: ```c void INT0_ISR(void) interrupt 0 { if (P3_2 == 0) // 检测按键是否按下 { P1_0 = 1; // 点亮LED } else { P1_0 = 0; // 熄灭LED } } ``` (3)在主程序中设置中断优先级和中断向量,如下所示: ```c EA = 1; // 允许中断 EX0 = 1; // 允许外部中断0 IT0 = 1; // 设置外部中断0为下降沿触发 ``` (4)启动程序,按下按键时,LED亮起;松开按键时,LED熄灭。 5. 中断实验的注意事项 (1)中断服务程序中应尽量避免使用延时函数和循环语句,以免影响程序的实时性。 (2)在编写中断服务程序时,应注意保存现场和恢复现场,以保证程序的正确执行。 (3)在使用多个中断时,应注意设置中断优先级,以保证高优先级中断能够及时响应。 6. 总结 C51单片机中断是提高程序实时性和响应速度的重要手段,掌握中断的使用方法和注意事项对于单片机应用开发具有重要意义。在实际应用中,应根据具体情况选择合适的中断类型并合理设置中断优先级,以确保程序的正确执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值