中断定时计数器与串行通信.ppt
《中断定时计数器与串行通信.ppt》由会员分享,可在线阅读,更多相关《中断定时计数器与串行通信.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 中断、定时中断、定时/计数器与串行通计数器与串行通信信第一节第一节 中断系统中断系统第二节第二节 定时器定时器/计数器及应用计数器及应用第三节第三节 串行口通信系统串行口通信系统第四节第四节 I/O口的扩展技术口的扩展技术第一节第一节 中断系统中断系统一、中断功能的概述一、中断功能的概述所谓中断是指中央处理器所谓中断是指中央处理器CPU在处理某件事情的时候,外部在处理某件事情的时候,外部又发生了某一事件(如一个电平的变化,一个脉冲沿的发生,又发生了某一事件(如一个电平的变化,一个脉冲沿的发生,定时器计数溢出等)请求定时器计数溢出等)请求CPU迅速处理,于是,迅速处理,于是,CPU
2、暂时中暂时中断当前的工作,转入处理所发生的事情;中断服务处理完以断当前的工作,转入处理所发生的事情;中断服务处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断,如程称为中断,如图图4-1所示。实现这种功能的部件称为中断所示。实现这种功能的部件称为中断系统,产生中断的请求称为中断源。如果在进行中断处理的系统,产生中断的请求称为中断源。如果在进行中断处理的过程中,又有新的中断到来,则我们称这种情况为中断嵌套。过程中,又有新的中断到来,则我们称这种情况为中断嵌套。下一页返回第一节第一节 中断系统中断系统二、二、MCS-51单片机
3、的中断系统单片机的中断系统MCS-51单片机的中断系统是单片机的中断系统是8位单片机中功能较强的一种,位单片机中功能较强的一种,可以提供可以提供5个中断请求源(个中断请求源(表表4-1),具有两个中断优先级。),具有两个中断优先级。可实现两级中断服务程序嵌套。可实现两级中断服务程序嵌套。MCS-51的中断系统结构示的中断系统结构示意图如意图如图图4-2所示。所示。外中断是由外部原因引起的,共有两个中断源,即外部中断外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断和外部中断1.它们的中断请求信号分别由引脚它们的中断请求信号分别由引脚 (P3.2)和)和 (P3.3)引入。外部中断
4、请求有两种信)引入。外部中断请求有两种信号方式,即电平方式和脉冲方式。号方式,即电平方式和脉冲方式。上一页 下一页返回第一节第一节 中断系统中断系统定时中断是为满足定时或计数的需要而设置的。在单片机芯定时中断是为满足定时或计数的需要而设置的。在单片机芯片内部有两个定时器片内部有两个定时器/计数器,以对其中的计数结构进行计数计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当计数结构发生计数溢出的方法,来实现定时或计数功能。当计数结构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志
5、位,作为单片机接受号作为中断请求,去置位一个溢出标志位,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,中断请求的标志。这种中断请求是在单片机芯片内部发生的,依次无需在芯片上设置引入端。依次无需在芯片上设置引入端。串行中断是为串行数据传送的需要而设置的。每当串行口接串行中断是为串行数据传送的需要而设置的。每当串行口接收或发送完一组串行数据时就产生一个中断请求。因此串行收或发送完一组串行数据时就产生一个中断请求。因此串行中断请求也是在单片机芯片内部自动发生的,同样不需在芯中断请求也是在单片机芯片内部自动发生的,同样不需在芯片上设置引入端。片上设置引入端。上一页 下一页返回第一
6、节第一节 中断系统中断系统每一个中断源对应一个中断请求标志位,它们设置在特殊寄每一个中断源对应一个中断请求标志位,它们设置在特殊寄存器存器TCON和和SCON中。当这些中断源请求中断时,分别由中。当这些中断源请求中断时,分别由TCON和和SCON中相应位来锁存。中断的允许和禁止是由片中相应位来锁存。中断的允许和禁止是由片内的中断允许控制寄存器内的中断允许控制寄存器IE来控制的。来控制的。上一页 下一页返回第一节第一节 中断系统中断系统TF1:定时器定时器/计数器计数器1(T1)溢出中断请求标志位。)溢出中断请求标志位。TF0:定时器定时器/计数器计数器0(T0)溢出中断请求标志位。)溢出中断请
7、求标志位。IT1:外部中断:外部中断1触发方式选择位。触发方式选择位。IE1:外部中断:外部中断1中断请求标志位。中断请求标志位。IT0:外部中断外部中断0触发方式选择位。触发方式选择位。IE0:外部中断:外部中断0中断请求标志。中断请求标志。RI:串行口接收中断请求标志位。:串行口接收中断请求标志位。TI:串行口发送中断请求标志位。:串行口发送中断请求标志位。上一页 下一页返回第一节第一节 中断系统中断系统EA:中断总允许位。:中断总允许位。EA=0,CPU禁止所有中断,屏蔽所有禁止所有中断,屏蔽所有的中断请求;的中断请求;EA=1,CPU开放中断。但每个中断源的中断开放中断。但每个中断源的
8、中断请求允许还是禁止分别由各自的允许位确定。请求允许还是禁止分别由各自的允许位确定。ET2:定时器:定时器2中断允许位。中断允许位。ET2=0,禁止定时器,禁止定时器2中断;中断;ET2=1,允许定时器,允许定时器2中断。中断。ES:串行口中断允许位。:串行口中断允许位。ES=0,禁止串行口中断;,禁止串行口中断;ES=1,允许串行口中断。允许串行口中断。上一页 下一页返回第一节第一节 中断系统中断系统ET1:定时器定时器1中断允许位。中断允许位。ET1=0,禁止定时器,禁止定时器1中断;中断;ET1=1,允许定时器,允许定时器1中断;中断;EX1:外部中断:外部中断1中断允许位。中断允许位。
9、EX1=0,禁止外部中断,禁止外部中断1中中断;断;EX1=1,允许外部中断,允许外部中断1中断。中断。ET0:定时器:定时器0中断允许位。中断允许位。ET0=0,禁止定时器,禁止定时器0中断;中断;ET0=1,允许定时器,允许定时器0中断。中断。EX0:外部中断:外部中断0中断允许位。中断允许位。EX0=0,禁止外部中断,禁止外部中断0中中断;断;EX0=01,允许外部中断,允许外部中断0中断。中断。上一页 下一页返回第一节第一节 中断系统中断系统MCS-51有两个中断允许优先级,对于每一个中断请求源可有两个中断允许优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断,可实现二级中
10、断嵌套,编程为高优先级中断或低优先级中断,可实现二级中断嵌套,一个正在执行的低优先级中断程序能被高优先级的中断源所一个正在执行的低优先级中断程序能被高优先级的中断源所中断,但不能被另一个低优先级的中断源所中断。若中断,但不能被另一个低优先级的中断源所中断。若CPU正正在执行高优先级的中断,则不能被任何中断源所中断,一直在执行高优先级的中断,则不能被任何中断源所中断,一直执行到结束,直到返回指令执行到结束,直到返回指令RETI,返回主程序后再执行一条,返回主程序后再执行一条指令后才能响应新的中断请求。以上所述可以归纳为下面两指令后才能响应新的中断请求。以上所述可以归纳为下面两条基本规则:条基本规
11、则:1)低优先级可被高优先级中断,反之不能;)低优先级可被高优先级中断,反之不能;2)任何一种中断,一旦得到响应,不会再被它的同级中断所)任何一种中断,一旦得到响应,不会再被它的同级中断所中断。中断。上一页 下一页返回第一节第一节 中断系统中断系统PT2:定时器:定时器2中断优先级设定位。中断优先级设定位。PT2=1,定时器,定时器2定义定义为高优先级中断源;为高优先级中断源;PT2=0,定时器,定时器2定义为低优先级中定义为低优先级中断源。断源。PS:串行口中断优先级设定位。:串行口中断优先级设定位。PS=1,串行口定义为高优,串行口定义为高优先级中断源;先级中断源;PS=0,串行口定义为低
12、优先级中断源;,串行口定义为低优先级中断源;PT1:定时:定时/计数器计数器1中断优先级设定位。中断优先级设定位。PT1=1,定时,定时/计计数器数器1定义为高优先级中断源;定义为高优先级中断源;PT1=0,定时,定时/计数器计数器1定定义为低优先级中断源;义为低优先级中断源;上一页 下一页返回第一节第一节 中断系统中断系统PX1:外部中断:外部中断1中断优先级设定位。中断优先级设定位。PX1=1,外部中断,外部中断1定义为高优先级中断源;定义为高优先级中断源;PX1=0,外部中断,外部中断1定义为低优定义为低优先级中断源。先级中断源。PT0:定时:定时/计数器计数器0中断优先级设定位。中断优
13、先级设定位。PT0=1,定时,定时/计计数器数器0定义为高优先级中断源;定义为高优先级中断源;PT0=0,定时,定时/计数器计数器0定定义为低优先级中断源。义为低优先级中断源。PX0:外部中断:外部中断0中断优先级设定位。中断优先级设定位。PX0=1,外部中断,外部中断0定义为高优先级中断源;定义为高优先级中断源;PX0=0,外部中断,外部中断0定义为低优先定义为低优先级中断源;级中断源;上一页 下一页返回第一节第一节 中断系统中断系统计算机中断处理过程可分为三个阶段:中断响应、中断处理计算机中断处理过程可分为三个阶段:中断响应、中断处理和中断返回。各计算机系统的中断硬件系统各有不同,中断和中
14、断返回。各计算机系统的中断硬件系统各有不同,中断的响应和方式也有所不同。对于的响应和方式也有所不同。对于MCS-51单片机,中断处理单片机,中断处理过程如下:过程如下:1.中断响应的条件中断响应的条件中断源向中断源向CPU发出中断请求,发出中断请求,CPU响应中断应满足下列条件:响应中断应满足下列条件:(1)有中断源发出中断请求;)有中断源发出中断请求;(2)中断总允许位)中断总允许位EA=1,即,即CPU开放中断;开放中断;(3)申请中断的中断源的中断允许位为)申请中断的中断源的中断允许位为1,即没有被屏蔽。,即没有被屏蔽。上一页 下一页返回第一节第一节 中断系统中断系统2.中断响应中断响应
15、如果中断响应条件满足,则如果中断响应条件满足,则CPU响应中断,在响应中断的三响应中断,在响应中断的三个周期内个周期内CPU必须做以下几件事:必须做以下几件事:(1)关闭中断:)关闭中断:CPU首先使被响应中断的相应首先使被响应中断的相应“优先级激优先级激活活”触发器置位,以阻断同级和低级的中断。触发器置位,以阻断同级和低级的中断。(2)断点保护:把中断点的地址(断点地址),也就是当前)断点保护:把中断点的地址(断点地址),也就是当前程序计数器程序计数器PC中内容压入堆栈,以便中断返回时继续原程序。中内容压入堆栈,以便中断返回时继续原程序。(3)清楚相应的中断请求标志位)清楚相应的中断请求标志
16、位IE0、IE1、TF0、TF1。(4)将对应的中断源的矢量地址装入计数器)将对应的中断源的矢量地址装入计数器PC,使程序转,使程序转至中断服务程序的入口地址。至中断服务程序的入口地址。上一页 下一页返回第一节第一节 中断系统中断系统3.中断处理中断处理在中断服务程序中,在中断服务程序中,CPU完成指定的任务。从中断服务程序完成指定的任务。从中断服务程序的第一条指令到返回指令为止,这个过程称中断处理或中断的第一条指令到返回指令为止,这个过程称中断处理或中断服务。服务。4.中断返回中断返回中断服务程序的最后一条指令必须是中断返回指令中断服务程序的最后一条指令必须是中断返回指令RETI。CPU执行
17、这条指令时,把响应中断时置位的优先级触发器复执行这条指令时,把响应中断时置位的优先级触发器复位,再从堆栈中弹出断点地址送入程序位,再从堆栈中弹出断点地址送入程序PC,以便从断点处重,以便从断点处重新执行被中断的主程序。新执行被中断的主程序。上一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用一、定时器功能概述一、定时器功能概述在工业检测、控制中,许多场合都要用到计数或定时功能。在工业检测、控制中,许多场合都要用到计数或定时功能。例如,对外部脉冲进行计数、产生精确的定时时间、作串行例如,对外部脉冲进行计数、产生精确的定时时间、作串行口的波特率发生器。口的波特率发生器。MCS-51单片机
18、内有两个可编程的定时单片机内有两个可编程的定时器器/计数器,以满足这方面的需要。它们具有两种工作模式及计数器,以满足这方面的需要。它们具有两种工作模式及四种工作方式,其控制字均在相应的特殊功能寄存器中,通四种工作方式,其控制字均在相应的特殊功能寄存器中,通过对它的特殊功能寄存器的编程,用户可方便地选择适当的过对它的特殊功能寄存器的编程,用户可方便地选择适当的工作模式和工作方式。作为基本组成内容,工作模式和工作方式。作为基本组成内容,MCS-51单片机单片机共有两个可编程的定时器共有两个可编程的定时器/计数器,分别称定时器计数器,分别称定时器/计数器计数器0和和定时器定时器/计数器计数器1.它们
19、都是十六位加法计数结构,分别由它们都是十六位加法计数结构,分别由TH0和和TL0及及TH1和和TL1两个两个8位计数器组成。位计数器组成。下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用二、定时器二、定时器/计数器的控制寄存器计数器的控制寄存器MCS-51单片机内部的定时器单片机内部的定时器/计数器的结构如图计数器的结构如图4-3所示,所示,定时器定时器T0由特殊功能寄存器由特殊功能寄存器TL0(低(低8位)和位)和TH0(高(高8位)位)构成,定时器构成,定时器T1由特殊功能寄存器由特殊功能寄存器TL1(低(低8位)和位)和TH1(高(高8位)构成。特殊功能能寄存器位)构成。特
20、殊功能能寄存器TMOD用于控制定时寄用于控制定时寄存器的工作方式,存器的工作方式,TCON用于控制定时器用于控制定时器T0和和T1的启动和的启动和停止计数,停止计数,TCOM还用于管理定时器还用于管理定时器T0和和T1的溢出标志等。的溢出标志等。程序开始时需对程序开始时需对TL0、TH0、TL1和和TH1进行初始化编程,进行初始化编程,以定义它们的工作方式和控制以定义它们的工作方式和控制T0和和T1的计数器。的计数器。TMOD和和TCON这两个特殊功能寄存器的格式如下。这两个特殊功能寄存器的格式如下。上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用定时器定时器/计数器的工
21、作方式控制字计数器的工作方式控制字TMOD,字节地址为,字节地址为89H;1.GATE门控位门控位GATE=0 以运行控制位以运行控制位TR0(TR1)启动定时器;)启动定时器;GATE=1 以外部中断请求信号(以外部中断请求信号(INT0和和INT1)启动定)启动定时器。时器。上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用2.C/T定时方式或计数方式选择位定时方式或计数方式选择位C/T=0 定时工作方式;定时工作方式;C/T=1 记数工作方式。记数工作方式。3.M1M0工作方式选择工作方式选择M1M0=00 方式方式0;M1M0=01 方式方式1;M1M0=10 方式
22、方式2;M1M0=11 方式方式3;定时器控制寄存器定时器控制寄存器TCON,字节地址为,字节地址为88H,位地址为,位地址为88H8FH:上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用4.TF0(TF1)计数溢出标志计数溢出标志当计数器计数溢出时,该位置当计数器计数溢出时,该位置1.使用查询方式时,此位作状使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位态位供查询,但应注意查询有效后应以软件方法及时将该位清清0;使用中断方式时,此位作中断标志位,在转向中断服务;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清程序时由硬件自
23、动清0.5.TR0(TR1)定时器运行控制位定时器运行控制位TF0(TF1)=0 停止定时器停止定时器/计数器工作;计数器工作;TF0(TF1)=0 启动定时器启动定时器/计数器工作;计数器工作;上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用三、工作方式三、工作方式通常,通常,MCS-51单片机有四种工作方式,如下:单片机有四种工作方式,如下:1.工作方式工作方式0定时器定时器/计数器计数器0(1)的工作方式是)的工作方式是13位计数结构的工作方位计数结构的工作方式,其计数器由式,其计数器由TH的全部的全部8位和位和TL的低的低5位构成,位构成,TL的高的高3位没有使用
24、。当位没有使用。当 时,多路开关接通振荡脉冲的时,多路开关接通振荡脉冲的12分频输出,分频输出,13位计数器依次进行计数,这就是定时工作方式;位计数器依次进行计数,这就是定时工作方式;当当 时,多路开关接通计数引脚(时,多路开关接通计数引脚(T0),外部计数),外部计数脉冲由引脚脉冲由引脚T0输入,当计数脉冲发生负跳变时,计数器加输入,当计数脉冲发生负跳变时,计数器加1,这就是我们常称的计数工作方式。,这就是我们常称的计数工作方式。上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用在工作方式在工作方式0下,计数器的计数范围是:下,计数器的计数范围是:18192(213)当为
25、定时工作方式时,定时时间的计算公式为:当为定时工作方式时,定时时间的计算公式为:(213-计数初值)计数初值)晶振周期晶振周期12或(或(213-计数初值)计数初值)机器周期,机器周期,其时间单位与晶振周期或机器周期相同。其时间单位与晶振周期或机器周期相同。上一页 下一页返回第二节第二节 定时器定时器/计数器及应用计数器及应用2.工作方式工作方式1当当M1M0=01时,定时器时,定时器/计数器处于工作方式计数器处于工作方式1,方式,方式0和和方式方式1的区别仅在于计数器的位数不同,方式的区别仅在于计数器的位数不同,方式0为为13位,而位,而方式方式1则为则为16位,由位,由TH0作为高作为高8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 定时 计数器 串行 通信
限制150内