STM8s 定时器2使用

发布者:AngelicGrace最新更新时间:2021-02-22 来源: eefocus关键字:STM8s  定时器2  stlink 手机看文章 扫描二维码
随时随地手机看文章

简介:最近开始使用stm8s103k单片机,今天记录一下它的定时器2的使用。首先需要说明一下,stm8s的中午手册里面写着TIM2 16位向上计数,这个是错误的。


stm8s定时易于使用,首先设定定时器的时钟频率,知道了定时器的时钟周期T,那么定时时间Tn就确定了,即 Tn = T * ARR(自动装载数据)。


程序如下:


1、单片机时钟设定:


//fmaster=fcpu=2MHz


CLK_ECKR=0x00;


CLK_ICKR=0x01;


CLK_CMSR=0xe1;


CLK_SWR=0xe1;


CLK_CKDIVR=0x18;


2、定时器TIM2初始化


//定时器2初始化fmaster/分频=2M/2=1M,1us计数一次,50us 中断一次


void TIM2_Init(void)


{


_asm("sim"); //sim是禁止中断


TIM2_IER = 0x00; //禁止中断


TIM2_EGR =0x01; //允许产生更新标志


TIM2_PSCR =0x01; //设置时钟分频 2M/2=1MHz---1us


TIM2_ARRH = 0x00; //0x32=50; 周期=50次,每50us复位一次定时器2


TIM2_ARRL = 0x32; //ARR自动装载值,每1us递减1


TIM2_CNTRH=0x00; //初值


TIM2_CNTRL=0x00;


TIM2_CR1 |= 0x81; //开启定时器


TIM2_IER |= 0x01; //允许中断


_asm("rim"); //rim使能中断


}


3、中断执行程序


@far @interrupt void TIM2_UPD_IRQHandler(void)


{


TIM2_SR1 &=~(0x01);//=0x0e;//清楚中断标志位


PC_ODR=~PC_ODR;//需要先配置pc,pb为输出口


PB_ODR=~PB_ODR;


}


4、修改中断向量表


打开stm8_interrupt_vector.c文件,添加如下内容:


extern @far @interrupt void TIM2_UPD_IRQHandler(void);


修改下面一行:


{0x82, NonHandledInterrupt},


为:


{0x82,(interrupt_handler_t)TIM2_UPD_IRQHandler},


到此OK了,可以试试。


在我操作过程中,遇到一个很头疼的问题,就是下载器常常不好用,错误号30006,30003.


这两种情况下,首先确认你的stlink接线是否正确,其次量一下4根下载针电压,正确为:5V,Gnd,NRST-5V,SWIM-0v,(大致如此)。如果没有上面的问题,就可能是下载器和电脑没有连接好。需要重新软件连接和确认(Target-setting)。


关键字:STM8s  定时器2  stlink 引用地址:STM8s 定时器2使用

上一篇:STM8学习之nRF24L01
下一篇:TIMER2定时器不能进入中断的问题

推荐阅读最新更新时间:2024-11-11 14:49

STM8S AWU低功耗模式
/** ********************************** STM8S *********************************** * @文件名 : bsp_awu.c * @作者 : strongerHuang * @库版本 : V2.2.0 * @文件版本 : V1.0.0 * @日期 : 2017年05月10日 * @摘要 : 自动唤醒源文件 ******************************************************************************/ /*-----------------------
[单片机]
STM8S TIM4库函数应用
void TIM4_TimerInit(u8 Timer4Time) { assert_param(IS_TIM4TIMERTIME_OK(Timer4Time)); TIM4_DeInit();//复位TIM4所有参数 TIM4_TimeBaseInit(TIM4_PRESCALER_16,Timer4Time);//16M/16= 1M CYCLE=1/1=1U 100us中断一次 //选择16分频 16M/16=1M 周期为1us TIM4_Cmd(ENABLE);//使能计时器 TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);//使能TIM4中断 } 初始化时,调用: TI
[单片机]
STM8的烧写
最近一次烧写STM8遇到以下问题 1.Error : Cannot communicate with the tool. Wrong tool selection or check tool power supply or check that a previous session is closed. Error : PROGRAM MEMORY programming failed. 和stlink的链接出问题, 有两种情况: a.仿真器未连接 b.驱动没装好 2.Error : Cannot communicate with the device ! Check the SWIM cable con
[单片机]
实验四:MSP430定时器综合试验(2学时)
1.实验目的 学会定时器使用。 2.实验要求 掌握定时器的定时控制编程。 3.实验内容 (1)编写键盘扫描程序。 (2)编写LED显示程序。 (3)用定时器控制8个LED循环显示程序(间隔时间1秒)。 (4)编写用键控制LED灯循环方向,按键可以随时切换。。 4.参考资料 #include msp430x14x.h #include Config.h //开发板配置头文件,主要配置IO端口信息 uchar Flag=0; //标志位 uchar Time=0; //时间计数变量 uchar count=0;
[单片机]
IAR+STM32平台STLINK仿真器实现swd方式下载
说明:库文件版本:3.5.0 软件环境:iar for arm 1.修改options- linker- config- linker configuration file 选择generic_cortex.icf并修改这个文件里的内容为 define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF; 2.修改Debugger- Download 选择user flash loader与vertify download
[单片机]
52的定时器/计数器T2的寄存器说明
51系列的单片机中都有两个定时器T0和T1,网上的资料挺多的,52单片机比51单片机的资源多了一个定时器T2和128字节的ram。定时器T2的功能比T1、T0都强大,但描述它的资料不多,可能是使用得比较少的缘故吧。它是一个16位的具有自动重装和捕获能力的定时/计数器,它的计数时钟源可以是内部的机器周期,也可以是P1.0输入的外部时钟脉冲。T2的控制寄存器的功能描述如下: T2CON(T2的控制寄存器),字节地址 0C 8H: 位地址 0CFH 0CEH 0CDH 0CCH 0CBH 0CAH 0C 9H 0C 8H 符 号 TF2 EXF2 RCLK TCLK EXEN2 TR 2 C /
[单片机]
PIC单片机-利用Timer2定时器的溢出中断实现动态扫描数码管
编写程序,令数码管的显示顺序为:0123,1230,2301,3012。 数码管显示分静态扫描和动态扫描,动态扫描显示一般分两种方式 1、选用一个数码管位,写断码显示,延时一定的时间,关闭显示,选择下一位,依次类推,完成数码管的多位扫描显示,这种方式比较耗CPU资源。 2、利用定时器,每隔一个固定的时间去选通,写断码,这种方式可以降低CPU的占用时间,同时,每个数码管显示时间固定,不存在“抖”的现象。 本程序中使用第二种方式,利用Timer2定时器的溢出中断实现动态扫描,Timer2包含一个周期控制寄存器,可以自动控制溢出周期。周期控制寄存器PR2的存在使得TIMER2的计数值有一个可以自由设定的上限。当TIMER
[单片机]
STM8S_010_I2C读写EEPROM (硬件方式)
Ⅰ 写在前面 相信看过前面那篇文章“更加深入理解 I2C总线、协议及应用”的人,对I2C都有一定的了解了。那篇文章是针对I2C使用单片机IO模拟I2C方式实现读写操作。 本文将讲述硬件I2C读写操作,也就是由处理器自身硬件的I2C实现时钟、数据的传输过程。 为方便大家阅读,本文内容已经整理成PDF文件: http://pan.baidu.com/s/1i5uWhJR Ⅱ STM8硬件I2C知识 STM8S的I2C模块不仅可以接收和发送数据,还可以在接收时将数据从串行转换成并行数据,在发送时将数据从并行转换成串行数据。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(最高
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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