《单片机应用技术》课件项目三 交通灯系统设计.ppt

上传人(卖家):momomo 文档编号:7652250 上传时间:2024-05-24 格式:PPT 页数:55 大小:2.12MB
下载 相关 举报
《单片机应用技术》课件项目三 交通灯系统设计.ppt_第1页
第1页 / 共55页
《单片机应用技术》课件项目三 交通灯系统设计.ppt_第2页
第2页 / 共55页
《单片机应用技术》课件项目三 交通灯系统设计.ppt_第3页
第3页 / 共55页
《单片机应用技术》课件项目三 交通灯系统设计.ppt_第4页
第4页 / 共55页
《单片机应用技术》课件项目三 交通灯系统设计.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、项目三项目三 交通灯系统设计交通灯系统设计3.1单片机的单片机的中断系统中断系统3.2 定时定时/计数器计数器3.13.1单片机的单片机的中断系统中断系统1、中断的概念2、MCS-51中断系统的结构中断系统的结构3、中断的控制中断的控制4、单片机中断处理过程单片机中断处理过程5、中断优先级控制、中断优先级控制一、中断的概念一、中断的概念中断的概念中断的概念CPU在处理某一事件在处理某一事件A时,发生了另一事件时,发生了另一事件B请请求求CPU迅速去处理(迅速去处理(中断发生中断发生););CPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B(中中断响应和中断服务断响应和中断

2、服务););待待CPU将事件将事件B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A被中断的地方继续处理事件被中断的地方继续处理事件A(中断返回中断返回),这),这一过程称为一过程称为中断中断。3.13.1单片机的单片机的中断系统中断系统MCS-51单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回3.13.1单片机的单片机的中断系统中断系统引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出提出的中断请求。的中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对事件对事件B

3、处理完毕后,再回到原来被中断的地方(即处理完毕后,再回到原来被中断的地方(即断点断点),),称为中断返回。实现上述中断功能的部件称为称为中断返回。实现上述中断功能的部件称为中断系统中断系统(中(中断机构)。断机构)。3.13.1单片机的单片机的中断系统中断系统中断的优点中断的优点 随着计算机技术的应用,人们发现中断技术不仅解决了快速随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:设备的数据传送问题,而且还具有如下优点:分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备服务,提高了计算机的利用设备服务,提高了计算机

4、的利用率;率;实时响应实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大能够及时处理应用系统的随机事件,系统的实时性大大增强;大增强;可靠性高可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。系统可靠性提高。3.13.1单片机的单片机的中断系统中断系统二、二、MCS-51MCS-51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源个中断源(8052有 6个),2个优个优先级,可实现二级中断嵌套先级,可实现二级中断嵌套。EX0EAPX001ET0PT001EX1PX101ET1PT10

5、1ESPS011RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0INT1T0T1RXTXIEIP111111110硬件查询自然优先级自然优先级中断入口中断入口高级低级中断源中断源3.13.1单片机的单片机的中断系统中断系统3.13.1单片机的单片机的中断系统中断系统EX0EAPX001ET0PT001EX1PX101ET1PT101ESPS011RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0INT1T0T1RXTXIEIP111111110硬件查询自然优先级自然优先级中断入口中断入口高级低级中断源中断源1 1 1、(、(P3.2P3

6、.2)可由)可由IT0(TCON.0)IT0(TCON.0)选择其为低电平有效还是下降沿有效。当选择其为低电平有效还是下降沿有效。当CPUCPU检测到检测到P3.2P3.2引脚上出现有效的中断信号时,中断标志引脚上出现有效的中断信号时,中断标志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申请中断。申请中断。3.13.1单片机的单片机的中断系统中断系统EX0EAPX001ET0PT001EX1PX101ET1PT101ESPS011RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0INT1T0T1RXTXIEIP111111110硬件查询

