ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:15.89KB ,
资源ID:6387236      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6387236.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(STM32f107定时器应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

STM32f107定时器应用.docx

1、STM32f107定时器应用/* 文件名称: STM32f107 T1定时器应用* 功能描述: * 参 数: None* 返 回 值: None* 作 者: 汪仁海* 日 期: 2012年2月17日*-* 修 改 人:* 日 期:*-*/#include main.hint time1_NUM;/*函数: void Timer1_Configuration(void)功能: TIM1 配置参数: 无返回: 无定时计算:(1 /(72 / (36 - 1 + 1) * 2000 us = 1000us = 1ms*/void Timer1_Configuration(void) TIM_Time

2、BaseInitTypeDef TIM_TimeBaseStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); /打开TIM1定时器的时钟 TIM_DeInit(TIM1); /TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 200; /自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 - 1; /TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CK

3、D_DIV1; /采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /向上计数模式 TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); /清中断,以免一启用中断后立即产生中断 TIM_ClearFlag(TIM1, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM1, ENABLE); /允许自动重装载寄存器(ARR) TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE); /允许TIM1溢出中断 TIM_Cmd(

4、TIM1, ENABLE); /TIM1开启时钟 time1_NUM=0;/*函数: void TIM1_IRQHandler(void)功能: TIM1中断处理函数参数: 无返回: 无说明:1ms中断1次*/void TIM1_UP_IRQHandler(void) if(TIM_GetITStatus(TIM1,TIM_IT_Update)!=RESET) TIM_ClearITPendingBit(TIM1,TIM_IT_Update); /清除中断标志 if(time1_NUM=900) / time1_NUM+; else time1_NUM=0; /Uart1_PutChar(0x

5、fa); /Uart5_PutChar(0x11); /Uart3_PutChar(0xdd); / /* 文件名称: STM32f107 T2定时器应用* 功能描述: * 参 数: None* 返 回 值: None* 作 者: 汪仁海* 日 期: 2012年2月17日*-* 修 改 人:* 日 期:*-*/#include main.hint time2_NUM;/*函数: void Timer2_Configuration(void)功能: TIM2 配置参数: 无返回: 无定时计算:(1 /(72 / (36 - 1 + 1) * 2000 us = 1000us = 1ms*/voi

6、d Timer2_Configuration(void) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /打开TIM2定时器的时钟 TIM_DeInit(TIM2); /TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 2000; /自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 - 1; /TIMx时钟频率除数的预分频值 TIM_Time

7、BaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /向上计数模式 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /清中断,以免一启用中断后立即产生中断 /TIM_ClearFlag(TIM2, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM2, ENABLE); /允许自动重装载寄存器(ARR) TIM_ITConfig(TIM2,TIM_

8、IT_Update,ENABLE); /允许TIM2溢出中断 TIM_Cmd(TIM2, ENABLE); /TIM2开启时钟 time2_NUM=0;/*函数: void TIM2_IRQHandler(void)功能: TIM2中断处理函数参数: 无返回: 无说明:1ms中断1次*/void TIM2_IRQHandler(void) if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET) TIM_ClearITPendingBit(TIM2,TIM_IT_Update); /清除中断标志 if(time2_NUM=80) / time2_NUM+;

9、else time2_NUM=0; /Uart5_PutChar(0x22); /Uart1_PutChar(2); / /* 文件名称: STM32f107 T3定时器应用* 功能描述: * 参 数: None* 返 回 值: None* 作 者: 汪仁海* 日 期: 2012年2月17日*-* 修 改 人:* 日 期:*-*/#include main.hint time3_NUM;/*函数: void Timer3_Configuration(void)功能: TIM3 配置参数: 无返回: 无定时计算:(1 /(72 / (36 - 1 + 1) * 2000 us = 1000us

10、= 1ms*/void Timer3_Configuration(void) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); /打开TIM3定时器的时钟 TIM_DeInit(TIM3); /TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 2000; /自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 - 1; /TIMx时钟频率除数的预分频

11、值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /向上计数模式 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /清中断,以免一启用中断后立即产生中断 /TIM_ClearFlag(TIM3, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM3, ENABLE); /允许自动重装载寄存器(ARR) TIM_ITConfig

