STM8S207定时器模块及其应用实例.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM8S207定时器模块及其应用实例

风驰电子 STM8 开发板专卖店 /item.htm?id 第十三章 STM8S207 定时器模块及其应用 例 这一节,我们将向大家介绍如何使用STM8的定时器中的基本定时功能,STM8的 定时器功能十分强大,有TIM1高级定时器,也有TIM2、TIM3等通用定时器,还 有 TIM4 基本定时器。在 STM8S 参考手册里面,定时器的介绍占了 1/3 的篇幅, 足见其重要性。这一节,我们分别介绍TIM1 到TIM4定时器中的基本定时功能 例程一、16 位高级控制定时器(TIM1) 简介: TIM1 由一个 16 位的自动装载计数器组成,它由一个可编程的预分频器驱动。 TIM1有4个通道,分别是1 到4。分别对应于四个不同的捕获/比较通道。 高级控制定时器适用于许多不同的用途: 基本的定时 测量输入信号的脉冲宽度(输入捕获) 产生输出波形(输出比较,PWM和单脉冲模式) 对应与不同事件(捕获,比较,溢出,刹车,触发)的中断 与TIM5/TIM6或者外部信号(外部时钟,复位信号,触发和使能信号)同步 高级控制定时器广泛的适用于各种控制应用中,包括那些需要中间对齐模式 PWM的应用,该模式支持互补输出和死区时间控制。 高级控制定时器的时钟源可以是内部时钟,也可以是外部的信号,可以通过配置 寄存器来进行选择。 这一节我们实现的功能是基本的定时,关于PWM的编程留下以后的章节中。还有 建议大家研究更为深入的功能 TIM1的时基单元包括,如下图所示: ● 16位向上/向下计数器 ● 16位自动重载寄存器 ● 重复计数器 ● 预分频器 1 / 9 风驰电子 STM8 开发板专卖店 /item.htm?id 16 位计数器,预分频器,自动重载寄存器和重复计数器寄存器都可以通过软件 进行读写操作。 自动重载寄存器由预装载寄存器和影子寄存器组成。 可在在两种模式下写自动重载寄存器: ● 自动预装载已使能(TIM1_CR1寄存器的ARPE位置位)。在此模式下,写入 自动重载寄存器的数据将被保存在预装载寄存器中,并在下一个更新事件(UEV) 时传送到影子寄存器。 ● 自动预装载已禁止(TIM1_CR1寄存器的ARPE位清除)。在此模式下,写入 自动重载寄存器的数据将立即写入影子寄存器。 更新事件的产生条件: ●计数器向上或向下溢出。 ●软件置位了TIM1_EGR寄存器的UG位。 ●时钟/触发控制器产生了触发事件。 在预装载使能时(ARPE=1),如果发生了更新事件,预装载寄存器中的数值 (TIM1_ARR)将写入影子寄存器中,并且TIM1_PSCR寄存器中的值将写入预分频器 中。 置位TIM1_CR1寄存器的UDIS位将禁止更新事件(UEV)。 计数器由预分频器的输出CK_CNT驱动,而CK_CNT仅在IM1_CR1寄存器的计数器 使能位(CEN)被置位时才有效。 简要说明: CK_PSC的时钟来源于f_master,我们使用16M内部时钟源HIS 然后可以通过PSCR这个寄存器设置CK_CNT,PSCR是2 个8位寄存器组成的 16位寄存器,可以在0~65535之间任务分频,分频后的频率提供给CK_CNT 我们的实验为了方便计算,CK_CNT为1K的频率,所以PSCR = 16M/1K = 16000, 换成16进制为0x3E80 我们使用了默认的向上溢出,所以为了500ms 溢出中断一次,需要设置ARPE 这个定时器,而且设置为自动预装功能,这样就可以一直提供2Hz的频率中断 最后允许中断和计数器使能就可以实现我们的功能 有了以上的基础就可以进入到 TIM1 的基本定时器编程了,为了验证效果,我们 采用了LED0作为判断依据。在TIM1的溢出中断服务程序中闪耀LED0 程序代码如下: #include iostm8s20

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档