单片机技术课件5章中断与定时
时间:2025-04-23
时间:2025-04-23
第五章 单片机的中断与 定时系统
5.1
中断的基本概念
单片机在某一时刻只能处理一个任务,当多个任务同时要 求单片机处理时,这一要求应该怎么实现呢?通过中断可以实 现多个任务的资源共享。 所谓的中断就是,当CPU正在处理某项事务的时候,如果 外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而 去处理这个紧急事件,待处理完后,再回到原来中断的地方, 继续执行原来被中断的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、 中断返回这样三个要素。中断源发出中断请求,单片机对中断 请求进行响应,当中断响应完成后应进行中断返回,返回被中 断的地方继续执行原来被中断的程序。
5.2.1 MCS-51单片机的中断源外部中断源 外部中断0(INT ):来自P3.2引脚,采集到低电平或者下降 0 沿时,产生中断请求。 外部中断1( INT ):来自P3.3引脚,采集到低电平或者下降 1 沿时,产生中断请求。 2. 内部中断源 定时器 计数器0( T0):定 时功能时,计数 脉冲来自片内; 计数功能时,计数脉冲来自片外 P3.4 引脚。发生溢出时,产生中 断请求。 定时器 计数器1( T):定时功能 时,计数 脉 冲来自片内; 1 计数功能时,计数脉冲来自片外 P3.5引脚。发生溢出时,产生中 断请求 串行口:为完成串行数据传送而设置。单片机完成接受或发 送 一组数据时,产生中断请求。
1.
5.2.2 中断控制的专用寄存器1. 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进行 字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H ~8FH。寄存器的内容及位地址表示如下:
位地址 位符号
8FH TF1
8EH TR1
8DH 8CH 8BH TF0 TR0 IE1
8AH IT1
89H IE0
88H IT0
IT0 和IT1——外部中断请求触发方式控制位 IT0 (IT1)=1 脉冲触发方式,下降沿有效 IT0 (IT1)=0 电平触发方式,低电平有效
IE0和IE1——外中断请求标志位 当CPU采样到 INT (或 INT )端出现有效中断请求时,IE0 0 1 (IE1)位由硬件置“1”。当中断响应完成转向中断服务程序 时,由硬件把IE0(或IE1)清零。 TR0 和TR1——定时器运行控制位 TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作 TF0和TF1——计数溢出标志位 当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。 当转向中断服务时,再由硬件自动清“0”。计数溢出标志位 的使用有两种情况:采用中断方式时,作中断请求标志位 来使用;采用查询方式时,作查询状态位来使用。
2. 串行口控制寄存器(SCON) 进行字节操作时,寄存器地址为98H
。按位操作时,各位的地 址为98H~9FH。寄存器的内容及位地址表示如下: 位地址 位符号 9FH 9EH 9DH 9CH 9BH 9AH 99H SM0 SM1 SM2 REN TB8 RB8 TI 98H RI
其中与中断有关的控制位共2位: TI——串行口发送中断请求标志位 当发送完一帧串行数据后,由硬件置“1”;在转向中断服务 程序 后,用软件清“0”。 RI——串行口接收中断请求标志位 当接收完一帧串行数据后,由硬件置“1”;在转向中断服务 程序后,用软件清“0”。串行中断请求由TI和RI的逻辑或得 到。
3. 中断允许控制寄存器(IE) 进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地 址为0A8H~0AFH。寄存器的内容及位地址表示如下: 0AC H ES
位地 址 位符 号
0AFH EA
0AEH 0ADH / /
0ABH 0AAH 0A9H 0A8H ET1 EX1 ET0 EX0
其中与中断有关的控制位共6位: EA——中断允许总控制位 EA=0 中断总禁止,禁止所有中断 EA=1 中断总允许,总允许后中断的禁止或允许由各中断 源的中断允许控制位进行设置。 EX0和EX1——外部中断允许控制位 EX0(EX1)=0 禁止外部中断 EX0(EX1)=1 允许外部中断 ET0和ET1——定时器/计数器中断允许控制位 ET0(ET1)=0 禁止定时器/计数器中断 ET0(ET1)=0 允许定时器/计数器中断 ES——串行中断允许控制位 ES=0 禁止串行中断 ES=1 允许串行中断
4. 中断优先级控制寄存器(IP) IP寄存器地址0B8H,位地址为0BFH~0B8H。寄存器的内容 及位地址表示如下: 位地 址 位符 号 0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H 0B8H / / / PS PT1 PX1 PT0 PX0
其中: PX0——外部中断0优先级设定位; PT0——定时中断0优先级设定位; PX1——外部中断1优先级设定位; PT1——定时中断1优先级设定位; PS——串行中断优先级设定位。 以上各位设置为“0”时,则相应的中断源为低优先级;设置为 “1”时,则相应的中断源为高优先级。
优先级的控制原则是: 低优先级中断请求不能打断高优先级的中断服务;但 高优先级 中断请求可以打断低优先级的中断服务,从而实现中断嵌套。 如果一个中断请求已被响应,则同级的其它中断服务将被禁止。 即同级不能嵌套。 如果同级的多个中断同时出现,则按CPU查询次序确定哪个中 断请求被响应。其查询次序为:外部中断0→定时中断→外部中 断→定时中断→串行中断。
上述四个专用寄存器的用途可以用图6.1说明。优先级 查询电路
INT0
IE0 源允许 EX0 总允许 IP 高优先级 中断请求
TF0
ET0 源码 EX1 中断程序 入口
INT1
IE1
ET1 ES
TF 1TI RI
EA
低优先级 中断请求
源码
中断程序 入口
图5.1 MCS-51中断系统
5.2.3 中断初始化与中断控制寄存器 …… 此处隐藏:1584字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:GPS的无线旅游导览系统