版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、输出操作输出操作是对口锁存器的写入操作;当由内部总线给口锁存器是对口锁存器的写入操作;当由内部总线给口锁存器置置0 0或或1 1时,锁存器中的时,锁存器中的0 0,1 1状态立即反映到引脚上。状态立即反映到引脚上。输入操作输入操作是读引脚状态;如果口锁存器为是读引脚状态;如果口锁存器为0 0,引脚被钳位在,引脚被钳位在0 0状状态,导致无法读出引脚的高电平输入。态,导致无法读出引脚的高电平输入。P0P0、P1P1、P2P2、P3P3口作口作普通普通I/OI/O口使用时,口使用时,都是准双向结构都是准双向结构 准双向口作输入口时,应先使锁存器置准双向口作输入口时,应先使锁存器置1 1,称之为,称
2、之为置输入方式置输入方式,然后再读引脚。,然后再读引脚。例如,要将例如,要将P1P1口状态读入到累加器口状态读入到累加器A A中,应执行以下中,应执行以下两条指令:两条指令:MOVMOVP1P1,#0FFH#0FFH ;P1P1口置输入方式口置输入方式MOVMOVA A,P1P1;读;读P1P1口引脚状态到口引脚状态到ACCACC中中5.1 5.1 中断的中断的概念概念5.2 MCS-515.2 MCS-51中断中断系统结构系统结构5.3 5.3 中断请求源和中断标志中断请求源和中断标志位位5.4 5.4 中断中断控制控制5.5 5.5 响应中断请求的响应中断请求的条件条件5.6 5.6 外部
3、中断的外部中断的响应时间响应时间5.7 5.7 外部中断的触发方式外部中断的触发方式选择选择5.8 5.8 中断请求的中断请求的撤消撤消5.9 5.9 中断服务程序的中断服务程序的设计设计5.10 5.10 多外部中断源系统设计多外部中断源系统设计 5.1 5.1 中断的概念中断的概念中断中断处理中断处理中断CPUCPU执行程序执行程序返回、继续返回、继续处理完该事件后,再处理完该事件后,再回到原来被中止的地回到原来被中止的地方,继续原来的工作方,继续原来的工作CPUCPU暂时中止当前的暂时中止当前的工作,转到中断服务工作,转到中断服务子程序处理所发生的子程序处理所发生的事件。事件。中断请求中
4、断请求单片机外部或内部发单片机外部或内部发生某一事件,请求生某一事件,请求CPUCPU立即去处理。立即去处理。执行程序执行程序中断处理中断处理(或中断服务或中断服务)对事件的整个处理过程,称为对事件的整个处理过程,称为中断处理中断处理(或中断服务或中断服务)中断系统:中断系统:能够实现中断处理功能的部件能够实现中断处理功能的部件中断请求源:中断请求源:产生中断的请求源产生中断的请求源中断请求:中断请求:中断源向中断源向CPUCPU提出的处理请求,提出的处理请求,( (或或称为称为中断申请中断申请) ) 5.2 5.2 MCS-51MCS-51中断系统结构中断系统结构 有有5 5个中断请求源,两
5、个中断优先级,可两级嵌套。个中断请求源,两个中断优先级,可两级嵌套。5.3 5.3 中断请求源和中断标志位中断请求源和中断标志位外部中断(外部中断(2个)个)/INT0:外部中断:外部中断0请求,由请求,由P3.2脚输入。通过脚输入。通过IT0(TCON.0)来决定是低电平有效还是下跳变有效。一旦输入信号有效,来决定是低电平有效还是下跳变有效。一旦输入信号有效,则向则向CPU申请中断,并且建立申请中断,并且建立IE0标志;标志;/INT1:外部中断:外部中断1请求,由请求,由P3.3脚输入。通过脚输入。通过IT1(TCON.2)来决定是低电平有效还是下跳变有效。一旦输入信号有效,来决定是低电平
6、有效还是下跳变有效。一旦输入信号有效,则向则向CPU申请中断,并且建立申请中断,并且建立IE1标志;标志;内部中断(内部中断(3 3个)个)TF0TF0:定时器定时器T0T0溢出中断请求溢出中断请求。当定时器。当定时器T0T0产生溢出时,定时器产生溢出时,定时器T0T0 中断请求标志中断请求标志TF0TF0置位,请求中断处理。置位,请求中断处理。TF1TF1:定时器定时器T1T1溢出中断请求溢出中断请求。当定时器。当定时器T1T1产生溢出时,定时器产生溢出时,定时器T1T1 中断请求标志中断请求标志TF1TF1置位,请求中断处理。置位,请求中断处理。RIRI或或TITI:串行中断请求串行中断请
7、求。当接收或发送完一串行帧时,置位内部串。当接收或发送完一串行帧时,置位内部串 行口中断请求标志行口中断请求标志RIRI或或TITI,请求中断。,请求中断。 中断源中断源中断程序入口中断程序入口 外部中断外部中断0 0(/INT0/INT0)0003H0003H定时器定时器/ / 计数器计数器0 0(T0T0)000BH000BH外中断外中断1 1(/INT1/INT1)0013H0013H定时器定时器/ / 计数器计数器1 1(T1T1)001BH001BH串行口串行口0023H0023HDescription of the companys sub contents定时器定时器/ /计数器
8、计数器的控制寄存器的控制寄存器TCONTCON串行口控制串行口控制寄存器寄存器SCONSCON中断标志位中断标志位外部中断定时器溢出中断串行口中断中断标志位中断标志位TCON TCON 定时器定时器/ /计数器的控制寄存器。计数器的控制寄存器。 字节地址为字节地址为88H88H。格式如下所示:格式如下所示:(1 1)IT0 IT0 /INT0/INT0为跳沿触发方式还是电平触发方式为跳沿触发方式还是电平触发方式 IT0=0 IT0=0,电平触发电平触发方式;方式;IT0=1IT0=1,跳沿触发跳沿触发方式。方式。(2 2)IE0 IE0 /INT0/INT0中断请求标志位。中断请求标志位。 I
9、E0=0 IE0=0,无中断请求;无中断请求;IE0=1IE0=1,有中断请求。有中断请求。(3 3)IT1 IT1 /INT1/INT1为跳沿触发方式还是电平触发方式。为跳沿触发方式还是电平触发方式。(4 4)IE1 IE1 /INT1/INT1中断请求标志位。中断请求标志位。(5 5)TF0 TF0 T0T0溢出中断请求标志位。溢出中断请求标志位。 (6 6)TF1 TF1 T1T1溢出中断请求标志位,功能和溢出中断请求标志位,功能和TF0TF0类似。类似。 TCONTCON各标志位的功能各标志位的功能 SCON SCON 串行口控制寄存器。串行口控制寄存器。 字节地址为字节地址为9898
10、H H。格式如下:格式如下: SCONSCON各标志位的功能:各标志位的功能:(1 1)TI TI 发送中断请求标志位。发送中断请求标志位。 串口每发送完一帧串行数据,硬件自动置串口每发送完一帧串行数据,硬件自动置TITI“1 1”。 必须在中断服务程序中用软件对必须在中断服务程序中用软件对TITI标志清标志清“0 0”。(2 2)RI RI 接收中断请求标志位。接收中断请求标志位。 串口接收完一个数据帧,硬件自动置串口接收完一个数据帧,硬件自动置RIRI“1 1” 。 必须在中断服务程序中用软件对必须在中断服务程序中用软件对RIRI标志清标志清“0 0”。5.4 5.4 中断控制中断控制 I
11、EIE总中断控制位总中断控制位EAEA单个中断控制位单个中断控制位IPIP 两个中断优先级,两个中断优先级,可实现两级中断嵌套可实现两级中断嵌套中断允许中断允许寄存器寄存器中断优先级中断优先级寄存器寄存器5.4.1 5.4.1 中断允许寄存器中断允许寄存器IE IE CPU CPU对中断源的开放或屏蔽,由片内的对中断源的开放或屏蔽,由片内的中断允许中断允许寄存器寄存器IEIE控制。控制。 字节地址为字节地址为A8HA8H,可位寻址。可位寻址。 格式如下:格式如下:IEIE对中断的控制分为两级控制:对中断的控制分为两级控制:(1 1)总中断控制位)总中断控制位EAEA(IE.7IE.7位)位):
12、 : EA=0 EA=0,所有中断请求被屏蔽;,所有中断请求被屏蔽; EA=1 EA=1,CPUCPU开放开放总中断控制总中断控制。(2 2)单个中断控制位)单个中断控制位 五个中断源的中断请求是否被允许,还要由五个中断源的中断请求是否被允许,还要由IEIE 中的中的5 5个中断请求允许控制位决定。个中断请求允许控制位决定。IEIE中各位的功能如下:中各位的功能如下:(1 1)EAEA:中断允许总控制位中断允许总控制位 0 0:CPUCPU屏蔽所有的中断请求屏蔽所有的中断请求( (CPUCPU关中断关中断) ); 1 1:CPUCPU开放所有中断开放所有中断( (CPUCPU开中断开中断) )
13、。(2 2)ESES:串行口中断允许位串行口中断允许位 0 0:禁止串行口中断;禁止串行口中断;1 1:允许串行口中断。允许串行口中断。(3 3)ET1ET1:定时器定时器/ /计数器计数器T1T1的溢出中断允许位的溢出中断允许位 0 0:禁止禁止T1T1溢出中断;溢出中断;1 1:允许允许T1T1溢出中断。溢出中断。(4 4)EX1EX1:外部中断外部中断1 1中断允许位中断允许位 0 0:禁止外部中断禁止外部中断1 1中断;中断;1 1:允许外部中断允许外部中断1 1中断。中断。(5 5)ET0ET0:定时器定时器/ /计数器计数器T0T0的溢出中断允许位的溢出中断允许位 0 0:禁止禁止
14、T0T0溢出中断;溢出中断;1 1:允许允许T0T0溢出中断。溢出中断。(6 6)EX0EX0:外部中断外部中断0 0中断允许位。中断允许位。 0 0:禁止外部中断禁止外部中断0 0中断;中断;1 1:允许外部中断允许外部中断0 0中断。中断。例例 若允许片内若允许片内2 2个定时器个定时器/ /计数器中断,禁止其它计数器中断,禁止其它 中断源的中断请求。编写设置中断源的中断请求。编写设置IEIE的相应程序。的相应程序。(1 1)用位操作指令来编写如下程序段)用位操作指令来编写如下程序段:CLR ES CLR ES ;禁止串行口中断;禁止串行口中断 CLR EX1 CLR EX1 ;禁止外部中
15、断禁止外部中断1 1中断中断CLR EX0CLR EX0;禁止外部中断禁止外部中断0 0中断中断 SETB ET0 SETB ET0 ;允许定时器允许定时器/ /计数器计数器T0T0中断中断 SETB ET1 SETB ET1 ;允许定时器允许定时器/ /计数器计数器T1T1中断中断 SETB EA SETB EA ;CPUCPU开中断开中断(2 2)用字节操作指令来编写)用字节操作指令来编写: MOV IEMOV IE,#8AH#8AH 或者用:或者用: MOV 0A8HMOV 0A8H,#8AH#8AH ;A8HA8H为为IEIE寄存器字节地址寄存器字节地址两个中断优先级,可实现两级中断嵌
16、套。可归纳为下面两个中断优先级,可实现两级中断嵌套。可归纳为下面两条基本规则两条基本规则:(1 1)低优先级可被高优先级中断,反之则不能。)低优先级可被高优先级中断,反之则不能。(2 2)同级中断不会被它的同级中断源所中断。)同级中断不会被它的同级中断源所中断。5.4.2 5.4.2 中断优先级寄存器中断优先级寄存器IPIP 中断优先级寄存器中断优先级寄存器IPIP 字节地址为字节地址为B8HB8H 若若CPUCPU正在执行高优先级的中断,正在执行高优先级的中断, 则不能被任何中断源所中断。则不能被任何中断源所中断。IPIP各个位的含义:各个位的含义:(1 1)PS PS 串行口中断优先级控制
17、位串行口中断优先级控制位 1 1:高优先级中断;高优先级中断;0 0:低优先级中断。低优先级中断。(2 2)PT1 PT1 定时器定时器T1T1中断优先级控制位中断优先级控制位 1 1:高优先级中断;高优先级中断;0 0:低优先级中断。低优先级中断。(3 3)PX1 PX1 外部中断外部中断1 1中断优先级控制位中断优先级控制位 1 1:高优先级中断;高优先级中断;0 0:低优先级中断。低优先级中断。(4 4)PT0 PT0 定时器定时器T0T0中断优先级控制位中断优先级控制位 1 1:高优先级中断;高优先级中断;0 0:低优先级中断。低优先级中断。(5 5)PX0 PX0 外部中断外部中断0
18、 0中断优先级控制位中断优先级控制位 1 1:高优先级中断;高优先级中断;0 0:低优先级中断。低优先级中断。MCS-51MCS-51内部内部有两个不可寻址的有两个不可寻址的“优先级激活触发器优先级激活触发器”: 一个一个用来指示某高优先级中断正在执行,所有后用来指示某高优先级中断正在执行,所有后来的中断均被阻止。来的中断均被阻止。 另一个另一个用来指示某低优先级中断正在执行,所有用来指示某低优先级中断正在执行,所有同级中断都被阻止,但不阻断高优先级的中断请求。同级中断都被阻止,但不阻断高优先级的中断请求。 在同时收到几个同一优先级的中断请求时,优先在同时收到几个同一优先级的中断请求时,优先响
19、应哪一个中断,取决于响应哪一个中断,取决于内部的查询顺序内部的查询顺序。同级中断内部查询顺序:同级中断内部查询顺序: 中断源中断源 查询顺序查询顺序外部中断外部中断0 0 先先T0T0溢出中断溢出中断外部中断外部中断1 1T1T1溢出中断溢出中断串行口中断串行口中断 后后例例 设置设置IPIP寄存器的初始值,使寄存器的初始值,使2 2个外中断请求为高优先个外中断请求为高优先 级,其它中断请求为低优先级。级,其它中断请求为低优先级。(1 1)用位操作指令)用位操作指令 SETB PX0 SETB PX0 ;2 2个外中断为高优先级个外中断为高优先级 SETB PX1 SETB PX1 CLR P
20、S CLR PS ;串口为低优先级中断串口为低优先级中断CLR PT0 CLR PT0 ;2 2个定时器个定时器/ /计数器低优先级中断计数器低优先级中断CLR PT1CLR PT1(2 2)用字节操作指令用字节操作指令 MOV IPMOV IP,#05H#05H或:或:MOV 0B8HMOV 0B8H,#05H #05H ;B8HB8H为为IPIP寄存器的字节地址寄存器的字节地址5.5 5.5 响应中断请求的条件响应中断请求的条件 一个中断请求被响应,需满足以下必要条件一个中断请求被响应,需满足以下必要条件总允许位总允许位EA=1EA=1中断允许位中断允许位=1=1请求标志为请求标志为=1=
21、1 优先级优先级IEIE寄存器中的中寄存器中的中断总允许位断总允许位EA=1EA=1该中断源发出中该中断源发出中断请求,即该中断请求,即该中断源对应的中断断源对应的中断请求标志为请求标志为“1 1”该中断源的中断该中断源的中断允许位允许位=1=1,即该,即该中断没有被屏蔽中断没有被屏蔽 无同级或更高级无同级或更高级中断正在被服务中断正在被服务中断响应是有条件的,遇到中断响应是有条件的,遇到下列三种情况下列三种情况之一时,中断响应之一时,中断响应被封锁:被封锁: (1 1)CPUCPU正在处理同级的或更高优先级的中断正在处理同级的或更高优先级的中断。(2 2)所查询的机器周期所查询的机器周期不是
22、当前正在执行指令的最后一个机不是当前正在执行指令的最后一个机 器周期器周期。只有当前指令执行完后,才能进行中断响应。只有当前指令执行完后,才能进行中断响应。(3 3)正在执行的指令是正在执行的指令是RETIRETI或是访问或是访问IEIE或或IPIP的指令。并且的指令。并且需需 要再去执行完一条指令,才能响应新的中断请求。要再去执行完一条指令,才能响应新的中断请求。 如果存在上述三种情况之一,如果存在上述三种情况之一,CPUCPU将丢弃中断查询结果,将丢弃中断查询结果, 不能对中断进行响应。不能对中断进行响应。5.6 5.6 外部中断的响应时间外部中断的响应时间 外部中断的最短的响应时间为外部
23、中断的最短的响应时间为3 3个机器周期:个机器周期: (1 1)中断请求标志位查询占)中断请求标志位查询占1 1个机器周期个机器周期。 (2 2)子程序调用指令)子程序调用指令LCALLLCALL转到相应的中断服务程序转到相应的中断服务程序 入口,需入口,需2 2个机器周期个机器周期。 外部中断响应的最长的响应时间为外部中断响应的最长的响应时间为8 8个机器周期:个机器周期: (1 1)发生在发生在CPUCPU进行中断标志查询时,刚好是开始进行中断标志查询时,刚好是开始执行执行 RETI RETI或访问或访问IEIE或或IPIP的指令,需把当前指令执行完,的指令,需把当前指令执行完, 最长需最
24、长需2 2个机器周期个机器周期。 (2 2)需)需再执行一条指令,再执行一条指令,才能响应中断,才能响应中断,按最长指令按最长指令 (乘法(乘法或或除法指令除法指令)来算,有来算,有4 4个机器周期个机器周期。 (3 3)加上加上硬件子程序调用指令硬件子程序调用指令LCALLLCALL的执行,需要的执行,需要 2 2个机器周期个机器周期。 如果已在处理同级或更高级中断,响应时间无法计算。如果已在处理同级或更高级中断,响应时间无法计算。5.7 5.7 外部中断的触发方式选择外部中断的触发方式选择 两种触发方式:电平触发方式和跳沿触发方式两种触发方式:电平触发方式和跳沿触发方式5.7.1 5.7.
25、1 电平触发方式电平触发方式 CPUCPU在每个机器周期采样外部中断输入线的电平。在每个机器周期采样外部中断输入线的电平。 在中断服务程序返回之前,外部中断请求输入必须撤消,在中断服务程序返回之前,外部中断请求输入必须撤消,否则否则CPUCPU返回主程序后会重复响应中断。返回主程序后会重复响应中断。 适于外中断以低电平输入且中断服务程序能清除外部中断适于外中断以低电平输入且中断服务程序能清除外部中断 请求的情况。请求的情况。 5.7.2 5.7.2 跳沿触发方式跳沿触发方式 连续两次采样;连续两次采样; 一个机器周期采样到外部中断输入为高;下一个机一个机器周期采样到外部中断输入为高;下一个机器
26、周期采样到外部中断输入为低;则置器周期采样到外部中断输入为低;则置“1 1”中断请中断请求标志,直到求标志,直到CPUCPU响应此中断时,该标志才清响应此中断时,该标志才清0 0。 输入的负脉冲宽度至少保持输入的负脉冲宽度至少保持1 1个机器周期个机器周期。5.8 5.8 中断请求的撤消中断请求的撤消硬件自动撤消硬件自动撤消清清TF0TF0或或TF1TF1硬件自动撤消硬件自动撤消软硬件结合方软硬件结合方法撤销法撤销用软件撤消用软件撤消定时器定时器/计数器计数器外部跳外部跳沿方式沿方式外部电外部电平方式平方式串行口串行口电平电平方式外部中断请求的撤消方式外部中断请求的撤消 除了标志位清除了标志位
27、清“0 0”之外,还之外,还需在中断响应后把中断需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。请求信号引脚从低电平强制改变为高电平。 P1.0P1.0端端作应答线作应答线输出一个负脉冲就可以使输出一个负脉冲就可以使D D触发器触发器置置“1”“1”,从而撤消了低电平的中断请求信号。,从而撤消了低电平的中断请求信号。所需的负脉冲可增加如下两条指令得到:所需的负脉冲可增加如下两条指令得到: ANL P1 ANL P1,#0FEH#0FEH ;P1.0P1.0为为“0 0” ORL P1 ORL P1,#01H#01H ;P1.0P1.0为为“1 1” 电平方式的外部中断请求信号的完全撤
28、消,是通过软电平方式的外部中断请求信号的完全撤消,是通过软硬件相结合的方法来实现的。硬件相结合的方法来实现的。串行口中断请求串行口中断请求的撤消的撤消 响应串行口的中断后,响应串行口的中断后,CPUCPU无法知道是接收中断还是发无法知道是接收中断还是发送中断,送中断,还需测试这两个中断标志位的状态,还需测试这两个中断标志位的状态,以判定是接收以判定是接收操作还是发送操作。操作还是发送操作。 串行口中断请求的撤消串行口中断请求的撤消只能用软件清除:只能用软件清除: CLR TI CLR TI ;清清TITI标志位标志位 CLR RI CLR RI ;清清RIRI标志位标志位5.9 5.9 中断服
29、务程序的设计中断服务程序的设计一、初始化程序一、初始化程序 (1 1)设置中断允许控制寄存器)设置中断允许控制寄存器IEIE。 (2 2)设置中断优先级寄存器)设置中断优先级寄存器IPIP。 (3 3)对外中断源,设置电平触发还是跳沿触发。)对外中断源,设置电平触发还是跳沿触发。二、中断服务程序二、中断服务程序 编写中断服务程序,处理中断请求。编写中断服务程序,处理中断请求。例例 假设允许外部中断假设允许外部中断0 0中断,并设定它为高级中断,其它中断,并设定它为高级中断,其它 中断源屏蔽,采用跳沿触发方式。中断源屏蔽,采用跳沿触发方式。 在主程序中编写如下初始化程序段:在主程序中编写如下初始
30、化程序段: SETB EA SETB EA ;CPUCPU开中断开中断 SETB ET0 SETB ET0 ;允许外中断允许外中断0 0产生中断产生中断 SETB PX0 SETB PX0 ;外中断外中断0 0为高级中断为高级中断 SETB IT0 SETB IT0 ;外中断外中断0 0为跳沿触发方式为跳沿触发方式 常用的常用的主程序结构主程序结构如下:如下: ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG ORG (中断入口地址)(中断入口地址) LJMP INTLJMP INT ORG 0100HORG 0100H MAINMAIN: 主主 程程 序序
31、 INT INT: 中断服务程序中断服务程序三、采用中断时的主程序结构三、采用中断时的主程序结构四、中断服务程序的流程四、中断服务程序的流程INTINT:CLR EACLR EA;CPUCPU关中断关中断PUSH PSWPUSH PSW;现场保护现场保护PUSH ACCPUSH ACC; SETB EASETB EA;CPUCPU开中断开中断 ;(中断处理程序段)中断处理程序段) CLR EACLR EA;CPUCPU关中断关中断POP ACCPOP ACC;现场恢复现场恢复POP PSW POP PSW SETB EA SETB EA;CPUCPU开中断开中断RETIRETI;中断返回,恢复
32、断点中断返回,恢复断点例例 根据上图的中断服务程序流程,编出中断服务程序。假设,现场保根据上图的中断服务程序流程,编出中断服务程序。假设,现场保护只需将护只需将PSWPSW和和A A的内容压入堆栈中保护。的内容压入堆栈中保护。几点说明:几点说明:(1 1)现场保护仅涉及到)现场保护仅涉及到PSWPSW和和A A的内容,的内容,如还有其它需保护的如还有其它需保护的 内容,内容,只需要在相应位置加几条只需要在相应位置加几条PUSHPUSH和和POPPOP指令即可。指令即可。(2 2)“中断处理程序段中断处理程序段”,应根据任务的具体要求来编写。,应根据任务的具体要求来编写。(3 3)如果本中断服务
33、程序)如果本中断服务程序不允许被其它的中断所中断。不允许被其它的中断所中断。可将可将 “中断处理程序段中断处理程序段”前后的前后的“SETB EASETB EA”和和“CLR EACLR EA”两条两条指令去掉。指令去掉。(4 4)中断服务程序的)中断服务程序的最后一条指令最后一条指令必须是返回指令必须是返回指令RETIRETI。v 例:利用定时器例:利用定时器T0T0定时,在定时,在P1.0P1.0端输出一方波,方波周期为端输出一方波,方波周期为20ms20ms,v 已知晶振频率为已知晶振频率为12MHZ12MHZ。v ORGORG0000H0000H AJMP AJMPMAINMAIN O
34、RG ORGOOOBHOOOBH AJMP AJMPINTT0INTT0v v MAINMAIN:MOVMOVTMODTMOD,#01H#01HvMOVMOVTL0TL0,#0F0H#0F0HvMOVMOVTH0TH0,#0D8H#0D8HvMOVMOVIEIE,#82H#82H;CPUCPU开中断,开中断,T0T0开中断开中断vSETBSETBTR0TR0;启动;启动T0T0v HEREHERE:SJMPSJMPHEREHERE;循环等待;循环等待RETRETv INTT0INTT0:MOVMOVTL0TL0,#0F0H#0F0HvMOVMOVTH0TH0,#0D8H#0D8HvCPLCPL
35、P1.0P1.0vRETIRETIv本例的中断服务程序中没有关中断,也没有保本例的中断服务程序中没有关中断,也没有保护现场,因为只有一个中断源,且主程序中没护现场,因为只有一个中断源,且主程序中没有需要保护的内容;有需要保护的内容;v没有没有CLR TF0,因为进入中断服务程序后,硬,因为进入中断服务程序后,硬件可自动清件可自动清0。例:已知某例:已知某80518051单片机采用单片机采用6M6M晶振,现要求晶振,现要求P1.0P1.0输出一个输出一个5KHZ5KHZ的方波,同时对外部输入的脉冲信号进行计数,每当计的方波,同时对外部输入的脉冲信号进行计数,每当计满满200200时,使内部数据存
36、储单元时,使内部数据存储单元60H60H内容增内容增1 1,当增到,当增到100100时停时停止计数,并使止计数,并使P1.3P1.3输出高电平,定时器输出高电平,定时器T1T1被设置为串行口的被设置为串行口的波特率发生器。波特率发生器。分析:定时器分析:定时器T0T0设置为工作方式设置为工作方式3 3,利用,利用T0T0引脚作为外部脉冲引脚作为外部脉冲计数输入,用计数输入,用TL0TL0计数,把计数,把TL0TL0置初值置初值256-200=56=38H256-200=56=38H由由P1.0P1.0输出输出5KHZ5KHZ的方波,即每隔的方波,即每隔100us100us使使P1.0P1.0
37、的电平变化一的电平变化一次。用次。用TH0TH0作为作为8 8位定时,则初值为(位定时,则初值为(256-50=206=0CEH256-50=206=0CEH)ORGORG2000H2000HvAJMPAJMPMAINMAINvORGORG000BH000BHvAJMPAJMPINTTL0INTTL0vORGORG001BH001BHvAJMPAJMPINTTH0INTTH0v MAIN:MAIN:MOVMOVTL0TL0,#38H#38H;赋计数初值;赋计数初值vMOVMOVTH0TH0,#0CE#0CE;赋定时初值;赋定时初值vMOVMOVTL1TL1,#BAND#BAND;根据波特率要求
38、设定常数;根据波特率要求设定常数BANDBANDvMOVMOVTH1TH1,#BAND#BANDvMOVMOVTMODTMOD,#27H#27H;T1T1为方式为方式2 2定时,定时,T0T0为方式为方式3 3计数计数vMOVMOVTCONTCON,#55H#55H;T0T0、T1T1均置外中断边沿触发,均置外中断边沿触发,v ;启动;启动T0T0、T1T1工作工作 vMOVMOVIEIE,#9AH#9AH;开放;开放CPUCPU中断,开放串口、中断,开放串口、T0T0、T1T1中断中断vMOVMOV60H60H,#00#00;60H60H单元清单元清0 0HEREHERE:SJMPSJMPHEREHERE;循环等待;循环等待INTTLOINTTLO:MOVMOVTL0TL0,#38H#38H;重赋初值;重赋初值vINCINC60H60HvMOVMOVA A,60H60HvCJNECJNEA A,#100#100,LPLPvSETBSETBP1.3P1.3vCLRCLRA9HA9HvCLRCLRTR0TR0v LP:LP:RETIRETIv INTTH0:INTTH0:MOVMOVTH0,#0CEHTH0,#0CEH;重赋初值;重赋初值vCPLCPLP1.0P1.0vRETIRETI5.10 5.10 多外部中断源系统设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贯彻新发展理念+2025-2026学年高中政治统编版必修二
- 构建人类命运共同体+高中政治统编版选择性必修一
- 餐厅安全操作培训工作课件
- 餐厅培训模板图
- 餐厅员工岗位安全培训记录课件
- 餐厅卫生培训
- 顶管工程培训课件
- 除虫灭鼠创业培训课件
- 陈向忠期货培训课件
- 阿里入职培训课件
- 《2025-2026中国房地产市场报告》
- GA/T 751-2024公安视频图像屏幕显示信息叠加规范
- 个人护理健康知识与技巧
- 化工企业安全生产管理制度汇编范本
- 国家开放大学专本科《经济法学》期末纸质考试总题库2025春期版
- 2024年勤学之星个人事迹材料简介
- GB/T 2423.65-2024环境试验第2部分:试验方法试验:盐雾/温度/湿度/太阳辐射综合
- 人参培训课件
- 旅店突发事件预案
- 学习方法总结高效学习的技巧与方法
- 健康中国2030规划纲要考试题库含答案全套
评论
0/150
提交评论