版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教师教案(2025—2026学年第1学期)课程名称:嵌入式系统应用开发授课学时:64授课班级:2023级XX学院各专业任课教师:教师职称教师所在系别:XX学院教务处课程名称嵌入式系统应用开发授课专业XX学院各专业班级2023级各专业班课程编号
D401007修课人数课程类型必修公共基础课();学科基础课(V);专业核心课()选修专业选修();任选课();公选课();理论课(V);实践课(V)授课方式课堂讲授为主(V);实验为主(V);自学为主();专题讨论为主();其他:是否采用多媒体授课是考核方式及成绩构成考试()考查(V)成绩构成及比例:实验40%+作业10%+考试50%是否采用双语教学是学时分配讲授32学时;实验32学时;上机学时;习题学时;课程设计学时教材名称作者出版社及出版时间自编[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应用编程(22学时)一、教学内容及要求(按节或知识点分配学时,要求反映知识的深度、广度,对知识点的掌握程度(了解、理解、掌握、灵活运用),技能训练、能力培养的要求等)(一)教学内容4.1 LCD和FSMCILI9320驱动器的TFTLCD,由4部分构成:触摸屏、LCD显示组件、背光灯组件和驱动电路,TFTLCD需要安装焊接到PCB上使用。FSMC是内置于大容量STM32F10xxx的外部存储器控制器,可以与许多存储器连接,包括静态随机存储器(SRAM)、只读存储器(ROM)、NORFLASH(闪存)、PSRAM(4个存储器模块)和LCD模块等。LCD初始化程序:voidSTM3210E_LCD_Init(void){/*ConfiguretheLCDControlpins*/LCD_CtrlLinesConfig();Delay(5);/*delay50ms*//*StartInitialSequence*/LCD_WriteReg(R229,0x8000);/*Settheinternalvcorevoltage*/LCD_WriteReg(R0,0x0001);/*StartinternalOSC.*/LCD_WriteReg(R1,0x0100);/*setSSandSMbit*/LCD_WriteReg(R2,0x0700);/*set1lineinversion*/LCD_WriteReg(R3,0x1030);/*setGRAMwritedirectionandBGR=1.*/LCD_WriteReg(R4,0x0000);/*Resizeregister*/LCD_WriteReg(R8,0x0202);/*setthebackporchandfrontporch*/LCD_WriteReg(R9,0x0000);/*setnon-displayarearefreshcycleISC[3:0]*/LCD_WriteReg(R10,0x0000);/*FMARKfunction*/LCD_WriteReg(R12,0x0000);/*RGBinterfacesetting*/LCD_WriteReg(R13,0x0000);/*FramemarkerPosition*/LCD_WriteReg(R15,0x0000);/*RGBinterfacepolarity*//*PowerOnsequence*/LCD_WriteReg(R16,0x0000);/*SAP,BT[3:0],AP,DSTB,SLP,STB*/LCD_WriteReg(R17,0x0000);/*DC1[2:0],DC0[2:0],VC[2:0]*/LCD_WriteReg(R18,0x0000);/*VREG1OUTvoltage*/LCD_WriteReg(R19,0x0000);/*VDV[4:0]forVCOMamplitude*/Delay(20);/*Dis-chargecapacitorpowervoltage(200ms)*/LCD_WriteReg(R16,0x17B0);/*SAP,BT[3:0],AP,DSTB,SLP,STB*/LCD_WriteReg(R17,0x0137);/*DC1[2:0],DC0[2:0],VC[2:0]*/Delay(5);/*Delay50ms*/LCD_WriteReg(R18,0x0139);/*VREG1OUTvoltage*/Delay(5);/*Delay50ms*/LCD_WriteReg(R19,0x1d00);/*VDV[4:0]forVCOMamplitude*/LCD_WriteReg(R41,0x0013);/*VCM[4:0]forVCOMH*/Delay(5);/*Delay50ms*/LCD_WriteReg(R32,0x0000);/*GRAMhorizontalAddress*/LCD_WriteReg(R33,0x0000);/*GRAMVerticalAddress*//*AdjusttheGammaCurve*/LCD_WriteReg(R48,0x0006);LCD_WriteReg(R49,0x0101);LCD_WriteReg(R50,0x0003);LCD_WriteReg(R53,0x0106);LCD_WriteReg(R54,0x0b02);LCD_WriteReg(R55,0x0302);LCD_WriteReg(R56,0x0707);LCD_WriteReg(R57,0x0007);LCD_WriteReg(R60,0x0600);LCD_WriteReg(R61,0x020b);/*SetGRAMarea*/LCD_WriteReg(R80,0x0000);/*HorizontalGRAMStartAddress*/LCD_WriteReg(R81,0x00EF);/*HorizontalGRAMEndAddress*/LCD_WriteReg(R82,0x0000);/*VerticalGRAMStartAddress*/LCD_WriteReg(R83,0x013F);/*VerticalGRAMEndAddress*/LCD_WriteReg(R96,0x2700);/*GateScanLine*/LCD_WriteReg(R97,0x0001);/*NDL,VLE,REV*/LCD_WriteReg(R106,0x0000);/*setscrollingline*//*PartialDisplayControl*/LCD_WriteReg(R128,0x0000);LCD_WriteReg(R129,0x0000);LCD_WriteReg(R130,0x0000);LCD_WriteReg(R131,0x0000);LCD_WriteReg(R132,0x0000);LCD_WriteReg(R133,0x0000);/*PanelControl*/LCD_WriteReg(R144,0x0010);LCD_WriteReg(R146,0x0000);LCD_WriteReg(R147,0x0003);LCD_WriteReg(R149,0x0110);LCD_WriteReg(R151,0x0000);LCD_WriteReg(R152,0x0000);/*SetGRAMwritedirectionandBGR=1*//*I/D=01(Horizontal:increment,Vertical:decrement)*//*AM=1(addressisupdatedinverticalwritingdirection)*/LCD_WriteReg(R3,0x1018);LCD_WriteReg(R7,0x0173);/*262KcoloranddisplayON*/}LCD编程应用实验4-1 LCD显示中英文(标准库)使用STM32的FSMC接口LCD(ILI9320驱动器)显示中英文字符。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总线协议24C02/32是2K/32K位(bit)串行EEPROM,内部有256/4096字节(Byte,1Byte=8bit)存储容量。实验4-10 STM32控制24C02/32读写(模拟I2C)此示例移植于广州周立功单片机发展有限公司的80C51模拟I2C总线程序,STM32对AS-07上的AT24C02/32进行读写操作实验4-11 Proteus仿真STM32:OLED显示(模拟I2C)0.96寸OLED显示屏(SSD1306驱动器),价格便宜,有IIC接口和SPI接口2种串行接口的显示模块,分别是4针和7针,占用引脚少,使用方便。此示例使用Proteus仿真STM32F103R6控制0.96寸IIC接口OLED显示屏(SSD1306)。实验4-13 24C02/32读写(标准库)此示例使用STM32的硬件IIC接口,使用ST的标准外设库StdPeriph_LibV3.5.0的库函数和范例程序STM32F10x_StdPeriph_Examples\I2C\EEPROM,修改后对AS-07V4/V2上的AT24C02/32进行读写操作。4.4 STM32的SPI总线STM32具有多达2个SPI(Serialperipheralinterface)接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。通常SPI通过4个引脚与外部器件相连:• MISO(MasterIn/SlaveOutdata):主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。• MOSI(MasterOut/SlaveIndata):主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。• SCK(SerialClockoutput):串行时钟,作为主设备的输出,从设备的输入。• NSS(Slaveselect):从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。SPI总线25Q系列串行Flash存储器SPI编程应用实验4-15 STM32读写W25Q32(标准库)STM32控制读写W25Q32FV(AS-07V2/V4,SPI2),此示例提供了如何使用SPI固件库的基本示例以及与W25Q32SPIFLASH通信的SPIFLASH驱动程序。(二)教学要求了解LCD主要特性,熟悉LCM驱动器,掌握LCM初始化程序、显示文字和图片、触摸控制等的编程应用。了解STM32的定时器构成,熟悉高级控制定时器通用定时器独立看门狗窗口看门狗,掌握系统时基定时器的编程应用。了解I2C总线,熟悉I2C总线的通信协议,掌握I2C总线编程应用。了解SPI总线,熟悉SPI总线的通信协议,掌握SPI总线编程应用。二、教学重点、难点及解决办法(分别列出教学重点、难点,包括教学方式、教学手段的选择及教学过程中应注意的问题;哪些内容要深化,那些内容要拓宽等等)掌握LCM初始化程序、显示文字和图片、触摸控制等的编程应用。掌握STM32的定时器的编程应用。掌握I2C总线编程应用。掌握SPI总线编程应用。三、教学设计(如何讲授本章内容,尤其是重点、难点内容的设计、构思)教师先讲授理论,接下来演示实验,并调试分析程序。四、作业(1) 使用软件PCtoLCD2002,创建所需的汉字库,在LCD上显示中文姓名,完成实验4-1。(2) 使用软件Img2Lcd和自己的照片,在LCD上显示自己的照片,完成实验4-2。(3) 使用TIM3的产生PWM驱动LED1实现呼吸灯效果。(4) 分别使用标准库和HAL,读写I2C存储器。(5) 分别使用标准库和HAL,读写SPI存储器。(6) 分别使用标准库和HAL,完成IICOLED显示自己的中文姓名。(7) 分别使用标准库和HAL,完成SPIOLED显示自己的中文姓名。五、参考资料(应列出学生学习的参考书目,可根据课程自身的特点选择是否填写或者是否每章都填写)六、教学后记(教学后记的内容包括教学计划的执行情况,效果如何,有什么经验教训,原因是什么,应如何改进等等;应该在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 怀化市溆浦县2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 红河哈尼族彝族自治州红河县2025-2026学年第二学期四年级语文第七单元测试卷(部编版含答案)
- 酒泉地区金塔县2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 福州市鼓楼区2025-2026学年第二学期五年级语文期末考试卷(部编版含答案)
- 建设工程质量检测员风险评估与管理强化考核试卷含答案
- 卷烟卷接设备操作工安全检查强化考核试卷含答案
- 计算机网络设备装配调试员岗前技术评优考核试卷含答案
- 酚醛树脂装置操作工安全文明水平考核试卷含答案
- 电子绝缘材料试制工安全意识水平考核试卷含答案
- 昆明市嵩明县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 员工放弃社保协议书范本
- 2025福建高中春季高考学业水平考试数学测试卷
- 新生儿呼吸道合胞病毒感染病因介绍
- 电力应急演练
- 批量伤员救治
- 车站调度员(技师)技能鉴定理论考试题库(含答案)
- 转炉煤气净化及回收工程技术规范
- 耳针法(耳穴埋豆)操作评分标准
- MOOC 刑法学总论-西南政法大学 中国大学慕课答案
- (新版)烟叶分级工(技师)专业知识考试题库大全-2烟叶加工和使用
- 激光先进制造技术 课件 第6章 激光复合制造技术
评论
0/150
提交评论