•理论课(1小时):回顾51定时器中断,学习外部中断原理、外部中断寄存器配置,理解中断优先级(简单认知,不深挖)。
•实操课(1.5小时):Proteus仿真搭建“外部中断+LED”电路,Keil编写代码(按键触发外部中断,控制LED亮灭),实物实操调试;对比定时器中断与外部中断的区别。
•作业:编写代码,用外部中断实现“按键触发流水灯启停”,完成仿真与实物实操。
•理论课(1小时):回顾前序串口通信,学习I2C通信协议基础(引脚、通信流程、数据传输逻辑),不用深研究协议细节,掌握基础用法。
•实操课(1.5小时):Proteus仿真搭建“51+I2C OLED”电路,编写I2C通信基础代码,实现OLED显示简单文字;实物实操(若有OLED屏),调试通信稳定性。
•作业:完善代码,让OLED显示前序51综合项目的温湿度模拟数据。
•理论课(1小时):SPI通信协议基础(引脚、通信模式、与I2C的区别),聚焦单片机常用SPI通信场景,掌握核心配置逻辑。
•实操课(1.5小时):Proteus仿真搭建“51+SPI数码管”电路,编写SPI通信代码,实现数码管动态显示;对比I2C与SPI通信的实操差异。
•作业:编写代码,用SPI通信控制数码管显示倒计时,完成仿真实操。
•理论课(1小时):回顾前序51综合项目(简易温湿度显示),讲解项目优化思路(中断替代延时、增加通信功能、优化显示效果)。
•实操课(1.5小时):优化前序项目代码,添加外部中断控制项目启停,用I2C OLED替代LCD1602显示数据,提升项目实用性;实物实操调试优化后的项目。
•作业:完成项目优化,记录优化过程中的问题及解决方法,梳理51单片机核心知识点。
•理论课(1小时):复盘51单片机进阶内容(外部中断、I2C/SPI通信),对比51与STM32的核心区别(寄存器数量、配置方式、性能),介绍STM32入门思路。
•实操课(1.5小时):熟悉STM32开发板外观、引脚分布,安装Keil MDK-ARM、STM32CubeMX软件,新建STM32基础工程,熟悉软件界面。
•模块复盘:梳理51进阶核心知识点,答疑解惑,确保衔接STM32无压力。
•理论课(1小时):STM32F103C8T6芯片认知(引脚定义、核心功能、存储结构),STM32CubeMX软件作用(图形化配置,替代手动写寄存器),配置流程讲解。
•实操课(1.5小时):用CubeMX新建STM32工程,配置时钟、调试模式,生成Keil MDK工程;熟悉工程结构,了解自动生成的代码含义(不用深研究,会调用即可)。
•作业:新建STM32工程,配置时钟,生成代码,确保工程能正常编译。
•理论课(1小时):对比51 GPIO,讲解STM32 GPIO的工作模式(输入/输出模式、推挽/开漏输出),CubeMX配置GPIO的方法,GPIO口控制逻辑(与51一致,配置更规范)。
•实操课(1.5小时):用CubeMX配置STM32 GPIO输出,编写代码控制LED灯亮灭、闪烁;实物实操,对比51与STM32 GPIO控制的差异;拓展:用GPIO输入检测按键状态。
•作业:编写代码,用STM32 GPIO实现LED流水灯,完成实物实操。
•第8天理论课(1小时):回顾51定时器,讲解STM32定时器(TIM2-TIM5)的工作模式、计数方式,CubeMX配置定时器的方法,定时中断配置流程。
•第8天实操课(1.5小时):用CubeMX配置定时器定时中断,编写代码实现LED每隔1秒闪烁(精准定时);实物实操,调试定时精度。
•第9天理论课(1小时):定时器进阶用法(定时中断嵌套、脉冲计数),结合前序51定时器,总结STM32定时器的优势。
•第9天实操课(1.5小时):编写代码,用定时器控制流水灯匀速流动,实现“流水+闪烁”组合效果;实物实操调试,优化定时效果。
•作业:用定时器实现LED灯每隔0.5秒闪烁一次,同时控制另一个LED流水,完成实物实操。
•第10天理论课(1小时):回顾51串口通信,讲解STM32串口(USART1)的工作原理、CubeMX配置方法(波特率、数据位、停止位),串口中断配置。
•第10天实操课(1.5小时):用CubeMX配置串口,编写代码实现STM32向上位机发送字符串(如“STM32 Test”);实物实操,用串口调试助手查看接收数据。
•第11天理论课(1小时):STM32串口中断用法(接收数据中断),串口数据解析基础,实现“上位机发指令,STM32执行操作”的逻辑。
•第11天实操课(1.5小时):编写代码,实现“上位机发送‘1’点亮LED,发送‘0’熄灭LED”;实物实操,调试串口通信稳定性,排查数据丢失问题。
•作业:编写代码,STM32向上位机发送LED状态,接收上位机指令控制流水灯启停,完成实物实操。
•第12-13天:编写综合代码,实现“定时器定时+串口发送数据+GPIO控制LED”,模拟“LED状态实时上报”功能;实物实操调试,优化代码结构(模块化编程)。
•第14-15天:复盘STM32入门内容(GPIO、定时器、串口),梳理CubeMX配置流程和代码编写思路;针对性解决实操中遇到的问题(如工程编译报错、硬件不响应)。
•作业:完善综合代码,实现“每隔1秒,STM32通过串口上报LED状态,同时接收上位机指令修改LED闪烁频率”,完成实物实操。
•第16天理论课(1小时):回顾51 I2C通信,讲解STM32 I2C外设配置(CubeMX配置I2C引脚、通信速率),I2C通信代码编写思路。
•第16天实操课(1.5小时):用CubeMX配置STM32 I2C,编写代码对接I2C OLED显示屏,实现文字、数字显示;实物实操,调试显示屏显示效果。
•第17天理论课(1小时):I2C传感器对接基础(DHT11温湿度传感器),传感器数据解析方法,数据格式讲解。
•第17天实操课(1.5小时):用STM32 I2C对接DHT11传感器,采集温湿度数据;实物实操,确保数据采集准确,排查通信故障。
•作业:编写代码,实现“DHT11采集温湿度数据,OLED显示屏实时显示”,完成实物实操。
•第18天理论课(1小时):回顾51 SPI通信,讲解STM32 SPI外设配置(CubeMX配置SPI引脚、通信模式),SPI与I2C通信的实操差异。
•第18天实操课(1.5小时):用CubeMX配置STM32 SPI,编写代码对接SPI数码管,实现动态显示温湿度数据;实物实操,调试显示效果。
•第19天实操课(2.5小时):综合练习,实现“DHT11采集温湿度数据,同时通过SPI数码管和I2C OLED显示,串口上报数据”;实物实操调试,确保各模块协同工作。
•作业:完善综合代码,优化数据显示格式,确保数据采集、显示、上报同步进行。
•第20天:学习STM32常见外设故障排查方法(通信故障、GPIO不响应、定时器不准),针对性解决实操中遇到的问题。
•第21-22天:综合练习,对接多个外设(按键、LED、DHT11、OLED、数码管),实现“按键控制数据采集启停,温湿度数据同步显示和上报”;实物实操,优化代码效率。
•模块复盘:梳理STM32通信与外设核心知识点,答疑解惑,为后续实战项目铺垫。
•第23天:项目需求分析+电路搭建(1小时理论+2小时实操):明确项目功能(DHT11采集温湿度、OLED显示、串口上报、按键控制启停/清零),搭建实物电路,用CubeMX配置工程。
•第24天:分模块编写代码(I2C OLED驱动、DHT11采集、串口通信、按键控制),模块化编程,逐步调试每个模块功能。
•第25天:模块整合,实现项目完整功能,调试数据采集精度、显示效果、通信稳定性,解决项目中出现的故障(如数据丢失、显示错乱)。
•第26天:项目优化(添加数据异常提示、优化显示界面、简化代码),完成项目测试,记录项目开发流程和问题解决方法。
•第27天:项目需求分析+电路搭建(1小时理论+2小时实操):明确项目功能(定时器控制LED亮度调节、串口指令控制LED模式、按键切换模式、OLED显示模式和亮度),搭建实物电路。
•第28天:分模块编写代码(LED亮度调节、串口指令解析、按键控制、OLED显示),逐步调试,确保各模块正常工作。
•第29天:模块整合,实现项目完整功能(如流水模式、呼吸灯模式、亮度调节模式),优化操作体验,排查故障,完成项目测试。
•考核(1小时):基础知识点问答(STM32基础、通信协议、项目开发思路),实操考核(调试项目功能、修改简单代码)。
•项目展示(1.5小时):学员展示两个实战项目,分享开发心得和问题解决经验,老师点评指导,优化项目细节。
•后续规划(0.5小时):讲解后续进阶方向(STM32高级外设、物联网开发、嵌入式Linux入门),给出学习建议,衔接更高阶的嵌入式学习。