单片机第七章 (2)精.ppt

上传人:石*** 文档编号:64366928 上传时间:2022-11-29 格式:PPT 页数:40 大小:2.53MB
返回 下载 相关 举报
单片机第七章 (2)精.ppt_第1页
第1页 / 共40页
单片机第七章 (2)精.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《单片机第七章 (2)精.ppt》由会员分享,可在线阅读,更多相关《单片机第七章 (2)精.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机第七章1第1页,本讲稿共40页定时定时/计数器的应用计数器的应用v1计数功能计数功能:v生产线上产品计数。每个产品通过得到一个脉冲信号,计数生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记录脉冲个数,当计数值与设定值相等,启动包装机器。器记录脉冲个数,当计数值与设定值相等,启动包装机器。v检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内脉冲个数,显示转速。内脉冲个数,显示转速。2 2定时功能定时功能:用于实时控制,定时采样、定时启动等。当前时间与设定时间用于实时控制,定时采样、定时启动等。当前时间与设定时间值相等,执行

2、规定操作。值相等,执行规定操作。2第2页,本讲稿共40页定时定时/计数的方法计数的方法 实现定时功能实现定时功能,比较方便的办法是利用单片机内部比较方便的办法是利用单片机内部的的定时定时/计数器计数器。也可以采用下面三种方法:。也可以采用下面三种方法:v软件定时软件定时:软件定时不占用硬件资源,但占用了:软件定时不占用硬件资源,但占用了CPU时间,降低了时间,降低了CPU的利用率。的利用率。v时基电路定时时基电路定时:例如采用:例如采用555电路,外接必要的元器件电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时

3、值与定时范围不能由软件进行控制和修接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。改,即不可编程。v可编程芯片定时可编程芯片定时:这种定时芯片的定时值及定时范围:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时灵活。在单片机的定时/计数器不够用时,可以考虑进行扩计数器不够用时,可以考虑进行扩展。展。3第3页,本讲稿共40页7.1 7.1 定定时时/计计数器的数器的结结构和工作原理构和工作原理 一、定时一、定时/计数器的结构计数器的结构 定时定时/计数器的实质是计数器的实质是加加

4、1计数器计数器(16位位),由高),由高8位和低位和低8位两个寄位两个寄存器组成。存器组成。TMOD是定时是定时/计数器的工作方式寄存器,确定工作方式和计数器的工作方式寄存器,确定工作方式和功能;功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的启动和停止及设置溢出的启动和停止及设置溢出标志标志。4第4页,本讲稿共40页单片机工作的时间概念单片机工作的时间概念v振荡周期振荡周期:也称也称时钟周期时钟周期,是指为单片机提供时钟脉冲信是指为单片机提供时钟脉冲信号的振荡源的周期。号的振荡源的周期。v机器周期机器周期:一个机器周期包含一个机器周期包含 6 个状态周期个状态周期S1S6,也就

5、也就是是 12 个时钟周期个时钟周期。在一个机器周期内在一个机器周期内,CPU可以完成一可以完成一个独立的操作。个独立的操作。定时概念定时概念v定时源、初始值、计数方向。定时源、初始值、计数方向。v容量、溢出。容量、溢出。5第5页,本讲稿共40页二、定时二、定时/计数器的工作原理计数器的工作原理 加加1计数器计数器输入的计数脉冲有输入的计数脉冲有两个来源两个来源,一个是由系统一个是由系统的的时钟振荡器时钟振荡器输出脉冲经输出脉冲经12分频后送来;一个是分频后送来;一个是T0或或T1引脚输入的引脚输入的外部脉冲外部脉冲源。每来一个脉冲计数器加源。每来一个脉冲计数器加1,当加到计数器为全当加到计数

