版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目2可控LED流水灯设计嵌入式技术及应用可控LED流水灯设计引导案例对LED跑马灯多种显示样式的控制为例,介绍了①GPIO的作用、电路结构和工作模式;②GPIO寄存器的含义,寄存器和库函数的设计方法;③中断的基本概念和作用,STM32的中断系统、HAL库的外部中断处理流程、外部中断的数据类型和接口函数;④串行通信应用,学会编写通过串口接收上位机发送的指令控制开发板切换跑马灯显示样式的控制程序。职业能力目标01任务描述与要求02任务分析03知识链接04任务准备05任务实施06任务小结07任务2.1多种显示样式的LED流水灯设计任务拓展08认识Cortex-M3嵌入式MCU;掌握MDK-ARM开发环境的搭建方法;掌握STM32CubeMX开发环境的搭建方法;掌握使用STM32CubeMX创建工程和生成代码的方法。能使用STM32CubeMX和MDK-ARM软件,正确搭建STM32的开发环境;能熟练使用STM32CubeMX创建工程和生成代码。职业能力目标01知识目标技能目标任务描述:某活动开幕式场地需要制作流水灯作为装饰,微控制器使用STM32F407ZET6,需要完成STM32的开发环境的搭建。任务要求:合理选择芯片并设计出原理图;编写出模块化程序,代码结构清晰,可读性、可维护性强。进行软硬件联合调试并实现功能。任务描述与要求02任务分析03任务实施前,需要收集如下信息。LED流水灯电路的工作原理信息。电路的电子元件参数信息。主控芯片的型号、工作电压和封装信息。编程软件和开发工具的获得方法。硬件、软件调试工具、仪表信息。控制LED流水灯以一定的周期点亮或熄灭,开发者应在程序中加入延时功能。在STM32的开发过程中,经常会用到延时操作,编程实现延时一般有软件延时、定时器延时及MCU内部的SysTick实现延时三种方法。STM32系列的MCU,当其某端口工作于GPIO的输出模式时,如何给它指定的管脚写0或者写1,即如何操作GPIO端口,也是本任务关注的问题。综上所述,本任务涉及的知识点如下。(1) STM32F4系列微控制器通用I/O的工作原理和编程配置。(2) STM32F4系列微控制器SysTick的工作原理和编程配置。GPIO及应用中断技术及应用系统延时及应用12知识链接03串口通信及应用342.1 通用输入输出接口(一)8知识链接03GPIO功能概述GPIO模块的寄存器介绍本节内容GPIO模块的电路结构基于寄存器方式控制GPIO9教学目标了解GPIO的功能和电路结构掌握基于寄存器的程序开发方式了解GPIO模块的寄存器含义102.1 GPIO功能概述11知识链接03--
南昌大学“卓越”辅导员培养工程建设GPIO用途GPIO是通用输入/输出(General
Purpose
I/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合,例如:输出功能:继电器、
LED、蜂鸣器等的控制输入功能:传感器状态、高低电平等信息的读取复用功能:片内外设的对外接口时序模拟:模拟SPI、I2C和UART等常用接口的时序12GPIO基本特性STM32的GPIO特性多种工作模式:输出/输入/复用/模拟01灵活的复用模式025V电压容限03外部中断功能0413GPIO两个概念端口和引脚
端口(PORT)
引脚(PIN)GPIO模块由端口GPIOA、GPIOB、GPIOC等多个独立的子模块构成例如:端口GPIOA包括PA0~PA15这16个引脚,通过10个硬件寄存器控制引脚工作PA0对应STM32F411RET6芯片的14脚,属于端口GPIOA,输出电平由端口GPIOA的输出数据寄存器GPIOA_ODR的第0位决定独立的外设子模块,包括多个引脚,通过多个硬件寄存器控制引脚对应微控制器的一个管脚,归属于端口,由端口寄存器的对应位控制14GPIO目标芯片STM32F407ZET6的端口和引脚8组端口,108个I/O引脚总结:一个端口默认包含16个引脚,但是不同型号的STM32微控制器所包含的端口数量及各端口包含的引脚数量各不相同,具体信息可以查询芯片的数据手册15端口引脚数量备注GPIOAPA0~PA1516
GPIOBPB0~PB1516
GPIOCPC0~PC1516
GPIODPD0~PD1516
GPIOEPE0~PE1516
GPIOFPF0~PF1516
GPIOGPG0~PG1516
GPIOHPH0~PH12
GPIO引脚占用情况STM32F407ZE引脚图162.2 GPIO模块的电路结构17电路结构123端口控制寄存器组输入/输出驱动器引脚电路18--
南昌大学“卓越”辅导员培养工程建设工作模式分类GPIO工作模式输入模式浮空输入上拉输入下拉输入输出模式推挽输出开漏输出模拟模式复用模式根据上拉/下拉电阻的使能情况根据两个MOS管的导通情况19--
南昌大学“卓越”辅导员培养工程建设GPIO输入模式① 输出驱动器关闭② 施密特触发器打开,可以获取引脚状态三种输入模式:浮空输入、上拉输入、下拉输入124设计按键电路时可以省去外接的电阻3③
通过寄存器使能上/下拉电阻:浮空/上拉/下拉输入④
引脚电平状态将存入输入数据寄存器利用门阀电压将引脚电压转换为高/低电平两种状态,进而转化为0/1信号存入输入数据寄存器20--
南昌大学“卓越”辅导员培养工程建设GPIO输出模式① 输出驱动器打开两种输出模式:开漏输出和推挽输出1234输出模式下一般不使能上拉/下拉电阻输出模式下也可以读取引脚状态②
施密特触发器打开③
通过寄存器使能上拉/下拉电阻④
通过输入数据寄存器获取引脚状态21--
南昌大学“卓越”辅导员培养工程建设GPIO推挽输出当输出数据寄存器对应位为“1”时,同相端输出“1”,反相端输出“0”。此时P-MOS管导通,N-MOS管截止,引脚输出高电平当输出数据寄存器对应位为“0”时,同相端输出“0”,反相端输出“1”。此时P-MOS管截止,N-MOS管导通,引脚输出低电平推挽输出时,P-MOS管和N-MOS管轮流工作,可以输出高电平或低电平同相端反相端同相端反相端导通截止截止导通P-MOS管的小圆圈表示还要进行一次反相,因此当同相端输出“1”时,反相后,P-MOS管的门级输入低电平,P-MOS管导通22--
南昌大学“卓越”辅导员培养工程建设GPIO开漏输出当输出数据寄存器对应位为“1”时,反相端输出“0”。此时N-MOS管截止,由外加的上拉电阻提供高电平当输出数据寄存器对应位为“0”时,反相端输出“1”。此时N-MOS管导通,引脚输出低电平开漏输出时,P-MOS管关闭,只有N-MOS管工作,此时只能输出低电平。要输出高电平必须外加上拉电阻,主要用于I2C总线同相端反相端导通截止同相端反相端23--
南昌大学“卓越”辅导员培养工程建设GPIO模拟模式① 输出驱动器关闭单纯的引脚模拟状态或者引脚作为片内模拟外设的复用脚1234②
施密特触发器关闭③
上/下拉电阻关闭④输入数据寄存器的值为0
⑤
功耗最小24CubeMX软件中的引脚分配操作--
南昌大学“卓越”辅导员培养工程建设GPIO区别引脚处于模拟状态引脚作为片内模拟外设:A/D转换模块的输入通道表示引脚功能选择为模拟模式,但不作为任何片内模拟外设的复用脚,只是为了减少系统功耗模拟状态表示引脚作为片内模拟外设(A/D转换模块、D/A转换模块、模拟比较器等)的复用脚,用于完成相应的功能操作模拟外设复用引脚25--
南昌大学“卓越”辅导员培养工程建设GPIO复用模式① 输出可配置为推挽或者开漏模式引脚电平状态由片内外设控制1234一般情况下,处于复用模式的GPIO引脚的参数可借助CubeMX软件自动配置②
施密特触发器打开③
通过寄存器使能上拉/下拉电阻④通过输入数据寄存器获取引脚状态262.3 GPIO模块的寄存器介绍27--
南昌大学“卓越”辅导员培养工程建设GPIO端口寄存器模式寄存器GPIOx_MODER输出类型寄存器GPIOx_OTYPER输出速度寄存器GPIOx_OSPEEDR上拉/下拉寄存器GPIOx_PUPDR输入数据寄存器GPIOx_IDR输出数据寄存器GPIOx_ODR置位/复位寄存器GPIOx_BSRR配置锁定寄存器GPIOx_LCKR端口寄存器复用功能寄存器GPIOx_AFRL复用功能寄存器GPIOx_AFRH每一个端口都包括这10个寄存器,其中x表示端口号,取值从A~K28--
南昌大学“卓越”辅导员培养工程建设GPIO配置寄存器31~3029~2827~2625~2423~2221~2019~1817~16MODER15[1:0]MODER14[1:0]MODER13[1:0]MODER12[1:0]MODER11[1:0]MODER10[1:0]MODER9[1:0]MODER8[1:0]15~1413~1211~109~87~65~43~21~0MODER7[1:0]MODER6[1:0]MODER5[1:0]MODER4[1:0]MODER3[1:0]MODER2[1:0]MODER1[1:0]MODER0[1:0]模式寄存器GPIOx_MODER32位寄存器,每2位一组,用于设置对应引脚的工作模式,如:bit0和bit1控制Px000:输入模式(复位值)01:输出模式 10:复用模式 11:模拟模式29GPIO配置寄存器输出类型寄存器GPIOx_OTYPER31~16保留1514131211109876543210OT15OT14OT13OT12OT11OT10OT9OT8OT7OT6OT5OT4OT3OT2OT1OT032位寄存器,高16位保留,低16位的每1位用于设置对应引脚的输出类型0:推挽输出(复位值)1:开漏输出30--
南昌大学“卓越”辅导员培养工程建设GPIO配置寄存器输出速度寄存器GPIOx_OSPEEDR31~3029~2827~2625~2423~2221~2019~1817~16OSPEEDR15[1:0]OSPEEDR14[1:0]OSPEEDR13[1:0]OSPEEDR12[1:0]OSPEEDR11[1:0]OSPEEDR10[1:0]OSPEEDR9[1:0]OSPEEDR8[1:0]15~1413~1211~109~87~65~43~21~0OSPEEDR7[1:0]OSPEEDR6[1:0]OSPEEDR5[1:0]OSPEEDR4[1:0]OSPEEDR3[1:0]OSPEEDR2[1:0]OSPEEDR1[1:0]OSPEEDR0[1:0]32位寄存器,每2位一组,用于设置对应引脚的输出速度00:低速(复位值)01:中速10:高速11:超高速31--
南昌大学“卓越”辅导员培养工程建设GPIO上拉/下拉寄存器GPIOx_PUPDR31~3029~2827~2625~2423~2221~2019~1817~16PUPDR15[1:0]PUPDR14[1:0]PUPDR13[1:0]PUPDR12[1:0]PUPDR11[1:0]PUPDR10[1:0]PUPDR9[1:0]PUPDR8[1:0]15~1413~1211~109~87~65~43~21~0PUPDR7[1:0]PUPDR6[1:0]PUPDR5[1:0]PUPDR4[1:0]PUPDR3[1:0]PUPDR2[1:0]PUPDR1[1:0]PUPDR0[1:0]配置寄存器32位寄存器,每2位一组,用于使能对应引脚的上拉/下拉电阻00:无上拉和下拉电阻(复位值)01:使能上拉电阻 10:使能下拉电阻 11:保留32GPIO数据寄存器输入数据寄存器GPIOx_IDR31~16保留1514131211109876543210IDR15IDR14IDR13IDR12IDR11IDR10IDR9IDR8IDR7IDR6IDR5IDR4IDR3IDR2IDR1IDR032位寄存器,高16位保留,低16位的每1位用于存放对应引脚的电平状态0:对应引脚输入低电平 1:对应引脚输入高电平33--
南昌大学“卓越”辅导员培养工程建设GPIO数据寄存器输出数据寄存器GPIOx_ODR31~16保留1514131211109876543210ODR15ODR14ODR13ODR12ODR11ODR10ODR9ODR8ODR7ODR6ODR5ODR4ODR3ODR2ODR1ODR032位寄存器,高16位保留,低16位的每1位用于控制对应引脚输出高/低电平0:控制对应引脚输出低电平 1:控制对应引脚输出高电平34--
南昌大学“卓越”辅导员培养工程建设GPIO注意事项输出数据寄存器GPIOx_ODR① 设置某一个引脚的输出电平时,只修改该引脚对应的位,而不要修改其他的位② 设置输出数据寄存器的某一个位为1,并不代表该位对应的引脚一定输出高电平。有可能该引脚在外围电路的作用下拉到了低电平。因此应该通过读取输入数据寄存器GPIOx_IDR来获取引脚的真实电平情况35--
南昌大学“卓越”辅导员培养工程建设GPIO数据寄存器置位/复位寄存器GPIOx_BSRR高16位控制对应引脚输出低电平:写入1对应引脚输出低电平;写入0,没有任何作用低16位控制对应引脚输出高电平:写入1对应引脚输出高电平;写入0,没有任何作用31302928272625
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一建建筑实务考前考点梳理强化试卷及答案
- 2026规划摊位面试题及答案大全
- 2026护理级别面试题及答案
- 2026集体控股面试题目及答案
- 2026界面开发面试题及答案
- 保险AI监管技术标准体系
- 河南南阳市2025-2026学年高一下学期7月期末考试化学试题(含答案)
- 人工智能在保险理赔中的应用边界
- 2026江西南昌大学第二附属医院面向全球招聘病理科学 科带头人考试参考题库及答案详解
- 2026山东济宁市第三人民医院劳务派遣工作人员1人招聘笔试备考试题及答案详解
- 高级中学建设项目可行性研究实施方案
- DB31/T 1080-2018养老机构建筑合理用能指南
- T-ZBTA 11-2024 施工现场临时用电安全技术规范
- 基层卫生院污水处理培训
- GA/T 804-2024机动车号牌专用固封装置
- 作业活动风险分级管控清单
- EAST5.0数据结构一览表
- 脱硫综合楼上部结构模板支撑工程超危大专项施工方案
- 青海省部分地区下学期高三语文二模试题汇编:文言文阅读
- 保健按摩师-国家职业标准(2023年版)
- 2024年中国融通医疗健康集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论