7、自然优先级自然优先级中断入口中断入口高级低级中断源中断源 2 2、(P3.3(P3.3)可由)可由IT1(TCON.2)IT1(TCON.2)选择其为低电平有效还是下降沿有效。当选择其为低电平有效还是下降沿有效。当CPUCPU检测到检测到P3.3P3.3引脚上出现有效的中断信号时,中断标志引脚上出现有效的中断信号时,中断标志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申请中断。申请中断。3.13.1单片机的单片机的中断系统中断系统三、中断的控制三、中断的控制1 1、TCONTCON的中断标志的中断标志IT0(TCON.0),外部中断),外部中断0触发方式控制位。触发

8、方式控制位。当当IT0=0时,为电平触发方式。时,为电平触发方式。当当IT0=1时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。IE0(TCON.1),外部中断),外部中断0中断请求标志位。中断请求标志位。IT1(TCON.2),外部中断),外部中断1触发方式控制位。触发方式控制位。IE1(TCON.3),外部中断),外部中断1中断请求标志位。中断请求标志位。TF0(TCON.5),定时),定时/计数器计数器T0溢出中断请求标志位。溢出中断请求标志位。TF1(TCON.7),定时),定时/计数器计数器T1溢出中断请求标志位。溢出中断请求标志位。2、中断允许控制、中断允许控制

9、 CPU对中断系统所有中断以及某个中断源的开放和屏对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器蔽是由中断允许寄存器IE控制的。控制的。EX0(IE.0),外部中断,外部中断0允许位;允许位;ET0(IE.1),定时,定时/计数器计数器T0中断允许位;中断允许位;EX1(IE.2),外部中断,外部中断0允许位;允许位;ET1(IE.3),定时,定时/计数器计数器T1中断允许位;中断允许位;ES(IE.4),串行口中断允许位;,串行口中断允许位;EA(IE.7),CPU中断允许(总允许)位。中断允许(总允许)位。3.13.1单片机的单片机的中断系统中断系统四、单片机中断处理过程四

10、、单片机中断处理过程 1、中断响应条件、中断响应条件 中断源有中断请求;中断源有中断请求;此中断源的中断允许位为此中断源的中断允许位为1;CPU开中断(即开中断(即EA=1)。)。以上三条同时满足时,以上三条同时满足时,CPU才有可能响应中断才有可能响应中断。3.13.1单片机的单片机的中断系统中断系统2、外部中断编程:利用利用INT0作为外部中断输入线,每按一次开关作为外部中断输入线,每按一次开关K使使P2口处口处的的LED改变一下状态(由全亮到全灭或由全灭到全亮)。改变一下状态(由全亮到全灭或由全灭到全亮)。EA/VP31X119X218RESET9RD17WR16INT012INT113

11、T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10VCC40GND20U18031S4D1D2D4D5D6D7D0D3R1RES2R2RES2R3RES2R4RES2R5RES2R6RES2R7RES2R0RES2+5VGNDVCCVCCGNDC133PFC233PFY112MHZGNDR9100S5R81.2K+5VC3GND中断请求3.13.1单片机的单片机

12、的中断系统中断系统#includeunsigned char a=0 xff;main()EA=1;EX0=1;IT0=1;while(1)P2=a;void ext0()interrupt 0 using 1a=a;?unsigned char a=0 xff;放在放在main中定中定义可以吗?义可以吗?3.13.1单片机的单片机的中断系统中断系统3.13.1单片机的单片机的中断系统中断系统3、中断函数的完整语法:返回值 函数名(【参数】)interrupt n using n中断处理程序中断源中断源 入口地址入口地址编号编号 外部中断00003H0 0 定时/计数器0000BH1 1外部中

13、断10013H2 2定时/计数器1001BH3 3串行口中断0023H4 4练习题:利用练习题:利用INT0作为外部中断输入线,每按一次开关作为外部中断输入线,每按一次开关K使使P1口处的口处的8个个LED轮流点亮一次。轮流点亮一次。3.13.1单片机的单片机的中断系统中断系统3.13.1单片机的单片机的中断系统中断系统五、中断优先级控制五、中断优先级控制1、中断优先级寄存器、中断优先级寄存器 80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器每个中断源的中断优先级都是由中断优先级寄存器IP

