单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,欢迎进入云龙电子科技大讲堂,*,定时与中断,中断概念,单片机中断的应用,单片机的定时器应用,中断与定时器,单片机的中断系统,一、中断的概念,CPU,在处理某一事件,A,时,发生了另一事件,B,请求,CPU,迅速去处理(,中断产生,);,CPU,暂时中断当前的工作,转去处理事件,B,(,中断响应和中断服务,);,待,CPU,将事件,B,处理完毕后,再回到原来事件,A,中断的地方继续处理事件,A,(,中断返回,),这一过程称为,中断,。,MCS-51,单片机的中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,引起,CPU,中断的根源叫做,中断源,。中断源向,CPU,的请求,叫做,中断请求,。,CUP,暂时中断原来的事件,A,,转去处理事件,B,。对事件,B,处理完毕后,,再,回到原来被中断的地方(即,断点,),称为中断返回。,实现上述中断功能的,部件称为,中断系统,(中断机构)。,随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速,I/O,设备的数据传送问题,而且还具有如下优点:,分时操作,。,CPU,可以分时为多个,I/O,设备服务,提高了计算机的利用率;,实时响应,。,CPU,能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高,。,CPU,具有处理设备故障及掉电等突发性事件能力。从而使系统的可靠性提高。,8051,中断系统的结构,8051,的中断系统有,5,个中断源,,2,个优先级,可实现二级中断嵌套。,当中断源满足条件产生中断请求时,中断请求标记志位会置,1,。向,CPU,申请中断。,CPU,响应中断时,,TCON,的中断请求标记位由硬件自动清除,;,SCON,则须为软件清零。,中断源与标记位关系,8051,中断系统的结构图,IT0,外部中断,0,(,INT0,)触发方式选择位,由软件设置。,1,、低电平触发方式,,INT0,(,P3.2,)引脚上低电平可引起中断。,2,、下降沿触发方式,,INT0,(,P3.2,)引脚上电平由高变低负跳变可引起中断。,中断允许控制位在,IE,特殊功能寄存器上的分布,EA,中断使能,相当于控制所有中断的,“,总开关,”,-,保留,ES,串行口中断使能,ET1 T1,中断使能,EX1,外部中断,1,使能,ET0 T0,中断使能,EX0,外部中断,0,使能,中断优先级控制位在,IP,特殊功能寄存器上的分布,默认优先级,PX0,外部中断,0,优先 高,PT0 T0,中断优先,PX1,外部中断,1,优先,PT1 T1,中断优先,PS,串行口中断优先 低,-,保留,#include,unsigned char a;,sbit,key,=P34;,void main(),key,=0;,EA=1;,EX0=1;,IT0=0;,a=0 xf0;,/11110000,while(1),P1=a;,void ext0()interrupt 0,a=0 x0f;,在,8051,单片机中有两个定时器,/,计数器,分别称为,定时器,/,计数器,0,和,定时器,/,计数器,1,。,下面采用:,T/C0:,表示定时器,/,计数器,0,T/C1,:,表示定时器,/,计数器,1,T0:,表示定时器,0,T1:,表示定时器,1,C0:,表示计数器,0,C1:,表示计数器,1,如果是对内部振荡源,12,分频的脉冲信号进行计数(即对每个机器周期计数),它是,定时器(,T0,T1,),。,如果是对单片机引脚,T0,(,P3.4,)或,T1(P3.5),输入的外部脉冲信号进行计数,则它是,计数器,(C0,C1),。,定时器,/,计数器的概念,定时,/,计数器,(T/C),的结构图,一、定时,/,计数器的结构:,1、由两个,加,1,计数寄存器,(,由高,8,位和低,8,位两个寄存器组成,共,16,位,),,分别对应,T/C0,和,T/C1,.,2、,TMOD,是定时,/,计数器的工作方式寄存器,确定工作方式和功能。,3、,TCON,是控制寄存器,控制,T0,、,T1,的启动和停止及设置溢出标志,。,加,1,计数寄存器,输入的计数脉冲有两个来源:,1、一个是由系统的时钟振荡器输出脉冲经,12,分频后送来;,2、一个是从,单片机引脚,T0,(,P3.4,)或,T1(P3.5),输入的外部脉冲源。,每来一个脉冲计数器加,1,,当加到计数器为全,1,时,再输入一个脉冲就使计数器回零;,且计数器的溢出使,TCON,中,TF0,或,TF1,置,1,,向,CPU,发出中断请求(定时,/,计数器中断允许时)。,如果定时,/,计数器工作于定时模式,则表示定时时间已到;,如果工作于计数模式,则表示计数值已满。,可见,由溢出时计数器的值减去计数初值才是加,1,计数器的计数值。,二、控制寄存器,TCON,TCON,的低,4,位用于控制外部中断,已在前面介绍。,TCON,的高,4,位用于控制定时,/,计数器的启动和中断申请。其格式如下:,TF1,(,TCON.7,):,T/C1,溢出中断请求标志位。,T/C1,计数溢出时由硬件自动置,TF1,为,1,。,CPU,响应中断后,TF1,由硬件自动清,0,。,T/C1,工作时,,CPU,可随时查询,TF1,的状态。所以,,TF1,可用作查询测试的标志。,TF1,也可以用软件置,1,或 清,0,,同硬件置,1,或清,0,的效果一样。,TR1,(,TCON.6,):,T/C1,运行控制位。,TR1,置,1,时,,T/C1,开始工作;,TR1,置,0,时,,T/C1,停止工作。,TR1,由软件置,1,或清,0,。所以,用软件可控制定时,/,计数器的启动与停止。,TF0,(,TCON.5,):,T/C0,溢出中断请求标志位,其功能与,TF1,类同。,TR0,(,TCON.4,):,T/C0,运行控制位,其功能与,TR1,类同,。,三、工作方式寄存器,TMOD,工作方式寄存器,TMOD,用于设置定时,/,计数器的工作方式,低四位用于,T/C0,,高四位用于,T/C1,。其格式如下:,GATE,:门控位。,GATE,0,时,只要使,TCON,中的,TR0,或,TR1,为,1,,就可以启动定时,/,计数器,(T/C),工作。,(,其中:,TR0,对应,T/C0,;,TR1,对应,T/C1),GATA,1,时,要满足两个条件,才能启动定时,/,计数器,(T/C),工作:,使,TR0,或,TR1,为,1,。,同时外部中断引脚,INT0/1,也为高电平时。,(INT0,对应,T/C0,;,INT1,对应,T/C1),:,定时,/,计数模式选择位。,0,为定时模式;,=1,为计数模式。,M1M0,:工作方式设置位。定时,/,计数器有四种工作方式,由,M1M0,进行设置。,方式,1,:常用的,16,位定时器,/,定数器。(主要讲:方式,1,定时器模式),方式,2,:主要用在串口波特率发生器。,方式,0,和方式,3,:几乎不用。,四、方式,1,(定时器,0,模式),方式,1,的计数位数是,16,位,由,TL0,作为低,8,位、,TH0,作为高,8,位,组成了,16,位加,1,计数器,。,16,位定时器,0,装初值的计算公式:,假设要计的个数是,n,,,TH0=(65536-n)/256TL0=(65536-n)%256,8051,的基本时序周期,振荡周期:为单片机提供振荡源的周期(是指振荡源的两个相邻同方向峰值之间的时间),机器周期:,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,个灯依次亮一遍为一个周期,),。,3,、用定时器以间隔,500MS,在,6,位数码管上依次显示,0,、,1,、,2,、,3.C,、,D,、,E,、,F,,重复。,