STM8的TIM1定时器简单使用

发布者:MysticJourney最新更新时间:2018-07-24 来源: eefocus关键字:STM8  TIM1  定时器 手机看文章 扫描二维码
随时随地手机看文章

STM8的TIM1是16位高级控制定时器,简单的定时溢出中断。功能实现LED1亮500ms,灭500ms,循环往复。 


#i nclude

void CLK_init(void)
{
CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M
}
void GPIO_init(void)
{
PD_DDR = 0x08; // 配置PD端口的方向寄存器PD3输出
PD_CR1 = 0x08; // 设置PD3为推挽输出
}
void TIM1_init(void)
{
TIM1_PSCRH = 0x1F; // 8M系统时钟经预分频f=fck/(PSCR+1)
TIM1_PSCRL = 0x3F; // PSCR=0x1F3F,f=8M/(0x1F3F+1)=1000Hz,每个计数周期1ms
TIM1_ARRH = 0x01; // 自动重载寄存器ARR=0x01F4=500
TIM1_ARRL = 0xF4; // 每记数500次产生一次中断,即500ms
TIM1_IER = 0x01; // 允许更新中断
TIM1_CR1 = 0x01; // 计数器使能,开始计数
}
#pragma vector=TIM1_OVR_UIF_vector
__interrupt void TIM1_OVR_UIF(void)
{
PD_ODR ^ = 0x08 //LED接在PD3上
TIM1_SR1 = 0x00; // 清除更新中断标记,这步不能漏掉,否则会连续进入中断程序
}
void init_devices(void)
{
asm("sim"); // 关全局中断
CLK_init();
GPIO_init();
TIM1_init();
asm("rim"); // 开全局中断
}
void main( void )
{
init_devices();
// 主循环里没有程序需要执行
while(1);
}

关键字:STM8  TIM1  定时器 引用地址:STM8的TIM1定时器简单使用

上一篇:STM8 Timer1基本定时
下一篇:STM8L1xx利用定时器实现毫秒和微妙延时

推荐阅读最新更新时间:2024-03-16 16:10

IAR+STM8——UART串口发送与中断接收
STM8的UART功能强大,除了常规的串口异步通讯外,还拥有LIN主模式、红外编解码器、智能卡模拟等功能。新手还是从基本的串口通讯入手,那些高级功能等熟练以后再慢慢研究吧。 #i nclude iostm8s207sb.h void CLK_init(void) { CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M } void UART3_init(void) { UART3_BRR2 = 0x01; // 设置波特率9600 UART3_BRR1 = 0x34; // 8M/9600 = 0x341 UART3_CR2 = 0x2C; // 允许接收中断,允许接收,允许发送 } #pra
[单片机]
STM8 复位
STM8S共有9个复位源: NRST引脚产生的外部复位 上电复位(POR) 掉电复位(BOR) 独立看门狗复位 窗口看门狗复位 软件复位 SWIM复位 非法操作码复位 EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位 所有的复位源最终都作用于NRST管脚,并在复位过程中保持低电平。复位入口向量在内存映射中位于固定的地址6000h。 复位电路 复位引脚NRST内部集成了弱上拉电阻RPU,即可作为输入,也可作为开漏输出。 一个在复位引脚上宽度最小为500ns的低电平脉冲即可产生一个外部复位。对于复位的检测是异步进行的,因此即使MCU处于停机(Halt)模式,也有可能进入复位状态。 复位引脚也可以作为开漏输
[单片机]
<font color='red'>STM8</font> 复位
各种工作寄存器(定时器/中断)
以下内容参考郭天祥的书籍: EA:全局中断允许位,要想打开任何中断,EA都必须为1.然后再允许某个特定的中断。ES:串行口中断允许。ES=1时,串口接收或者发送完成数据以后会引起中断(TI=1,或者RI=1)ET1:定时计数器1中断允许。ET1=1时,当定时计数器1计数满,溢出后引起中断,可在中断函数中处理定时器。EX1:外部中断1允许位。EX=1时,外部条边沿(或者电平)中断信号来后,会引起外部中断,可在外部中断函数中处理事件。ET0/EX0功能跟上面一样,只是换了个定时器或者外部中断。   PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。 PT1:T1中断优先级控制位。PT
[单片机]
各种工作寄存器(<font color='red'>定时器</font>/中断)
按键控制音阶声音输出
/* 程序效果:用按键控制音符的输出,用单片机定时器控制频率,驱动喇叭发出不同的声音。一个简单的电子琴。 */ #include reg52.h //头文件 #define uchar unsigned char //宏定义 #define uint unsigned int sbit fmq=P3^4; //定义蜂鸣器的引脚 uchar code freq ={ //这些音乐频率我也不懂,关键是我不懂音律 0xA9,0xEF,//00220HZ ,1 //0 0x93,0xF0,//00233HZ ,1# 0x73,0xF1,//00247HZ ,2 0x49,0xF2,//00262HZ ,2# 0x07,0xF3,//
[单片机]
STM32通用定时器的基本定时器功能实现灯闪烁
/*MAIN.C*/ /* Includes ------------------------------------------------------------------*/ #include stm32f10x.h #include misc.h /* Private function prototypes -----------------------------------------------*/ void RCC_Configuration(void); void NVIC_Configuration(void); void GPIO_Configuration(void); void TIM3_Conf
[单片机]
stm32f103——基本定时器定时器中断
我们前面已经学过了滴答定时器,那么定时器的原理与它一样,只不过滴答定时器是在内核中的定时器,而定时器是片上外设。 定时器分为:基本定时器和通用定时器。 而基本定时器所拥有的功能,通用定时器都有。所以,通用定时器内集成了基本定时器。 定时器作用:产生一个精准的定时 stm32f03中基本定时器为TIM6和TIM7: 16位预分频器:将输入进来的72Mhz进行预分频,但是它是16位的,所以它的分配系数范围为1~65535。 16位自动重装载累加器:用来装载我们设置的计数值。当16位计数单元计数完后,它就将设置的计数值传给计数单元,让计数单元重新开始计数。 16位计数单元:它的内部就是
[单片机]
stm32f103——基本<font color='red'>定时器</font>与<font color='red'>定时器</font>中断
51单片机T0定时器应用2
1.实验任务   用AT89S51的定时/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换指示灯闪烁,每个指示闪烁的频率为0.2秒,也就是说,开始L1指示灯以0.2秒的速率闪烁,当2秒定时到来之后,L2开始以0.2秒的速率闪烁,如此循环下去。0.2秒的闪烁速率也由定时/计数器T0来完成。 2.电路原理图 图4.16.1 3.系统板硬件连线 (1).把“单片机系统”区域中的P1.0-P1.3用导线连接到“八路发光二极管指示模块”区域中的L1-L4上 4.程序设计内容 (1).由于采用中断方式来完成,因此,对于中断源必须它的中断入口地址,对于定时/计数器T0来说,中断入口地址为000BH,因此在中断入口地方加入长跳转指令来执行中
[单片机]
51单片机T0<font color='red'>定时器</font>应用2
STM32CubeMX系列 | 定时器中断
1. 定时器中断简介 STM32的定时器功能十分强大,有高级定时器(TIM1和TIM8)、通用定时器(TIM2~TIM5)和基本定时器(TIM6和TIM7);本实验主要介绍难度适中的通用定时器,通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。 它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。 使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。 每个定时器都是完全独立的,没有互相共享任何资源。 通用TIMx (TIM2、TIM3、TIM4和TIM5)定时器功能包括: 16位向上、向下、向上/向下自动装载计数器 16位
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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