14、中的相应位的中的相应位的状态来规定的状态来规定的。PX0(IP.0),外部中断),外部中断0优先级设定位;优先级设定位;PT0(IP.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;PX1(IP.2),外部中断),外部中断0优先级设定位;优先级设定位;PT1(IP.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;PS (IP.4),串行口优先级设定位;),串行口优先级设定位;PT2(IP.5),定时,定时/计数器计数器T2优先级设定位。优先级设定位。2、自然优先级、自然优先级 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,

15、由中断系统硬件确定的自然优先级形成,其排列如所示:3.13.1单片机的单片机的中断系统中断系统3、80C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:CPU同时接收到几个中断时,同时接收到几个中断时,首先响应优先级别最高的中断首先响应优先级别最高的中断请求请求。正在进行的中断过程正在进行的中断过程不能被新的同级或低优先级的中断请求不能被新的同级或低优先级的中断请求所中断所中断。正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断请求所中能被高优先级中断请求所中断断。为了实现上述后两条原则,为了实现上述后两条原则,中断系统内部设有两个用户不中断系统内部设有两

16、个用户不能寻址的优先级状态触发器。能寻址的优先级状态触发器。其中一个置其中一个置1,表示正在响应,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。先级中断请求。3.13.1单片机的单片机的中断系统中断系统3.2 3.2 定时器定时器/计数器计数器 1、定时定时/计数器的结构计数器的结构 2、定时定时/计数器的工作原理计数器的工作原理3、定时定时/计数器的控制计数器的控制4、定时定时/计数器的工作方式计数器的工作方

17、式5、定时器的初始化定时器的初始化6 6、定时器应用实例定时器应用实例 实现定时功能,实现定时功能,比较方便的办法是利用单片机内部的定时比较方便的办法是利用单片机内部的定时/计数器计数器。也可以采用下面三种方法:。也可以采用下面三种方法:软件定时软件定时:软件定时不占用硬件资源,但占用了:软件定时不占用硬件资源,但占用了CPU时间,时间,降低了降低了CPU的利用率。的利用率。采用时基电路定时采用时基电路定时:例如采用:例如采用555电路,外接必要的元器件电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定

18、时范围不能由软件进行控制和修改,即不以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。可编程。采用可编程芯片定时采用可编程芯片定时:这种定时芯片的定时值及定时范围:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时活。在单片机的定时/计数器不够用时,可以考虑进行扩展。计数器不够用时,可以考虑进行扩展。3.2 3.2 定时器定时器/计数器计数器 一、定时/计数器的结构 定时定时/计定时计定时/计数器的结构计数器的结构 数器的实质是加数器的实质是加1计数器(计数器(16位),由高位),由

19、高8位和低位和低8位两个位两个寄存器组成。寄存器组成。TMOD是定时是定时/计数器的工作方式寄存器,确计数器的工作方式寄存器,确定工作方式和功能;定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的的启动和停止及设置溢出标志启动和停止及设置溢出标志。GATEC/TM1M0GATEC/TM1M0TH1TL1TH0TL0T1方式T0方式T1引脚T0引脚机器周期脉冲内部总线TMODTCON外部中断相关位TF1TR1TF0TR03.2 3.2 定时器定时器/计数器计数器 二、定时二、定时/计数器的工作原理计数器的工作原理 加加1计数器计数器输入的计数脉冲有两个来源输入的计数脉冲有

20、两个来源,一个是由系统的时一个是由系统的时钟振荡器输出脉冲经钟振荡器输出脉冲经12分频后送来;一个是分频后送来;一个是T0或或T1引脚输引脚输入的外部脉冲源。每来一个脉冲计数器加入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器,当加到计数器为全为全1时,再输入一个脉冲就使计数器回零,且计数器的溢时,再输入一个脉冲就使计数器回零,且计数器的溢出使出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数器中断允许时)。如果定时计数器中断允许时)。如果定时/计数器工作于定时模式,计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数则表示定

