预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共109页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章单片机的中断与定时系统6.1MCS-51单片机中断系统MCS-51单片机的中断系统结构 1.实时控制 利用中断技术,各被控对象可根据需要随时向CPU发出中断申请,CPU根据情况及时处理,实现实时控制的需要。6.1.2中断源与中断优先级引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。中断优先级控制原则是: ①当多个中断源同时申请中断时,CPU首先响应优先级最高的中断请求,在优先级最高的中断处理完以后,再响应级别较低的中断。 ②当CPU正在处理中断时,若出现更高级的中断请求,CPU暂停正进行的中断处理程序,转去处理更高优先级的中断处理,处理完毕后再回到原中断程序。这种现象称中断嵌套。 ③当CPU正在处理中断时,较低级别的或同级的中断服务被禁止。 ④当同级的多个中断请求同时出现时,则按CPU查询次序确定那个中断请求被响应。 查询次序为: 外部中断0→定时中断0→外部中断1→定时中断1→串行中断6.1.3中断控制图6-2MCS-51单片机中断系统1、INT0(P3.2)。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。2、INT1(P3.3)。可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。中断源请求标志与请求方式控制TCON的中断标志各位含义下: (1)IE0、IE1为外中断请求标志位。 当CPU检测到外部引脚INT0(INT1)端存在有效的中断请求信号时,由硬件自动使IT0(IE1)置1。当CPU响应中断请求后,再由硬件自动将之清零。 (2)IT0和IT1为外中断请求信号方式控制位。 当IT0(IT1)=0时,为电平触发方式,低电平有效。 当IT0(IT1)=1时,为脉冲触发方式,后沿负跳有效。 这两位由用户用根据需要用软件编程写入“1”或“0”,进而控制外中断请求信号方式。可以使用字节操指令,也可用位操作指令: CLRIT0;定义外中断0为电平触发方式。 ORLTCON,#05H;定义两外中断均为脉冲触发方式 (3)TF0、TF1为计数溢出标志位。2.串行控制寄存器(SCON) 该寄存器地址98H,位地址9FH~98H。各位名称如下:SCON的中断标志3.中断允许控制寄存器(IE) CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。各位含义如下: (1)EA为中断允许总控制位。 当EA=0时,中断总禁止,屏蔽所有中断请求; 当EA=1时,中断总允许,CPU开放中断,对各中断的中断申请是否允许,还要取决于各中断源的中断允许控制状态。 (2)EX0和EX1为外部中断允许控制位。 当EX0(EX1)=0时,禁止外中断0(外中断0); 当EX0(EX1)=1时,允许外中断0(外中断1)。 (3)ET0和ET1为定时/计数中断允许控制位。 当ET0(ET1)=0时,禁止定时/计数中断; 当ET0(ET1)=1时,允许定时/计数中断。 (4)ES――串行中断允许控制位。 当ES=0时,禁止串行中断; 当ES=1时,允许串行中断。4.中断优先级控制寄存器(IP) 80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:80C51单片机的中断优先级有三条原则:用户在使用中断时需要先通过设置以上寄存器以确定:中断方式、中断总允许、中断分允许、优先级等级,称中断初始化。如我们要使用外部中断0,则需要做以下工作: SETBIT0(CLRIT0);设外中断0为脉冲 (电平)触发方式 SETBPX0;设外中断0为高优先级 SETBEA;开中断总允许 SETBEX0;开外中断06.1.4中断响应2.