6、器为全1时,再输入一个脉冲就使计数器回零,时,再输入一个脉冲就使计数器回零,且计数器的且计数器的溢出溢出使使TCON中中TF0或或TF1置置1,向,向CPU发出发出中断请求。如果定时中断请求。如果定时/计数器工作于定时模式,则表示设定计数器工作于定时模式,则表示设定时间到;如果工作于计数模式,则表示计数值已满。时间到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去可见,由溢出时计数器的值减去计数初值计数初值才是加才是加1计数计数器的器的计数值计数值。6第6页,本讲稿共40页v设置为设置为定时器模式定时器模式时,加时,加1计数器是对内部机器周期计计数器是对内部机器周期计数(数

7、(1个机器周期等于个机器周期等于12个振荡周期,即计数频率为晶振频率个振荡周期,即计数频率为晶振频率的的1/12)。计数值)。计数值N乘以机器周期乘以机器周期T就是定时时间就是定时时间t,t=NT。v设置为设置为计数器模式计数器模式时,外部脉冲由时,外部脉冲由T0或或T1引脚输入到计数器。在引脚输入到计数器。在每个机器周期的每个机器周期的S5P2期间采样期间采样T0、T1引脚电平。当某周期采样到引脚电平。当某周期采样到高电平输入,而下一周期又采样到低电平时,则计数器加高电平输入,而下一周期又采样到低电平时,则计数器加1,更新,更新的计数值在下一个机器周期的的计数值在下一个机器周期的S3P1期间

8、装入计数器。由于检测一个期间装入计数器。由于检测一个从从1到到0的下降沿需要的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为个机器周期。当晶振频率为12MHz时,最高计数频率不超过时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于即计数脉冲的周期要大于2 s。7第7页,本讲稿共40页 7.2 定时定时/计数器的控制计数器的控制 80C51单片机定时单片机定时/计数器的工作由两个特殊功能寄存器计数器的工作由两个特殊功能寄存器控制。控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于控制其启用于控制

9、其启动和中断申请。动和中断申请。一、一、工作方式寄存器工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的工作方计数器的工作方式,低四位用于式,低四位用于T0,高四位用于,高四位用于T1。每位意义每位意义8第8页,本讲稿共40页GATE:门控位。:门控位。GATE0时,用时,用软件启动软件启动定时定时/计数器工计数器工作(使作(使TCON中的中的TR0或或TR1为为1););GATA1时,由时,由软件软件和硬件联合启动和硬件联合启动定时定时/计数器工作(外部中断引脚为计数器工作(外部中断引脚为高电高电平平)。可据此)。可据此测量脉宽测量脉宽。:定时定时

10、/计数模式选择位。为计数模式选择位。为0时选择定时模式;为时选择定时模式;为1时选择计数模式。时选择计数模式。M1M0:工作方式设置位。定时:工作方式设置位。定时/计数器有四种工作方式。计数器有四种工作方式。9第9页,本讲稿共40页T1停止,也可停止,也可工作,具体见工作,具体见后后10第10页,本讲稿共40页 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中断。位用于控制外部中断。TCON的高的高4位用于控制定时位用于控制定时/计数计数器的启动和中断申请。器的启动和中断申请。vTF1(TCON.7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件

11、自动置计数溢出时由硬件自动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随时查询可随时查询TF1的状态。的状态。TF1也可以用软件置也可以用软件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一样。的效果一样。vTR1(TCON.6):):T1运行控制位。运行控制位。TR1置置1时,时,T1开始工作;开始工作;TR1置置0时,时,T1停止工作。还需考虑停止工作。还需考虑GATE的功能。的功能。vTF0(TCON.5):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。vTR0(TCON.4):):T0

12、运行控制位,其功能与运行控制位,其功能与TR1类同。类同。11第11页,本讲稿共40页三、三、计数寄存器计数寄存器TH、TLv定时定时/计数器的寄存器,高字节计数器的寄存器,高字节TH,低字节,低字节TL。计数的。计数的初始值保存其中。初始值保存其中。12第12页,本讲稿共40页 7.3 定时定时/计数器的工作方式计数器的工作方式 一、方式一、方式0(已不使用)(已不使用)方式方式0为为13位计数位计数,由,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位位组成。组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,置位溢出时,置位TCON中的中的TF0标

13、志,向标志,向CPU发出中断请求。发出中断请求。13第13页,本讲稿共40页 二、方式二、方式1(常用)(常用)方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成位,组成了了16位加位加1计数器计数器。计数个数与计数初值的关系为:。计数个数与计数初值的关系为:定时器的初值还可以采用计数个数直接定时器的初值还可以采用计数个数直接取补法取补法获得。如:获得。如:MOV TH0,#high(5000)TH0=(5000)8;14第14页,本讲稿共40页 三、方式三、方式2 方式方式2为为自动重装初值的自动重装初值的8位计数方式位计数方式。工作方

14、式工作方式2特别适合特别适合精确精确的时间控制,信号发生器;串口通信。的时间控制,信号发生器;串口通信。计数个数与计数初值的关系为计数个数与计数初值的关系为:15第15页,本讲稿共40页 四、方式四、方式3(T0对对T1有影响)有影响)方式方式3只适用于定时只适用于定时/计数器计数器T0,T1处于方式处于方式3时相当于时相当于TR1=0,停,停止计数;但仍可选其它方式工作止计数;但仍可选其它方式工作/串口。串口。T0在方式在方式3时分为两个独立的时分为两个独立的8位计数器位计数器TL0和和TH0,TL0正常工作,正常工作,TH0只能定时,借用只能定时,借用TR1和和TF1。16第16页,本讲稿

15、共40页五、五、80C52具有定时器具有定时器/计数器计数器T2vT2的控制寄存器为的控制寄存器为T2CON和和T2MOD17第17页,本讲稿共40页 7.4 定时定时/计数器用于外部计数器用于外部中断扩展中断扩展 利用计数器方式,利用计数器方式,计数初值计数初值设定为设定为满程满程,将待扩展的,将待扩展的外部中断外部中断源接到外部源接到外部计数引脚计数引脚。当该引脚输入一个下降沿。当该引脚输入一个下降沿信号时,计数器便加信号时,计数器便加1,并产生溢出中断。,并产生溢出中断。外部信号外部信号加加1计数计数溢出溢出中断中断18第18页,本讲稿共40页 例,利用例,利用T0扩展一个外部中断源。设

16、置扩展一个外部中断源。设置T0为方式为方式2工作,工作,TH0、TL0的初值均为的初值均为0FFH,允许中断。,允许中断。其初始化程序其初始化程序如下:如下:TMOD=0 x06;0000 0110置置T0为计数器方式为计数器方式2 TL0=0 x0FF ;计数初值为满程计数初值为满程 TH0=0 x0FFTR0=1 ;启动;启动T0工作工作ET0=1 ;允许;允许T0中断中断 EA =1 ;CPU开中断开中断19第19页,本讲稿共40页7.5 定时定时/计数器应用计数器应用初始化程序初始化程序需完成如下准备:需完成如下准备:v1 确定确定T0和和T1的工作方式,对的工作方式,对TMOD赋值。

17、赋值。v2 计算计算初值初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。X=2n-N=2n-t/T=2n-tfv3 使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。v中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。v注意:注意:T0和和T1对号入座对号入座。20第20页,本讲稿共40页应用应用v结合结合I/O口产生脉冲波形;口产生脉冲波形;v测量外接信号的测量外接信号的频率频率和(正)脉宽;和(正)脉宽;v延时;延时;v串行通信等。串行通信等。21第21页,本讲稿共40页单片机定时单片机定时/计数器计数器的应用实例的应用实例

18、22第22页,本讲稿共40页基础知识基础知识初始化步骤:初始化步骤:v1 确定确定T0和和T1的工作方式,对的工作方式,对TMOD赋值。赋值。v2 计算初值计算初值,并写入并写入TH0、TL0或或TH1、TL1。X=2n-N=2n-t/T=2n-tfv简便方法:简便方法:取补数取补数:MOV TH0,#high(5000)TH0=(5000)8;v3 使使TR0或或TR1置位,启动定时置位,启动定时/计数器工作。计数器工作。v中断方式时,需对中断方式时,需对IE赋值,开放中断。并有中断服务程序。赋值,开放中断。并有中断服务程序。23第23页,本讲稿共40页应用举例应用举例v结合结合I/O口产生

19、口产生方波方波,结合,结合D/A产生任意脉产生任意脉冲波形;测量外接信号的冲波形;测量外接信号的频率频率和正脉宽;和正脉宽;延时;串行通信等。延时;串行通信等。v一一.产生方波,可采用中断和查询方式产生方波,可采用中断和查询方式(清除(清除TF)。)。重点重点选择定时方式选择定时方式1和和2(包括(包括软件扩展软件扩展)。)。提示提示:忽略方式:忽略方式0的例的例子。子。24第24页,本讲稿共40页产生方波信号实例产生方波信号实例v例,从例,从P1.0管脚上输出管脚上输出脉冲波形脉冲波形,高电平高电平持续时间为持续时间为5ms,低电平低电平持续时间为持续时间为12ms(设单片机的时钟晶体(设单

20、片机的时钟晶体为为12MHz)。)。v算法:算法:循环结构循环结构,先定时,先定时5ms,P1.0脚输出高电平;脚输出高电平;5ms定时到后,从定时到后,从P1.0脚上输出低电平,再定时脚上输出低电平,再定时12ms,12ms定时到后,又回到定时到后,又回到5ms的定时循环工作。的定时循环工作。查询查询方方式必须式必须清除标志清除标志。v初值:初值:N5=5000/1=5000,N12=12000/1=12000。25第25页,本讲稿共40页查询源程序查询源程序v ORG 0000Hv CALL T0init ;调用调用T0初始化子函数初始化子函数vLOOP:SETB P1.0 ;输出高电平输