21、时时间已到;如果工作于计数模式,则表示计数值已满。值已满。可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值计数器的计数值。3.2 3.2 定时器定时器/计数器计数器 设置为定时器模式时设置为定时器模式时,加,加1计数器是对内部机器周期计数(计数器是对内部机器周期计数(1个机器周期等于个机器周期等于12个振荡周期,即计数频率为晶振频率的个振荡周期,即计数频率为晶振频率的1/12)。)。计数值计数值N乘以机器周期乘以机器周期Tcy就是定时时间就是定时时间t。设置为设置为计数器模式时计数器模式时,外部事件计数脉冲由,外部事件计数脉冲由T0或或T1引

22、脚输入引脚输入到计数器。在每个机器周期的到计数器。在每个机器周期的S5P2期间采样期间采样T0、T1引脚电平。引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加时,则计数器加1,更新的计数值在下一个机器周期的,更新的计数值在下一个机器周期的S3P1期期间装入计数器。由于检测一个从间装入计数器。由于检测一个从1到到0的下降沿需要的下降沿需要2个机器周个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为频率为12MHz时时,最高计数频率不超过,最高

23、计数频率不超过1/2MHz,即计数脉冲,即计数脉冲的周期要大于的周期要大于2 m ms。3.2 3.2 定时器定时器/计数器计数器 三、定时三、定时/计数器的控制计数器的控制 80C51单片机定时单片机定时/计数器的工作由两个特殊功能寄存器计数器的工作由两个特殊功能寄存器控制。控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于控制其启动用于控制其启动和中断申请。和中断申请。1、工作方式寄存器、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的工作方式,计数器的工作方式,低四位用于低四位用于T0,高四位用于,高四位用于T1。其格式如下:

24、。其格式如下:3.2 3.2 定时器定时器/计数器计数器 3.2 3.2 定时器定时器/计数器计数器 GATEGATE:门控位。:门控位。GATEGATE0 0时,只要用软件使时,只要用软件使TCONTCON中的中的TR0TR0或或TR1TR1为为1 1,就可以启动定时,就可以启动定时/计数器工作;计数器工作;GATAGATA1 1时,要用时,要用软件使软件使TR0TR0或或TR1TR1为为1 1,同时外部中断引脚或也为高电平时,同时外部中断引脚或也为高电平时,才能启动定时才能启动定时/计数器工作。即此时定时器的启动条件,计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。加上了

25、或引脚为高电平这一条件。:定时定时/计数模式选择位。计数模式选择位。0 0为定时模式;为定时模式;=1=1为计数模式。为计数模式。M1M0M1M0:工作方式设置位。定时:工作方式设置位。定时/计数器有四种工作方式,计数器有四种工作方式,由由M1M0M1M0进行设置。进行设置。C/TC/TC/T 2、控制寄存器、控制寄存器TCON TCON的低的低4位用于控制外部中断位用于控制外部中断,已在前面介绍。已在前面介绍。TCON的高的高4位用于位用于控制定时控制定时/计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:TF1(TCON.7):):T1溢出中断请求标志位。溢出中断请求

26、标志位。T1计数溢出时由硬件自计数溢出时由硬件自动置动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随时查询可随时查询TF1的状态。所以,的状态。所以,TF1可用作查询测试的标志。可用作查询测试的标志。TF1也可也可以用软件置以用软件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一样。的效果一样。TR1(TCON.6):):T1运行控制位。运行控制位。TR1置置1时,时,T1开始工作;开始工作;TR1置置0时,时,T1停止工作。停止工作。TR1由软件置由软件置1或清或清0。所以,用软件可控制定时。所以,用软件可控制定时/计数器的启

