6路定时器

举报
ReCclay 发表于 2022/02/21 23:53:04 2022/02/21
【摘要】 定时器中断相关模块: STC15W4 系列有5个定时器/计数器(T0~T4) 6通道可编程时钟输出(5路定时器时钟+主时钟),最高输出频率可达13.5MHZ 1个PCA模块,可用作外部中断(2通道,...

定时器中断相关模块:

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口功能,还有要串一个电阻防止意外。

文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。

原文链接:recclay.blog.csdn.net/article/details/76283826

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。