微机原理与单片机应用:6 单片机内部资源及编程

举报
资源描述
第第6 6章章 单片机内部资源及编程单片机内部资源及编程6.1.1 中断概述 6.1 6.1 中断系统中断系统中断:中断:CPUCPU在运行程序过程中会出现数据输入、数据输出或在运行程序过程中会出现数据输入、数据输出或 特殊情况处理等其它的事情,特殊情况处理等其它的事情,CPUCPU只能采用停下正在只能采用停下正在 进行的任务去处理另一个任务,这种方法称为中断。进行的任务去处理另一个任务,这种方法称为中断。中断技术实质上就是一种资源共享技术,使多项任务共享中断技术实质上就是一种资源共享技术,使多项任务共享CPUCPU单片机的中断服务流程单片机的中断服务流程 中断技术的实际应用:中断技术的实际应用:实现实现CPU与外部设备的速度配合。与外部设备的速度配合。实现实时控制。所谓实时控制,就是被控对象可以随时实现实时控制。所谓实时控制,就是被控对象可以随时 向向CPU发出请求,要求及时处理,以确保对象保持在最发出请求,要求及时处理,以确保对象保持在最 佳状态。佳状态。实现故障的及时处理。借助中断技术可以对单片机系统实现故障的及时处理。借助中断技术可以对单片机系统 运行中的某些故障(如断电故障、运算出错等)及时发运行中的某些故障(如断电故障、运算出错等)及时发 现,并迅速处理。现,并迅速处理。实现人机对话。单片机系统运行中需要通过键盘、按钮实现人机对话。单片机系统运行中需要通过键盘、按钮 等来进行人工干预。等来进行人工干预。6.1.2 中断源中断源中断源:向中断源:向CPUCPU发出中断请求的来源发出中断请求的来源3 3类类5 5个个中断源:中断源:1 1、外部中断源、外部中断源外部中断是由外部信号引起的外部中断是由外部信号引起的2 2个个中断源中断源外部中断外部中断“0”0”:中断信号由引脚:中断信号由引脚 引引入入 外部中断外部中断“1”1”:中断信号由引脚:中断信号由引脚 引引入入 外部中断请求有两种信号方式外部中断请求有两种信号方式电平方式电平方式脉冲方式脉冲方式电平方式的中断请求:电平方式的中断请求:低电平有效,单片机在中断请求引入端低电平有效,单片机在中断请求引入端 或或 上采样到有效的低电平时,就激活外部中断上采样到有效的低电平时,就激活外部中断脉冲方式的中断请求:脉冲方式的中断请求:脉冲的后沿负跳有效,脉冲的后沿负跳有效,CPUCPU在两个相邻机器周期对中断请在两个相邻机器周期对中断请求引入端进行的采样中,如前一次为高电平,后一次为低求引入端进行的采样中,如前一次为高电平,后一次为低电平,即为有效中断请求电平,即为有效中断请求2 2、定时、定时/计数器中断源计数器中断源定时定时/计数器中断:为满足定时或计数的需要而设置的计数器中断:为满足定时或计数的需要而设置的两个定时中断两个定时中断定时器定时器/计数器计数器0 0中断中断定时器定时器/计数器计数器1 1中断中断当当计数结构发生计数溢出时,以计数溢出信号作为中断计数结构发生计数溢出时,以计数溢出信号作为中断请求,去置位一个溢出标志位,作为单片机接受中断请请求,去置位一个溢出标志位,作为单片机接受中断请求的标志求的标志3 3、串行口中断源、串行口中断源是为是为串行数据传送的需要而设置的串行数据传送的需要而设置的当当串行口接收或发送完一组串行数据时,就产生一个中串行口接收或发送完一组串行数据时,就产生一个中断请求断请求表表6.1 6.1 中断源及其入口地址中断源及其入口地址名称名称符号符号中断引起的原因中断引起的原因中断入口地中断入口地址址外部中断外部中断0P3.2引脚的低电平或负跳变信号引脚的低电平或负跳变信号0003H定时器定时器0中断中断T0定时定时/计数器计数器0计数回零溢出计数回零溢出000BH外部中断外部中断1P3.3引脚的低电平或负跳变信号引脚的低电平或负跳变信号0013H定时器定时器1中断中断T1定时定时/计数器计数器0计数回零溢出计数回零溢出001BH串行口中断串行口中断TI/RI串行通信完成一帧数据发送或接收串行通信完成一帧数据发送或接收0023H中断服务程序的首地址(入口地址)称为中断服务程序的首地址(入口地址)称为中断向量中断向量6.1.3 中断控制中断控制4 4个个控制寄存器控制寄存器定时器控制寄存器定时器控制寄存器TCON中断允许控制寄存器中断允许控制寄存器IE中断优先控制寄存器中断优先控制寄存器IP串行口控制寄存器串行口控制寄存器SCON中断控制:提供给用户使用的中断控制手段中断控制:提供给用户使用的中断控制手段1.1.定时器控制寄存器(定时器控制寄存器(TCONTCON)用于保存外部中断请求标志位、定时器的计数溢出标用于保存外部中断请求标志位、定时器的计数溢出标志位和外部中断触发方式的选择志位和外部中断触发方式的选择寄存器地址寄存器地址88H,88H,位地址位地址8FH-88H8FH-88H外外中中断断请请求求标标志志位位当采样到外部中断时,由硬件置当采样到外部中断时,由硬件置1 1,中断响应后由硬件自动清,中断响应后由硬件自动清0 0外外中中断断请请求求触触发发方方式式控控制制位位1 1 脉冲触发方式脉冲触发方式,后沿负跳有效后沿负跳有效0 0 电平触发方式电平触发方式,低电平有效低电平有效由由软件置软件置1 1或清或清0 0计计数数溢溢出出标标志志位位计数溢出时,相应的标志位由硬件置计数溢出时,相应的标志位由硬件置“1”1”当转向中断服务程序时,由硬件自动清当转向中断服务程序时,由硬件自动清“0”0”2.2.串行口控制寄存器(串行口控制寄存器(SCONSCON)寄存器地址寄存器地址98H98H,位地址位地址9FH-98H9FH-98H与中断有关的控制位共与中断有关的控制位共2 2位位TITI串行口发送中断请求标志位串行口发送中断请求标志位当当发送完一帧串行数据后,由硬件置发送完一帧串行数据后,由硬件置“1”1”在转向中断服务程序后,用软件清在转向中断服务程序后,用软件清“0”0”RIRI串行口接收中断请求标志位串行口接收中断请求标志位当当接收完一帧串行数据后,由硬件置接收完一帧串行数据后,由硬件置“1”1”在转向中断服务程序后,用软件清在转向中断服务程序后,用软件清“0”0”串行中断请求由串行中断请求由TITI和和RIRI的逻辑或得到,无论是发送标志的逻辑或得到,无论是发送标志还是接收标志,都会产生串行中断请求还是接收标志,都会产生串行中断请求3.3.中断允许控制寄存器(中断允许控制寄存器(IEIE)寄存器地址寄存器地址0A8H0A8H,位地址位地址0AFH-0A8H0AFH-0A8H EAEA中断允许总控制位中断允许总控制位EA=EA=0 0 中断总禁止,禁止所有中断中断总禁止,禁止所有中断1 1中断总允许,总允许后中断的禁止或允许由中断总允许,总允许后中断的禁止或允许由2 2 各中断源的中断允许控制位设置各中断源的中断允许控制位设置其中与中断有关的控制位共其中与中断有关的控制位共6位:位:EA:中断允许总控制位:中断允许总控制位 EA=0,中断总禁止,禁止所有中断;,中断总禁止,禁止所有中断;EA=1,中断总允许,总允许后各个中断源的允许与禁止,中断总允许,总允许后各个中断源的允许与禁止,还取决于各个中断允许位的状态。还取决于各个中断允许位的状态。EX0和和EX1:外部中断允许控制位:外部中断允许控制位 EX0(或(或EX1)=0,禁止外部中断,禁止外部中断0(或外部中断(或外部中断1););EX0(或(或EX1)=1,允许外部中断,允许外部中断0(或外部中断(或外部中断1)。)。ET0和和ET1:定时器中断允许控制位:定时器中断允许控制位 ET0(或(或ET1)=0,禁止定时器,禁止定时器0(或定时器(或定时器1)中断;)中断;ET0(或(或ET1)=1,允许定时器,允许定时器0(或定时器(或定时器1)中断。)中断。ES:串行中断允许控制位:串行中断允许控制位 ES=0,禁止串行(,禁止串行(TI或或RI)中断;)中断;ES=1,允许串行(,允许串行(TI或或RI)中断)中断4.4.中断优先级控制寄存器(中断优先级控制寄存器(IPIP)寄存器地址寄存器地址0B8H0B8H,位地址位地址0BFH-0B8H0BFH-0B8H其中与中断有关的共其中与中断有关的共5位:位:PX0:外部中断:外部中断0()优先级设定位;)优先级设定位;PT0:定时器:定时器0(T0)优先级设定位;)优先级设定位;PX1:外部中断:外部中断1()优先级设定位;)优先级设定位;PT1:定时器:定时器1(T1)优先级设定位;)优先级设定位;PS:串行中断优先级设定位。:串行中断优先级设定位。对对IP的各个对应位置的各个对应位置1或清或清0决定,决定,设定为设定为0时为低优先级,设定为时为低优先级,设定为1时为高优先级。时为高优先级。两级优先级,具有中断服务嵌套的功能,两级优先级,具有中断服务嵌套的功能,其中断优先级的控制原则是:其中断优先级的控制原则是:(1 1)低优先级中断请求不能打断高优先级的中断服务;)低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服但高优先级中断请求可以打断低优先级的中断服 务,从而实现中断嵌套务,从而实现中断嵌套(2 2)如果一个中断请求已被响应,则同级的其它中断服务)如果一个中断请求已被响应,则同级的其它中断服务 将被禁止。即同级不能嵌套。将被禁止。即同级不能嵌套。(3 3)如果同级的多个中断请求同时出现,则按)如果同级的多个中断请求同时出现,则按CPUCPU查询次查询次 序确定哪个中断请求被响应。序确定哪个中断请求被响应。外部中断外部中断0 0定时中断定时中断0 0外部中断外部中断1 1定时中断定时中断1 1串行中断串行中断除了中断优先级控制寄存器外,还有除了中断优先级控制寄存器外,还有2 2个不可寻址的优先级个不可寻址的优先级状态触发器。状态触发器。一个一个用于指示某一高优先级中断正在进行服务,从而屏蔽其用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;它高优先级中断;另一个另一个用于指示某一低优先级中断正在进行服务,从而屏蔽用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。其它低优先级中断,但不能屏蔽高优先级的中断。RETI指令除了使程序返回到断点之外,还使指令除了使程序返回到断点之外,还使“优先级生效优先级生效触发器触发器”复位。复位。如要如要开放外部中断开放外部中断0 0使用字节操作指令为:使用字节操作指令为:MOV IEMOV IE,#81H#81H使用位操作指令为:使用位操作指令为:SETB EA SETB EA SETB EX0 SETB EX0 1 0 0 0 0 0 0 16.1.4 中断响应过程中断响应过程1.1.中断采样中断采样只有外部中断中断请求才有采样问题只有外部中断中断请求才有采样问题采样是对芯片引脚采样是对芯片引脚 和和 在每个机器周在每个机器周期的期的S5P2S5P2进行的,根据采样结果来设置进行的,根据采样结果来设置TCONTCON寄存器中寄存器中IE0IE0和和IE1IE1的状态的状态中断响应过程:从中断请求发生到中断被响应,再转向中断响应过程:从中断请求发生到中断被响应,再转向执行中断服务程序去完成中断所要求的操作。执行中断服务程序去完成中断所要求的操作。对于电平方式的外部中断请求对于电平方式的外部中断请求:若若采样为高电平,无中断,采样为高电平,无中断,IE0=0IE0=0,IE1=0IE1=0若若采样为低电平,有中断,采样为低电平,有中断,IE0=1IE0=1,IE1=1IE1=1对对脉冲方式的外中断脉冲方式的外中断:若在若在两个相邻机器周期采样到先高电平后低电平,两个相邻机器周期采样到先高电平后低电平,则有中断,则有中断,IE0=1IE0=1,或,或IE1=1IE1=1否则否则 IE0=0IE0=0,或,或IE1=0IE1=02.2.中断标志位的查询中断标志位的查询单片机把所有中断的
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号