中断及定时器_第1页
中断及定时器_第2页
中断及定时器_第3页
中断及定时器_第4页
中断及定时器_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 定时与中断定时与中断v 中断概念中断概念v 单片机中断的应用单片机中断的应用v 单片机的定时器应用单片机的定时器应用中断与定时器中断与定时器单片机的中断系统一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断产生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一过程称为中断。MCS-51单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回引起CPU中断的根源叫做中断源。中断源向CPU的请求,叫做中断请求。CUP暂

2、时中断原来的事件A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:v 分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;v 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;v 可靠性高。CPU具有处理设备故障及掉电等突发性事件能力。从而使系统的可靠性提高。8051中断系统的结构 8051的中断系统有5个中断源,2个优先级,可实现二级中断嵌套。v当中断源满足条件产生

3、中断请求时,中断请求标记志位会置当中断源满足条件产生中断请求时,中断请求标记志位会置1。向。向CPU申请中断。申请中断。vCPU响应中断时,响应中断时,TCON的中断请求标记位由硬件自动清除的中断请求标记位由硬件自动清除; SCON则须为软件清零。则须为软件清零。中断源与标记位关系中断源与标记位关系8051中断系统的结构图中断系统的结构图IT0外部中断0(INT0)触发方式选择位,由软件设置。1、低电平触发方式,INT0(P3.2)引脚上低电平可引起中断。2、下降沿触发方式,INT0(P3.2)引脚上电平由高变低负跳变可引起中断。中断允许控制位在中断允许控制位在IE特殊功能寄存器上的分布特殊功

4、能寄存器上的分布EA EA 中断使能,相当于控制所有中断的中断使能,相当于控制所有中断的 “总开关总开关”- - 保留保留ES ES 串行口中断使能串行口中断使能ET1 T1ET1 T1中断使能中断使能EX1 EX1 外部中断外部中断1 1使能使能ET0 T0ET0 T0中断使能中断使能EX0 EX0 外部中断外部中断0 0使能使能中断优先级控制位在中断优先级控制位在IP特殊功能寄存器上的分布特殊功能寄存器上的分布 默认优先级默认优先级PX0 PX0 外部中断外部中断0 0优先优先 高高PT0 T0PT0 T0中断优先中断优先PX1 PX1 外部中断外部中断1 1优先优先PT1 T1PT1 T

5、1中断优先中断优先PS PS 串行口中断优先串行口中断优先 低低- - 保留保留#include unsigned char a;sbit key=P34;void main()key=0;EA=1;EX0=1;IT0=0;a=0 xf0; /11110000while(1)P1=a;void ext0() interrupt 0 a=0 x0f;v在在8051单片机中有两个定时器单片机中有两个定时器/计数器计数器,分别称为分别称为定时器定时器/计数器计数器0和和定时器定时器/计数器计数器1。下面采用:下面采用:T/C0:表示定时器表示定时器/计数器计数器0T/C1:表示定时器表示定时器/计数

6、器计数器1T0:表示定时器表示定时器0T1:表示定时器表示定时器1C0:表示计数器表示计数器0C1:表示计数器表示计数器1v如果是对内部振荡源如果是对内部振荡源12分频的脉冲信号进行计数(即对每个机器分频的脉冲信号进行计数(即对每个机器周期计数),它是周期计数),它是定时器(定时器(T0,T1)。v如果是对单片机引脚如果是对单片机引脚T0(P3.4)或)或T1(P3.5)输入的外部脉冲信号输入的外部脉冲信号进行计数,则它是进行计数,则它是计数器计数器(C0,C1)。定时器定时器/计数器的概念计数器的概念定时定时/ /计数器计数器(T/C)(T/C)的结构图的结构图 一、定时一、定时/计数器的结

7、构计数器的结构 :1、由两个、由两个加加1计数寄存器计数寄存器(由高由高8位和低位和低8位两个寄存器组成,共位两个寄存器组成,共16位位),分别对应,分别对应 T/C0和和T/C1.2、TMOD是定时是定时/计数器的工作方式寄存器,确定工作方式和功能。计数器的工作方式寄存器,确定工作方式和功能。3、TCON是控制寄存器,控制是控制寄存器,控制T0、T1的启动和停止及设置溢出标志的启动和停止及设置溢出标志。加加1计数寄存器计数寄存器输入的计数脉冲有两个来源:输入的计数脉冲有两个来源:1、一个是由系统的时钟振荡器输出脉冲经、一个是由系统的时钟振荡器输出脉冲经12分频后送来;分频后送来;2、一个是从

