STM8的TIM4定时器1ms进入中断

发布者:PeacefulOasis最新更新时间:2021-11-01 来源: eefocus关键字:STM8  TIM4  定时器  进入中断 手机看文章 扫描二维码
随时随地手机看文章

TIM4 — 8位基本定时器

● 8位自动装载可调整的预分频器,比例可选为1~128之间任意的2的幂

● 时钟源: CPU时钟

● 中断源: 1个溢出/更新中断


需要实现1ms进入一次中断,可作为系统定时器


TIM4初始化


void Tim4_Init(void)

{

  TIM4_DeInit();

  TIM4_TimeBaseInit(TIM4_PRESCALER_64,250-1);//64分频,向上计数,16M/64/250 = 1ms计数完了触发中断

  TIM4_ARRPreloadConfig(ENABLE);//使能自动重装

  TIM4_ITConfig(TIM4_IT_UPDATE , ENABLE);//数据更新中断

  TIM4_Cmd(ENABLE);//开定时器

   __enable_interrupt(); 

}


系统内部时钟16M,经过64分频,然后除以250就得到1ms


中断程序


__interrupt void TIM4_UPD_OVF_IRQHandler(void) 

{

  Sys_Timer++;

  TIM4_ClearITPendingBit(TIM4_IT_UPDATE);

}


主函数


#include "stm8s.h"


int main(void)

{

Tim4_Init(); //系统定时器初始化 

  while (1)

  {

      if(Sys_Timer >= 10) //10ms

    {



        Sys_Timer = 0;  

LedTimer++;

    }

      if(LedTimer >= 50) //0.5s     

    {


     LedTimer = 0;

    }

  }  

}


关键字:STM8  TIM4  定时器  进入中断 引用地址:STM8的TIM4定时器1ms进入中断

上一篇:STM8S103之tim2捕获周期
下一篇:STM8S(105K4)使用笔记——TIM4的基础配置

推荐阅读最新更新时间:2024-11-17 04:06

STM32的高级定时器里面死区的概念
“死区”的概念 PWM 脉宽调制 在电力电子中,最常用的就是整流和逆变。这就需要用到整流桥和逆变桥。以两电平为例,每个桥臂上有两个电力电子器件,比如IGBT。这两个IGBT不能同时导通,否则就会出现短路的情况。因此,设计带死区的PWM波可以防止上下两个器件同时导通。也就是说,当一个器件导通后关闭,再经过一段死区,这时才能让另一个导通。 死区,简单解释 通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下半桥是是绝对不能同时导通的,但高速的PWM驱动信号在达到功率元件的控制极时,往往会由于各种各样的原因产生延迟的效果,造成某个半桥元件在应该关断时没有关断,造成功率元件烧毁。 死区就是在
[单片机]
STM8 ADC初始化+采集数据
ADC初始化函数: void Adc_Initialize(void) { ADC2_Init(ADC2_CONVERSIONMODE_SINGLE,ADC2_CHANNEL_8,ADC2_PRESSEL_FCPU_D2, ADC2_EXTTRIG_TIM,DISABLE,ADC2_ALIGN_RIGHT,ADC2_SCHMITTTRIG_CHANNEL8,DISABLE); ADC2_Cmd(ENABLE); } 其中: ADC2_CONVERSIONMODE_SINGLE:ADC转换模式为单次转换模式. ADC2_CHANNEL_8:对应GPIO口的通道 ADC2_PR
[单片机]
<font color='red'>STM8</font> ADC初始化+采集数据
合泰单片机定时器数码管显示
;内容:4位共阴数码管显示0000-9999显示 ;数码管段码接法A-PD0,B-PD1....G-PD6,H-PD7 ;数码管位码接法OM0-PC0...COM4-PC3 ;目的: ;1.查表 ;2.间接寻址 ;3.定时器的使用 ;源程序下载地址:http://www.51hei.com/f/htsmg.rar include HT66F50.inc ORG 0000H JMP A1 ORG 0014H ;多功能中断入口地址 JMP ZD1 ORG 002DH Q1: DC 03FH ; 0 DC 006H ; 1 DC 05BH ; 2 DC 04FH ; 3 DC 066H ; 4 DC 06DH ; 5 DC 07DH
[单片机]
STM8 STM8S208MB寄存器
引脚类型 寄存器 STM8S208MB寄存器采用LQFP80封装,此处的80就表示都会 有80个引脚,其中68个引脚是GPIO。按 GPIO 端口功能分类,依次是 PA 组GPIO端口有6个(PA1-PA6) PB 组GPIO端口有8个(PB0-PB7) PC 组GPIO端口有8个(PC0-PC7) PD 组GPIO端口有8个(PD0-PD7) PE 组GPIO端口有8个(PE0-PE7) PF 组GPIO端口有6个(PF0,PF3-PF7) PG 组GPIO端口有8个(PG0-PG7) PH 组GPIO端口有8个(PH0-PH7) PI 组GPIO端口有8个(PI0-PI7) STM8S208MB 每一个端口寄存器位驱
[单片机]
<font color='red'>STM8</font> STM8S208MB寄存器
【STM32 Cotex-M3处理器系列编程】定时器输出PWM波
//使用定时器TIM4的3通道CH3输出占空比为25%的PWM波 #include stm32f10x.h int main(void) { // SystemInit(); //配置IO口 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE,ENABLE);//IO口使能设置 GPIO_InitTypeDef GPIO_InitStructure; //定义结构体 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //TIM3的C
[单片机]
avr定时器T0,T1,T2初始化配置及其说明
#include iom16v.h #include macros.h unsigned char shi,fen,miao; unsigned char t=0; #define DATA_T0_INIT 156 #define DATA_T1_INIT 31249 #define DATA_T2_INIT 156 unsigned int T0_CAPT=0; //T0/C0溢出中断向量端口 #pragma interrupt_handler Timer0_over:iv_TIMER0_OVF //T0/C0比较匹配中断向量端口 #pragma interrupt_handler Timer0_COMP:iv_TIMER
[单片机]
stm32专题二十六:高级定时器介绍
高级定时器 STM32F103有 2 个高级定时器 TIM1 和 TIM8,高级定时器的功能主要有定时、输入捕获、输出比较、互补输出等。 高级定时器简介: 计数器16bit,上 / 下 / 两边 计数,TIM1和TIM8,还有一个重复计数器RCR,独有; 有4个GPIO,其中通道1 ~ 3还有互补输出GPIO; 时钟来自PCLK2,为72M,可实现1~65536分频; 高级定时器和通用定时器的引脚分布: 高级定时器结构框图(分成6个部分): 一、时钟源: 内部时钟(CK_INT); 外部时钟模式1:外部输入引脚; 外部时钟模式2:外部触发输入ETR; 内部触发输入(ITRx):使用一
[单片机]
stm32专题二十六:高级<font color='red'>定时器</font>介绍
单片机定时器/计数器工作方式
 (1)工作方式0   C/T -定时 / 计数功能选择位。   C/T = 0 ,对片内机器周期进行计数,作定时器用;   C/T = 1 ,对片外从 T0 ( P3.4 )、 T1 ( P3.5 )引脚输入 的外部脉冲信号进行计数 , 作计数器用。   GATE -门控位。   GATE=0 ,允许软件控制位 TR0 或 TR1 启动定时器;   GATE=1 ,允许外中断引脚 INT0( 或 INT1) 为高电电平,且由软件使 TR0( 或 TR1) 置 1 时,才能启动定时器工作。   当 GATE=0 时,封锁或门输出恒为 1 ,使外部中断输入引脚 INT0 信号失效,同时又打开与门,由 TR0 控制定时器
