C单片机中断系统实用PPT课件.pptx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
### C单片机中断系统知识点解析 #### 一、80C51单片机中断系统概述 **80C51单片机**是一种广泛应用于各种电子设备中的微控制器,其强大的中断处理能力是其核心特性之一。该单片机拥有**5个中断源**和**2个中断优先级**,能够实现**两级嵌套中断处理**,这为其实现高效灵活的任务调度提供了基础。 #### 二、中断源及相关的专用寄存器 1. **80C51单片机的中断源** - **外部中断0 (INT0)**:位于P3.2引脚上。 - **外部中断1 (INT1)**:位于P3.3引脚上。 - **定时器0 (T0)中断**:通过溢出标志TF0触发。 - **定时器1 (T1)中断**:通过溢出标志TF1触发。 - **串行口发送/接收中断**:通过SCON寄存器中的RI和TI标志触发。 2. **定时器控制寄存器TCON** - TCON寄存器用于控制定时器/计数器T0和T1的工作状态以及外部中断0和外部中断1的触发方式。 - **TF0**和**TF1**分别表示定时器T0和T1的溢出标志位,当定时器溢出时硬件会自动将其置位。 - **TR0**和**TR1**分别表示定时器T0和T1的启动/停止控制位,用于开启或关闭定时器。 - **IT0**和**IT1**分别表示外部中断0和外部中断1的触发方式选择位,0表示电平触发,1表示边沿触发。 3. **串行口控制寄存器SCON** - SCON寄存器用于控制串行通信的工作方式和状态。 - **RI**(Receive Interrupt)表示串行口接收中断标志位,当接收到一帧数据后硬件会自动将其置位。 - **TI**(Transmit Interrupt)表示串行口发送中断标志位,当发送完一帧数据后硬件会自动将其置位。 - RI和TI的中断服务程序入口地址均为**0023H**,在中断服务程序中必须手动清除这两个标志位。 4. **外部中断触发方式的说明** - 在**电平触发方式**下,外部中断请求信号必须保持一段时间,直到CPU响应中断。在中断返回前,请求信号必须撤除。 - 在**边沿触发方式**下,外部中断请求信号的上升沿或下降沿可以触发中断。这种方式下,请求信号不必维持长时间,硬件会在检测到有效边沿后自动清除中断标志位。 #### 三、单片机对中断请求的控制 1. **中断使能控制** - 通过**中断允许寄存器IE**来进行控制。 - **EA**(Enable All)位控制所有中断是否允许。 - 每个中断源都有自己的使能控制位,例如ET0控制T0的中断使能,ES控制串行口中断等。 2. **中断优先级控制** - 80C51单片机支持**两个中断优先级**:高优先级和低优先级。 - 通过**IP寄存器**来设置各个中断源的优先级等级。 - 当多个中断同时发生时,单片机会优先处理优先级更高的中断请求。 #### 四、应用举例 以下是一个简单的外部中断触发方式的应用实例: ```assembly MAIN: SETB P3.0 ; 设置P3.0为高电平 CLR IT0 ; 设置INT0为电平触发 SETB EX0 ; 开放INT0中断 SETB EA ; 开放全局中断 HERE: AJMP HERE ; 无限循环等待中断 ; 外部中断0中断服务程序 WBINT: CLRP3.0 ; 清除P3.0,取消中断请求 MOV A, #0FFH ; 将A赋值为全1 MOV P1, A ; 将A的值输出到P1端口 MOVA, P1 ; 将P1端口的值读入A SWAP A ; 交换A的高4位和低4位 MOV P1, A ; 再次将A的值输出到P1端口 SETB P3.0 ; 设置P3.0为高电平 RETI ; 返回中断 ``` 此段代码演示了如何设置外部中断0为电平触发模式,并且在中断发生时执行一系列操作。通过设置寄存器和编写相应的中断服务程序,可以实现对外部事件的有效响应。 80C51单片机的中断系统功能强大,能够满足不同应用场景的需求。通过合理配置寄存器和编写有效的中断服务程序,可以大大提高系统的响应速度和处理效率。
- 粉丝: 1403
- 资源: 52万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助