6路定时器

定时器中断相关模块:

STC15W4 系列有5个定时器/计数器(T0~T4)
6通道可编程时钟输出(5路定时器时钟+主时钟),最高输出频率可达13.5MHZ
1个PCA模块,可用作外部中断(2通道,即是两个引脚)、定时器1个、时钟输出和脉宽调制PWM输出2通道
6个外中断输入口(INT0~INT4),其中外0和外1既可以上升沿触发又可以下降沿触发。而其他三个只能下降沿触发。

定时器/计数器原理概述
同一个模块当用于内部系统时钟计数称为定时器(每个脉冲时间固定)
用于外部脉冲计数称为计数器,利用计数器有最高输入信号频率不能大于系统时钟频率的1/4.加入系统时钟频率为22.1184M,那么外部对应的脉冲频率就不能大于5.5926M.高于此值的话,会使得部分脉冲丢失。如果用做频率计的话,测得频率比正常要低。

单片机内部的所谓特殊功能寄存器就是一个个开关。

寄存的地址如果尾数能被8整除的地址就能对里面的各个位进行位寻址操作,比如80H、88H。又比如TMOD的89H就不行。
简记为:尾数是0或者8都可进行位寻址。
TMOD的模式0(00)可以进行16位自动重装载,溢出自动装载RL_TH和RL_TL的值。模式二(01)传统16位计数器,在断电存储定时器中只能用此模式!还有靠倍数定时的时候也必须 使用这个功能。模式三(10)8位自动重装载。模式4(11)比较特殊,如果作用于T1没作用,如果作用于T0,一旦定时器中断开启就无法再关闭,通常用于系统节拍。
定时器除了T0其他几个定时器经过四分频率(除以4)都可以作为串口波特率发生器。

AUXR中的EXTRAM拓展片内256字节的RAM,可使用3840字节的RAM。必要时需要使用。
T3除了可以作为定时器以及计数器外,还可以作为串口3的波特率发生器或可编程时钟输出。
初值 = 65536 - F*Fin(单脉冲频率) (Fin要注意是否分频)

15下载程序的时候要注意:选对内部时钟频率,然后可以为了方便下次下载程序把“复位脚用作IO口的勾去掉”

经计算我们可以得到这样一个知识,16位自动重装载时候,如果用11.059200晶振的话,12分频时间最多为71ms,1分频时间最多为5.9ms。当使用22.1184M晶振的话,12分频最多为35.56ms,1分频最多为2.9ms。

查手册发现一个好玩意:当定时器T0或T1使用16位自动重载的功能时,只要发生溢出,在自动装载的同时还自动清除溢出标志位。所以如果要使用1s定时,而一般必须靠倍数,靠查询中断完成。这时候就不许手动软件清理溢出标志位,就需要靠溢出标志位进行判断,所以这时候就不能使用16位自动重装载功能。
同时T2/T3/T4/T5 由于TFx位是隐藏不可见的,我们软件不能靠查询它来进行倍数增加,也就是说,不能单纯进行计数定时,还得靠中断。。

可以有个这样的实验:一个15的单片机的P5.4引脚输出低频脉冲信号,另一个15单片机的P3.4引脚作脉冲输入。
时基电路NE555(P303)也可产生外部脉冲

使用时钟脉冲输出的功能需要在16位自动重装载模式下。

输出主时钟就是输出时钟频率,主时钟输出要保持主时钟的IO口功能,还有要串一个电阻防止意外。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值