zoukankan      html  css  js  c++  java
  • STM8S定时器工作

      TIM4是一个8位通用定时器,TIM4工作时,其计数器从0开始向上计数,计数到TIM4_ARR寄存器中设置的值时,计数器从新从0开始计数,同时产生一个计数器溢出事件。

    程序实例

    void main(void)

    {

      InitLED();

      InitTIM4();

      asm("ris");

      TIM4_CR1 |= 0X01;

       while(1){}

    }

    InitTIM4();为 TIM4 初始化函数,起作用是设置 TIM4 的相关寄存器,使 TIM4 每隔一段时间产生一
    次溢出中断。其函数内部如下:
    void InitTIM4(void)

    {

      TIM4_PSCR = 0X07;//分频2M/2^7=15.625K
          TIM4_IER = 0X01;//更新中断使      TIM4_CNTR = 255;//计数器初值 ,255*(1/15.625K)=0.01632S

      TIM4_ARR = 255;//自动重装的值

    }

    TIM4_PSCR = 0X07;//分频2M/2^7=15.625K表示设置定时器的时钟频率,在定时器完成一个周期则计数器就增加1一直增加到255就自动返回0,然后产生一个中断事件

    #pragma vector=TIM4_OVR_UIF_vector //定义中断服务函数入口地址
    __interrupt void TIM4_OVR_UIF__IRQHandler(void)
    {
      i++;
      TIM4_SR=0x00; //清除中断标志
      if(i==61)
      { //翻转 LED 接口的输出状态
        PC_ODR_ODR3^=1;
        PE_ODR_ODR0^=1;
        PD_ODR_ODR3^=1;
        i=0;
      }
    }

  • 相关阅读:
    文档注释
    配置环境变量
    Java编译-->运行
    DOS命令(日后补充)
    字符、字符串函数
    输入字符串,逆序输出
    求矩阵最大元素值,以及行号和列号
    Apache和Tomcat的区别
    C# params关键字
    JSP的隐式对象(session)
  • 原文地址:https://www.cnblogs.com/xiangxiangyuan/p/4644294.html
Copyright © 2011-2022 走看看