STM32单片机技术与应用项目教程 课件 项目六 远程直流电机调速设计_第1页
STM32单片机技术与应用项目教程 课件 项目六 远程直流电机调速设计_第2页
STM32单片机技术与应用项目教程 课件 项目六 远程直流电机调速设计_第3页
STM32单片机技术与应用项目教程 课件 项目六 远程直流电机调速设计_第4页
STM32单片机技术与应用项目教程 课件 项目六 远程直流电机调速设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目六远程直流电机调速设计【知识目标】掌握串口通信的结构与功能,串口通信的参数功能;掌握STM32F407ZGT6的串口(USART)结构与功能;了解标准库中串口通信函数的功能。

【能力目标】能够使用标准库函数完成STM32F407ZGT6单片机串口初始化及发送功能程序设计;掌握STM32F407ZGT6单片机串口中断接收程序的设计;能够根据任务功能优化设计任务的执行频率。【素质目标】培养规范化程序设计习惯;培养分析问题解决问题的能力;培养阅读设计文档资料的能力。项目六

远程直流电机调速设计任务6.1

认识串口通信功能任务6.2

了解STM32F407ZGT6串口结构计任务6.3

STM32F407ZGT6单片机的串口通信程序设计任务6.4

串口远程直流电机调速功能设计1.串口通信介绍3.同步通信2.异步通信任务6.1认识串口通信功能4.波特率5.串口通信接口协议1.串口通信介绍处理器与外部设备通信的两种方式:并行通信传输原理:数据各个位同时传输;优点:速度快;缺点:占用引脚资源多;串行通信传输原理:数据按位顺序传输;优点:占用引脚资源少;缺点:速度相对较慢;串口通信按照数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输;半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;1.串口通信介绍串行通信的通信方式:同步通信:带时钟同步信号传输SPI,IIC通信接口异步通信:不带时钟同步信号UART(通用异步收发器),单总线1.串口通信介绍通信标准引脚说明通信方式通信方向UART(通用异步收发器)TXD:发送端RXD:接收端GND:公共地异步通信全双工单总线(1-wire)DQ:发送/接收端异步通信半双工SPISCK:同步时钟MISO:主机输入,从机输出MOSI:主机输出,从机输入同步通信全双工I2CSCL:同步时钟SDA:数据输入/输出端同步通信半双工常见的串行通信接口2.异步通信RXD:数据输入引脚,数据接收。TXD:数据发送引脚,数据发送。2.异步通信异步通信的数据帧的格式:起始位、数据位、奇偶校验位、停止位3.同步通信

同步通信适合每次发送一个数据块,数据块中间没有间隔,每个数据块包括起始的同步字符、数据及校验字符。

通常在通信前约定好数据块的格式,发送的同步字符为一个或两个,当接收方接收到同步字符后开始接收数据,当接收结束后,对数据进行校验,接收的最后一个或两个字节为发送过来的校验字符。4.波特率波特率:每秒钟传送的二进制位数,单位是bps(bitspersecond)。它是衡量串行数据速度快慢的重要指标。常用波特率:300、600、1200、4800、9600、19200、34800、115200

在进行串行异步通信时,发送与接收端不但要设置相同的数据帧格式,也需要设置相同的波特率。5.串口通信接口协议标准异步通信接口有:RS-232CRS-449RS-422RS-423RS-4855.串口通信接口协议RS-232C信号线:常用9根线最简方式:

3根线;RXD:数据接收线,TXD:数据发送线,GND:地线5.串口通信接口协议RS-232电平制式(采用负逻辑)1:-3V~-15V0:+3V~+15VMAX232实现TTL-RS232的转换5.串口通信接口协议RS-485RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。485A(+)-485B(-)之间的电压差:+2V~+6V之间,表示逻辑状态“1”;在-2V~-6V之间,则表示逻辑状态“0”;1.

数据存储收发3.波特率控制器2.收发控制任务6.2了解STM32F407ZGT6串口结构数据存储收发功能数据收发控制波特率控制STM32F407ZGT6串口结构STM32F407ZGT6的USART主要特性:全双工串口结构;通用可编程收发波特率;数据字长度可编程(8位或9位);停止位可配置(0.5、1、1.5、2位);发送器和接收器具有单独使能功能;传输检测标志(接收缓冲区满、发送缓冲区空、传输结束);奇偶校验控制;四个错误检测标志;十个具有标志位的中断源;1.

