教案嵌入式应用基础 教案全套(项目1第1周)GPIO引脚模块 -(项目6第16周)DHT11温湿度传感器_第1页
教案嵌入式应用基础 教案全套(项目1第1周)GPIO引脚模块 -(项目6第16周)DHT11温湿度传感器_第2页
教案嵌入式应用基础 教案全套(项目1第1周)GPIO引脚模块 -(项目6第16周)DHT11温湿度传感器_第3页
教案嵌入式应用基础 教案全套(项目1第1周)GPIO引脚模块 -(项目6第16周)DHT11温湿度传感器_第4页
教案嵌入式应用基础 教案全套(项目1第1周)GPIO引脚模块 -(项目6第16周)DHT11温湿度传感器_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

无锡科技职业学院《嵌入式应用与开发》教案授课周次1授课课时4教学目标知识目标:理解单片机的概念、特点,掌握STM8S208MB单片机的基本I/O端口,掌握IAR开发环境的使用。技能目标:能够识别单片机最小系统的常用元器件,根据开发板的构成和元件分布开发简单的项目,基于STM8S208MB单片机的GPIO库函数实现流水灯闪烁。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容GPIO引脚模块GPIO库函数IAR软件安装使用教学重点GPIO引脚模块教学难点IAR软件安装使用GPIO库函数教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先通过单片机发展历史,引出STM8系列单片机。接着向学生介绍STM8系列单片机的三大类——STM8S(标准款)、STM8L(低功耗款)、STM8A(汽车专用款)。然后展示本书所用的开发板——STM8S208MB,引导学生关注引脚。二、教学实施(110分钟)环节一:GPIO引脚讲授本环节首先向学生系统讲解GPIO引脚在单片机STM8S208MB中的基本情况。结合图1.1.1所示的STM8S208MB最小系统芯片引脚图,讲解该单片机由哪些GPIO端口组成,每个端口最多有多少个引脚,每个引脚有哪些功能,由引脚图中引脚说明中带有“/”标志指出引脚的功能复用特性,并强调一个引脚不能同时使用多种复用功能。然后根据表1.1.1中列出的GPIO引脚输入/输出工作模式进行讲解,其中输入模式共4种,输出模式共8种,解释每种工作模式的特点和区别。环节二:IAR软件使用讲解在掌握STM8S208MB单片机的基础上,本环节转入IAR软件的讲解。首先,教师按照图1.1.4~图1.1.12演示如何从官网下载IAR软件并注册账号。接着,教师按照图1.1.13~图1.1.32演示如何安装并激活IAR软件。最后,教师按照图1.1.33~1.1.55演示如何使用IAR软件开发嵌入式应用项目并烧写程序到开发板。环节三:硬件平台讲解本环节聚焦于LED模块的分析。首先强调LED灯单向导电特性,以及该特性可以用来确定GPIO引脚电平(电压)的高低。接着结合图1.1.3所示的LED灯电路原理图,介绍各电子元器件,分析LED两端电平(电压)的高低情况。然后教师调整电路图中部分元器件的位置和朝向,带领学生分析相应的电平情况,帮助学生掌握LED灯电路原理。环节四:软件配置教学本环节详细讲解STM8S208MB单片机GPIO常用库函数的讲解,包括初始化(GPIO_Init)、置位(GPIO_WriteHigh)、复位(GPIO_WriteLow)、取反(GPIO_WriteReverse)等操作。以初始化操作为例,首先讲解初始化操作本身包括的具体步骤,如定位引脚、各寄存器设置等,并写出寄存器级别的C语言代码。然后讲解由ST公司封装的STM8S208MB单片机GPIO初始化函数GPIO_Init的用法,并基于该函数写出与寄存器级别C语言代码等价的代码。接着对比两种写法,指出后者在开发过程中更有优势。最后依次介绍其余库函数的用法,并用具体取值演示这些库函数的调用。环节五:代码实践学生根据讲解内容进行独立编程实践。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_Configuration配置内部16M时钟1分频,调用LED_Init完成GPIO初始化,主循环中进行LED_Demo1或LED_Demo2(必须2选1)。随后编写led.h头文件:先后定义PE0、PA3、PA6等引脚的端口号和引脚号宏替换(格式分别为LEDx_PORT和LEDx_PIN)、LED灯亮灭控制宏替换(格式为LEDx_L、LEDx_H和LEDx_R,x取值1~3),声明LED_Init初始化函数、LED_Demo1业务函数和LED_Demo2业务函数等函数原型。重点编写led.c源文件:LED_Init函数调用GPIO_Init库函数将LED1~LED3的引脚初始化为慢速开漏输出高阻态的工作模式;LED_Demo1函数先调用3个LEDx_L函数点亮LED灯,通过delay_ms函数维持一段时间,再调用3个LEDx_H函数熄灭LED灯;LED_Demo2函数调用LEDx_R函数,通过delay_ms函数维持一段时间,效果与LED_Demo1函数等价。接着编写pbdata.h头文件:声明delay_us和delay_ms函数。最后重点编写pbdata.c源文件:delay_us函数实现1微秒的延时;delay_ms函数基于delay_us函数实现1毫秒的延时。教师巡回指导,协助解决时钟配置错误、引脚复用冲突等常见问题。环节六:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线链接开发板和PC机。下载程序并运行后,观察如图1.1.57所示的开发板中3个LED灯是否同时亮灭。鼓励学生尝试LED_Demo1和LED_Demo2函数2选1调用,观察效果是否等价;并且尝试修改初始化操作的参数,加深对GPIO的理解。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,使用Vcc、GND、LED、GPIO引脚、电阻等元器件绘制电路图,标注LED灯两端电平的情况,并注明该LED是否会亮;二是编程作业,修改现有程序,实现LED1灯不亮的时候另外2个LED灯亮、LED1灯亮的时候另外2个LED灯不亮。无锡科技职业学院《嵌入式应用与开发》教案授课周次2授课课时4教学目标知识目标:了解按键的分类、特点,掌握机械触点式按键消除抖动的两种方式。技能目标:能够通过软件方式消除按键抖动,基于STM8S208MB单片机的GPIO库函数实现按键控制LED灯。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容按键模块消除按键抖动教学重点按键模块教学难点消除按键抖动教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先通过回顾项目一任务一关于GPIO控制LED灯的内容,引导学生思考如何实现人机交互控制方式,从而引出按键控制的需求。接着展示宿舍、家庭等房间按键开关电灯的应用场景,说明按键控制在嵌入式系统中的重要性。二、教学实施(110分钟)环节一:按键模块讲授本环节首先向学生系统讲解按键模块的基本情况。结合图1.2.1所示的各种按键,讲解按键的各种分类方式及相应的分类。然后,结合图1.2.2的按键两端电压波形图,教师讲解机械触点式按键的重要特点——抖动,讲述抖动产生的原因、造成的影响。最后,教师讲解消除抖动的方法,包括硬件消除和软件消除,分析两种方式的适用场景,并指出本书任务程序中采用的是软件消除抖动的方式。环节二:消除按键抖动讲解在掌握按键特性的基础上,本环节转入消除按键抖动的讲解。首先,教师向学生介绍消除按键抖动的常用方法,包括硬件消除和软件消除。接着,结合图1.2.3所示的RC滤波积分电路,教师讲述硬件消除抖动的原理,以及适用的场景。然后,教师讲述软件消除抖动的原理(即使用延时函数),以及适用的场景,并带领学生回顾项目一任务一中维持LED灯亮灭状态的方法(即使用延时函数),总结延时函数在单片机应用开发中的2种应用场景。环节三:硬件平台讲解本环节聚焦于按键模块的分析。首先,教师向学生展示如图1.2.4~图1.2.5所示的按键、LED灯电路连接的电路图,指出电路图中各电子元器件。接着,教师指出LED灯、按键两端的点电压(电平)的高低。然后,结合图1.2.6所示的开发板实物图,介绍待控制的K1按键,实操演示该按键的手动操作方式。环节四:软件配置教学本环节回顾项目一任务一讲解的STM8S208MB单片机GPIO常用库函数——初始化函数(GPIO_Init)的用法,侧重讲解用于设置输入工作模式的用法。结合表1.1.1中列出的4种输入工作模式,教师重点讲解选择不带中断的输入工作模式的区别(浮动输入GPIO_MODE_IN_FL_NO_ITvs上拉输入GPIO_MODE_IN_PU_NO_IT),最终本书选用的是GPIO_MODE_IN_PU_NO_IT。环节五:代码实践学生根据讲解内容进行独立编程实践。保留项目一任务一中的led.h和led.c文件(后续项目无特殊情况不再重复提及)。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_Configuration配置内部16M时钟1分频,调用LED_Init、KEY_Init完成GPIO初始化(LED和K1按键),主循环中进行Key_Demo业务。随后编写key.h头文件:定义PE4引脚的端口号和引脚号宏替换(KEY_PORT和KEY_PIN),声明KEY_Init初始化函数、KEY_Down按键检测函数、KEY_Demo业务函数等函数原型。重点编写key.c源文件:KEY_Init函数调用GPIO_Init库函数将K1的引脚初始化为上拉输入无中断的工作模式;KEY_Down函数先判断PE4引脚是否为低电平(即按键按下),在PE4引脚是低电平的前提下通过delay_ms函数延迟20毫秒等待抖动消除,再次判断PE4引脚是否是低电平(即按键按下),如果是低电平(即按键按下)则等待变为高电平(即按键松开),返回true,否则返回false;KEY_Demo函数调用KEY_Down函数判断按键状态,如果是按下后松开的状态,则将LED1~LED3的亮灭状态取反。教师巡回指导,协助解决时钟配置错误、引脚复用冲突等常见问题。环节六:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线链接开发板和PC机。下载程序并运行后,观察如图1.2.13所示的开发板中,按下并松开K1按键,3个LED灯是否同时亮灭。鼓励学生尝试修改延时函数的参数,加深对软件方式消除抖动的理解。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,写出图1.2.3所示的RC滤波积分电路的传递函数(时域),并写出图1.2.2所示的电压信号函数(时域),计算滤波后的信号函数(时域);二是编程作业,修改现有程序,当按键K1按下时灯LED1、LED3灯与LED2灯的状态切换(即当LED1、LED3灯同时亮时,LED2灯灭;当LED1、LED3灯同时灭时,LED2灯亮)。无锡科技职业学院《嵌入式应用与开发》教案授课周次3授课课时4教学目标知识目标:理解中断的概念、处理机制,掌握STM8S208MB单片机外部中断触发方式,掌握EXTI库函数。技能目标:能够识别单片机最小系统的常用元器件,根据开发板的构成和元件分布开发简单的项目,基于STM8S208MB单片机的GPIO和EXTI库函数实现按键中断控制LED灯。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容中断处理机制EXTI库函数外部中断触发方式教学重点中断处理机制教学难点外部中断触发方式EXTI库函数教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先通过回顾项目一任务二关于按键控制LED灯的内容,引导学生思考如何实现更完善的人机交互控制方式,从而引出外部中断的概念。接着以“程序员的一天”(上班打卡遇到同事打招呼、写代码遇到测试部门BUG反馈、加班下班打卡遇上赶不上末班地铁)开展关于中断的讲述。二、教学实施(110分钟)环节一:中断处理讲授本环节首先向学生系统讲解中断处理的基本情况。结合图1.3.1所示的中断处理示意图,讲解中断处理机制。接着,教师介绍中断的优先级顺序。然后,结合表1.3.1的中断向量表,教师分类介绍中断源类型及对应的中断向量号。环节二:外部中断讲解在掌握中断处理机制的基础上,本环节转入外部中断的讲解。首先,教师向学生介绍STM8S单片机哪些端口支持外部中断。接着,结合板书,教师介绍高电平、低电平、上升沿、下降沿等概念。然后,教师讲解STM8S单片机外部中断的4种触发方式及其意义、适用场景。环节三:硬件平台讲解本环节聚焦于按键模块的分析。由于项目一任务二中已讲,因此这里仅简单回顾,不重复讲解。环节四:软件配置教学本环节重点讲解STM8S208MB单片机EXTI常用库函数——外部中断初始化函数(EXTI_SetExtIntSensitivity)的用法,解析该函数的两个参数:EXTI所在GPIO端口和外部中断触发方式,以本任务为例,讲解PE端口和仅下降沿触发取值的代码表示。环节五:代码实践学生根据讲解内容进行独立编程实践。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_Configuration配置内部16M时钟1分频,调用LED_Init、KEY_Init完成GPIO初始化(LED和K1按键),并调用rim函数实现总中断使能,主循环空转。随后在项目一任务二中的key.h文件的基础上,追加定义K1按键外部中断所在端口的宏替换。重点编写key.c源文件:在项目一任务二中的key.c文件的基础上,KEY_Init函数追加调用EXTI_SetExtIntSensitivity函数,不仅将PE4引脚当作普通引脚初始化,并初始化其外部中断触发方式;KEY_Down和KEY_Demo函数不改。在stm8s_it.c文件中,找到EXTI_PORTE_IRQHandler函数,在其中调用KEY_Demo函数,将按键检测函数在触发外部中断0(PE端口)时进行,无需开发人员主动判断按键是否被按下。教师巡回指导,协助解决时钟配置错误、引脚复用冲突等常见问题。环节六:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线链接开发板和PC机。下载程序并运行后,观察如图1.3.6所示的开发板中,按下并松开K1按键,3个LED灯是否同时亮灭。引导学生通过实践,发现项目一任务二和本任务之间的异同。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,根据中断向量表,在stm8s_it.c文件中找出中断向量号为3~23的中断处理函数的位置,提前了解后续其他模块中断处理函数在stm8s_it.c文件中的位置;二是编程作业,修改现有程序,当按键K1按下时灯LED1、LED3灯与LED2灯的状态切换(即当LED1、LED3灯同时亮时,LED2灯灭;当LED1、LED3灯同时灭时,LED2灯亮)。无锡科技职业学院《嵌入式应用与开发》教案授课周次4授课课时4教学目标知识目标:理解定时器、计数器的概念,掌握STM8S208MB单片机的TIM1模块的配置。技能目标:能够修改TIM1更新中断服务程序,基于TIM1库函数实现流水灯闪烁。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容定时器概念时钟源概念TIM1模块TIM1库函数教学重点定时器概念时钟源概念教学难点TIM1模块TIM1库函数教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先回顾项目一任务一的流水灯实验,重新审视1微秒的实现方式。不难发现,项目一中的1微秒并不是很精确,短时间内难以发觉误差,但长时间下来误差将被明显放大。因此,教师由此引出精确实现1微秒的实现方式——定时器,并明确目标——重写流水灯实验,精准控制1微秒。二、教学实施(110分钟)环节一:定时器讲授本环节首先向学生讲解定时器的基本原理,并介绍由定时器衍生的时钟源、预分频器、计数器和中断。接着,教师讲解定时器的主要功能,包括延时、周期性事件触发、产生PWM波、时间戳计时等。然后,讲解定时器的配置使用步骤,分为选择时钟源、配置预分频器、设置计数器阈值、配置中断(可选)、启动定时器等步骤。环节二:时钟源讲解在掌握定时器基本原理的基础上,本环节转入时钟源的讲解。首先,教师讲解时钟源的概念,为微控制器(MCU)及其外设提供精确的时间基准。接着,教师讲解时钟源的分类,分为内部时钟(internalclock)和外部晶振(externalcrystaloscillator),讲述其概念、优缺点及适用场景。最后引出STM8S208MB时钟源以及时钟源分频操作的方法,时钟源有4个,依次是外部高速振荡器(HSE)、外部低速振荡器(LSE)、内部高速振荡器(HIS)和内部低速振荡器(LSI);时钟源分频操作包括配置内部高速振荡器(HSI)的分频器和配置外部高速振荡器(HSE)的分频器。环节三:硬件平台讲解本环节聚焦于STM8S单片机定时器模块的分析。首先对STM8S单片机定时器进行讲解,包括定义、用途、分类。接着对16位高级控制定时器TIM1进行讲解,包括用途、主要特性等。然后对TIM1的分频、计数模式、触发方式进行讲解。环节四:软件配置教学本环节详细讲解STM8S208MB单片机TIM1常用库函数的讲解,包括初始化(TIM1_TimeBaseInit)、使能或禁用自动重装(TIM1_ARRPreloadConfig)、使能或禁用定时器1的特定中断源(TIM1_ITConfig)、开启或关闭定时器1(TIM1_Cmd)等操作。以初始化操作为例,解析该函数的参数,包括预分频因数寄存器值、计数模式、计数周期等,向学生强调总时钟16MHz,预分频因数寄存器值需要将预分频因数减去1(如16分频则为15)。16分频,向上计数,计数完了触发中断,如果想再1ms触发中断,则计数器应该计数1000次,1MHz/1000=1kHz,正好就是1ms。环节五:代码实践学生根据讲解内容进行独立编程实践。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_Configuration配置内部16M时钟1分频,调用LED_Init完成GPIO初始化,调用Tim1_Init完成定时器1的初始化,主循环空转。随后编写tim.h头文件:声明Tim1_Init初始化函数的函数原型。重点编写tim.c源文件:Tim1_Init函数调用TIM1库函数,实现计数1000次时间过去1ms,使能自动重装,数据更新中断,开定时器。接着在stm8s_it.c文件中,找到TIM1_UPD_OVF_TRG_BRK_IRQHandler函数,在其中完成手动计数业务逻辑(手动计数1000次以内,继续手动计数;手动计数满1000次,LED1~LED3亮灭状态翻转,并且手动计数清零)并清除定时器1更新标志位。教师巡回指导,协助解决时钟配置错误、引脚复用冲突等常见问题。环节六:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线链接开发板和PC机。下载程序并运行后,观察如图2.1.6所示的开发板中3个LED灯是否同时亮灭。鼓励学生对比项目一任务一和项目二任务一,发现两者的区别;并修改定时器1初始化的参数,例如使每2s切换1次LED亮灭状态,加深对TIM1的理解。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,改进本任务中中断处理中手动计数业务逻辑,尝试不用条件判断实现手动计数;二是编程作业,修改现有程序,调整时间间隔,实现相应的LED流水灯效果。无锡科技职业学院《嵌入式应用与开发》教案授课周次5授课课时4教学目标知识目标:理解PWM的概念,掌握STM8S208MB单片机的TIM1的PWM的配置。技能目标:能够修改PWM配置参数,基于TIM1的PWM库函数实现呼吸灯,能够用LED元器件观察PWM输出情况。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容PWM概念PWM库函数教学重点PWM概念教学难点PWM库函数教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先回顾项目二任务一的TIM1模块的功能,引导学生关注PWM波的产生,从而引出本节课的核心问题:如何通过TIM1模块产生PWM波。接着展示测量、通信、功率控制与变换等领域应用场景,说明PWM波在模拟电路控制技术中的重要性。二、教学实施(110分钟)环节一:PWM讲授本环节首先教师讲解PWM的概念(包括定义、英文全称、用途等),并以正弦波为例,讲解PWM控制原理,并用板书的方式,演示对原正弦波进行时间轴的采样操作,以及对应等效的等幅不等宽的脉冲在相同时间内保持面积相等的操作;接着,教师讲解STM8S208MB单片机能够产生的PWM的定时器有TIM1~TIM3,其中TIM1可以产生4路PWM波形输出并且可以产生3路互补输出的PWM波形,TIM2可以产生3路PWM波形输出,TIM3可以产生2路PWM波形输出,TIM4不能产生PWM波形输出;然后,结合表2.2.1,教师讲解TIM1~TIM4产生的PWM占据哪些引脚;最后,结合图2.2.2,教师引入频率(周期)、占空比等概念,分析PWM波形图。环节二:硬件平台讲解本环节聚焦于STM8S单片机定时器1映射通道(PC1、PC2、PC3、PC4引脚)的分析。结合图2.2.3,讲解如何使用LED灯元器件检测PC1~PC4引脚PWM波形输出情况。首先,教师带领学生找出STM8S208MB开发板中PC1~PC4和GND的引脚位置。然后,教师带领学生回顾LED灯原理,即单向导电、短脚接GND。最后,教师演示如何使用跳线在PC1、GND引脚接入LED灯。环节三:软件配置教学本环节详细讲解STM8S208MB单片机TIM1的PWM常用库函数的讲解,包括TIM1_OC1Init、TIM1_OC2Init、TIM1_OC3Init、TIM1_OC4Init和TIM1_CtrlPWMOutputs等函数。以TIM1_OC1Init为例,结合本任务实际(实现PC1输出PWM波形,初始化参数为PWM1模式2、启用互补输出比较、脉冲宽度初值是1000、输出比较极性(低电平)、互补输出比较极性(低电平)、输出比较空闲状态(置位)、互补输出比较空闲状态(复位)),解析该函数的参数。环节四:代码实践学生根据讲解内容进行独立编程实践。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_Configuration配置内部16M时钟1分频,调用TIM1_PWM_Init的初始化,调用rim函数开启总中断,主循环中执行TIM1_PWM_Demo1业务。随后编写tim1_pwm.h头文件:声明TIM1_PWM_Init初始化函数和TIM1_PWM_Demo业务函数等函数原型。重点编写tim1_pwm.c源文件:TIM1_PWM_Init函数调用TIM1及PWM库函数,实现初始化TIM1时基单元,使能自动重装,PC1~PC4输出PWM,开定时器1,自动预装载允许位;TIM1_PWM_Demo1函数则在各通道中产生不同占空比的PWM波。教师巡回指导,协助解决时钟配置错误、引脚复用冲突等常见问题。环节五:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线链接开发板和PC机。下载程序并运行后,观察如图2.2.7所示的开发板中外接的2个LED灯亮度变化。鼓励学生修改占空比参数观察相应的效果,加深对TIM1模块PWM的理解。三、布置作业及下一次课内容的预习要求课后作业:修改现有程序,调整占空比,实现呼吸灯效果。《嵌入式应用与开发》教案授课周次6授课课时4教学目标知识目标:理解光耦隔离继电器的工作原理,掌握其通过光耦合器与晶体管驱动实现电路通断控制的机制。技能目标:能够使用库函数配置STM8S的GPIO引脚为开漏输出模式,编写程序实现继电器对LED灯的定时开关控制。素养目标:培养像王兴兴及其宇树科技团队那样热爱专注、勇于创新实践、敢于突破传统并具备面对挫折韧性的工程师素养。教学内容1.继电器的定义和分类2.光耦隔离继电器的工作原理教学重点1.继电器的定义和分类教学难点1.光耦隔离继电器的工作原理教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)1.情境创设播放王兴兴及宇树科技机器人视频片段提问:机器人如何精准完成复杂动作?引出制动控制与继电器技术的关联2.问题导入设问1:日常生活中哪些设备需要自动开关控制?(路灯、电梯、智能家居等)设问2:如何用弱电(单片机3.3V)控制强电(220V灯具)?引出核心问题:需要一种"自动开关"——继电器3.任务揭示展示本节课最终效果:开发板上LED4灯与外接LED灯间隔3秒自动亮灭切换明确学习目标:掌握光耦隔离继电器的原理与应用,实现智能控制LED灯二、教学实施(110分钟)环节一:知识讲授本环节首先向学生系统讲解继电器的基本概念与分类体系。通过图3.1.1继电器原理图,阐述继电器作为电磁控制开关的本质特征,即利用电磁铁通电吸合衔铁、断电释放弹簧实现电路通断控制。随后从工作原理、外形尺寸、负载功率、防护特征四个维度介绍继电器分类,重点突出本任务所使用的光耦隔离继电器类型。结合图3.1.2继电器模块原理图,详细剖析TLP521-1光耦合器与8050-NPN晶体管组成的驱动链路:当PG7/JDQ引脚输入信号时,光耦内部LED导通触发光敏晶体管,进而使Q2晶体管基极获得偏置电流而导通,最终驱动继电器线圈通电实现触点切换。同时强调4148续流二极管在保护晶体管免受反向电压击穿方面的关键作用,帮助学生建立完整的理论认知框架。环节二:硬件演示在理论知识铺垫基础上,教师进行实物连接演示。首先展示STM8S208MB开发板上集成的继电器模块及外接LED灯实物,让学生建立感性认识。随后按照图3.1.4继电器与LED连接原理图,逐步演示硬件连线过程:使用杜邦线将JDQ_COM端与VCC_3.3V电源连接,JDQ_O端与LED灯正极相连,LED灯负极接地形成回路。同时展示ST-LINK下载仿真器的正确连接方式,强调硬件平台搭建的规范性要求。演示过程中提醒学生注意区分继电器常开触点与常闭触点,确保受控电路连接准确无误。环节三:代码解析本环节转入软件程序分析,采用分层递进方式讲解代码结构。首先分析jdq.h头文件中的宏定义设计:通过#defineJDQ_PINGPIO_PIN_7和#defineJDQ_PORTGPIOG实现引脚与端口的符号化命名,利用JDQ_L、JDQ_H、JDQ_R三个宏命令封装底层GPIO操作,提高代码可读性与可移植性。随后重点讲解JDQ_Init()初始化函数,说明GPIO_MODE_OUT_OD_HIZ_SLOW模式配置的含义——开漏输出高阻态模式适用于继电器驱动场景。最后深入剖析JDQ_Demo()函数的核心逻辑:通过JDQ_L拉低PG7引脚使继电器吸合,延时3000毫秒后通过JDQ_H拉高引脚使继电器断开,再次延时形成周期性控制循环,从而实现LED灯间隔3秒的亮灭切换效果。环节四:编程实践学生根据代码解析内容进行独立编程实践。首先参照项目一任务一的方法完成工程创建与文件结构规划,在BSP文件夹中新建jdq.c和jdq.h文件。随后编写继电器驱动代码,重点实现GPIO初始化配置与延时控制功能。教师在此过程中巡回指导,及时解答学生遇到的语法错误、头文件引用问题及编译报错。鼓励学生尝试修改延时参数观察效果差异,培养代码调试能力。对完成较快的学生,引导其思考如何将固定延时改为变量控制,为后续功能扩展奠定基础。环节五:联调测试程序编译通过后进入软硬件联合调试阶段。学生按照"编译→下载→运行"的标准流程操作:使用快捷键F7完成编译,Ctrl+D启动下载调试,F5运行程序。观察开发板上LED4指示灯与外接LED灯的亮灭状态,验证继电器是否按预期间隔3秒进行开关切换。若出现异常现象,引导学生从硬件连接、程序逻辑、引脚配置三个层面排查问题。通过修改延时参数重新编译下载,即时验证程序修改效果,强化"代码-硬件"对应关系认知。三、布置作业及下一次课内容的预习要求(5分钟)课堂最后布置进阶探究任务,提出关键问题:当前程序为自动定时控制,如何实现人工干预控制?引导学生回顾项目一中按键扫描相关知识,思考将K1按键检测与继电器控制相结合的设计方案。通过小组简短讨论,初步形成"按键按下→电平翻转→继电器状态切换"的实现思路,既巩固本节课所学内容,又为课后作业及下次课程做好衔接铺垫,激发学生持续学习的内在动力。《嵌入式应用与开发》教案授课周次7授课课时4教学目标知识目标:理解STM8S的ADC2模数转换功能与光敏电阻的光电导效应原理,掌握单次转换模式下模拟信号数字化采集的工作机制。技能目标:能够使用库函数完成ADC2的初始化配置、中断使能与数据读取,实现基于光敏电阻阻值变化的LED灯智能亮灭控制。素养目标:培养像王兴兴团队那样善于将传感器技术与智能控制相融合的创新意识,以及在自动化系统设计中精益求精的工匠精神。教学内容1.STM8S的ADC2简介2.光敏电阻的介绍和结构教学重点1.STM8S的ADC2简介教学难点1.光敏电阻的介绍和结构教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先通过回顾任务一继电器控制LED灯的内容,引导学生思考如何实现更智能的控制方式,从而引出环境光自适应控制的需求。接着展示智能路灯、自动窗帘等生活实例,激发学生对光敏传感技术的学习兴趣。然后明确本节课的核心任务:利用光敏电阻和STM8S的ADC2模块,实现"光线暗时LED灯自动点亮,光线亮时自动熄灭"的智能光控效果。最后简要介绍光敏电阻的外观特征与基本特性,为后续原理学习做好铺垫。二、教学实施(110分钟)环节一:知识讲授本环节首先向学生系统讲解ADC模数转换的基本概念与工作原理。通过图示说明A/D转换器将时间连续、幅值连续的模拟量转换为时间离散、幅值离散的数字信号所必须经过的取样、保持、量化、编码四个完整过程,帮助学生建立信号数字化的基本认知。随后重点介绍STM8S系列单片机中ADC2模块的功能特性,包括10位分辨率转换精度、多达16个外部输入通道配置、单次与连续两种转换模式选择、可编程的时钟分频器设置以及灵活的数据对齐方式等关键参数。结合图3.2.1ADC2模块框图,详细剖析模拟多路选择器、采样保持电路、逐次逼近型转换器等内部功能单元的协作关系,说明ADC_ETR外部触发与定时器触发两种外部触发源的应用场景,同时强调转换结束中断与数据寄存器读取的配合机制,为学生后续编程实践奠定扎实的理论基础。环节二:库函数解析在掌握ADC硬件原理基础上,本环节转入软件层面的库函数配置教学。详细讲解ADC2_Init函数的八个形参含义与配置方法:ADC2_ConversionMode参数用于选择单次或连续转换模式,ADC2_Channel参数指定16个外部通道中的具体输入通道,ADC2_PrescalerSelection参数设置时钟分频系数以调整转换速度,ADC2_ExtTrigger与ADC2_ExtTriggerState参数配合配置外部触发源,ADC2_Align参数决定数据左对齐或右对齐的存储格式,ADC2_SchmittTriggerChannel与ADC2_SchmittTriggerState参数用于施密特触发器的使能控制。通过具体配置示例展示单次转换模式、通道11输入、18分频时钟、右对齐数据格式的标准初始化代码。同时简要介绍ADC2_ITConfig中断配置函数、ADC2_Cmd使能控制函数、ADC2_StartConversion启动转换函数的使用方法与调用时机,形成完整的ADC软件驱动知识体系。环节三:传感器原理本环节聚焦光敏电阻的传感机理与电路应用。首先介绍光敏电阻作为基于半导体光电导效应的电阻器件,其阻值随入射光强弱变化的特性规律,即通常情况下入射光强时电阻减小、入射光弱时电阻增大,并提及特殊类型光敏电阻的反向特性。结合图3.2.2金属封装硫化镉光敏电阻结构图,讲解光电导体薄层结构、梳状电极设计对提高灵敏度的作用原理。重点分析图3.2.4光敏电阻原理图中的分压检测电路:光敏电阻与10KΩ上拉电阻串联连接至STM8的PF3/LIGHT引脚,当环境光线变化导致光敏电阻阻值改变时,该引脚电压随之变化,ADC通过采集此模拟电压值即可判断环境光强,为后续程序设计中的阈值判断提供电路层面的理解支撑。环节四:代码剖析本环节采用分层递进方式深入分析程序实现。首先解读main.c主程序结构:BSP_Configuration函数中依次完成时钟配置、LED初始化、光敏电阻ADC配置与总中断使能,主循环中周期性调用Light_SINGLE_Demo3函数并延时1000毫秒。随后重点剖析adc.c中的两个核心函数:Light_SINGLE_Configuration函数按照先前讲授的库函数配置方法,完成ADC2初始化、中断使能、转换器启动与首次转换触发;Light_SINGLE_Demo3函数则通过查询adc_bz中断标志获取转换结果,以300为阈值判断光敏电阻阻值大小,进而控制LED1的亮灭状态。最后详解stm8s_it.c中的ADC2_IRQHandler中断服务程序:该函数在中断向量号22对应的ADC2转换完成中断被触发时执行,设置adc_bz标志位并清除中断挂起位,实现中断触发与主程序查询的异步协作机制,帮助学生理解中断驱动型ADC采集的完整数据流。环节五:实践联调学生根据代码解析内容进行独立编程实践与硬件联调。首先参照任务一的方法完成工程创建,在BSP文件夹中新建adc.c、adc.h文件,并更新stm8s_it.c中断处理文件。随后编写ADC初始化与数据采集代码,重点配置通道11作为光敏电阻输入通道,使能转换结束中断。编译通过后连接硬件平台,下载程序并运行。调试过程中观察LED1灯的状态变化:用手遮挡光敏电阻模拟环境变暗,验证阻值大于300时LED1点亮;移开遮挡模拟环境变亮,验证阻值小于300时LED1熄灭。教师巡回指导,协助学生排查通道配置错误、中断使能遗漏、阈值设置不当等常见问题,鼓励尝试调整阈值参数以适应不同光照环境,培养工程调试能力。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,绘制ADC转换过程的四个阶段示意图,并解释STM8S中ADC2数据左对齐与右对齐的区别;二是编程作业,修改Light_SINGLE_Demo3函数,实现当光敏电阻阻值大于300Ω时LED1、LED2、LED3全亮,小于300Ω时三灯全灭的多灯控制效果;三是思考题,回答模拟信号转数字信号需要经过哪些步骤,以及ADC2模块的中断向量号是多少。预习要求为提前了解多通道ADC扫描转换模式的工作原理,思考如何同时采集光敏电阻与热敏电阻两路模拟信号,为后续综合传感器应用项目做好准备。《嵌入式应用与开发》教案授课周次8授课课时4教学目标知识目标:理解UART通用异步收发传输器的工作原理,掌握串行通信的单工、半双工、全双工三种传输方式及异步串行通信的数据帧格式与参数配置。技能目标:能够使用USB转串口芯片CH340实现开发板与PC机的物理连接,熟练运用UART1_Init等库函数完成波特率115200、8位数据位、1位停止位、无校验的串口参数配置,实现单片机与PC机间的双向数据通信。素养目标:学习宋彪同学坚持努力、勇于追求的精神,培养职业院校学生通过技能提升实现个人价值与社会贡献的职业发展观,传承精益求精的工匠精神。教学内容1.通信的基本概念2.STM8S的UART通信3.USB转串口芯片CH3404.UART1库函数配置教学重点1.STM8S的UART通信教学难点1.USB转串口芯片CH3402.UART1库函数配置教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先通过回顾项目三传感器控制LED灯的内容,引导学生思考如何实现更灵活的人机交互控制方式,从而引出远程通信控制的需求。接着展示智能家居、工业远程监控等应用场景,说明串口通信在嵌入式系统中的重要性。二、教学实施(110分钟)环节一:通信原理讲授本环节首先向学生系统讲解数据通信的基本概念与分类方式。通过对比图4.1.1并行通信与图4.1.2串行通信的示意图,阐明并行通信多线同时传输、速度快但成本高,以及串行通信单线逐位传输、成本低但速度相对较慢的本质特征。随后重点讲解串行通信的三种传输方式:结合图4.1.3详细剖析单工方式数据仅能单向传输如广播系统、半双工方式收发不能同时进行如对讲机、全双工方式可双向同时传输如电话机的各自特点与应用场景。深入讲解异步串行通信的数据帧格式,结合图4.1.4说明一帧完整数据由起始位标识开始、5至8位数据位承载信息、可选的奇偶校验位用于差错检测、1至2位停止位标识结束的结构组成。详细解释波特率作为每秒传输位数的速率指标、数据位作为实际信息位数的参数、停止位用于时钟同步校正的作用机制,强调通信双方参数必须严格一致的重要性,为后续UART配置奠定理论基础。环节二:UART模块解析在掌握串行通信原理基础上,本环节转入STM8S单片机UART硬件模块的讲解。结合图4.1.5UART模块框图,介绍该模块支持同步单向通信、半双工通信、智能卡协议、IrDA红外解码、多处理器通信等丰富功能,以及配备DMA实现高速数据传输的先进特性。详细说明UART双向通信必需的三个引脚:UART_RX作为串行数据输入采用采样技术恢复数据、UART_TX作为串行数据输出在发送器激活且空闲时保持高电平、UART_SK作为发送器时钟输出用于同步传输。讲解发送器与接收器独立使能控制、接收缓冲器满与发送缓冲器空状态标志、传输结束标志、四种错误检测标志(溢出错误、噪音错误、帧错误、奇偶校验错误)、发送与接收两个中断向量、低功耗模式与静默模式等关键功能特性,帮助学生建立对UART硬件资源的完整认知。环节三:硬件平台讲解本环节聚焦USB转串口芯片CH340的硬件电路分析。首先介绍CH340作为USB总线转接芯片实现USB转串口或USB转打印口的功能特点,结合图4.1.6说明其在为计算机扩展异步串口、升级普通串口设备至USB总线方面的应用价值。随后结合图4.1.9原理图详细剖析电路组成:12MHz晶振电路由X4晶振与C40、C41两个20pF配套电容构成,为芯片提供精确时钟信号;电源电路由C42、C43两个0.1uF去耦电容与C39一个10uF滤波电容组成,确保5V电源稳定供给;USB接口通过VCC引脚接入5V电源,D-与D+引脚负责与计算机的数据交互;关键信号连接方面,CH340的TXD引脚连接至STM8S的RXD引脚用于数据接收,CH340的RXD引脚连接至STM8S的TXD引脚用于数据发送,形成交叉连接实现电平转换与数据透传。同时简要说明TTL电平标准与RS232电平标准的差异,强调CH340在电平兼容方面的桥梁作用。环节四:软件配置教学本环节详细讲解UART1的库函数配置方法。重点剖析UART1_Init函数的六个形参:BaudRate参数设置通信速率常用115200、WordLength参数选择8位数据位、StopBits参数配置1位停止位、Parity参数设置无校验或奇偶校验、SyncMode参数禁止或使能同步时钟、Mode参数控制收发使能模式,通过具体配置示例展示标准参数组合。同时介绍UART1_Cmd函数用于启停UART模块、UART1_ITConfig函数用于配置接收中断等中断源、UART1_SendData8函数用于发送8位数据、UART1_ReceiveData8函数用于接收8位数据的使用方法与调用注意事项,形成完整的软件驱动函数体系。环节五:代码实践学生根据讲解内容进行独立编程实践。首先编写main.c主程序,在BSP_Configuration函数中调用CLK_HSIPrescalerConfig配置内部16M时钟1分频,调用UART1_Configuration完成串口初始化,执行rim打开总中断,主循环保持空转等待中断触发。随后编写uart1.h头文件,声明UART1_Configuration配置函数与UART1_Send_Byte发送函数。重点编写uart1.c源文件:UART1_Configuration函数按照115200波特率、8位数据位、1位停止位、无校验、禁止同步、允许收发模式完成初始化,使能接收中断,启用UART模块;UART1_Send_Byte函数调用UART1_SendData8发送数据,通过查询UART1_FLAG_TXE标志等待发送完成。最后编写stm8s_it.c中断处理文件,在UART1_RX_IRQHandler接收中断服务程序中调用UART1_ReceiveData8获取接收数据,并立即调用UART1_Send_Byte回传实现数据环回。教师巡回指导,协助解决时钟配置错误、引脚复用冲突、中断向量号设置不当等常见问题。环节六:联调测试程序编译通过后进入软硬件联合调试阶段。学生首先使用USB线连接开发板与PC机,在设备管理器中查看CH340所占用的COM端口号如图4.1.12所示。打开蓝精灵多功能调试助手软件如图4.1.11,按照图4.1.13所示配置串口参数:选择对应COM端口、设置波特率115200、数据位8位、停止位1位、校验位无、流控制无,点击打开串口按钮建立连接。下载程序并运行后,在软件发送区输入任意字符点击发送,观察接收区是否显示相同字符回传,验证UART双向通信功能。鼓励学生尝试修改波特率参数观察通信异常现象,加深对参数匹配重要性的理解,同时测试连续发送、大数据量传输等场景评估通信稳定性。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,绘制异步串行通信数据帧格式图,标注起始位、数据位、校验位、停止位的位置与作用,并解释波特率与数据传输距离的关系;二是编程作业,修改现有程序,实现PC端发送数据控制开发板上LED灯的亮灭(如发送"1"点亮LED1,发送"2"熄灭LED1)。《嵌入式应用与开发》教案授课周次9授课课时4教学目标知识目标:理解UART串口通信中接收中断的处理机制,掌握switch语句实现多分支控制的方法,以及串口数据解析与LED控制的逻辑映射关系。技能目标:能够修改UART接收中断服务程序,使用switch语句对接收字符进行判断,实现PC端发送特定指令(1-6)精准控制3个LED灯的独立点亮与熄灭。素养目标:培养像宋彪同学那样在技能实践中坚持努力、勇于突破的工匠精神,体会通过串口通信技术实现人机交互控制的工程应用价值,增强个人价值与社会贡献相统一的职业认同感。教学内容1.串口接收数据控制LED灯教学重点1.串口接收数据控制LED灯教学难点1.串口接收数据控制LED灯教学方法讲授法+演示法+任务驱动法+案例教学法教学体会或反思教学设计:(包括教学准备、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)一、课堂导入(5分钟)本环节首先回顾任务一实现的UART双向数据通信功能,引导学生思考如何将接收到的数据转化为具体的控制指令,从而引出本节课的核心问题:如何通过PC端发送指令控制开发板上的LED灯。接着展示智能家居远程控制、工业设备串口调试等实际应用场景,说明指令解析与执行在嵌入式系统中的重要性。二、教学实施(110分钟)环节一:任务分析本环节首先引导学生回顾任务一实现的UART数据回传功能,分析其局限性:仅能验证通信链路通畅,无法将接收数据转化为实际控制动作。进而提出本节课的核心改进目标:在保持UART接收中断机制不变的前提下,增加指令解析与执行模块,实现PC端对开发板LED灯的远程控制。详细讲解需要进行的程序结构扩展:在硬件初始化阶段增加LED引脚配置,在数据处理阶段将简单的回传操作替换为多分支判断结构,建立字符指令与LED控制动作之间的映射关系。通过对比任务一与任务二的程序流程差异,帮助学生理解功能扩展的软件架构设计思路,明确switch语句作为多分支控制结构在本任务中的关键作用。环节二:代码解析本环节采用分层递进方式深入剖析程序实现。首先分析main.c主程序结构:BSP_Configuration函数在原有时钟配置与UART初始化基础上,增加LED_Init调用完成LED引脚初始化,保持rim总中断使能,主循环保持空转等待中断触发。随后重点讲解uart1.h头文件的扩展:在保留UART1_Configuration与UART1_Send_Byte声明基础上,新增UART1_RECV_LED函数声明,该函数以u8类型接收数据为参数,实现指令解析功能。核心剖析uart1.c源文件中的UART1_RECV_LED函数实现:采用switch语句以形参dt为判断条件,case'1'对应LED1_L点亮LED1、case'2'对应LED1_H熄灭LED1、case'3'对应LED2_L点亮LED2、case'4'对应LED2_H熄灭LED2、case'5'对应LED3_L点亮LED3、case'6'对应LED3_H熄灭LED3,每个case分支以break语句结束防止穿透执行。强调字符常量需使用单引号括起(如'1')与数值常量(如1)的本质区别,说明switch语句相比if-else-if结构在多分支场景下的代码清晰度优势。最后解析stm8s_it.c中断服务程序的修改:UART1_RX_IRQHandler中断向量号为18,函数体内调用UART1_ReceiveData8获取接收数据,并将该数据作为实参传递给UART1_RECV_LED函数触发指令解析,形成"中断触发-数据接收-指令解析-动作执行"的完整控制链路。环节三:硬件准备本环节简要说明硬件平台与任务一完全一致,无需额外器材准备。引导学生确认开发板上LED1、LED2、LED3三个指示灯的物理位置,回顾LED引脚与GPIO端口的对应关系,检查CH340USB转串口模块的连接状态,确保硬件平台处于可正常工作状态。强调虽然硬件连接相同,但软件功能已从简单的数据回传升级为复杂的指令控制,体现软件驱动硬件的嵌入式开发核心思想。环节四:编程实践学生根据代码解析内容进行独立编程实践。首先在工程中添加led.c与led.h文件,实现LED_Init初始化函数与LED1_L、LED1_H等宏定义控制命令,确保LED驱动层功能正常。随后重点编写uart1.c中的UART1_RECV_LED函数,严格按照switch-case-break结构实现六种指令对应六种LED控制动作,注意字符匹配的正确性。修改stm8s_it.c中断服务程序,将原有的直接回传代码替换为对UART1_RECV_LED函数的调用。编译过程中注意解决因缺少led.h头文件引用、宏定义名称拼写错误、case分支缺少break等导致的语法与逻辑错误。教师巡回指导,针对学生普遍出现的字符与数值混淆问题(如case1与case'1'的区别)进行重点纠正,强调C语言中字符型数据与整型数据的本质差异。环节五:联调测试程序编译通过后进入软硬件联合调试阶段。学生使用ST-LINK下载程序,通过USB线连接开发板与PC机,打开串口调试助手软件并配置与任务一相同的参数(波特率115200、8位数据位、1位停止位、无校验)。在发送区依次输入字符1、2、3、4、5、6并点击发送,观察开发板上LED1、LED2、LED3的亮灭变化是否符合预期:发送1时LED1点亮、发送2时LED1熄灭、发送3时LED2点亮、发送4时LED2熄灭、发送5时LED3点亮、发送6时LED3熄灭。测试快速连续发送不同指令的响应能力,验证程序实时性。针对出现的异常现象进行排查:若发送1时三灯同时变化,检查是否缺少break导致case穿透;若发送指令无响应,检查中断使能配置与中断向量号设置;若LED状态与指令相反,检查LED控制宏定义的高低电平逻辑。最后鼓励学生尝试发送未定义的字符(如0、7、a等),观察程序无响应的默认行为,思考如何增加default分支实现错误指令提示功能,为任务拓展奠定基础。三、布置作业及下一次课内容的预习要求课后作业包括三个部分:一是书面作业,绘制switch语句执行流程图,说明break语句的作用,并列举缺少break时的执行结果;二是编程作业,修改程序实现通过PC端发送特定指令组合控制多个LED灯的组合亮灭状态,如发送"A"使LED1与LED2同时点亮、发送"B"使三灯全灭等;三是思考题,简述UART的特性与数据格式,巩固通信基础知识。预习要求为提前了解SPI通信的基本原理,思考UART与SPI在通信方式、时钟同步、引脚数量等方面的差异,为下一章学习SPI通信技术做好准备。无锡科技职业学院《嵌入式应用基础》教案教师姓名张超授课班级24移动授课周次10授课课时4教学目标知识目标:掌握单片机的IIC串行通信原理及应用。技能目标:了解IIC编程实现素养目标:动手能力、协作能力教学内容掌握STM8S单片机的IIC的通信原理与应用掌握IIC的开始信号、终止信号的编程实现教学重点1、IAR环境下建立和配置项目工程2、IIC的通信原理与使用方法3、IIC的开始信号、终止信号的编程实现教学难点IIC的通信原理教学方法理论+实操教学场所K407课外作业技能训练+习题教学体会或反思增加同学们的动手能力。教学设计:(包括、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)教学准备学习开发板下载&仿真器是ST-LINK硬件准备:提供硬件资源软件资源IAR开发环境的安装源程序教学PPT教学视频课堂导入单片机与其它芯片如何进行复杂的同信。IIC和SPI是经常使用的板级之间的通信方式。这里我们重点讲解IIC的通信。不管多复杂的通信模式。最终都是归根到各个引脚上。在引脚上制定复杂的规则,两端芯片按照规则完成复杂通信。那么什么是IIC通信。他有哪些特性和规则?我们来详细讲解和学习。教学实施1.IIC简介I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线。I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。I2C串行总线概述每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。2.IIC规则定义I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。3、开发平台连接作业布置看视频和IIC读写数据动画,理解IIC通信的原理。无锡科技职业学院《嵌入式应用基础》教案教师姓名张超授课班级24移动授课周次十二、十三、十四授课课时9教学目标知识目标:掌握IIC通信原理及应用。技能目标:实现IIC通信的开始和终止信号以及数据读和写的编程素养目标:动手能力、协作能力教学内容掌握IIC的通信原理与应用IAR环境下建立和配置项目工程IIC通信的开始和终止信号以及数据读和写的编程教学重点1、IAR环境下建立和配置项目工程2、IIC通信的开始和终止信号以及数据读和写的编程教学难点IIC通信的开始和终止信号以及数据读和写的编程教学方法理论+实操教学场所K407课外作业技能训练+习题教学体会或反思增加同学们的动手能力。教学设计:(包括、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)教学准备学习开发板下载&仿真器是ST-LINK硬件准备:提供硬件资源软件资源IAR开发环境的安装源程序教学PPT教学视频课堂导入上节课我们详细讲解和学习了IIC通信的原理,掌握了IIC通信开始和终止以及数据稳定性的IIC通信的特性和规则要求,那么如何编程实现IIC每步的通信函数,最终实现IIC通信呢?本次课带领大家进入IIC的编程实现阶段。教学实施1.复习IIC规则定义I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。IIC数据传送格式如下:2、建立项目工程3、实现IIC的开始、终止信号和数据读写编程4、开发平台连接作业布置看相关视频和动画,理解开始、终止、数据读写程序代码无锡科技职业学院《嵌入式应用基础》教案教师姓名张超授课班级24移动授课周次12授课课时4教学目标知识目标:掌握tm1650芯片的工作原理及如何控制数码管技能目标:掌握利用IIC通信函数完成单片机与tm1650通信实现数码管显示数字和通过tm1650芯片的键盘扫描功能控制LED灯。素养目标:动手能力、协作能力教学内容IAR环境下建立和配置项目工程利用IIC通信函数完成单片机与tm1650芯片通信,实现数码管显示数字和通过tm1650芯片的键盘扫描功能控制LED灯。教学重点1、tm1650芯片的工作原理及如何控制数码管的工作原理2、调用IIC通信函数完成与tm1650芯片通信。教学难点利用IIC通信函数完成单片机与tm1650芯片通信,实现数码管显示数字和通过tm1650芯片的键盘扫描功能控制LED灯。教学方法理论+实操教学场所K407课外作业技能训练+习题教学体会或反思增加同学们的动手能力。教学设计:(包括、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)教学准备学习开发板下载&仿真器是ST-LINK硬件准备:提供硬件资源软件资源IAR开发环境的安装源程序教学PPT教学视频课堂导入我们已经掌握了IIC的通信,并理解了TM1650芯片的工作原理,本次任务的目标是通过I²C通信方式实现STM8S208MB单片机与TM1650芯片通信,驱动数码管显示数据字符。三、教学实施1.复习IIC通信原理与各函数实现I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。I2C串行总线概述每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。2.IIC规则定义I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。IIC数据传送格式如下:3、TM1650芯片TM1650是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路。内部集成有MCU输入输出控制数字接口、数据锁存器、LED驱动、键盘扫描、辉度调节等电路。TM1650性能稳定、质量可靠、抗干扰能力强,可适用于24小时长期连续工作的应用场合。3、开发平台连接4、建立数码管显示项目5、项目编程作业布置创新练习1、通过摇杆控制LED灯,摇杆向上LED1灯亮,数码管上显示01,摇杆向左LED2灯亮,数码管上显示02,摇杆向右LED3灯亮,数码管上显示03,摇杆确认,LED灯全亮,数码管上显示1234,摇杆向下LED1灯全息,数码管上显示0000,看视频拓展训练、技能训练+习题无锡科技职业学院《嵌入式应用基础》教案教师姓名张超授课班级24移动授课周次13授课课时4教学目标知识目标:超声波传感器的工作原理与应用技能目标:单片机读取超声波传感器的距离数据,并把读得得数据在数码管显示。素养目标:动手能力、协作能力教学内容超声波传感器的原理单片机读取超声波传感器数据编程实现在数码管显示超声波传感器得距离数据教学重点1、IAR环境下建立和配置项目工程2、超声波传感器的测距原理与应用教学难点1、单片机读取超声波传感器数据编程实现2、在数码管显示超声波传感器得距离数据教学方法理论+实操教学场所K407课外作业技能训练+习题教学体会或反思增加同学们的动手能力。教学设计:(包括、课堂导入、教学实施、作业布置等各个环节的教学内容(活动安排)、教学方法和时间分配等)教学准备学习开发板下载&仿真器是ST-LINK硬件准备:提供硬件资源软件资源IAR开发环境的安装源程序教学PPT教学视频课堂导入在本次任务中,我们将在任务一的基础上,进一步探索超声波传感器测距的原理,并利用STM8S208MB单片机与HC-SR04超声波模块实现物体距离的实时监测。HC-SR04模块通过发射超声波并接收回波来计算距离,其工作原理基于超声波在空气中的传播速度和往返时间。单片机将接收并处理这些数据,通过数码管清晰地显示物体距离。此外,任务还引入了报警功能。当监测到的距离超过预设的阈值时,系统将触发报警,提醒用户注意。这一功能不仅提升了系统的实用性,还增强了交互体验。通过本任务,读者将深入理解超声波测距的原理,并掌握STM8S208MB在传感器数据处理和报警机制中的应用。教学实施1.超声波测距器超声波传感器的是将超声波信号转换成能量信号的传感器。超声波具有频率高、波长

温馨提示

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

评论

0/150

提交评论