你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【ST公益分享】STM8-16位定时器中断

[复制链接]
henai521 提问时间:2011-3-23 23:51 /
在STM8中,除了有8位的定时器外,还有16位的定时器。今天进行的实验就是针对16位定时器2来进行的。除了计数单元为16位的,其它设置与前面8位的定时器基本一样。下面的程序也是采样中断方式,由定时器2的中断服务程序来驱动LED的闪烁。
具体的程序代码如下,其它注意点见上一篇,另外要注意别忘了修改相应的中断向量。
 
//  程序描述:通过初始化定时器2,以中断方式驱动LED闪烁
//            LED接在MCU的GPIO的PD3上
 
#include "STM8S207C_S.h"
 
main()
{
  // 首先初始化GPIO
  PD_DDR = 0x08;
  PD_CR1 = 0x08;              // 将PD3设置成推挽输出
  PD_CR2 = 0x00;
 
  // 然后初始化定时器4                              
  TIM2_IER = 0x00;            // 禁止中断
  TIM2_EGR = 0x01;            // 允许产生更新事件
  TIM2_PSCR = 0x01;           // 计数器时钟=主时钟/128=2MHZ/2
                                                            // 相当于计数器周期为1uS
                                                                                                                                                       // 设定重装载时的寄存器值
                                                                                                                                                       // 注意必须保证先写入高8位,再写入低8位
              TIM2_ARRH = 0xEA;           // 设定重装载时的寄存器的高8位
  TIM2_ARRL = 0x60; 
 
  TIM2_CNTRH = 0xEA;          // 设定计数器的初值
  TIM2_CNTRL = 0x60;            
                              // 定时周期=1*60000=60000uS=60ms
                             
  TIM2_CR1 = 0x01;            // b0 = 1,允许计数器工作
                              // b1 = 0,允许更新
                              // 设置控制器,启动定时器
  TIM2_IER = 0x01;            // 允许更新中断
  _asm("rim");                // 允许CPU全局中断
 
  while(1)                    // 进入无限循环
  {
  }                             
}
 
// 函数功能:定时器4的更新中断服务程序
// 输入参数:无
// 输出参数:无
// 返 回 值:无
@far @interrupt void TIM2_UPD_IRQHandler (void)
{
    TIM2_SR1 = 0x00;          // 清除更新标志
    PD_ODR = PD_ODR ^ 0x08;   // LED驱动信号取反
                              //LED闪烁频率=2MHZ/2/60000/2=8.3
}                                         
 
 
收藏 评论1 发布时间:2011-3-23 23:51

举报

1个回答
feixiang20 回答时间:2017-7-3 11:33:58
有没有实验过?
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版