[单片机]
单片机<font color='red'>定时器</font>/计数器工作方式

推荐帖子

【HC32F4A0开发板】移植LVGL电容触摸屏驱动
在https://bbs.eeworld.com.cn/thread-1234256-1-1.html这篇中,LVGL的显示部分移植到开发板上,在https://bbs.eeworld.com.cn/thread-1234575-1-1.html这篇中已经测试触摸屏驱动,下面将电容触摸功能也移植到开发板。一、LVGL中添加触摸程序LVGL的触摸程序是在lv_port_indev_templ.c文件中定义的需要要到的函数如下:在下面的文件中,添加触
TL-LED 国产芯片交流
晒WEBENCH设计的过程+输出频率可调DC-DC电路设计
用WEBENCH设计输出频率可调DC-DC电路设计,PWM频率可调可以方便的更改PWM的斩波频率,优化电感的感值大小,及相应的输出纹波大小,晒WEBENCH设计的过程+输出频率可调DC-DC电路设计
hanskying666 模拟与混合信号
求教关于波导缝隙天线HFSS仿真的问题
我用HFSS仿真的一个波导缝隙天线阵,缝的尺寸位置都设好了,结果和预期的不一样,不知道仿真参数哪里设置出问题了,还请各位朋友帮我看一下。仿真文件在附件里,非常感谢。求教关于波导缝隙天线HFSS仿真的问题
ahulym RF/无线
【IoT毕设】机智云物联网平台+arduino开发板+呼吸检测系统
摘要:本文基于Arduino开发板,设计了基于压电原理的呼吸检测系统。系统采用柔性聚偏氟乙烯(PolyvinylideneFluoride,PVDF)压电薄膜传感器采集呼吸信号,实现了无接触式检测到呼吸信号。该传感器不仅可以避免使用者在使用时的尴尬,也减少了使用者的看病时间和费用,同时还可以更加紧凑有效的使用医护资源。设计过程中将数据传入云端,为使用者及时查看提供方便。0引言作为人体重要的生命活动之一,呼吸对于维持身体正常的生理代谢至关重要。随着生活水
毛球大大 RF/无线
使用GPRS模块拨号上网的问题,我又给了100分!大侠们救救我吧
我使用的是GPRS模块是BENQ的M22A,ARM是lpc2136,呜呜呜,现在要使用不带TCP/IP协议的模块上网,那当然得自己搞协议了,现在遇到的问题是我拨了ATD*99#以后吧,给板子上电,然后板子开始进行一系列AT命令的初始化,然后就开始拨ATD*99#,三次握手都通过了,我还能看到primaryDNSadress和sencondaryDNSadress,反正到了这一步,就是GPRS模块已经得到IP地址了,是不是啊?就说明握手成功了,那继续往下看,从串口返回:udp_estali
wy123wy123 嵌入式系统
开始学习嵌入式操作系统,请指教~~~~~~~~~~~
看完了uboot,知道移植流程,想试着自己配置uclinux,及深入学习,有一些疑惑,请指教1、试了下配置uclinux,发现配置项实在太多了,请问主要的配置项是哪些部分?非常感谢!!!2、移植了uclinux后,是否还需要添加驱动才能正常驱动板上的模块?uboot虽然对板子进行了初始化,但我不理解uclinux是怎样驱动下层的(感觉不到uboot与uclinux间的联系,仅仅是引导而已?)3、网上有人建议从ucos学起,我对操作系统理解有限,给一点学习建议?给意见就好,非常非常感谢开
282767310 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved