欢迎来到天天文库
浏览记录
ID:36698306
大小:341.10 KB
页数:24页
时间:2019-05-10
《《单片机中断使用》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主要内容◆中断系统◆外部中断应用举例2021/10/8中断系统概述与上对比,单片机中也有同样的问题。CPU正在执行原程序,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫。中断某同学正在教室写作业,忽然被人叫出去,回来后,继续写作业。这就是生活中中断的例子。2021/10/8※对突发事故,做出紧急处理。※根据现场随时变化的各种参数、信息,做出实时监控。※CPU与外部设备并行工作,以中断方式相联系,提高工作效率。※解决快速CPU与慢速外设之间的矛盾。※在多项外部设备同时提出中断请求情况下,CPU
2、能根据轻重缓急响应外设的中断请求。中断的作用2021/10/8“五源中断,两级管理”五个中断源:入口地址外部中断0(/INT0)0003HT0溢出中断000BH外部中断1(/INT1)0013HT1溢出中断001BH串口中断0023H“五源中断”2021/10/8中断源的中断请求,如何通知CPU?利用中断请求标志位来通知!标志位在TCON、SCON两个寄存器中2021/10/8TCONIT0IE0IT1IE1TR0TF0TR1TF1TF1——T1的溢出中断标志硬件置1,硬件清0TR1——T1的启动和停止控制位TF0——T0的溢出中断标志。(同T
3、F1,只是针对T0的)IE1——外部中断1(/INT1)请求标志。外部有中断请求时,硬件使IE1置1,硬件清0。IE0——外部中断0(/INT0)请求标志。IT1——外部中断1(/INT1)触发类型控制位。IT1=0,低电平触发。IT1=1,下降沿触发。IT0——外中断0(/INT0)触发类型控制位,用法同IT1。中断标志位2021/10/8SCONRITIRB8TB8RENSM2SM1SM0TI——串口发送中断标志位。发送完数据,硬件使TI置1,软件清0(CLRTI)RI——串行口接收中断标志位。硬件置1,软件清0。中断标志位2021/10/
4、8在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为五个分开关,由IE控制。IEEX0ET0EX1ET1ES————EAEA——总控制位“—”——未定义位ES——串口控制位ET1——T1中断控制位EX1——/INT1控制位ET0——T0中断控制位EX0——/INT0控制位若为“1”,开关接通,允许例如SETBEA若为“0”,开关断开,不允许例如CLRIE.7两级管理——中断屏蔽2021/10/8为什么要有中断优先级?CPU同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后!!!
5、为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。IPPX0PT0PX1PT1PS——————PS——串口的中断优先级别PT1——定时/计数器T1的中断优先级别PX1——外部中断1的中断优先级别PT0——定时/计数器T0的中断优先级别PX0——外部中断0的中断优先级别该位是“1”时,为高级优先级该位是“0”时,为低级优先级两级管理——中断优先级2021/10/8同一级中的5个中断源的优先顺序是:/INT0中断T0溢出中断/INT1中断T1溢出中断串口中断高低出厂前已由厂家固化顺序——事先约定中断优先原则:(概括为四句话)1、低级不打
6、断高级2、高级不睬低级3、同级不能打断4、同级、同时中断,事先约定。2021/10/8日常生活中的中断与单片机中断的比较:某同学单片机过程说明正在看书执行主程序有人找出去中断信号中断请求暂停看书暂停执行主程序中断响应书中作记号当前PC入栈保护断点出去做事执行中断程序中断服务回来继续看返回主程序中断返回2021/10/8响应条件----CPU要响应中断需满足下列条件:①无同级或高级中断正在服务;②当前指令周期结束,如果查询中断请求的机器周期不是当前指令的最后一个周期,则不行;③若现行指令是RETI、RET或访问IE、IP指令,则需要执行到当前指令
7、及下一条指令方可响应。MCS-51中断的响应过程2021/10/8响应过程--单片机响应中断后,自动执行下列操作:①置位中断优先级有效触发器,即关闭同级和低级中断:②调用入口地址,断点入栈,相当于LCALL指令;③进入中断服务程序。2021/10/8响应时间--从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。(1)最快响应时间以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)+2个周期(长调用LCALL)2021/10/8(2)最长时间若当前指令是RET、RETI和IP、IE指令,紧接着下
8、一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期。2021/10/8中断
此文档下载收益归作者所有