12、(TIM3,TIM_IT_Update,ENABLE); /允许TIM3溢出中断 TIM_Cmd(TIM3, ENABLE); /TIM3开启时钟 time3_NUM=0; /*函数: void TIM2_IRQHandler(void)功能: TIM3中断处理函数参数: 无返回: 无说明:1ms中断1次*/void TIM3_IRQHandler(void) if(TIM_GetITStatus(TIM3,TIM_IT_Update)!=RESET) TIM_ClearITPendingBit(TIM3,TIM_IT_Update); /清除中断标志 if(time3_NUM=950) /

13、time3_NUM+; else time3_NUM=0; /Uart5_PutChar(0x33); /Uart1_PutChar(3); /* 文件名称: STM32f107 T4定时器应用* 功能描述: * 参 数: None* 返 回 值: None* 作 者: 汪仁海* 日 期: 2012年2月17日*-* 修 改 人:* 日 期:*-*/#include main.hint time4_NUM;/*函数: void Timer4_Configuration(void)功能: TIM4 配置参数: 无返回: 无定时计算:(1 /(72 / (36 - 1 + 1) * 2000 us

14、 = 1000us = 1ms*/void Timer4_Configuration(void) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); /打开TIM4定时器的时钟 TIM_DeInit(TIM4); /TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 2000; /自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 - 1; /TIMx

15、时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /向上计数模式 TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); /清中断,以免一启用中断后立即产生中断 TIM_ClearFlag(TIM4, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM4, ENABLE); /允许自动重装载寄存器(ARR) TIM

16、_ITConfig(TIM4,TIM_IT_Update,ENABLE); /允许TIM4溢出中断 TIM_Cmd(TIM4, ENABLE); /TIM4开启时钟 time4_NUM=0;/*函数: void TIM2_IRQHandler(void)功能: TIM4中断处理函数参数: 无返回: 无说明:1ms中断1次*/void TIM4_IRQHandler(void) if(TIM_GetITStatus(TIM4,TIM_IT_Update)!=RESET) TIM_ClearITPendingBit(TIM4,TIM_IT_Update); /清除中断标志 if(time4_NUM

17、=970) / time4_NUM+; else time4_NUM=0; /Uart5_PutChar(0x44); /Uart1_PutChar(4); /* 文件名称: STM32f107 T5定时器应用* 功能描述: * 参 数: None* 返 回 值: None* 作 者: 汪仁海* 日 期: 2012年2月17日*-* 修 改 人:* 日 期:*-*/#include main.hint time5_NUM;/*函数: void Timer5_Configuration(void)功能: TIM5 配置参数: 无返回: 无定时计算:(1 /(72 / (36 - 1 + 1) *

18、 2000 us = 1000us = 1ms*/void Timer5_Configuration(void) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); /打开TIM5定时器的时钟 TIM_DeInit(TIM5); /TIMx寄存器重设为缺省值 TIM_TimeBaseStructure.TIM_Period = 2000; /自动重装载寄存器周期的值 TIM_TimeBaseStructure.TIM_Prescaler=36 -

19、1; /TIMx时钟频率除数的预分频值 TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /采样分频 TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /向上计数模式 TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); /清中断,以免一启用中断后立即产生中断 TIM_ClearFlag(TIM5, TIM_FLAG_Update); TIM_ARRPreloadConfig(TIM5, ENABLE); /允许自动重装载寄存器(

20、ARR) TIM_ITConfig(TIM5,TIM_IT_Update,ENABLE); /允许TIM5溢出中断 TIM_Cmd(TIM5, ENABLE); /TIM5开启时钟 time5_NUM=0;/*函数: void TIM2_IRQHandler(void)功能: TIM5中断处理函数参数: 无返回: 无说明:1ms中断1次*/void TIM5_IRQHandler(void) if(TIM_GetITStatus(TIM5,TIM_IT_Update)!=RESET) TIM_ClearITPendingBit(TIM5,TIM_IT_Update); /清除中断标志 if(time5_NUM=990) /1000US time5_NUM+; else time5_NUM=0; /Uart1_PutChar(5); /Uart5_PutChar(0x55);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1