1 / 35
文档名称:

发光二极管的闪烁显示.ppt

格式:ppt   大小:1,646KB   页数:35页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

发光二极管的闪烁显示.ppt

上传人:文库新人 2022/2/22 文件大小:1.61 MB

下载得到文件列表

发光二极管的闪烁显示.ppt

文档介绍

文档介绍:发光二极管的闪烁显示
第1页,此课件共35页哦
案例功能
定时器T0做定时器使用工作在方式0下,控制发光二极管,。本案例中fosc=,闪烁周对应的定时中断,并进入中断服务程序中后,硬件电路自动将TFi清0。
TRi位:定时/计数器运行控制位。它与GATE位、INTi引脚一起组合来控制定时/计数器的开启和停止。其详细的控制关系请参考“T0、T1的组成结构”中的有关部分。
IEi位:外部中断请求标志。
IEi=0 外部中断INTi无中断请求。
IEi=1 外部中断INTi有中断请求。
第12页,此课件共35页哦
CPU响应了INTi中断后,硬件电路自动将IEi位清0
ITi位:外部中断触发方式控制位。
ITi=0 外部中断INTi用低电平方式触发
ITi=1 外部中断INTi用下跳沿方式触发
单片机复位时,TCON的值为00H,这就意味着上电时T0、T1均被停止。
其中TR0和TR1分别用于控制T0和T1的启动和停止,TF0和TF1用于标识T0和T1是否产生溢出中断请求。
第13页,此课件共35页哦
(2)、定时器方式寄存器TMOD
TMOD用于控制T0、T1的运行模式和工作方式,字节地址位89H
第14页,此课件共35页哦
M1、M0位:工作方式选择控制位。它们的取值组合用来确定定时/计数器的工作方式。M1、M0的取值组合与定时/计数器的工作方式之间的关系如表所示。
M1M0
方式
功能说明
00
方式0
13位计数方式
01
方式1
16位计数方式
10
方式2
8位自动重载初值方式
11
方式3
将T0分成2个8位的定时计数器(T1无此功能)
GATE位:门控位。与特殊功能寄存器TCON的TRi位以及外部引脚INTi的状态组合起来控制定时/计数器Ti开启和停止,其详细的控制方法在“T0与T1的组成结构”中作了介绍,这里不再累述
第15页,此课件共35页哦
计算初值的装入
⑴计数初值的求法
⑵计数初值的装入
第16页,此课件共35页哦
⑴计数初值的求法
T0、T1开启时,它们的计数器都是在计数初值的基础上作加1计数,当计数满回0时,TFi置1。也就是说,当计数器计到模值时,TFi被置1,计数器发生溢出。此时,计数次数N与计数器的模值M以及计数初值X之间有如下关系
M=N+X
不同计数方式下,计数器的模值是不同的,各种计数方式下的模值如下:
第17页,此课件共35页哦
对于模值为M的计数器,如果要计数N次后发生计数溢出(TFi位置1),则其计数初值X应为:
X=M-N
定时/计数器作计数器使用时,一般是已知计数次数要求计数初值,我们可以用上式计算得出计数初值。定时/计数器作定时器使用时,一般是已知定时时间t,要确定计数初值X。由于定时器的实质是对机器周期进行计数,每隔一个机器周期其计数值就加1,因此,若要定时t时间,则计数器的计数次数N为:
N=t/MC=(fosc×t)/12
式中的MC为机器周期,fosc为晶振的振荡频率。
计数初值为:
X=M-N=M-(fosc×t)/12
对于模值为M的计数器,其计数次数N的取值范围为:
1 ≤ N ≤ M
第18页,此课件共35页哦
【例6-1】设单片机的晶振频率fosc=12MHz,现拟定用T0作1ms定时器,试求其在方式0下的计数初值X。
【解】定时器的定时长为1ms,则定时器的计数次数N为:
N=(fosc×t)/12=(12×106×1×10-3)/12=1000
方式0的模值为2000H。
所以,计数初值X= M-N=2000H-1000=1C18H
第19页,此课件共35页哦
⑵计数初值的装入
不同的工作方式下,定时/计数器的构成不同,因此其初值的装入方法也不完全相同。
在方式0下,计数器为13位的计数器,它由TLi的低5位及THi构成,计数器的低5 位二进制数为TLi中低5二进制数,高8位二进制数为THi中的二进制数。因此,在装入计数初值时必须将初值的低5位数装入TLi的低5位中,将初值的高8位数装入THi中,其具体方法是:将计数初值转换成13位的二进制数,截取其高8位二进制数并传送至THi中。截取其低5位二进制数,并在这5位二进制数左端(高位)补上3位任意二进制数后行成一个字节的二进制数,再将此二进制数装入TLi中。实际应用中,一般是高3位补0。
第20页,此课件共35页哦
例如,假定通过计算求得计数初值为1234H,T0采用方式0工作,则把初值1234H转换成13位二进制数为:1 0010 0011 0100B。
截取其高8位二进制数为1