- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目三 数字时钟 项目内容知识定时器的基本结构定时器的原理(重点、难点)中断的原理(重点、难点)技能定时器的使用(重点、难点)中断的使用(重点、难点)实践1Hz闪烁LED简易秒表考核数字时钟的实现 项目计划计划总课时:12课时计划讲授课时:6课时计划实践课时:6课时 目录项目描述定时器概述STM32定时器的使用中断、中断控制器NVIC及定时器中断外部中断EXTI数字时钟逻辑设计 项目描述 数字时钟是日常生活中常见的物品。使用开发板可以自制一个数字时钟,而使时钟运行准确的保证则是微控制器中的一个重要资源——定时器。STM32F103VET6拥有8个定时器,其中一般功能定时器4个,高级功能定时器2个,基础定时器2个。在本项目中,主要讲解一般功能定时器的使用。 任务描述项目3的任务是使用STM32开发板完成一个数字时钟。要求数码管显示小时和分钟信息。使用1个按键,用于修改小时;使用1个按键,用于修改分钟;为了显示秒的变化,要求设计8位流水灯,要求每秒完成一次流水。为了便于演示进位,设置1个按钮,按下后,时钟速度提高6倍。也就是每10s分钟数字应该加1。扩展要求:设置一个按键,按下时显示秒,松开时显示小时和分钟。要求按下时,正常走时。 定时器概述 什么是定时器(timer)?定时器是一种在微控制器中能够实现准确计时的功能模块,是微控制器非常重要的一种硬件资源。所有电子产品中的计时功能,都直接或间接与定时器相关。 STM32F103通用功能定时器主要性能16位,向上,向下,向上向下,自动重装计数器16位可编程分频器更新中断:定时器上溢出、下溢出等等等 定时器的本质是计数器。在数字电子计数中,我们学习过计数器,例如,74LS161。每当一个脉冲上升沿产生在计数器的CP引脚上时,计数器的输出将加1(以向上计数为例)。假设,有一已知且固定的频率的信号加在CP引脚上,那么计数器的输出Q则表明时间经过了Q个已知信号的周期。 左图是STM32F103通用功能定时器的框图,相比较于GPIO的框图,这个框图显得要复杂很多。由于本项目中仅需要使用到定时器中最基本的功能。因此,只需要关注框图的一部分。 左图是定时器框图的上半部分。而我们需要使用到的,仅仅是这部分框图的三分之一。从框图可以得知,定时器的时钟来源于RCC,经过分频器后到达计数器。 当74LS161计数到0xf时,RCO会产生一个脉冲,用于表示当前计数满。类似的,STM32F103的定时器计数溢出时会有一个标志位置位。 对前几页PPT做一个小结。使用定时器的关键是:如何配置分频器如何配置计数器如何利用溢出标志位分频器和计数器的配置将决定定时器所记录的时间,而到达这一设定时间的标志就是溢出标志位置位。正如使用闹钟一样,我们不但需要设定时间,还需要在设定时间到达时,有一个提醒。 STM32F103定时器的使用 在使用STM32F103的GPIO时,基本步骤是:使能GPIO时钟;GPIO配置;使用GPIO。这一步骤,推广到所有的片上资源都是类似的。因此,在使用定时器时,基本步骤仍然时:是能定时器时钟;配置定时器;使用定时器。 STM32F103VET6的片上有8个定时器,其中通用功能定时器(General-purpose timer)为TIM2~TIM5,选用TIM2即可。 使能TIM2时钟,使用RCC_APB1PeriphClockCmd函数。GPIO使用的APB2时钟,TIM2使用的是APB1时钟,那么如何判断一个资源使用哪个时钟呢?最直接的方法就是查看固件库文档中RCC_APB1PeriphClockCmd和RCC_APB2PeriphClockCmd两个函数的参数。 例如,启动ADC1的时钟,可以从RCC_APB2PeriphClockCmd 函数的参数中找到RCC_APB2Periph_ADC1,则可确认ADC1属于APB2时钟。使用该方法查找,比在数据手册的时钟树图中寻找ADC时钟要方便,且不易出错。 使能TIM2时钟的代码如下:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); 时钟使能之后,就可以对TIM2进行配置。从固件库文档中,找到TIM2_TimeBaseInit函数。 为什么TIM2的初始化函数名不是TIM_Init?因为定时器的功能非常多,在分析定时器部分的框图时,就已经知道我们使用的仅仅只是定时器中非常少的一部分功能。正因为功能多,那么使用TIM_Init作为函数名就很难确定是对哪部分功能进行初始化。因此,通过查看定时器部分的固件库文档,会发现不但有TIM_TimeBaseInit,还有TIM_OC1Init 等多个以Init结尾的初始化函数。而TIM_TimeBaseInit,从函数名就能看出,是定时器基础功能初始化,定
您可能关注的文档
- Python语言程序设计(工作手册式)实验及答案.docx
- Python语言程序设计(工作手册式)电子教案.docx
- Python程序设计项目化教程 (微课版)电子教案.docx
- Python语言程序设计(工作手册式)全套PPT课件.pptx
- 基于AI的虚拟主播设计-全套PPT课件.pptx
- 《H5+交互融媒体设计》全套PPT课件.pptx
- Python程序设计项目化教程(微课版)全套PPT课件.pptx
- 嵌入式技术应用项目式教程(STM32版)项目4 简易电压表.pptx
- 嵌入式技术应用项目式教程(STM32版)项目5 简易虚拟示波器.pptx
- 嵌入式技术应用项目式教程(STM32版)项目1 流水灯.pptx
文档评论(0)