27、动与停止。计数器的启动与停止。TF0(TCON.5):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。TR0(TCON.4):):T0运行控制位,其功能与运行控制位,其功能与TR1类同。类同。3.2 3.2 定时器定时器/计数器计数器 四、定时四、定时/计数器的工作方式计数器的工作方式 1、方式、方式0 方式方式0为为13位计数位计数,由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,溢出时,置位置位TCON中的中的TF0标志,向标志,向CPU发出中断请求。发

28、出中断请求。TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0引脚00机器周期TH0TL08位5位溢出TCONTMODD0D7D7D0申请中断13.2 3.2 定时器定时器/计数器计数器 3.2 3.2 定时器定时器/计数器计数器 定时器模式时定时器模式时有有:Nt/Tcy 计数初值计算的公式为:计数初值计算的公式为:定时器的初值还可以采用计数个数直接取补法获得定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。13X=2-N门控位门控位GATE具有特殊的作用。当具有特殊的

29、作用。当GATE=0时,经反相后使时,经反相后使或门输出为或门输出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1时,控制开关接通,计数开始;时,控制开关接通,计数开始;当当GATE=1时时,由外中断引脚信号控制,由外中断引脚信号控制或门的输出,此时控制或门的输出,此时控制与门的开启由外中断引脚信号和与门的开启由外中断引脚信号和TR0共同控制共同控制。当当TR0=1时,外中断引脚信号引脚的时,外中断引脚信号引脚的高电平启动计数高电平启动计数,外中断引脚信号,外中断引脚信号引脚的引脚的低电平停止计数低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽。这种方式

30、常用来测量外中断引脚上正脉冲的宽度。度。3.2 3.2 定时器定时器/计数器计数器 16X=2-N2、方式、方式1 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成了位,组成了16位加位加1计数器计数器。TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0引脚10机器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申请中断计数个数与计数初值的关系为:计数个数与计数初值的关系为:3.2 3.2 定时器定时器/计数器计数器 8X=2-N3、方式、方式2 方式方式2为自动重装初值的为自动重

31、装初值的8位计数方式。位计数方式。工作方式2特别适合于用作较精确的脉冲信号发生器。TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0引脚10机器周期TH0TL08位溢出TCONTMODD0D7D7D0申请中断计数个数与计数初值的关系为计数个数与计数初值的关系为:3.2 3.2 定时器定时器/计数器计数器 4、方式、方式3 方式方式3只适用于定时只适用于定时/计数器计数器T0,定时器定时器T1处于方式处于方式3时相当时相当于于TR1=0,停止计数。,停止计数。TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&110T0引脚INT0

32、引脚11机器周期TH0TL08位溢出TCONTMODD0D7D0申请中断机器周期8位申请中断溢出工作方式工作方式3将将T0分成为两个独立的分成为两个独立的8位计数器位计数器TL0和和TH0。5 5、工作原理、工作原理D8 F0D8 F2FFFFD8 F10000113.2 3.2 定时器定时器/计数器计数器 五、定时器的初始化五、定时器的初始化 1.1.初始化步骤初始化步骤 程序应完成如下工作:程序应完成如下工作:对对TMODTMOD赋值,以确定赋值,以确定T0T0和和T1T1的工作方式。的工作方式。计算初值计算初值,并将其写入并将其写入TH0TH0、TL0TL0或或TH1TH1、TL1TL1

33、。中断方式时,则对中断方式时,则对IEIE赋值,开放中断。赋值,开放中断。使使TR0TR0或或TR1TR1置位,启动定时器。置位,启动定时器。3.2 3.2 定时器定时器/计数器计数器 例例:T0:T0工作于工作于:定时方式定时方式1,1,定时时间定时时间T=10ms,T=10ms,系统主频系统主频f=12MHZ,f=12MHZ,允许中断允许中断,对对T0T0进行初始化编程。进行初始化编程。1 1、求、求T0T0的方式控制字的方式控制字TMODTMOD:0 100TMOD=0X01;0 0 0 0 T1 T03.2 3.2 定时器定时器/计数器计数器 2 2、计算计数初值、计算计数初值Coun

34、t Count:TH0=0XD8;TL0=0XF0;TH0=0XD8;TL0=0XF0;机器周期机器周期=(1/fosc1/fosc)1212Count=2n Count=2n 定时时间定时时间/机器周期机器周期=(1/12MHZ)=(1/12MHZ)1212=1us=1us=216-10ms/1us216-10ms/1us=65536-10000=55536=65536-10000=55536=D8F0H=D8F0HD8H F0HD8H F0H 8 8位位 8 8位位 TH0 TL0TH0=(65536-10000)/256;TL0=(65536-10000)%256;3 3、开中断、开中断

35、 EA=1;ET0=1;EA=1;ET0=1;4 4、启动定时器、启动定时器 TR0=1;TR0=1;初始化程序初始化程序:TMOD=0X01;TMOD=0X01;TH0=0XD8;TH0=0XD8;TL0=0XF0;TL0=0XF0;EA=1;EA=1;ET0=1;ET0=1;TR0=1;TR0=1;3.2 3.2 定时器定时器/计数器计数器 2、定时器的应用举例、定时器的应用举例例:设单片机晶振频率例:设单片机晶振频率f=6MHZ,使用定时器,使用定时器T1以方式以方式1产生周期产生周期为为500uS的等宽正方形脉冲,并由的等宽正方形脉冲,并由P1.0脚输出。脚输出。确定确定TMOD寄存器

