打印
[应用方案]

NUVOTON新唐单片机使用总结(转载)

[复制链接]
567|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZZY001|  楼主 | 2022-1-21 09:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1 定时器
1.1 定时器中断计时的计算
1.1.1 定时器3的中断计算
打开官方板级支持包(BSP),找到 time.c 文件,以定时器3延时100ms为例,学习如何计算 RH3 和 RL3 的计算。注意系统时钟为16MHz
以下定义在 Function_Define_MS51_16K.h 文件中

以下函数在 time.c 文件中

计算如下:
已知条件 Fsys = 16MHz,分频系数为128,中断周期定为0.1s,Hz对应s为单位。
计算所需计数次数x:
128x / 16MHz = 0.1 ,x = 12500
定时器3为向上计数模式,即在RH3和RL3 的基数上向上计数,当计数到65536则产生中断。所以RH3和RL3的基数为 y = 65536 - 12500 = 53036(0xCF2C),即 RH3 = 0xCF,RL3 = 0x2C。
验证:
Fsys = 16MHz,分频系数为 128,则分频后定时器3的时钟为 16MHz / 128 = 125000
所以 1/125000 * 12500 = 0.1s


举例:如果Fsys = 24Mhz ,分频系数为128,中断周期定为0.1s
128x / 24MHz = 0.1 , x = 18750
65536 - 18750 = 46786(0xB6C2) 即 RH3 = 0xB6,RL3 = 0xC2。

使用特权

评论回复
沙发
734774645| | 2022-1-21 13:42 | 只看该作者
寄存器操作的例子。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

60

帖子

0

粉丝