STM8的TIM2、TIM3、TIM5是16位通用寄存器,他们的操作方法一样。

主要功能如下
相关寄存器如下:

如果只用到定时功能的话,需要用到的寄存器有自动装载寄存器ARR、预分频寄存器PSCR、事件产生寄存器EGR、状态寄存器SR、控制寄存器CR、中断使能寄存器IER。
此处用TIM2实验,定时器2初始化代码如下:

void Timer2_Init( void )
{TIM2_ARRH = ( unsigned char )( 1000 >> 8 );         //定时1msTIM2_ARRL = ( unsigned char )( 1000 );TIM2_PSCR = 0x04;         // 16M / (2^4) =1M        //分频值TIM2_EGR = 0x01;                                  //产生更新事件TIM2_SR1 = ( ~0x01 );                              //清除更新中断标志TIM2_CR1 |= 0x01;                                   //使能计数器TIM2_IER |= 0x01;                                    //更新中断使能
}

首先设置自动重装载值,此处设置为1000,也就是计数器从0开始计数,当计数到1000时,产生一个中断,然后从0开始重新计数。
下来设置分频系数

系统默认使用的是内部16M晶振,设置分频值为4,定时器频率就为16M / ( 2^4 ) = 1MHz,计数值设置为1000,这样中断一次就是1ms。
下来使能计数器,开启更新中断。这样定时器初始化工作就设置完成了。
下来编写中断函数

#pragma vector  =  15                          // IAR中的中断号,要在STVD中的中断号上加2
__interrupt void Timer2_Handle( void )         //1ms 定时中断
{TIM2_SR1 = ( ~0x01 );                      //清除更新中断标志time_cnt++;if( time_cnt > 999 ){time_cnt = 0;LED = !LED;}
}

进入中断函数中首先清除中断标志位,下来统计中断次数,因为中断1次为1ms,当时间到达1s后,对LED灯状态取反。这样通过定时器2的定时功能就可以实现LED灯1s中闪烁一次。

STM8学习笔记---定时器 TIM2功能实现相关推荐

  1. STM8学习笔记---定时器 TIM4功能实现

    STM8单片机的TIM4和TIM6是8位基本定时器. 定时器功能如下: 基本定时器的功能比较简单,一般只用来实现定时功能. 基本定时器的寄存器也比较少.此处用定时器4测试,TIM4初始化代码如下: v ...

  2. STM8学习笔记---定时器 TIM1功能实现

    STM8单片机的定时器1是一个16位定时器 定时器1为高级定时器,主要特性如下: 定时器1的寄存器比较多, 如果单纯的只是用定时功能的话,用不到这么多的寄存器.定时功能需要设置的寄存器主要有自动重装载 ...

  3. STM8学习笔记---定时器输出7路PWM波

    STM8S003F3P6单片机共有三个定时器定时器1.定时器2.定时器4.其中定时器1为16位高级定时器,定时器2为16位通用定时器,定时器4为8位基本定时器.定时器1和定时器2可以输出PWM波.其中 ...

  4. STM8学习笔记---利用PWM功能输出SPWM波

    要生成SPWM波,其关键是要生成一组正弦规律变化的数字,然后将数字对应成PWM输出的占空比,按照顺序输出占空比就行.生成正弦波的方法在 使用C语言产生正弦波数据 这篇博客有详细说明,这里就不说了. 本 ...

  5. STM8学习笔记----普通IO口模拟串口功能

    串口在产品应用中很常见,但是单片机的默认带的串口往往比较少,有时候就会出现串口不够用,所以就想着能不能用普通IO口模拟串口来实现串口的功能. 要模拟串口首先要清楚串口数据传输过程中的原理. 常用的串口 ...

  6. 从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---11. MVC功能之http请求处理器的编写---简易框架最后一公里!

    从零写一个具有IOC-AOP-MVC功能的框架-学习笔记 专栏往期文章链接: IOC功能相关章节: 从零写一个具有IOC-AOP-MVC功能的框架-学习笔记-01.项目初始化 从零写一个具有IOC-A ...

  7. 学海灯塔新增学习笔记上传功能

    又经过一天的努力,学海灯塔学习笔记上传功能实现.欢迎访问我们的学海灯塔 学习笔记这一模块的功能和课程文件类似,由同学们上传自己的学习笔记,用户可以下载,并且可以对笔记进行打分,后期将增加文件讨论功能. ...

  8. 《智能对话机器人开发实战20讲》--学习笔记--AIML基础功能拓展-与互联网的集成

    一.学习笔记 环境要求: aiml bs4 语料库: tuling.aiml search_web.aiml <that>WHICH SEARCH ENGINE WOULD YOU LIK ...

  9. STM8学习笔记3 STM8简介

    概述 STM8单片机的开发商是意法半导体(ST),于2009年推出.它具有3级流水线架构.性价比高.开发方便的等优点.根据应用场合的不同,分为三个系列:STM8S,STM8L和STM8A. 个人认为, ...

最新文章

  1. html标签一对一绑定的组件,一种原生组件替换HTML标签的轻量级方法尝试
  2. 谈谈java面向对象之抽象,手把手带你搞定java面试之面向对象
  3. 微信小程序开发实战(三)自定义UI样式---增加减少按钮
  4. 小米11和华为p40pro哪个好
  5. ReactJS入门之JSX语法
  6. JVM 类型的生命周期学习
  7. 工作236:点击直接进入
  8. 结型场效应管的结构、特性、参数
  9. 作者:刘玮(1977-),男,中国科学院计算技术研究所网络数据中心、烟台中科网络技术研究所工程师。...
  10. 《剑指offer》面试题15—输出链表中倒数第n个结点
  11. 我的世界服务器领地怎么无限大,我的世界:Minecraft都市传说,MC无限大?让我们一起寻找边界吧...
  12. 【AD18】原理图生成PDF
  13. 微信小程序安装Vant组件库
  14. Idea 离线安装插件 Idea 安装离线插件
  15. openGauss数据库备份与恢复
  16. ARM 汇编指令 CPS CPSID CPSIE
  17. submit 和 button的区别
  18. 品牌制造商做电子商务的成本结构分析
  19. SPA项目开发(首页导航左侧菜单)
  20. 【高等代数】线性空间-知识点总结

热门文章

  1. scjp考试准备 - 11 - 类型转换2
  2. RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例
  3. 几句话就能让你明白:VLAN是什么、TRUNK又是什么
  4. python3 解析 base64 数据
  5. python接口自动化测试一:http协议
  6. 关于程序员前途的看法和我系列文章的想法
  7. sql 删除重复记录
  8. 用C#(ASP.Net)在Exchange Server环境下发送邮件
  9. 从集合大小的定义到数学结构-解决了多年的疑惑
  10. 【测试】软件测试分类体系系统学习