36、的内容寄存器的内容定时器定时器/计数器计数器1的工作方式为方式的工作方式为方式1,从而,从而M1M0=01;实现定时功能,从而实现定时功能,从而C/T=0;设通过给设通过给TR1置位来启动定时器工作置位来启动定时器工作,从而从而GATE=0;另外,定时器另外,定时器/计数器计数器0不用,从而低四位全为不用,从而低四位全为0;所以(所以(TMOD)=10H。计算计数初值计算计数初值要产生要产生500us的等宽正方波脉冲,只需在的等宽正方波脉冲,只需在P1.0端以端以250us为周期交替输出高低为周期交替输出高低电平即可实现,从而定时时间为电平即可实现,从而定时时间为250us,f=6MHz。则机

37、器周期。则机器周期=2us,利用公,利用公式:式:定时时间定时时间=(65536-计数初值)计数初值)机器周期,可得机器周期,可得250=(65536-COUNT)2,求得:,求得:计数初值计数初值COUNT=8067=FF83H,这样(这样(TH1)=FFH,(,(TL1)=83H。3.2 3.2 定时器定时器/计数器计数器 中断方式中断方式:#include void main()TMOD=0 x10;TH1=(65536-125)/256;TL1=(65536-125)%256;ET1=1;EA=1;TR1=1;while(1);3.2 3.2 定时器定时器/计数器计数器 void ti

38、mer1_int()interrupt 3 using 1 P1_0=P1_0;TH1=(65536-125)/256;TL1=(65536-125)%256;3.2 3.2 定时器定时器/计数器计数器 3.2 3.2 定时器定时器/计数器计数器 查询方式查询方式 void main()TMOD=0 x10;TH1=0 xFF;TL1=0 x83;TR1=1;While(1)While(TF1=1)P10=P10;TR1=0;TH1=0 x1F;TL1=0 x83;TF1=0;TR1=1;3.2 3.2 定时器定时器/计数器计数器 例:设单片机晶振频率例:设单片机晶振频率f=12MHZ,在,在

39、P1.0端接一个发光二极端接一个发光二极管,利用定时管,利用定时T0工作在方式工作在方式1,使,使LED亮亮1s、灭、灭1s,闪烁。,闪烁。(中断中断)3、长时间延时、长时间延时3.2 3.2 定时器定时器/计数器计数器#include at89x51.h Sbit P10=P10;unsigned char num0;main()TMOD=0 x10;TH1=(65536-50000)%256;TL1=(65536-50000)/256;ET1=1;EA=1;TR1=1;While(1)if(num=20)num=0;P10=P10;3.2 3.2 定时器定时器/计数器计数器 void ti

40、mer1_int()interrupt 3 num;TH1=(65536-50000)/256;TL1=(65536-50000)%256;3.2 3.2 定时器定时器/计数器计数器 编程题:设单片机晶振频率编程题:设单片机晶振频率f=12MHZ,在,在P1口接口接8个个发光二极管,利用定时发光二极管,利用定时T0工作在方式工作在方式1,使,使8个个LED每每隔隔1秒轮流左移点亮,并循环。秒轮流左移点亮,并循环。(中断中断)3.2 3.2 定时器定时器/计数器计数器 例:要求P10引脚输出周期为1秒,占空比为40%的脉冲信号。0s10004001.4s2s4、非方波的输出、非方波的输出3.2

41、3.2 定时器定时器/计数器计数器#include sbit P10=P10;main()TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;while(1);void time0()interrupt 1 unsigned char num;num+;if(num=8)P10=P10;if(num=20)P10=P10;num=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;3.2 3.2 定时器定时器/计数器计数器 编程题:1.要求:P1口接8盏小灯,运用定

42、时器,小灯闪烁亮1秒灭2秒。思考题:1.产生占空比变化的脉冲信号的程序。3.2 3.2 定时器定时器/计数器计数器 1、利用定时、利用定时/计数器计数器T0从从P1.0输出周期为输出周期为1s的方波,让发光二极管以的方波,让发光二极管以1HZ闪烁,闪烁,设晶振频率为设晶振频率为12MHz。试设计程序。试设计程序。2、采用晶振、采用晶振12MHz,在,在P1.0引脚上输出周期为引脚上输出周期为2.5S,占空比为,占空比为20%的脉冲信号。的脉冲信号。3、利用定时、利用定时/计数器计数器T1产生定时时钟产生定时时钟,由由P1口控制口控制8个发光二极管。编一个程序个发光二极管。编一个程序,使使8个指

43、示灯依次一个一个闪动,闪动频率为个指示灯依次一个一个闪动,闪动频率为10次次/秒秒(8个灯依次亮一遍为一个周个灯依次亮一遍为一个周期期)。练习题练习题3.2 3.2 定时器定时器/计数器计数器 六、定时器应用实例六、定时器应用实例单片机驱动直流电机B3C2E1QE11B772B3C2E1QE13B772B3E1C2QE12D882B3E1C2QE14D88212JE5白VAGNDRE12820B3E1C2QE15C945RE16470RE71KRE10470B3E1C2QE16C945RE14820RE181KB3E1C2QE17C945GNDRE82.2KDJ2FDJ2ZH桥电路桥电路3.2

44、 3.2 定时器定时器/计数器计数器 LN298驱动电路VSS9VS4IS EN B15IS EN A1OUT414OUT313OUT23OUT12GND8EN B11EN A6IN412IN310IN27IN15U1L298+5V+12VC20.1uFD1DIODED2DIODED3DIODED4DIODED5DIODED6DIODED7DIODED8DIODEC3100uFC40.1uFC1100uFA-+MG1MOTOR SERVOA-+MG2MOTOR SERVOP30P31P32P33P13P143.2 3.2 定时器定时器/计数器计数器 3.2 3.2 定时器定时器/计数器计数器 3.2 3.2 定时器定时器/计数器计数器 总结总结 本章主要讲述了中断的概念和优点、外部本章主要讲述了中断的概念和优点、外部中断的工作原理和编程,定时中断的工作原理中断的工作原理和编程,定时中断的工作原理和编程。和编程。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《单片机应用技术》课件项目三 交通灯系统设计.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|