8、、一个是从单片机引脚单片机引脚T0(P3.4)或)或T1(P3.5)输入的外部脉冲源。输入的外部脉冲源。每来一个脉冲计数器加每来一个脉冲计数器加1,当加到计数器为全,当加到计数器为全1时,再输入一个脉冲就使计数器回零;时,再输入一个脉冲就使计数器回零;且计数器的溢出使且计数器的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数器中断允许时)。计数器中断允许时)。如果定时如果定时/计数器工作于定时模式,则表示定时时间已到;计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。如果工作于计数模式,则表示计数值已满。可见,由溢出

9、时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。计数器的计数值。 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中断,已在前面介绍。位用于控制外部中断,已在前面介绍。TCON的高的高4位用于控制位用于控制定时定时/计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:vTF1(TCON.7):):T/C1溢出中断请求标志位。溢出中断请求标志位。T/C1计数溢出时由硬件自计数溢出时由硬件自动置动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T/C1工作时,工作时,CPU可可随时查询随

10、时查询TF1的状态。所以,的状态。所以,TF1可用作查询测试的标志。可用作查询测试的标志。TF1也可以用软件也可以用软件置置1或或 清清0,同硬件置,同硬件置1或清或清0的效果一样。的效果一样。vTR1(TCON.6):):T/C1运行控制位。运行控制位。TR1置置1时,时,T/C1开始工作;开始工作;TR1置置0时,时,T/C1停止工作。停止工作。TR1由软件置由软件置1或清或清0。所以,用软件可控制定。所以,用软件可控制定时时/计数器的启动与停止。计数器的启动与停止。vTF0(TCON.5):):T/C0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。vTR0(T

11、CON.4):):T/C0运行控制位,其功能与运行控制位,其功能与TR1类同类同。三、工作方式寄存器三、工作方式寄存器TMOD工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的工作方式,低四位用于计数器的工作方式,低四位用于T/C0,高四位用于高四位用于T/C1。其格式如下:。其格式如下:GATE:门控位。:门控位。GATE0时,只要使时,只要使TCON中的中的TR0或或TR1为为1,就可以启动定时,就可以启动定时/计数器计数器(T/C)工作。工作。(其中:其中:TR0对应对应T/C0;TR1对应对应T/C1)GATA1时,要满足两个条件,才能启动定时时,要满足两个条件,才

12、能启动定时/计数器计数器(T/C)工作:工作:使使TR0或或TR1为为1。同时外部中断引脚同时外部中断引脚INT0/1也为高电平时。也为高电平时。(INT0对应对应T/C0;INT1对应对应T/C1) :定时定时/计数模式选择位。计数模式选择位。 0为定时模式;为定时模式; =1为计数模式。为计数模式。C/TC/TC/TM1M0:工作方式设置位。定时:工作方式设置位。定时/计数器有四种工作方式,由计数器有四种工作方式,由M1M0进行设置。进行设置。方式方式1:常用的:常用的16位定时器位定时器/定数器。(主要讲:方式定数器。(主要讲:方式1定时器模式)定时器模式)方式方式2:主要用在串口波特率

13、发生器。:主要用在串口波特率发生器。方式方式0和方式和方式3:几乎不用。:几乎不用。 四、方式四、方式1 (定时器(定时器0模式)模式)方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为作为高高8位,组成了位,组成了16位加位加1计数器计数器 。16位定时器位定时器0装初值的计算公式:装初值的计算公式:假设要计的个数是假设要计的个数是n,TH0=(65536-n)/256TL0=(65536-n)%256 8051的基本时序周期的基本时序周期v 振荡周期:为单片机提供振荡源的周期(是指振荡源的振荡周期:为单片机提供振荡源的周期(是指振荡源的两个相邻同方向峰

14、值之间的时间)两个相邻同方向峰值之间的时间)v 机器周期:机器周期:1个机器周期等于个机器周期等于12个振荡周期个振荡周期若:若:fosc=12M,则则8051的各周期参数如下:的各周期参数如下:振荡周期振荡周期=1/12 us;机器周期机器周期=1us;初始化程序应完成如下工作:初始化程序应完成如下工作:1、对、对TMOD赋值,以确定赋值,以确定T0和和T1的工作方式。的工作方式。2、计算初值、计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。3、使、使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。4、中断方式时,则对、中断方式时,则对IE赋值,开放中断。赋值,开放中断。定时定时/计数器应用举例计数器应用举例 1、利用定时利用定时/计数器计数器T1从从P1.0输出周期为输出周期为1s的方波,让的方波,让 发光二极管以发光二极管以1HZ闪烁,设晶振频率为闪烁,设晶振频率为12MHz。试设。试设 计程序。计程序。2、利用定时、利用定时/计数器计数器T0产生定时时钟产生定时时钟,由由P1口控制口控制8个发光个发光 二极管。编一个程序二极管。编一个程序,使使8个指示灯依次一个一个闪动,个指示灯依次一个一个闪动, 闪动频率为闪动频率为10次次/秒秒(8个灯依次亮一遍为一个周期个灯依次亮一遍为一个周期

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论