数据存储收发USART异步模式发送过程:发送数据寄存器(TDR)空则TXE为1,CPU或DMA写入(TDR)后,TXE为0;(TDR)数据移动到发送移位寄存器后TXE为1;最后一个的数据在发送移位寄存器在发送时钟下发送完数据后TC为1。MCU内核输出数据缓冲器串行输出移位寄存器TXD串行数据输出外部设备…USART异步模式接收过程:串口接收完成一帧数据到接收移位寄存器,接收移位寄存器将数据写到接收数据寄存器(RDR),RXNE为1;CPU或DMA读取接收移位寄存器的数据后RXNE为0。1.

数据存储收发MCU内核输入数据缓冲器串行输入移位寄存器RXD串行数据输入外部设备…2.收发控制

通过设置寄存器来选择串口的工作模式、数据位长度、停止位长度、通信的校验模式等功能。控制寄存器:CR1、CR2、CR3;状态寄存器:SR;3.波特率控制器

fPCLKx:总线的速率(时钟频率USARTDIV:一个无符号的定点数,这12位的值设置在USARTBRR寄存器,表示对串口的时钟源fck进行分频。3.波特率控制器【例】fPCLK=84MHz,OVER8为0,设置波特率为9600,那么USARTDIV=546.875,而USARTDIV由尾数值和小数值两个组成:尾数值DIV_Mantissa=USARTDIV的整数值=546=0x222;小数值DIV_Fraction=USARTDIV的小数值*16=0.4375*16=0x0D;USART_BRR寄存器的值=DIV_Mantissa<<4+DIVFraction=0x222D;1.STM32F407ZGT6单片机串口USART1的硬件电路设计2.STM32F407ZGT6单片机串口初始化程序设计任务6.3STM32F407ZGT6单片机的串口通信程序设计1.STM32F407ZGT6单片机串口USART1的硬件电路设计2.STM32F407ZGT6单片机串口初始化程序设计STM32F407ZGT6单片机串口初始化步骤:

开启USART1时钟、USART1引脚PA9,PA10时钟;初始化PA9,PA10引脚,工作模式为可选择功能模式;将PA9,PA10的引脚可以选择工作模式配置为USART1引脚;设置USART1的参数并初始化USART1功能;启动USART1功能;创建串口通信源文件和头文件打开设计项目,并在项目的hardware文件夹下新建usart1文件夹;在MDK编辑界面下新建usart1.c和usart1.h,并保存到usart1文件夹中;将usart1.c添加到MDK界面下的hardware包内;将usart1.h的路径添加到程序编译的包含路径列表内;将usart1.h包含在sys.h内。编写串口初始化函数并移植printf函数(1)USART1初始化程序设计:定义初始化端口结构体;定义USART1初始化结构体;开启USART1时钟;开启USART1引脚PA9,PA10时钟;初始化端口PA9,PA10;PA9,PA10的可选择工作模式为USART1;初始化USART1;启动USART1;设置USART1工作模式:USART1的波特率选择(115200);USAR1T1设置为发送功能模式;数据帧的数据长度为8位;停止位的数据长度1位;无奇偶校验;USART1发送接收不受硬件控制;(1)USART1初始化程序设计:USART1引脚配置:PA9,PA10引脚工作在AF(功能可选择模式);PA9,PA10引脚工作速度为高速;PA9,PA10引脚输出方式为推挽方式;PA9,PA10引脚配置为上拉方式;PA9配置为USART1的TX引脚;PA10配置为USART1的RX引脚;(1)USART1初始化程序设计:(2)printf函数的移植

采用串口发送功能来实现printf函数功能,在usart1.c文件中重定义fputc(intch,FILE*f)函数,将USART1的串口发送功能嵌入到fputc函数内部,并对printf移植的需要进行相关函数的定义和声明。usart1.h头文件的设计主函数的程序设计

在主函数中完成对串口USART1初始化,并在1秒任务中发送字符串到接收端。程序的下载调试

程序编译下载后,将USB线一端连接到电路板的USB端口,另一端连接到PC的USB端口,并安装串口驱动程序,驱动程序安装后,在控制面版中查看硬件端口(COM4)。在电脑上打开串口调试助手,将端口设置为COM4,通信速度设置为115200(与单片机端一致),通信数据长度为8位,一位停止,无校验模式,打开串口COM4,串口助手将每秒接收到一帧数据,并显示接收内容,1.串口接收功能设计3.远程电机调速设计2.串口接收中断功能设计任务6.4串口远程直流电机调速功能设计【任务功能】编写接收中断程序,通过串口实现远程直流电机的调速,实现直流电机的启动、停止、加速、减速控制功能。【直流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论