21、出高电平v MOV TH0,#high(-5000);T0送定时送定时5ms初值初值v MOV TL0,#low(-5000)v JNB TF0,$;等等5ms的定时到的定时到v CLR TF0 ;时间到清时间到清TF0标志位标志位v CLR P1.0 ;将将P1.0置为低电平置为低电平v MOV TH0,#high(-12000);送定时送定时12ms初值初值v MOV TL0,#low(-12000)v JNB TF0,$;等待等待12ms的定时到的定时到v CLR TF0 ;时间到清时间到清TF0标志位标志位v AJMP LOOPvT0init:MOV TMOD,#01H ;T0 方式方

22、式1 定时定时v SETB TR0 ;启动启动T0工作工作v RETv END 开始开始送高电平送高电平,定时定时5ms时间到时间到清标志清标志送低电平送低电平,定时定时12msYN时间到时间到清标志清标志YN定时初始化定时初始化26第26页,本讲稿共40页C51查询源程序查询源程序v#include vvoid T0init(void)v P1_0=1;TMOD=0 x01;/T0 方式方式1 定时定时v TH0=0 xec;/给定时器给定时器T0送送5ms初值初值v TL0=0 x78;v TR0=1;/启动启动T0工作工作v vvoid main(void)v T0init();/调用调

23、用T0初始化子函数初始化子函数v while(1)v while(TF0=0);/等等5ms的定时到的定时到v TF0=0;P1_0=0;TR0=0;v TH0=0 xd1;TL0=0 x20;TR0=1;v while(TF0=0);/等等12ms的定时到的定时到v TF0=0;P1_0=1;TR0=0;v TH0=0 xec;TL0=0 x78;TR0=1;v v27第27页,本讲稿共40页中断源程序中断源程序v ORG 0000Hv AJMP MAINv ORG 001BHv AJMP T1PRGvMAIN:MOV R0,#1 ;R0=0定时定时5ms R0=1定时定时12msvT1in

24、it:SETB P1.0 ;P1.0位置高位置高v MOV TMOD,#10H ;T1 方式方式1 定时定时v MOV TH1,#0ECH ;给定时器给定时器T1送送5ms初值初值v MOV TL1,#78Hv SETB ET1 ;允许允许T1中断中断v SETB EA ;开中断开中断v SETB TR1 ;启动启动T1工作工作v SJMP$;等待中断等待中断vT1PRG:CJNE R0,#0,LP1v SETB P1.0 ;R=0将将P1.0置高置高v MOV TH1,#0ECH ;T1送定时送定时5ms初值初值v MOV TL1,#78Hv MOV R0,#1 ;下一次中断定时下一次中断定

25、时12msv AJMP LP2vLP1:CLR P1.0 ;R=1将将P1.0置为低电平置为低电平v MOV TH1,#0D1H ;T1送定时送定时12ms初值初值v MOV TL1,#20Hv MOV R0,#0 ;下一次中断定时下一次中断定时5msvLP2:RETIv END修改定时值修改定时值中断开始中断开始返回返回主开始主开始5ms定时定时保存定时值保存定时值等待等待送高电平送高电平,定时定时5msNY送高电平送高电平,定时定时5ms28第28页,本讲稿共40页C51中断源程序中断源程序v#include vbit i=0;/位变量位变量i=0定时定时5ms i=1定时定时12msvv

26、oid main(void)v TMOD=0 x10;/T1 方式方式1 定时定时v TH1=0 xec;/给定时器给定时器T1送送5ms初值初值v TL1=0 x78;v P1_0=1;v ET1=1;/允许允许T1中断中断v EA=1;/开中断开中断v TR1=1;/启动启动T1工作工作v while(1);/等待定时中断等待定时中断vvvoid T1PRG(void)interrupt 3 v i=i;/位变量取反位变量取反v if(i)v P1_0=0;/产生产生12ms低电平低电平v TH1=0 xd1;/i=1送定时送定时12ms的初值的初值v TL1=0 x20;v else v

