- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 TIM时器实验
实验五 TIM定时器实验
一、实验目的
了解TIM定时器的原理与应用
二、实验内容
1.对TIM3定时器进行控制,使得PB5-TIM3通道2产生频率为12.5Hz的方波,该方波控制LED1的闪烁。(特定频率产生)
2.对周期进行设置,控制通用定时器3的2通道,实现1KHz的不同占空比波形,用于控制LED1亮度的明暗渐变。(PWM脉冲宽度调制)
三、实验仪器、设备
计算机、开发板、keil软件
四、软件程序设计
1、频率产生控制LED闪烁实验
根据任务要求,程序内容主要包括:
①配置TIM3的通道2为输出比较模式(预分频系数设置为63),TIM3_CCR2=45000。
②在相应的TIM3定时器中断服务处理程序中根据定时器的值翻转输出电平。以输出方波。
整个工程包含4类源文件:
FWLIB--stm32f10x_gpio.c ST公司的标准库,包含了关于对通用IO口设置的函数。
stm32f10x_rcc.c ST公司的标准库,包含了关于对系统时钟设置的函数。
stm32f10x_USART.c ST公司的标准库,包含了关于对USART设置的函数。
stm32f10x_flash.c ST公司的标准库,包含了关于对flash设置的函数。
Misc.c ST公司的标准库,包含了关于中断设置的函数。
CM3—是关于CORETEX-M3平台的系统函数及定义
App—main.c 例程的主函数。
App—tim.c 定时器3的设置。
App--stm32f10x_it.c 中断服务程序
主函数如下:
//__________________________________________________________
int main(void)
{
/* System Clocks Configuration --72M*/
RCC_Configuration();
/* NVIC configuration */
/*嵌套向量中断控制器
说明了定时器3抢占优先级级别0(最多1位) ,和子优先级级别0(最多7位) */
NVIC_Configuration();
/*定时器3的初始化*/
time_ini();
while(1);
}
void time_ini(void){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
/* GPIOA Configuration: Channel 1 Output */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5复用为TIM3的通道2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, GPIO_InitStructure);
GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE);//TIM3局部复用功能开启 在TIM3的局部复用开启时,PB5会被复用为TIM3_CH2
/* Time Base configuration */
/*-------------------------------------------------------------------
TIM3CLK=72MHz 预分频系数Prescaler=63 经过分频 定时器时钟为1.125MHz
捕获/比较寄存器2 TIM3_CCR2= CCR2_Val
2通道产生的更新频率是=1.125MHz/CCR2_Val=25Hz
-------------------------------------------------------------------*/
TIM3_TimeBaseStructure.TIM_Prescaler = 63; //预分频器TIM3_PSC=63
TIM3_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数器向上计数模式 TIM3_
文档评论(0)