找回密码
 立即注册
查看: 386|回复: 7

盘点一下STC8A8K64D4上的 17个“定时器"和吐槽~

[复制链接]
  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 139 天

    [LV.7]常住居民III

    20

    主题

    1060

    回帖

    2521

    积分

    金牌会员

    积分
    2521
    发表于 2023-12-9 17:26:41 | 显示全部楼层 |阅读模式

    新人第一次发帖,,有一些字体上大大小小就当作测试了。


    首先稍微说一说盘点的前提,单片机如题,选择了STC8A8K64D4 48脚的单片机,其实是自己平常工作的时候用的最多的单片机。

    然后这里叙述的是单片机自身的硬件资源,软件实现的部分不在讨论范围内。

    最后自己本身是一个软件工程师,平常的工作内容多以集成开发比较多,在一个产品上经常要使用多个通讯模块或以多种探头模组,而且经常需要完成一些定时任务,所以对于定时器、串口的使用是非常频繁。。

    那么基于上面的个人使用前提开始盘点单片机上可以用作『定时器』的硬件资源吧。如果有描述不准确的地方,轻点打脸,55555


    第一、定时器。手册上写着这个单片机一共拥有5个定时器,乍一看确实不少,但是其中4个需要用作四个串口的波特率发生器。结果就只有一个Timer0可以自由使用。在最开始入行的时候,只有一个定时器可以自由使用可是把我愁住了。串口数据分包要死死占用一个定时器,如果再有其他的定时任务,就只能看哪个串口没有使用然后把它的定时器用作定时任务。导致的结果再那段时间里,经常要改手里的代码,其实都是一些拆了东墙补西墙、倒过来倒过去的操作,十分无聊也容易出BUG。不过学习了一段时间之后,曙光来了。


    第二、PCA。在手册的PCA章节上讲过,PCA的工作模式中可以把PCA配置成 16位软件定时器模式。这个就是曙光啊。PCA作定时器的与专用的定时器相比,需要在中断中累加一下 下一次进入中断的计数值。因为工作性质的原因,使用PCA的输入捕获功能的地方很少,所以理所当然的就把PCA当作定时器使用了。这种模式一直到现在,基本以Timer0作串口分包使用,PCA作软件定时器使用。剩下的定时器就只用作各个串口的波特率发生器。理论上,PCA上还有4个通道,可以作4个定时器的来使用。不过由于自己写了一个软件定时器框架,所以也就用了一个通道。


    第三、精度可达15位的增强型PWM。对于寻觅可以用作定时器的资源,我又盯上了PWM。PWM嘛也和时间有关,同时也有到规定计数值的中断。那么理论上用来作定时器也使可以的!事实上经过测试,满足自己的定时需求(因为本身也不需要特别精准,有个毫秒级的差距完全可以使用)而且,这玩意还有8个通道。每个通道还有到达不同计数值的中断,这就很nice了。


    emmmm,到此我了解到、测试到的可以用作定时器的硬件资源就是这些了,如果还有拿些奇思妙想可以拿来作定时器的可以在下面讨论讨论哦。那么下面就是吐槽了。


    第一、没有独立的波特率发生器,如果每个串口都有自己的波特率发生器的话,那定时器资源一下子就充裕起来了。之前也想过串口统一使用Timer2作波特率发生器,后来这个想法PASS掉了。原因是使用同一个定时器就要波特率是一致的,,在一些特殊的场合可以这么玩儿,但不是一个长久之计。因为会使用多个不同的模组,需要使用不同的波特率。就只有凑巧的情况下可以这么玩儿。

    第二、精度可达15位的增强型PWM,,哈哈哈,第一眼看过去,感觉哇好厉害耶。然后准备一用,咦,这不就是个15位定时器么,再用作定时器的时候,还没有上面PCA的位数多。。不过毕竟不是人家本身的用法,尺有所短寸有所长嘛。


    最后也希望STC越来越好吧,顺便发个贴子赚点经验,哈哈哈















    本帖被以下淘专辑推荐:

    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 139 天

    [LV.7]常住居民III

    20

    主题

    1060

    回帖

    2521

    积分

    金牌会员

    积分
    2521
     楼主| 发表于 2023-12-9 17:30:11 | 显示全部楼层
    我去,,,这个字体怎么变成这样了.....有大有小的。。只是点了自动排版...
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9371

    回帖

    1万

    积分

    管理员

    积分
    13924
    发表于 2023-12-9 19:00:07 | 显示全部楼层
    先抑后扬,又有了2次积分,高啊,STC8A8K64D4的定时器:
    ===17组定时器

    16位/24位自动重装载定时器, 5组
    ===T0/T1/T2/T3/T4, 5组
    ===T0/T1是16位长度,T2/T3/T4是24位长度,
    15位增强型PWM定时器,8通道:
    ===PWM0, PWM1, PWM2, PWM3, PWM4, PWM5, PWM6, PWM7
    16位CCP/PCA定时器,4组
    ===CCP0/CCP1/CCP2/CCP3, 也教 PCA0/PCA1/PCA2/PCA3

    截图202312091901348199.jpg


    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9371

    回帖

    1万

    积分

    管理员

    积分
    13924
    发表于 2023-12-9 19:04:31 | 显示全部楼层
    截图202312091904271878.jpg
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9371

    回帖

    1万

    积分

    管理员

    积分
    13924
    发表于 2023-12-9 19:05:47 | 显示全部楼层
    不输出就是定时器
    截图202312091905264536.jpg

    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9371

    回帖

    1万

    积分

    管理员

    积分
    13924
    发表于 2023-12-9 19:13:29 | 显示全部楼层
    必须送个仿真器,STC-USB Link1D 给您

    ===发这个链接给我们客服

    截图202312091912578068.jpg
    截图202312091913245388.jpg
    深圳国芯人工智能有限公司-产品_STC8A系列 (stcai.com)

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 139 天

    [LV.7]常住居民III

    20

    主题

    1060

    回帖

    2521

    积分

    金牌会员

    积分
    2521
     楼主| 发表于 2023-12-10 20:17:02 | 显示全部楼层
    神农鼎 发表于 2023-12-9 19:13
    必须送个仿真器,STC-USB Link1D 给您

    ===发这个链接给我们客服

    哇,,太好了  正还琢磨怎么弄点芯愿换东西
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 161 天

    [LV.7]常住居民III

    5

    主题

    49

    回帖

    643

    积分

    高级会员

    积分
    643
    发表于 2023-12-16 17:14:20 | 显示全部楼层
    老板大气
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-10 20:05 , Processed in 0.076535 second(s), 61 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表