27、 P1_0=1;/产生产生5ms高电平高电平v TH1=0 xec;/i=0送定时送定时5ms的初值的初值v TL1=0 x78;v v29第29页,本讲稿共40页二二.测量频率(速率)测量频率(速率)v例,外部信号接到例,外部信号接到T1(P3.5)管脚,测量其)管脚,测量其速率,结果保存在速率,结果保存在30H和和31H单元(低高字节)单元(低高字节)。已知:单片机系统时钟为。已知:单片机系统时钟为6MHz,被测信号,被测信号速率在速率在500-65536/分钟范围内。分钟范围内。v分析:分析:T0用于定时用于定时,产生,产生120ms,测量,测量T1的的计数结果计数结果,扩大,扩大500

28、倍得到每分钟的转速。循倍得到每分钟的转速。循环结构。环结构。v初值:初值:N120=120ms/2us=60000(教材教材P166的的-6000错误错误)30第30页,本讲稿共40页源程序源程序v ORG 0000Hv MOV TMOD,#51H ;T0 模式模式1定时定时,T1模式模式1计数计数vstart:MOV TL0,#low(-60000);送定时送定时120ms的初值的初值v MOV TH0,#high(-60000)v MOV TH1,#0 ;T1的计数器清的计数器清0v MOV TL1,#0v SETB TR0 ;启动启动T0定时定时v SETB TR1 ;启动启动T1计数计

29、数v JNB TF0,$;等待等待T0 120ms的定时到的定时到v CLR TF0 ;清除清除TF0标志位标志位v CLR TR0 ;停止停止T0定时定时v CLR TR1 ;停止停止T1计数计数v MOV 30H,TL1 ;将低将低8位放入位放入30H中中v MOV 31H,TH1 ;将高将高8位放入位放入31H中中v AJMP startv END开始开始设置设置定时和计数定时和计数方式方式时间到时间到清标志清标志,停止计数停止计数YNT1计数清计数清0T0定时定时120ms启动定时启动定时,计数计数保存保存计数结果计数结果31第31页,本讲稿共40页C51源程序源程序v#include

30、 vvoid init(void)v TMOD=0 x51;/T0 方式方式1定时,定时,T1 模式模式1计数计数v TL0=-60000;TH0=(-60000)8;v TL1=0;TH1=0;TR0=1;TR1=1;v vvoid main(void)v unsigned char x,y;v init();/调用初始化子函数调用初始化子函数v while(1)v while(TF0=0);/等待等待T0 120ms的定时到的定时到v TF0=0;/清除清除TF0标志位标志位v TR0=0;/停止停止T0定时定时v TR1=0;/停止停止T1计数计数v x=TH1;/将高将高8位放入位放入

31、x中中v y=TL1;/将低将低8位放入位放入y中中v TL0=-60000;v TH0=(-60000)8;v TL1=0;/T1的计数器清的计数器清0v TH1=0;v TR0=1;/启动启动T0工作工作v TR1=1;/启动启动T1工作工作v v32第32页,本讲稿共40页三三.测量正脉冲宽度测量正脉冲宽度v例,例,脉冲信号接在单片机的脉冲信号接在单片机的INT0(P3.2)引脚,测其)引脚,测其正正脉冲宽度脉冲宽度,结果以机器周期数的形式存放在单片机,结果以机器周期数的形式存放在单片机RAM中中的的30H(低(低8位)和位)和31H(高(高8位)两个单元中。单片机系位)两个单元中。单片

32、机系统时钟为统时钟为12MHz。v分析:被测信号作为分析:被测信号作为T0的的门控信号门控信号,T0设置为定时器,设置为定时器,初值为初值为0。在。在INT0为低时取结果并准备下次测量。为低时取结果并准备下次测量。取数准备取数准备 计数计数 取数准备取数准备33第33页,本讲稿共40页源程序源程序v ORG 0000Hv MOV TMOD,#09h;T0方式方式1定时定时 GATE=1v MOV TH0,#0 ;给定时器给定时器T0送初值送初值v MOV TL0,#0v JB P3.2,$;将检测到的第一个高电平放弃将检测到的第一个高电平放弃vLoop:SETB TR0 ;启动启动T0工作工作

