STM8单片机的TIM4和TIM6是8位基本定时器。
定时器功能如下:

基本定时器的功能比较简单,一般只用来实现定时功能。

基本定时器的寄存器也比较少。此处用定时器4测试,TIM4初始化代码如下:

void Timer4_Init( void )
{TIM4_PSCR = 0x07;                           //2^7=128 分频    16M/128=125KTIM4_SR = ( ~0x01 );                        //清除更新中断标志TIM4_ARR = 125;                             //1msTIM4_CNTR = 0;TIM4_CR1 |= 0x01;                           //使能计数器TIM4_IER |= 0x01;                           //更新中断使能
}

首先设置预分频器,STM8默认使用的是内部16MHz晶振,设置预分频寄存器值为7,定时器4的频率为 16M / ( 2^7 ) = 125KHz,下来设置自动重装载寄存器ARR,TIM4是8为定时器,所以自动重装载值最大只能为255,此处设置为125,定时器4的定时时间就为125K/125=1ms。下来使能计数器,开启定时器中断。这样定时器4的初始化工作就完成了。
下来实现定时器中断代码


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

进入中断后,首先清除中断标志位。然后统计中断次数,1ms中断一次,当时间累积为1000ms时,将LED口电平取反。这样就用定时器4实现了1s钟LED灯闪烁一次的效果。

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

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

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

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

    STM8的TIM2.TIM3.TIM5是16位通用寄存器,他们的操作方法一样. 主要功能如下 相关寄存器如下: 如果只用到定时功能的话,需要用到的寄存器有自动装载寄存器ARR.预分频寄存器PSCR.事 ...

  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. python socket sendto sendall_网络通信 Python Socket UDP Select
  2. 第十次ScrumMeeting博客
  3. WebService实例-CRM系统提供WebService实现用户注册功能
  4. PE文件结构详解(二)可执行文件头
  5. C/C++中的typedef 和 #define
  6. 从国内的996,到美国的朝9晚5,真的这么惬意吗?
  7. MRC522(1):卡片ID号的读写
  8. [Luogu 1312] noip11 Mayan游戏
  9. 北京发布全国首个“水下物联网”系统
  10. raid -- 分区-- 格式化 --挂载
  11. 正式环境docker部署hyperf_忍受不了 docker 环境下 hyperf 启动等待时间,教你如何通过 win10 子系统快速运行 hyperf...
  12. linux查看网络静态ip配置文件,linux 配置静态ip地址
  13. 王阳明心学:无善无恶心之体,有善有恶意之动,知善知恶是良知,为善去恶是格物。...
  14. Oracle SQL脚本批量导入导出
  15. Delphi FireDAC SQLite “database is locked“ 解决办法
  16. css设置单行文本超出部分点点点、多行文本超出部分点点点(两种方法)/解决多行 数字不换行问题。
  17. Tushare股票数据全生命周期MACD等指标动态获取计算-前复权
  18. 关于浏览器被劫持主页的处理方法(完结版)
  19. 工具说明书 - 如何画时间轴(Timeline)
  20. access vba 用代码隐藏隐藏左边导航栏

热门文章

  1. Excel 只需要几秒钟就可以解决大问题的好技巧
  2. 蓝牙 MultipeerConnectivity
  3. JAVA自测题栏目正式上线,来测测你的Java功力到底如何!
  4. Lambda表达式示例代码
  5. elasticsearch查询操作(使用marvel插件)
  6. 如何使用txt文件实现JMeter参数化
  7. 计算机网络技术期中,计算机网络技术基础期中试卷
  8. Hi3559av100安装linux,海思hi3559AV100开发板参数规格介绍
  9. github ssh 配置_Git多用户配置
  10. python协程实现一万并发_python中的协程并发