定时器的应用PPT文件格式下载.ppt
《定时器的应用PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《定时器的应用PPT文件格式下载.ppt(18页珍藏版)》请在冰豆网上搜索。
,
(二)、了解定时及方法,实现定时功能,可以采用下面三种方法:
软件定时:
软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。
利用单片机内部的定时/计数器采用时基电路定时:
例用555电路,可构成硬件定时电路。
但在硬件连接好以后,定时值与定时范围不可编程。
采用可编程芯片定时:
这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。
在单片机的定时/计数器不够用时,可以考虑进行扩展。
(三)、定时/计数器的结构和工作原理,1、定时/计数器的结构定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。
TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;
TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
2、定时/计数器的工作原理,加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;
一个是T0或T1引脚输入的外部脉冲源。
每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。
如果定时/计数器工作于定时模式,则表示定时时间已到;
如果工作于计数模式,则表示计数值已满。
可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2s。
(四)、定时/计数器的控制,80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。
TMOD用于设置其工作方式;
TCON用于控制其启动和中断申请。
1、工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。
其格式如下:
GATE:
门控位。
GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;
GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。
即此时定时器的启动多了一条件。
:
定时/计数模式选择位。
0为定时模式;
=1为计数模式。
M1M0:
工作方式设置位。
定时/计数器有四种工作方式,由M1M0进行设置。
2、控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。
TCON的高4位用于控制定时/计数器的启动和中断申请。
TF1(TCON.7):
T1溢出中断请求标志位。
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。
所以,用软件可控制定时/计数器的启动与停止。
TF0(TCON.5):
T0溢出中断请求标志位,其功能与TF1类同。
TR0(TCON.4):
T0运行控制位,其功能与TR1类同。
(五)、定时/计数器的工作方式1、方式0方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。
TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。
定时器模式时有:
Nt/Tcy计数初值计算的公式为:
定时器的初值还可以采用计数个数直接取补法获得。
计数模式时,计数脉冲是T0引脚上的外部脉冲。
门控位GATE具有特殊的作用。
当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始;
当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。
当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。
这种方式常用来测量外中断引脚上正脉冲的宽度。
2、方式1方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器。
计数个数与计数初值的关系为:
3、方式2方式2为自动重装初值的8位计数方式。
工作方式2特别适合于用作较精确的脉冲信号发生器。
4、方式3方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。
工作方式3将T0分成为两个独立的8位计数器TL0和TH0。
(六)、定时/计数器应用举例初始化程序应完成如下工作:
对TMOD赋值,以确定T0和T1的工作方式。
计算初值,并将其写入TH0、TL0或TH1、TL1。
中断方式时,则对IE赋值,开放中断。
就是写interrup函数。
使TR0或TR1置位,启动定时/计数器定时或计数。
例利用定时/计数器T1的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12MHz。
解:
1、计算计数初值X:
由于晶振为12MHz,所以机器周期Tcy为1s。
所以:
Nt/Tcy10000/110000X655361000055536D8F0H即应将D8H送入TH0中,F0H送入TL0中2、求T1的方式控制字TMOD:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;
1、利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz。
2、利用定时/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。
3、同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800,1k(hz)的方波。
4、用定时器以间隔500MS在6位数码管上依次显示0、1、2、3.C、D、E、F,重复。
(3)读出过程单片机先发送该器件的7位地址码和写方向位“0”(“伪写”),发送完后释放SDA线并在SCL线上产生第9个时钟信号。
被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为回应。
然后,再发一个字节的要读出器件的存储区的首地址,收到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(“1”),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。
当最后一个字节数据读完后,单片机应返回以“非应答”(高电平),并发出终止信号以结束读出操作。