33、v JNB P3.2,$;等待下一个高电平来等待下一个高电平来v JB P3.2,$;等待高电平结束等待高电平结束v CLR TR0 ;停止停止T0计数计数v MOV 30H,TL0 ;将计数值的低将计数值的低8位放入位放入30H中中v MOV 31H,TH0 ;计数值的高计数值的高8位放入位放入31H中中v MOV TH0,#0 ;给定时器给定时器T0送初值送初值v MOV TL0,#0v AJMP LOOPv END开始开始设置设置门控定时门控定时方式方式定时清定时清0等待低电平等待低电平定时清定时清0启动定时启动定时保存保存定时结果定时结果等待高等待高,低电平低电平停止定时停止定时34第

34、34页,本讲稿共40页C51源程序源程序v#include vvoid main(void)v TMOD=0 x09;/T0模式模式1内部时钟内部时钟GATE1v TH0=0;/给定时器给定时器T0送初值送初值v TL0=0;v while(P3_2=1);/将检测到的第一个高电平放弃将检测到的第一个高电平放弃v while(1)v TR0=1;/启动启动T0工作工作v while(P3_2=0);/等待下一个高电平来等待下一个高电平来v while(P3_2=1);/等待高电平结束等待高电平结束v TR0=0;/高电平结束,立即停止高电平结束,立即停止T0计数计数v y=TL0;/将计数值的

35、低将计数值的低8位放入位放入y中中v x=TH0;/将计数值的高将计数值的高8位放入位放入x中中v TH0=0;/给定时器给定时器T0送初值送初值v TL0=0;v v35第35页,本讲稿共40页四四.长长时间时间精确精确定时方法定时方法v例,在例,在P3.1管脚输出管脚输出100ms周期的脉冲信号。周期的脉冲信号。单片机系统时钟为单片机系统时钟为12MHz。v分析:选择分析:选择方式方式2,机器周期为,机器周期为1us,一个定,一个定时器的最长定时时间为时器的最长定时时间为256us。可用硬件定。可用硬件定时时250us结合结合软件计数软件计数200次的方法次的方法扩展设扩展设定时间定时间为

36、为50ms。36第36页,本讲稿共40页源程序源程序v ORG 0000Hv MOV TMOD,#02h;T0方式方式2定时定时v MOV TH0,#-250 ;给定时器给定时器T0送初值送初值v MOV TL0,#-250v SETB TR0 ;启动启动T0工作工作v SETB P3.1vLoop:MOV R7,#200vL5:JNB TF0,$;等待定时到等待定时到v CLR TF0 ;清标志清标志v DJNZ R7,L5 ;重新定时重新定时v CPL P3.1 ;输出电平变换输出电平变换v AJMP Loopv END开始开始设置定时方式设置定时方式设置设置定时次数定时次数送高电平送高电

37、平启动定时启动定时电平变换电平变换等待等待等定时数等定时数定时定时250us37第37页,本讲稿共40页获得获得两个两个不同的不同的精确长精确长时间时间v例,基本条件同前例,要求脉冲信号的高电平宽度为例,基本条件同前例,要求脉冲信号的高电平宽度为600us,低电平为,低电平为1ms。v分析:选择分析:选择方式方式2,结合,结合软件计数软件计数,定时设为,定时设为200us。v1如果用如果用查询查询方式则分别计数方式则分别计数3次和次和5次;次;v2如用如用中断中断方式,可以设置方式,可以设置标记标记,中断后交替计数,中断后交替计数3次和次和5次;次;v3中断方式中断方式连续计数连续计数:计数到

38、:计数到3时改为低电平,到时改为低电平,到8时回时回到高电平,从到高电平,从0开始计数。开始计数。38第38页,本讲稿共40页源程序源程序v ORG 0000Hv JMP MAINv ORG 0BHv JMP T0SVvMAIN:CALL INITv SETB P3.1v MOV R7,#0v JMP$vINIT:MOV TMOD,#02Hv MOV TH0,#-200v MOV TL0,#-200v SETB TR0v MOV IE,#82Hv RETvT0SV:INC R7v CJNE R7,#3,C8v CLR P3.1v JMP OVRvC8:CJNE R7,#8,OVRv SETB P3.1v MOV R7,#0vOVR:RETIv END加加1计数计数中断开始中断开始返回返回主开始主开始3次次计数清计数清0等待等待送低电平送低电平NY中断中断、定时、定时初始化初始化8次次送高电平送高电平,清清0NY39第39页,本讲稿共40页复习与作业复习与作业v应用、编程应用、编程v1、6(不用不用T2)、)、7、10。40第40页,本讲稿共40页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