77范文网 - 专业文章范例文档资料分享平台

STM32教程(1) - 图文(4)

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

STM32 开发板教程

3.3 实验二按键

实验名称

按键控制流水灯 实验目的

学习STM32的IO口使用方法,了解按键的检测方法。 实验内容

了解STM32单片机的IO口配置、IO口的一些寄存器和IO口的一些库函数及库函数的调用,了解按键按下的检测,并编写按键程序。

按下KEY1键LED4-LED1依次流水,按下KEY2键LED1-LED4依次流水,按下KEY3键四个灯全闪烁。 实验原理

按键的检测主要是通过读取IO口的高低电平来判断按键是按下还是弹起。主要也是了解IO口的使用(IO口的使用在实验一有详细介绍,这里不在介绍) 实验步骤

1、打开STM32开发板\\例程\\key 的工程,并编译。

2、给板子供电并连接下载线,并连接JP4的跳冒建立按键与单片机的连接,都连接好后点击运行。

3、观察现象。

3.4 实验三定时器

实验名称

定时器控制LED灯的闪烁 实验目的

学习STM32单片机定时器的使用,了解如何配置定时器的一些寄存器。 实验内容

利用定时器中断,实现LED4灯的闪烁 实验原理

这一节主要介绍了STM32的通用定时器,STM32的定时器功能非常强大,有TIME1 和TIME8 等高级定时器,也有TIME2~TIME5 等通用定时器,还有TIME6 和TIME7 等基本定时器。

STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)等。 使用定时器预分频器和RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。

STM3 的通用TIMx (TIM2、TIM3、TIM4 和TIM5)定时器功能包括: 1)16 位向上、向下、向上/向下自动装载计数器(TIMx_CNT)。

2)16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为1~ 65535 之间的任意数值。

3)4 个独立通道(TIMx_CH1~4),这些通道可以用来作为: 康泰医学系统有限公司 16 www.contecmed.com

STM32 开发板教程

A.输入捕获 B.输出比较

C.PWM 生成(边缘或中间对齐模式) D.单脉冲模式输出

4)可使用外部信号(TIMx_ETR)控制定时器和定时器互连(可以用1 个定时器控制另外

一个定时器)的同步电路。

5)如下事件发生时产生中断/DMA:

A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) C.输入捕获 D.输出比较

E.支持针对定位的增量(正交)编码器和霍尔传感器电路 F.触发输入作为外部时钟或者按周期的电流管理

康泰医学系统有限公司 17 www.contecmed.com

STM32 开发板教程

图 3.4.1 定时器的库函数

图3.4.1为定时器的一些库函数

这一节,我们将使用定时器产生中断,然后在中断服务函数里面翻转LED4 上的电平,来 指示定时器中断的产生。接下来我们以通用定时器TIM2 为实例,说明一下配置定时器的步骤:

1、TIME2时钟使能

2、设置TIME2_ARR和TIME2_PSC的值 3、设置TIME2_DIER允许更新中断 4、允许TIME2工作 5、TIME2中断分组设置 6、编写中断服务函数

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE);//使能定时器TIME2时钟 康泰医学系统有限公司 18 www.contecmed.com

STM32 开发板教程

TIM_TimeBaseStructure.TIM_Prescaler = 7199;//预分频值

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式 TIM_TimeBaseStructure.TIM_Period = 5000;//装载寄存器周期

TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;//时钟分割 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); TIM_ClearFlag(TIM2,TIM_FLAG_Update);

TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//使能中断源 TIM_Cmd(TIM2, ENABLE);//使能定时器TIME2 TIM1 是由PCLK2(72MHz)得到,TIM2-7是由 PCLK1 得到关键是设定时钟预分频数,自动重装载寄存器周期的值。 定时时间的计算 :s=((TIM_Prescaler+1)\\fPCLK1)*TIM_Period

实验步骤

1、打开STM32开发板\\例程\\time 的工程,并编译。

2、给板子供电并连接下载线,并连接JP2的跳冒建立LED4与单片机的连接,都连接好后点击运行。

3、观察现象。

3.5 实验四PWM

实验名称

PWM 控制蜂鸣器,演奏do、re、mi、fa、so、la、si 实验目的

1、了解通用定时器的结构、功能和特点 2、掌握蜂鸣器的控制方法 3、掌握定时器的寄存器的操作 实验内容

通过产生的PWM的频率不同,使蜂鸣器声音发生变化。从而演奏出do、re、mi、fa、so、la、si。 实验原理

上一节中我们介绍了定时器的库函数,这节就不做介绍了。我们主要利用TIM4的CH4输出的PWM来控制蜂鸣器的声音。所以在软件上我们主要控制PWM的输出。

表 3.5.1 不同的声音对应的频率 低音 中音 高音 1 262 523 1046 2 294 578 1175 3 330 659 1318 4 349 698 1397 5 392 784 1568 6 440 880 1760 7 494 988 1976 TIME4输出PWM波的配置步骤:

1、开启TIME4时钟,配置PB9为复用输出 2、设置TIME4_ARR和TIME4_PSC的值 3、设置TIME4_CH4的PWM模式

4、使能TIME4的CH4输出,使能TIME4

康泰医学系统有限公司 19 www.contecmed.com

STM32 开发板教程

5、修改TIME4_CCR4来调节占空比

TIM_TimeBaseStructure.TIM_Prescaler = 10;//预分频值

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式 TIM_TimeBaseStructure.TIM_Period = 6883;//装载寄存器周期 TIM_TimeBaseStructure.TIM_ClockDivision = 0;//时钟分割 TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 3441;//装入比较寄存器的脉冲值 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; TIM_OC4Init(TIM4, &TIM_OCInitStructure);

TIM_OC4PreloadConfig(TIM4, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM4, ENABLE); TIM_Cmd(TIM4, DISABLE); 实验步骤

1、打开STM32开发板\\例程\\pwm的工程,并编译。

2、给板子供电并连接下载线,并连接JP18的跳冒建立蜂鸣器与单片机的连接,都连接好后点击运行。 3、观察现象。

3.6 实验五串口

实验名称

实现单片机和电脑数据的收发 实验目的

1、学习STM32的串口,并了解如何配置STM32的串口 2、熟悉串口一些常用寄存器 实验内容

通过设置串口实现单片机和电脑的通信,电脑发送数据,单片机接收并发送出去 。 实验原理

作为软件开发重要的调试手段,串口的作用是很大的。在调试的时候可以用来查看和输入相关的信息。在使用的时候,串口也是一个和外设(比如GPS,GPRS 模块等)通信的重要渠道。

串口最基本的设置,就是波特率的设置。STM32 的串口使用起来还是蛮简单的,只要您开启了串口时钟,并设置相应IO 口的模式,然后配置一下波特率,数据位长度,奇偶校验位等信息,就可以使用了,下面以USART3介绍一下配置定时器的步骤: 1、使能USART3时钟 2、串口比特率设置 3、串口控制

4、数据的发送与接收

下面介绍一下串口的一些库函数如下图所示:

康泰医学系统有限公司 20 www.contecmed.com

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库STM32教程(1) - 图文(4)在线全文阅读。

STM32教程(1) - 图文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/979726.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: