版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1中断技术概述1、中断的基本概念5.28051中断系统结构及其控制
1、中断系统结构
8051单片机中断系统支持:
5个中断源,
2个中断优先级,可实现2级中断嵌套。TCON、SCON、IE和IP进行设置自然优先级矢量地址自然优先级矢量地址高级中断请求PCPC断请求低级中SCON中断标志IPPX01PT0110PX110PS100PT10IEEX0ET0EX1ET1ESTCONIE0TF0IE1TF1TIRIRXTXT1IT1=1INT1IT1=0T0INT0IT0=1IT0=0源允许总允许优先级硬件查询EA2、中断源及中断标志(1)5个中断源:串行口T1INT1T0INT0(2)中断控制寄存器TCON(88H)
TF1TR1TF0TR0IE1IT1IE0IT0
其中:
ITx
:外部中断触发方式,0:低电平触发,1:负跳变触发
IEx
:外部中断请求标志,0:无中断请求,1:有中断请求
TFx:定时器/计数器溢出标志,0:定时器无溢出,1:有溢出
TRx:启、停止定时器/计数器,0:停止,1:启动3、中断的控制??
CPU如何控制允许中断源的中断申请???两个以上中断源同时中断申请,先响应哪一个?(1)中断允许寄存器IE地址:(A8H)可位寻址EAESET1EX1ET0EX0CPU串行口T1INT1T0INT0
相应位为1时,表示对应的中断请求可以得到响应,其中EA为总中断允许,(2)中断允许设置
对相应的位置1或者清除来允许或者禁止例:SETBEA;开放CPU中断,可接受中断申请
SETBEX0;允许INT0中断
CLRES;禁止串行口中断注:
①复位时IE清零,即禁止所有中断,用SETB指令置位IE中相应的位来开启中断。
②必须逐级开放中断。总开关和子开关.
③IE中相应位置0,该位对应的中断源被屏蔽,禁止其中断(3)8031的中断优先级
顺序为:外部0,定时0,外部1,定时1,串行口中断优先级寄存器IP控制IP(B8H)可位寻址串行口T1INT1T0INT0PSPT1PX1PT0PX0
IP中某位置1时,该中断源为高优先级,相反为低优先级。例:SETBPT0;PT0置1,定时器0为高优先级中断
IP值为:时,其优先级顺序为:T0、INT0、INT1
、T1、串行口000104、中断处理中断过程可分:中断请求、中断响应、中断服务和中断返回等。(1)中断响应必须满足以下6个条件:相关中断源的中断请求标志位置“1”,即有中断请求。IE寄存器中的总允许位EA=1。相关中断源的中断允许位为“1”,即该中断被允许。无同级或更高级中断在被服务。当前指令已执行到最后一个机器周期并已经结束。当前正在执行的指令不是返回指令或访问IE、IP指令。中断响应的基本步骤:
获取目标地址(中断向量):硬件自动执行长跳转指令“LCALLaddre16”;
断点保护:下一条指令的地址(PC值)入栈保护;
转向目标地址:目标地址“adrr16”赋给PC,转入目标地址处执行中断服务子程序;
清除相应的中断标志位:串行口中断除外,需要用户程序软件清除。中断源中断向量地址外部中断0
(
)0003H定时器/计数器0(T0)000BH外部中断1(
)0013H定时器/计数器1(T1)001BH串行口中断0023H中断向量表(2)中断服务中断响应后即进入中断服务环节,通常需要进行“现场保护”。(3)中断返回中断服务结束后需要通过RETI指令结束中断服务,已恢复至断点处执行程序。(4)中断请求的撤销
CPU在响应对应的中断请求后都会自动的清除中断请求标志位,但需要考虑中断请求信号的撤销。5.3外部中断的实现1、触发方式选择边沿触发
CPU在连续两个机周期采样INTx时,前一个周期为高电平,后一个周期为低电平,则判断该负跳变触发中断,则置位中断标志IEx,申请中断。电平触发
CPU采样到INT0或INT1脚为低电平则会触发中断。2、多中断源系统硬件扩展5.4中断系统程序设计
明确中断源,正确设置好中断向量,即中断服务程序入口地址的确定。在主程序中完成IE、IP等寄存器相关标志位的中断初始化工作。明确中断服务任务,编写中断服务程序,保护好主程序相关寄存器内容,完成中断任务,正确返回主程序断点。1、中断程序基本结构(1)汇编程序结构ORG0000HAJMPSTARTORG0003HAJMPWB0ORG000BHAJMPDS0ORG0013HAJMPWB1ORG001BHAJMPDS1ORG0023HAJMPCKSTART:
…..…..
SJMP$WB0:
…..
RETIDS0:
…..
RETIWB1:….
RETIDS1:….
RETICK:…..
RETI(2)C51中断程序结构
8051单片机C51程序结构中断服务函数结构形式:函数类型函数名()[interruptn][usingi]
n为中断类型号,取值范围为n=0~4,用以区分5个中断源;
关键字using,i的取值范围为n=0~3,分别对应工作寄存器组的0区~3区;
不使用[usingn]选项,中断函数和主程序使用同一区域的工作寄存器组,在中断函数中编译器自动产生保护和恢复R0~R7现场,执行速度慢些。#include<reg51.h>voidmain(){… ;中断初始化及其他程序}voidint0()interrupt0;外部中断0服务程序,函数名称可修改{… ;设置中断服务子程序}voidint1()interrupt1;定时器0中断程序,函数名称可修改{… ;设置中断服务子程序}voidint2()interrupt2
;外部中断0服务程序,函数名称可修改{… ;设置中断服务子程序}voidint3()interrupt3
;定时器1中断服务程序,函数名称可修改{… ;设置中断服务子程序}voidint4()interrupt4
;串行口中断服务程序,函数名称可修改{… ;设置中断服务子程序}实例:利用外部按键实现LED显示循环顺序控制,要求采用中断方式。按键一次改变LED显示个数,具体为,按键一次点亮一个LED,按键2次点亮2个LED,…按键8次点亮所有LED,按键9次关闭所有LED,按键10次点亮一个LED,以此类推。汇编语言程序:
ORG0000H LJMPMAIN ;跳转到主程序入口
ORG0003H LJMPZD0 ;跳转到中断服务程序入口MAIN: MOVSP,#50H ;设置堆栈
SETBIT0 ;边沿触发方式
SETBEX0 ;开中断
SETBEA ;
MOVP1,#00H ;设置8个LED全灭
MOVA,#00H ;初始化A MOVR7,#0 ;初始化计数次数
AJMP$ ;等待中断ZD0:CJNER7,#08H,NEXT ;判断是否到了8次
MOVA,#00H ;参数重新初始化
MOVP1,AMOVR7,#00HRETINEXT: SETBC ;移位一次,增加点亮LED个数
RLCAMOVP1,A ;数据输出
INCR7 ;次数加1RETIEND#include<REG51.h>#defineucharunsignedcharuchar
keynumber,keyval; //统计按键次数变量voidint0()interrupt0 //外部中断0服务子程序{if(keynumber==8) //次数到8次,重新初始化
{keynumber=0;
keyval=0;P1=keyval; //数据输出
}else{keynumber++; //次数加1
keyval=keyval<<1; //逻辑左移,
keyval=keyval|0x01; //由于低位补零,所以低位补1P1=keyval; //数据输出
}}main(){IT0=1; //设置边沿触发方式
EX
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摄影测量员安全演练竞赛考核试卷含答案
- 合成膜电位器工成果转化竞赛考核试卷含答案
- 珠宝首饰评估师岗前品质考核试卷含答案
- 煮茧操作工安全生产基础知识能力考核试卷含答案
- 混凝土机械装配调试工班组建设水平考核试卷含答案
- 广播电视数据员道德强化考核试卷含答案
- 2026年市场营销人员新媒体运营培训方案
- 如何有效开展小组合作小学主题班会课件
- 难治性溃疡护理查房
- 急性黄疸型庚型病毒性肝炎护理查房
- 国资委安全生产十条硬措施
- GB/T 25052-2024连续热浸镀层钢板和钢带尺寸、外形、重量及允许偏差
- 2024安徽太阳能辐射量数据
- EPC项目施工图设计质量控制措施
- AMS成就动机量表问卷计分解释
- 大专求职简历模板8篇
- 2023年06月河北唐山市事业单位(滦南县)公开招聘570人笔试题库含答案解析
- 股权转让协议承诺书
- 正压式空气呼吸器使用
- 铁塔公司基站外市电基础知识
- 1年级-一年级数独100题-20160904-数学拓展
评论
0/150
提交评论