《嵌入式系统应用开发》课程教案_第1页
《嵌入式系统应用开发》课程教案_第2页
《嵌入式系统应用开发》课程教案_第3页
《嵌入式系统应用开发》课程教案_第4页
《嵌入式系统应用开发》课程教案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

教师教案(2025—2026学年第1学期)课程名称:嵌入式系统应用开发授课学时:64授课班级:2023级XX学院各专业任课教师:教师职称:教师所在系别:XX学院教务处课程名称嵌入式系统应用开发授课专业XX学院各专业班级2023级各专业班课程编号

D401007修课人数课程类型必修公共基础课();学科基础课(V);专业核心课()选修专业选修();任选课();公选课();理论课(V);实践课(V)授课方式课堂讲授为主(V);实验为主(V);自学为主();专题讨论为主();其他:是否采用多媒体授课是考核方式及成绩构成考试()考查(V)成绩构成及比例:实验40%+作业10%+考试50%是否采用双语教学是学时分配讲授24学时;实验24学时;上机学时;习题学时;课程设计学时教材名称作者出版社及出版时间自编[1]嵌入式系统原理与应用—基于STM32硬件和Proteus仿真周银祥北京:电子工业出版社,2025.7参考书目[1]嵌入式系统原理与实践—基于CortexM3(STM32)(上册).[2]嵌入式系统原理与实践—基于CortexM3(STM32)(下册).[3]STM32F10x微控制器数据手册[4]STM32F10x微控制器参考手册周银祥武汉:华中科技大学出版社,2018.8武汉:华中科技大学出版社,2020.9授课时间第1周——第16周第1章概述(6学时)一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等)1.1 嵌入式系统概述1.1.1 嵌入式系统的定义(掌握)IEEE(国际电气和电子工程师协会)的定义:devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants(“用于控制、监视或者辅助操作机器和设备的装置”)。嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。通俗的说,就是将计算机的硬件和软件嵌入到应用系统如消费电子、智能仪器、网络通信、计算机外围设备、军事装备等中,构成具有智能控制的系统,即嵌入式系统。1.1.2 嵌入式系统的组成(掌握)嵌入式系统一般指非PC系统,它包括硬件和软件两部分。它一般由嵌入式处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。1.2ARM处理器概述1.2.1英国ARM公司ARM即AdvancedRISCMachines的缩写,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。英国ARM公司概况如下。国家:英国(欧洲);行业:电子半导体微处理器智能手机;总部:英国剑桥;CEO:沃伦.伊斯特;竞争对手:英特尔;市场份额:手机处理器90%的市场份额,上网本处理器30%的市场份额,平板电脑处理器80%的市场份额。1.2.2ARM微处理器1.3 STM32微控制器概述ST公司的STM32系列32位微控制器是基于ARMCortex-M的处理器,旨在为微控制器用户提供新的开发自由度。1.3.1 STM32微控制器分类STM32微控制器主要有以下4类。• STM32主流微控制器。• STM32无线微控制器。• STM32超低功耗微控制器。• STM32高性能微控制器。1.3.2 STM32主流微控制器1. STM32F0系列2. STM32G0系列3. STM32F1系列STM32F1系列,是STM32系列32位ARMCortexMCU的先锋产品,可实现高性能,通过简单架构和易用工具,使一流外设以可接受的价格高度集成。4. STM32F3系列5. STM32G4系列1.3.3 STM32F1系列微控制器该系列包含5个产品线,它们的引脚、外设和软件均兼容。• STM32F100,24MHzCPU,具有电机控制和CEC功能。• STM32F101,36MHzCPU,具有高达1MB的Flash。• STM32F102,48MHzCPU,具备USBFS。• STM32F103,72MHzCPU,具有高达1MB的Flash、电机控制、USB和CAN。• STM32F105/107,72MHzCPU,具有以太网MAC、CAN和USB2.0OTG。。1.3.4 STM32F103微控制器STM32F103按照引脚数量和内部存储器大小构成有29种规格型号,如图1-2所示。1.4 STM32F103的内部结构图1-3是该系列产品的内部框图。1.5 STM32F103的时钟STM32的时钟是很复杂的,其时钟树如图1-4所示。1.6 STM32F103的外部引脚大容量STM32F103xx中以STM32F103VE为例,LQFP1001-5所示。1.7 STM32F103的存储器映像1-61.9 STM32系列产品命名规则STM32系列产品命名规则。二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等)嵌入式系统的定义。嵌入式系统的结构与组成。ARM处理器。STM32微控制器概述、内部结构、外部引脚,存储器映像等。三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思)教师理论讲授,提问学生参与。四、作业1.嵌入式的定义是什么?结合具体的产品说明一下。2.到ARM公司官方网站阅读有关ARM处理器的资料,了解ARM处理器的情况。3.查找ARMCortexM3、A8实验/开发板,看看相关的介绍。4.画出STM32F103VET6的内部框图。5.简述AMBA总线。6.简述STM32F103VET6的输入、输出的高、低电平。7.理解STM32F103xx的型号规格。五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者是否每章都填写)1.《嵌入式系统专业教育讲座》,讲座教师,周密高工,微电子技术系,2008.9。2.网络资料。六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训,原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)第2章STM32开发环境(6学时)一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等)2.1STM32开发工具软件2.1.1 MDK的安装RealViewMDK,全称是RealViewMicrocontrollerDevelopmentKit,是德国Keil公司的微控制器集成开发环境,包括了编辑、编译、仿真、下载等工具,可以到keil官方网站下载该软件,或者从第三网站下载。建议安装两个版本3.8a版、4.74版,也可以安装新的版本如5.23版(需要同时安装MDKCM524.EXE),分别安装在D盘、E盘,并分别设置打开不同版本的工程文件。ST官方的STM32例程使用的库函数,典型的版本有V2.0.1和V3.5.0,建议分别使用MDK3.8a版打开V2.0.1版例程、MDK4.74版打开V3.5.0版例程。在WIN7/WIN8/WIN10下,最好用administrator登录,使用MDK3.8a或者4.74版。2.1.2 STM32CubeMX的安装STM32CubeMX是一个图形工具,通过一步一步的过程,简单容易地配置STM32微控制器和微处理器的相应初始化C代码和建立工程。2.1.3 Proteus软件的安装Proteus提供原理图设计、单片机编程、系统仿真和PCB设计功能。2.1.4 STM32硬件仿真器驱动程序的安装ST-LINK/V2调试器和编程器的驱动程序stsw-link009到ST官网下载,双击dpinst_amd64.exe开始安装,如图2-14所示。也可以在D:\Keil_v5\ARM\STLink\USBDriver中双击dpinst_amd64.exe开始安装2.1.5 USB转串口驱动的安装使用专用集成电路如PL-2303、CP2102、CH340等,通过USB接口来虚拟出UART实现串行通信。2.2STM32实验板STM32最小开发系统板,与教材配套的AS-07型实验板以及ST官方的Nucleo实验板和STM3210E-EVAL评估板。二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等)RealViewMDK、STM32CubeMX、Proteus软件的安装和使用。使用Proteus设计STM32最小开发系统。三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思)讲授和演示。四、作业1.下载并安装MDK5.36。2.下载并安装STM32CubeMX6.5.0。3.下载并安装Proteus8.13。五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者是否每章都填写)六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训,原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)第3章STM32基础入门(26学时)一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等)3.1GPIO的结构及编程应用1.GPIO概述每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。2.GPIO库函数库函数:GPIO_DeInit函数。GPIO_AFIODeInit函数。GPIO_Init函数。3.通用I/O接口的编程方法通用I/O接口的编程方法,可以只直接寄存器操作,最好采用库函数的编程方法。【实验3-1】点亮或熄灭LED(标准库)硬件设计STM32F103xx驱动LED电路的原理图见图3-6。2.软件设计(编程)(1)设计分析I/O特性见本书的2.4节的内容。PC6输出高电平1点亮LED,输出低电平0熄灭LED。(2)程序源码 (省略)实验过程与现象见本书的3.2节。【实验3-2】点亮或熄灭LED(HAL库)1.硬件设计STM32F103xx驱动LED电路的原理图见图3-6。2.软件设计(编程)(1)设计分析I/O特性见本书的2.4节的内容。PC6输出高电平1点亮,输出低电平0熄灭LED。使用库函数GPIO编程步骤:使能GPIO的时钟;设置GPIO的方向;GPIO输出0或者1,输入0或者1。(2)程序源码(省略)实验过程与现象见本书的3.2节。3.2STM32的实验过程STM32开发或实验过程,分两大部分,即硬件设计和软件设计。这里假设已经完成STM32实验板的硬件设计,只介绍软件设计,重点是MDK的使用、程序的下载和运行等。使用MDK集成开发环境自建MDK工程进行STM32的实验过程,分为以下4大步骤。1. 关闭原工程,新建工程,选择相应的MCU。2. 编写源程序并添加到该工程中。3. 编译、链接、调试源程序。4. 仿真、调试程序,下载并运行验证程序。推荐使用STM32标准库V3.5.0和HAL库STM32Cube_FW_F1_V1.8.5的工程模板,不需要自建工程,也可以使用STM32CubeMX创建工程并初始化。3.3STM32的复位和时钟控制(RCC)STM32F10xxx系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟。3.3.5 RCC编程应用RCC编程应用,主要就是按照时钟树来配置需要的时钟,通常按照图3-73所示;RCC编程应用,主要就是按照时钟树来配置需要的时钟。实验3-3 LED流水灯(标准库)使用STM32的V3.5.0版库函数和完整RCC配置,范例IOToggle。实验3-4 Proteus仿真STM32:LED流水灯(标准库)使用Proteus仿真STM32F103R6实现。实验演示PC6、PC7、PA5驱动外接的LED实现流水灯。3.4STM32的中断和事件1.STM32F103xx增强型产品内置NVIC(Nestedvectoredinterruptcontroller,嵌套向量中断控制器),能够处理多达68个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。该模块以最小的中断延迟提供灵活的中断管理功能。EXTI(Externalinterrupt/eventcontroller,外部中断/事件控制器)包含19个边沿检测器,用于产生中断/事件请求。多达80个通用I/O口连接到16个外部中断线。NVIC的优先级中断的优先级与判优判断中断是否会被响应的依据:首先是占先式优先级,其次是副优先级;占先式优先级决定是否会有中断嵌套;注意:Reset、NMI、HardFault优先级为负(高于普通中断优先级)且不可调整。 2.优先级组别每一个中断都有一个专门的寄存器IPR(InterruptPriorityRegisters,中断优先级寄存器)来描述该中断的占先式优先级及副优先级。在这个寄存器中STM32使用4个二进制位描述优先级(Cortex-M3定义了8位,但STM32只使用了4位)图4-74NVIC优先级组别中断编程应用实验3-5 EXTI_Config(标准库)按下后松开KEY1按键,上升沿触发中断EXTI_Line5,LED1指示中断发生;按下KEY2按键,下降沿触发中断EXTI_Line6,LED2指示中断发生,使用ST的V3.5.0函数库编程。1.硬件设计2.软件设计(编程)(1)设计分析在main函数里,使用EXTI_Init库函数初始化EXTI,设置EXTI中断线EXTI_Line5,上升沿触发中断;设置EXTI中断线EXTI_Line6,下降沿触发中断。在stm32f10x_it.c里,写出中断函数EXTI9_5_IRQHandler,按下按键KEY1后再松开时,产生中断EXTI5,LED1的亮灭状态改变指示中断的发生;按下按键KEY2时,产生中断EXTI6,LED2的亮灭状态改变指示中断的发生。(2)程序源码与分析…:实验过程与现象实验过程见本书的3.2节。实验现象:上电程序运行后,由于产生了一次软件中断,所以LED1和LED2点亮;按下KEY1或KEY2发生中断,执行EXTI9_5_IRQHandler中断处理程序,LED1或LED2亮灭状态的改变指示发生了中断,见图3-78。3.5STM32的串口通信通用同步/异步收发器(Universalsynchronous/asynchronousreceivertransmitter,USART),也称为串行通信口或简称为串口,提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIRENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。USART配置 例:/*ThefollowingexampleillustrateshowtoconfiguretheUSART1*/USART_InitTypeDefUSART_InitStructure;USART_InitStructure.USART_BaudRate=9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_Odd;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_RTS_CTS;USART_InitStructure.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;USART_InitStructure.USART_Clock=USART_Clock_Disable;USART_InitStructure.USART_CPOL=USART_CPOL_High;USART_InitStructure.USART_CPHA=USART_CPHA_1Edge;USART_InitStructure.USART_LastBit=USART_LastBit_Enable;USART_Init(USART1,&USART_InitStructure);USART编程应用:实验3-7 printf函数输出到USART1(标准库)硬件设计AS-07开发/实验板的USART电路的原理图见图3-82所示。软件设计(编程)(1)设计分析使能GPIOA的时钟,原因是USART1的数据发送线(引脚)和接收线(引脚)是PA9和PA10;使能USART1的时钟。 设置PA9为复用功能推拉输出(GPIO_Mode_AF_PP)模式,设置PA10为PA10为浮空输入模式。使用库函数USART_Init初始化USART1,设置USART的工作参数。使能USART1。使用USART1发送或者接收数据。(2)程序源码 (省略)3.实验过程和实验观察实验过程见本书的3.2节,本实验需要将AS-07实验板使用USB线与电脑PC连接起来,在PC上运行超级终端或者串口助手,下载程序后或者按下AS-07的复位键后,观察实验现象见图3-85、图3-86。二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等)GPIO的结构;通用I/O接口的编程方法;STM32开发或实验过程。STM32的复位;STM32的时钟;RCC编程应用。嵌套向量中断控制器(NVIC);外部中断/事件控制器(EXTI);EXTI编程应用。USART主要特性;USART功能概述;USART特性描述.USART寄存器结构;USART配置;USART编程应用。三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思)演示创建工程,编译调试,仿真、运行。四、作业(1) 练习使用MDK、STM32CubeMX、STM32CubeIDE。(2) 编程练习,使用直接操作寄存器的方法,点亮或者熄灭LED,使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(3) 编程练习,使用STM32的标准库V3.5.0库函数的方法,点亮或者熄灭LED,使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(4) 编程练习,使用STM32的STM32CubeMX、HAL库函数的方法,点亮或者熄灭实验板上的LED,使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(5) 使用STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\GPIO\IOToggle下的程序,建立工程后修改程序;使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(6) 使用STM32CubeMX、HAL库建立工程后,编写程序,实现LED流水灯;使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(7) )使用STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\EXTI\EXTI_Config下的程序,建立工程后,修改程序,使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(8) 使用STM32CubeMX、HAL库建立工程后,编写程序,实现EXTI_Line5;使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(9) 使用STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\USART\Printf下的程序,建立工程后,修改程序,使用MDK仿真、Proteus仿真和下载运行在实验开发板上。(10) 使用STM32CubeMX、HAL库建立工程后,编写程序,实现USART的Printf;使用MDK仿真、Proteus仿真和下载运行在实验开发板上。五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者是否每章都填写)六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训,原因是什么,应如何改进等等;应该在该章(节)教学活动结束后填写)第4章STM32应用编程(12学时)一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等)(一)教学内容4.2 STM32定时器大容量(片内Flash为256K、384K和512K)的STM32F103xx系列产品如STM32F103VE包含最多2个高级控制定时器TIM1、TIM8,4个通用定时器TIM2、TIM3、TIM4、TIM5和2个基本定时器TIM6、TIM7,以及2个看门狗定时器Independentwatchdog、Windowwatchdog和1个系统嘀嗒定时器SysTicktimer。实验4-7 Proteus仿真STM32:TIM1输出7个PWM(标准库)本例说明如何配置TIM1外围设备以产生7个具有4个不同占空比的PWM信号。使用示波器观察TIM1波形,需将TIM1引脚连接到示波器上;使用Protues的虚拟示波器,也可以方便观察到PWM波形和参数值。4.3 STM32的I2C总线STM32F10x多达2个IIC(Inter-integratedcircuit,因为无法准确表达所以不翻译,缩减写为IIC或者I2C)总线接口,能够工作于多主模式或从模式,支持标准和快速模式。特别说明:STM32的I2C是兼容Philips的I2C总线,因此我们先介绍Philips的I2C再学习STM32的I2C,注意区别。4-33IIC总线协议实验4-11 Proteus仿真STM32:OLED显示(模拟I2C)0.96寸OLED显示屏(SSD1306驱动器),价格便宜,有IIC接口和SPI接口2种

温馨提示

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

最新文档

评论

0/150

提交评论