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

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

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

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

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

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

中断的基本概念80C51中断源中断控制寄存器中断处理过程中断优先控制和中断嵌套中断系统的应用80C51定时/计数器定时/计数器控制寄存器定时/计数器工作方式定时/计数器的应用§5-180C51中断系统①中断源②中断申请③开放中断④保护现场⑤中断服务⑥恢复现场⑦中断返回CPU在每个机器周期的S5P2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。⑴INT0:外部中断0,中断请求信号由P3.2输入。⑵INT1:外部中断1,中断请求信号由P3.3输入。⑶T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。⑷T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。⑸串行中断:包括串行接收中断RI和串行发送中断TI。①中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON;②中断允许控制寄存器IE;③中断优先级控制寄存器IP。INT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。TCON位功能:①TF1——T1溢出中断请求标志T1计数溢出后,TF1=1②TF0——T0溢出中断请求标志T0计数溢出后,TF0=1TF0/TF1:定时器溢出中断申请标志位:=0:定时器未溢出;=1:定时器溢出申请中断,进中断后自动清零。③IE1——外中断中断请求标志当P3.3引脚信号有效时,IE1=1④IE0——外中断中断请求标志当P3.2引脚信号有效时,IE0=1IE0/IE1:外部中断申请标志位:=0:没有外部中断申请;=1:有外部中断申请。⑤IT1——外中断触发方式控制位IT1=1,边沿触发方式;IT1=0,电平触发方式。⑥IT0——外中断触发方式控制位其意义和功能与IT1相似。串行控制寄存器SCON80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。①EA——CPU中断允许控制位(总开关)EA=1,CPU开中;EA=0,CPU关中,且屏蔽所有5个中断源。②EX0——外中断INT0中断允许控制位EX0=1,INT0开中;EX0=0,INT0关中。③EX1——外中断INT1中断允许控制位EX1=1,INT1开中;EX1=0,INT1关中。④ET0——定时/计数器T0中断允许控制位ET0=1,T0开中;ET0=0,T0关中。⑤ET1——定时/计数器T1中断允许控制位ET1=1,T1开中;ET1=0,T1关中。⑥ES——串行口中断(包括串发、串收)允许控制位ES=1,串行口开中;ES=0,串行口关中。例如:要使INT0开中(其余关中),可执行下列指令:MOVIE,#1000000lB;或者:SETBEA;SETBEX0;①PX0:INT0中断优先级控制位。PX0=1,为高优先级;PX0=0,为低优先级;②PX1:INT1中断优先级控制位。控制方法同上。③PT0:T0中断优先级控制位。控制方法同上。④PT1:T1中断优先级控制位。控制方法同上。⑤PS:串行口中断优先级控制位。控制方法同上。例如:若要将INT1、串行口设置为高优先级,其余中断源设置为低优先级,可执行下列指令:MOVIP,#00010100B;需要指出的是,若置5个中断源全部为高优先级,就等于不分优先级。5.1.3中断处理过程中断处理过程大致可分为四步:中断请求、中断响应、中断服务、中断返回⒈中断请求中断源发出中断请求信号,相应的中断请求标志位(在中断允许控制寄存器IE中)置“1”。⒉中断响应CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。⑴中断响应条件:①该中断已经“开中”;②CPU此时没有响应同级或更高级的中断;③当前正处于所执行指令的最后一个机器周期;④正在执行的指令不是RETI或者是访向IE、IP的指令,否则必须再另外执行一条指令后才能响应。⑵中断响应操作CPU响应中断后,进行下列操作:①保护断点地址;②撤除该中断源的中断请求标志;③关闭同级中断;④将相应中断的入口地址送入PC;80C51五个中断入口地址:INT0:0003H;T0:000BH;INT1:0013H;T1:001BH;串行口:0023H⒊执行中断服务程序中断服务程序应包含以下几部分:⑴保护现场⑵执行中断服务程序主体,完成相应操作⑶恢复现场⒋中断返回在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作:⑴恢复断点地址。⑵开放同级中断,以便允许同级中断源请求中断。例:5.1.6中断优先控制和中断嵌套⒈中断优先控制80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、T0、INT1、T1、串行口。中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。80C51中断优先控制