四、8051中断系统的C编程

四、8051中断系统的C编程

ID:44379314

大小:162.00 KB

页数:20页

时间:2019-10-21

四、8051中断系统的C编程_第1页
四、8051中断系统的C编程_第2页
四、8051中断系统的C编程_第3页
四、8051中断系统的C编程_第4页
四、8051中断系统的C编程_第5页
资源描述:

《四、8051中断系统的C编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章8051中断系统的C编程本章主要介绍51系列单片机中断系统问题,本章将介绍以下具体内容:中断系统----中断源、中断方式、中断控制寄存器、中断响应、中断请求的撤除。CPU与外设之间传送数据的方式可以有以下几种:无条件传送方式查询方式中断传送方式DMA方式§4.1输入/输出的控制方式预备内容§4.2MCS-51单片机的中断系统4.2.1.MCS-51单片机的中断系统结构一、中断的概念执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回IE0TF0IE1TF1TIRI中断请求标志EX0ET0EX1ET1ES≥1PX0PT0PX1PT1PS高级

2、低级二、MCS-51单片机的中断系统内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断允许控制中断优先级EA中断源一、中断源共有五个中断源,分别是外部中断两个、定时中断两个和串行中断一个,它们是:外部中断0--INT0,由P3.2提供,外部中断1—INT1,由P3.3提供,外部中断有两种信号方式,即电平方式和脉冲方式。T0溢出中断;由片内定时/计数器0提供T1溢出中断;由片内定时/计数器1提供串行口中断RI/TI;由片内串行口提供4.2.2.MCS-51中断源二、中断控制的寄存器与中断控制有关的控制寄存器有四个:TCON----定时控制寄存器,IE

3、----中断允许控制寄存器,IP----中断优先级控制寄存器,SCON----串行口控制寄存器。1.定时控制寄存器TCOND7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0低电平1下降沿IT0,IT1:外部中断0、1触发方式选择位(软件设置)1下降沿触发方式。0电平触发方式。IE0,IE1:外部中断0、1请求标志位(硬件置位、清0)TF0,TF1:定时器/计数器0、1溢出中断请求标志位(硬件置位、清0)2.串行口控制寄存器SCOND7D6D5D4D3D2D1D0TIRI串行中断请求标志RI:串行口接收中断请求标志位(硬件置

4、位,软件清0)TI:串行口发送中断请求标志位(硬件置位,软件清0)3.中断允许控制寄存器IED7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX00禁止,1允许EA:CPU开/关中断控制位。EX0,EX1:外部中断0,1的中断允许位。ET0,ET1:定时器/计数器0,1溢出中断允许位。ES:串行口中断允许位。ET2:定时器/计数器2溢出中断允许位。4.中断优先级控制寄存器(IP)D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00低级别,1高级别PX0,PX1:外部中断0,1中断优先级控制位。PT0,PT1:定时器/计数器0,1中断优先级控

5、制位。PS:串行口中断优先级控制位。中断源外部中断0高定时器/计数器0外部中断1定时器/计数器1串行口中断低三、中断响应响应条件----CPU要响应中断需满足下列条件:①无同级或高级中断正在服务;②当前指令周期结束,如果查询中断请求的机器周期不是当前指令的最后一个周期,则不行;③若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令及下一条指令方可响应。响应过程--单片机响应中断后,自动执行下列操作:①硬件清除相应的中断请求标志;②执行一条硬件子程序,保护断点,并转向中断服务程序入口;③结束中断时执行RETI指令,恢复断点,返回主程序。单片机的中断为

6、固定入口式中断,即一响应中断就转入固定入口地址执行中断服务程序。具体入口如下:编号中断源入口地址0INT00003H1T0000BH2INT10013H3T1001BH4RI/TI0023H在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。8051的CPU在响应中断请求时,由硬件自动形成转向与该中断源对应的服务程序入口地址,这种方法为硬件向量中断法。C51编译器支持在C源程序中直接开发中断程序,因此减轻了用汇编语言开发中断程序的繁琐过程。使用该扩展属性的函数定义语法如下:返回值函数名interruptnn对应中断源的

7、编号。响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)+2个周期(长调用LCALL)(2)最长时间若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。中断返回—中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。寄存器组切换—若程序流程转向新任务,新任

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。