
C51中断中interrupt和using的运用
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文章主要讲解在8051单片机编程中,如何有效使用中断函数中的interrupt和寄存器选择符using来优化程序设计,并给出具体的应用实例。适合初学者参考学习。
在C51编译器中实现的单片机中断机制用于处理外部事件,并支持8051系列MCU的基本结构,包括32个I/O端口、两个16位定时计数器、全双工串行通信功能以及六个中断源。此外,它还提供了一个包含128字节内置RAM和独立的64K字节可寻址数据及代码区域。
在C51中断机制中,“interrupt”和“using”是两个关键关键字。“interrupt”用于声明特定于每个外部事件处理程序的入口地址;而“using”则用来规定中断服务程序所使用的寄存器组。不同类型的中断源与它们对应的中断向量如下所示:
| 中断源 | 中断向量 |
| --- | --- |
| 上电复位 | 0000H |
| 外部中断0 | 0003H |
| 定时器0溢出 | 000BH |
| 外部中断1 | 0013H |
| 定时器1溢出 | 001BH |
| 串行口中断 | 0023H |
在使用“interrupt”关键字的过程中,需指定对应的中断号以及服务程序的入口地址。而“using”则用于减少处理周期,在不进行寄存器组切换的情况下,默认情况下C51会采用寄存器组0。
此外,值得注意的是:当多个具有相同优先级级别的ISR(Interrupt Service Routine)可以使用相同的寄存器组时,但不同优先级的ISR必须拥有独立的寄存器分配。同时,在执行中断处理程序期间进行正确的内存管理和遵守8051最低32字节分为四组八个寄存器(R0到R7)的规定也是至关重要的。
综上所述,“interrupt”和“using”这两个关键字在C51中断机制中扮演着重要角色,分别用于声明特定于每个外部事件处理程序的入口地址以及规定所使用的寄存器组。
全部评论 (0)


