第六章 单片机的中断与 定时系统
第六章 单片机的中断与 定时系统
6.1中断的基本概念 单片机在某一时刻只能处理一个任务,当多个任务同时要 求单片机处理时,这一要求应该怎么实现呢?通过中断可以实 现多个任务的资源共享 所谓的中断就是,当CPU正在处理某项事务的时候,如果 外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而 去处理这个紧急事件,待处理完后,再回到原来中断的地方, 继续执行原来被中断的程序,这个过程称作中断 从中断的定义我们可以看到中断应具备中断源、中断响应 中断返回这样三个要素。中断源发出中断请求,单片机对中断 请求进行响应,当中断响应完成后应进行中断返回,返回被中 断的地方继续执行原来被中断的程序
6.1 中断的基本概念 单片机在某一时刻只能处理一个任务,当多个任务同时要 求单片机处理时,这一要求应该怎么实现呢?通过中断可以实 现多个任务的资源共享。 所谓的中断就是,当CPU正在处理某项事务的时候,如果 外界或者内部发生了紧急事件,要求CPU暂停正在处理工作而 去处理这个紧急事件,待处理完后,再回到原来中断的地方, 继续执行原来被中断的程序,这个过程称作中断。 从中断的定义我们可以看到中断应具备中断源、中断响应、 中断返回这样三个要素。中断源发出中断请求,单片机对中断 请求进行响应,当中断响应完成后应进行中断返回,返回被中 断的地方继续执行原来被中断的程序
6.2.1MCS51单片机的中断源 1.外部中断源 外部中断0(INT):来自P32引脚,采集到低电平或者下降 沿时,产生中断请求 外部中断1(INT):来自P3引脚,采集到低电平或者下降 沿时,产生中断请求。 2.内部中断源 定时器计数器0(T):定时功能时,计数脉冲来自片内; 计数功能时,计数脉冲来自片外P34引脚。发生溢出时,产生中 断请求 定时器计数器1(T1):定时功能时,计数脉冲来自片内 计数功能时,计数脉冲来自片外P35引脚。发生溢出时,产生中 断请求 串行口:为完成串行数据传送而设置。单片机完成接受或发 送一组数据时,产生中断请求
6.2.1 MCS-51单片机的中断源 1. 外部中断源 外部中断0( P3.2 P3.3 ):来自 引脚,采集到低电平或者下降 沿时,产生中断请求。 外部中断1( 0 INT ):来自 引脚,采集到低电平或者下降 沿时,产生中断请求。 1 INT 2. 内部中断源 定时器∕计数器0( T0 ):定 时功能时,计数 脉冲来自片内; 计数功能时,计数脉冲来自片外 P3.4 引脚。发生溢出时,产生中 定时器∕计数器1( T1 ):定时功能 时,计数 脉 冲来自片内; 计数功能时,计数脉冲来自片外 P3.5 引脚。发生溢出时,产生中 串行口:为完成串行数据传送而设置。单片机完成接受或发 送 一组数据时,产生中断请求。 断请求。 断请求
6.2.2中断控制的专用寄存器 1.定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进行 字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H 8FH。寄存器的内容及位地址表示如下 位地址8FH8EH8DH8CH8BH|8AH|89H88H 位符号TF1TR1 TFoTR0正E1T1 IEoITo IT和IT1——外部中断请求触发方式控制位 Io(IT1)=1脉冲触发方式,下降沿有效 (IT1)=0电平触发方式,低电平有效
6.2.2 中断控制的专用寄存器 1. 定时器控制寄存器(TCON) 该寄存器用于保存外部中断请求以及定时器的计数溢出。进行 字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H ~8FH。寄存器的内容及位地址表示如下: 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 ⚫ IT0 和IT1——外部中断请求触发方式控制位 IT0 (IT1)=1 脉冲触发方式,下降沿有效 IT0 (IT1)=0 电平触发方式,低电平有效
IE和IE1外中断请求标志位 当CPU采样到ⅠNT(或INT)端出现有效中断请求时,IE0 (IE1)位由硬件置“1”。当中断响应完成转向中断服务程序 时,由硬件把IE0(或1)清零。 ●TR。和TR1定时器运行控制位 TR(TR1)=0定时器/计数器不工作 TR(TR1)=1定时器/计数器开始工作 TF0和TF1计数溢出标志位 当计数器产生计数溢出时,相应的溢出标志位由硬件置“1。 当转向中断服务时,再由硬件自动清“0°。计数溢出标志位 的使用有两种情况:采用中断方式时,作中断请求标志位 来使用;采用查询方式时,作查询状态位来使用
⚫ IE0和IE1——外中断请求标志位 当CPU采样到 0 INT (或 1 INT )端出现有效中断请求时,IE0 (IE1)位由硬件置“1”。当中断响应完成转向中断服务程序 时,由硬件把IE0(或IE1)清零。 ⚫ TR0 和TR1——定时器运行控制位 TR0 (TR1 )=0 定时器/计数器不工作 TR0 (TR1 )=1 定时器/计数器开始工作 ⚫ TF0和TF1——计数溢出标志位 当计数器产生计数溢出时,相应的溢出标志位由硬件置“1” 。 当转向中断服务时,再由硬件自动清“0”。计数溢出标志位 的使用有两种情况:采用中断方式时,作中断请求标志位 来使用;采用查询方式时,作查询状态位来使用