版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机产品设计与制作
(stm32机型)项目1、利用GPIO和位带操作实现温度报警任务1.1认识STM32单片机及其开发工具总目录1项目1、利用GPIO和位带操作实现温度报警
2项目2、利用SysTick实现温度报警与控制
3项目3、利用按键查询实现参数设定及显示
4项目4、利用外部中断实现工件计数显示
5项目5、利用定时器实现直流电动机PWM调速6项目6、利用计数器实现工件计数显示和打包控制
7项目7、利用ADC实现土壤湿度采集
具体工作任务设计基于STM32单片机的温度报警器,实现如下功能:
温度超过设定温度(30℃)时,报警灯点亮;否则,报警灯熄灭。请进行1、方案设计2、器件选型3、电路和程序设计4、完成软硬件调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。子目录1项目1、利用GPIO和位带操作实现温度报警
1.1任务1.1 认识STM32单片机及其开发工具1.2任务1.2 方案设计
1.3任务1.3 电路设计
1.4任务1.4 程序设计
1.5任务1.5 利用位带操作实现温度报警
1.6任务1.6 stm32软硬件深入(一)
任务1.1认识STM32单片机及其开发工具本任务目标1、认识STM32单片机开发工具,能在其上找到STM32芯片和主要外设;2、能利用开发工具进行程序下载与功能测试;3、能说出单片机的定义与作用;4、能指出3种以上常见单片机产品和生产厂家;5、能说出STM32单片机的生产厂家、主要系列产品和主要性能指标;6、能说出学习单片机的目的;7、能自主查阅资料,阅读文献和发起讨论。认识STM32单片机开发板正面认识STM32单片机开发板正面——拿掉液晶屏STM32单片机开发环境仿真器硬件开发平台——仿真器仿真器接口计算机USB口仿真器作用:1.下载程序2.调试程序3.供电STM32单片机开发环境软件开发环境——Keil公司MDK—ARMIAR公司EWARM单片机的编程语言C语言STM32汇编语言STM32机器语言代码解释代码解释十六进制二进制u8AAA;……AAA=5;……AAA=6;定义变量AAA……给AAA送5……给AAA送6MOVSr4,#0x05……MOVSr4,#0x06给寄存器r4送5……给寄存器r4送62405……24060010010000000101……0010010000000110单片机的编程语言C语言汇编语言机器语言用语句表示,例如用赋值语句:AAA=5;用指令助记符表示,例如MOVSr4,#0x05用二进制的机器指令表示,例如0010010000000101需要转换(编译)成机器码才可以被执行需要转换(汇编)成机器码才可以被执行是唯一能被CPU识别和执行的语言类似于自然语言,三种语言中最容易理解记忆直接针对硬件,比机器语言更易于理解和记忆直接针对硬件,不容易理解和记忆一条C语句,常对应若干条机器指令一条汇编指令对应一条机器指令一条机器指令常对应一组CPU内部功能电路功能强、编程容易编程难度大于C语言很少直接用机器语言编程C程序生成的机器码不如汇编程序精简生成的机器码占内存更少,速度更快我就是它们最终要生成的机器码硬件兼容性较好CPU不同,指令助记符不同(不兼容)CPU不同,机器语言不同(不兼容)其他调试工具工具、仪器设备——让实验板和计算机通信1、连接实验板、仿真器和计算机,检查电源指示灯应点亮仿真器实验板计算机复制文件建立项目2、在电脑的F盘新建1个文件夹,专门存放本课程程序,文件夹名字自定义,例如电气13、从多媒体网络接收老师的测试程序:“01.按键点灯-测试”,将其存入刚才建立的文件夹4、解压缩“01.按键点灯-测试”
到当前文件夹5、打开文件夹:“01.按键点灯-测试”,在根目录找到文件”Push_Light“
6、双击该文件,打开keil5
keil界面7、进入keil5,左侧为”Project”窗口,右侧为程序编辑窗口。上面是文件栏和工具栏
编译程序8、点击“Rebuild”(再生成)按钮,对程序进行编译生成操作
调试器设置9、单击“options”(选项)按钮,准备进行调试器设置
调试器设置10、进“Debug”(调试)页,选择:Use:CMSIS-DAPDebugger,点击:Settings。
调试器设置11、选择PZCMSIS-DAP适配器,找到:适配器的IDCODE。注意不同的调试器,IDCODE不同,只要有编号,就说明设备被识别,否则需要检查设备连接并重新上电。
12、设置中的Reset:SYSRESETREQ。调试器设置13、进入“FlashDownload(闪存下载)”页,勾选:ResetandRun(复位并运行),点击:OK,OK,退出Options设置。
下载程序14、点击:“Download(下载)”按钮,程序被下载到实验板上的单片机中
运行程序1、按住K_UP按钮,观察:
LED模块的D1被点亮数码管的”a”段被点亮2、松开K_UP按钮,观察:
LED模块的D1熄灭数码管的”a”段熄灭3、如果一切正常,说明实验板能正常通信和工作关于单片机-什么是单片机?——单片机是一个集成电路芯片关于单片机-什么是单片机?——单片机是一个计算机,可以按照程序运行关于单片机-什么是单片机?——单片机芯片内部由CPU(CentralProcessingUnit)、存储器(memory)、输入/输出接口即I/O接口(Input/OutputInterface)等部分组成关于单片机-什么是单片机?——单片机芯片与各种外设结合,即可构成不同的单片机产品,并在程序控制下,实现各种功能。关于单片机-什么是单片机?——单片机是将CPU、存储器、I/O接口等部件集成在一起的一个芯片,因此被称为单片微型计算机即SingleChipMicrocomputer,简称单片机即SCM。关于单片机-什么是单片机?——单片机与PC机的异同与通用计算机(PC机)的异同?单片机与通用计算机(PC机)单片机与通用计算机(PC机)的相同之处——都由CPU、存储器、I/O接口和外设组成通用计算机的CPU(中央处理器)是一个独立的芯片,在机箱的主板上,是计算机的核心CPU单片机的CPU、存储器、I/O接口等集成在一个芯片里。单片机与通用计算机(PC机)通用计算机的内存储器由一组芯片组成,称为内存条,在机箱里,用来存放运行程序和数据内存条单片机的CPU、存储器、I/O接口等集成在一个芯片里。单片机与通用计算机(PC机)通用计算机的外设包括显示器、键盘、鼠标、音箱、麦克、硬盘等,置于机箱外,用来向CPU输入输出数据。常常是标准外设。接口电路(显卡、键盘接口等)也是标准的。外设单片机的外设,包括按键、各种传感器、LED、蜂鸣器、LCD、数码管、电动机等。外设的形式更加多样。单片机与通用计算机(PC机)通用计算机的外形比较统一。单片机产品的外形不固定,常嵌入到设备中,与设备一体。单片机与通用计算机(PC机)单片机有什么用?——单片机可与不同外设结合,构成各种装置单片机显示器按键智能压力检测仪(单片机+压力传感器+显示器等)智能压力变送器(单片机+压力传感器+显示器等)单片机有什么用?——单片机可与不同外设结合,构成各种装置无纸记录仪智能数显表单片机有什么用?——单片机可与不同外设结合,构成各种装置单片机有什么用?——单片机可与不同外设结合,构成各种装置空调控制主板温度控制器单片机有什么用?——单片机可与不同外设结合,构成各种装置智能玩具汽车电子系统单片机有什么用?——单片机可与不同外设结合,构成各种装置单片机有什么用?——单片机可用于许多领域家用电器航空航天医疗仪器通讯网络汽车电子办公自动化仪器仪表工业自动化单片机单片机的发展1976~1978:SCM(SingleChipMicrocomputer)初始阶段。代表产品为Intel公司生产的MCS-48。1978~1982:SCM的完善阶段。代表产品为Intel公司生产的MCS-51。对单片机产品的贡献极大。现在许多单片机都与之兼容。1982~1990:从SCM向MCU发展的阶段。也是8位单片机的巩固发展及16位单片机的推出阶段。代表产品是80C51单片机及以其为内核的其它多种单片机。1990~:
全面发展阶段。向上,出现了32位字长,速度更快的、强数据处理能力的单片机如ARM系列单片机和DSP(数字信号处理器)等产品。向下,在工控领域,8位机速度和功能都得以提高。典型产品是SiliconLabs生产的C8051F系列单片机单片机的生产厂家及系列产品2.Motorola:8位机:68HC05和升级产品68HC08、68HC11、68HC12
16位机:68HC16、32位机:683XX3.Microchip:PIC单片机1.Intel:8051/8031系列4.Zilog:Z8、Z865.Atmel:8位机:AT89:51兼容单片机
16位机:AT90(AVR)6.TI:MSP430,16位7.NS:美国国家半导体公司:COP8
8.宏晶:STC系列51兼容单片机9.Sililabs:C8051F系列10.ST:意法半导体stm32STM32单片机ST:意法半导体公司M:Micro32:32bitSTM32与ARM的关系ARM是英国的芯片设计公司其最成功的莫过于32位嵌入式CPU核----ARM系列最常用的是ARM7和ARM9ARM公司主要提供IP核,具有知识产权的核(Intellectual
Property
core)IP核是CPU最核心的部分,并不是完整的处理器。ARM把这个IP核卖给各大半导体公司,如
Philips
三星,ATMEL,甚至Intel等。各大公司在ARM的CPU核基础上添加上一些需要的外设,封装起来形成自己的处理器。STM32就是ST公司将ARM公司的Cortex-M作为内核,与一些外设组合封装在一起的32位嵌入式处理器。STM32Cortex-M
ARMv7架构定义了三大分工明确的系列:“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用“R”系列:针对实时系统“M”系列:针对微控制器Cortex-A5/A8采用ARMv7-A架构Cortex-M0采用ARMv6-M架构Cortex-M3采用ARMv7-M架构Cortex-M4采用ARMv7-ME架构Cortex-M是ARM公司推出的一款IP核STM8和STM32单片机STM32单片机的命名规则我们的stm32我们开发板使用的是STM32F103ZET6芯片(1)内核:32位高性能ARMCortex-M3处理器。时钟:高达72M,实际还可以超频一点。(2)144引脚112个IO,大部分IO口都耐5V(模拟通道除外),支持调试:SWD和JTAG,SWD只要2根数据线(3)存储器容量:512KFLASH,64KSRAM总结CPU存储器I/O接口单片机是一种微型计算机(MicroComputer)包括CPU、存储器、I/O接口等电路但是它很小,能将CPU、存储器、I/O接口等集成在一个小小的芯片(Chip)中。CPU存储器I/O接口CPU存储器I/O接口单片机芯片SingleChipMicrocomputer最简单的单片机系统只需要将单片机芯片与电源以及输入输出设备(例如按键、传感器、数码管、继电器等)进行适当连接。CPU存储器I/O接口电源单片机芯片VCCGND按键发光二极管再将预先编好的程序存入存储器CPU存储器I/O接口电源单片机芯片VCCGND程序就可以实现一定的功能例如按下按键,LED点亮再将预先编好的程序存入存储器就可以实现一定的功能例如让数码管显示需要的字符或数字各种连接好的单片机为核心的电路板
总结:1)单片机是一个集成电路芯片。3)单片机是一个将CPU、存储器、I/O接口集成在一个芯片里的计算机。(故称单片机——SCM:SingleChipMicrocomputer)2)单片机是一个计算机(智能芯片、可编程芯片)。6)单片机体积小、价格低廉。5)单片机产品没有固定的外型,通常嵌入设备中,故称嵌入式计算机。(EmbeddedComputer)4)单片机是主要用于测量与控制(故称微控制器——MCU:MicroControlUnit)。CPU存储器I/O接口怎么学单片机认真听课,记好笔记,课下复习动手实践,在干中学
电路不是图画,不是供欣赏的,是要你实现的。程序可以在纸上编制,但必须在计算机上调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。任务1.1认识STM32单片机及其开发工具本任务目标1、认识STM32单片机开发工具,能在其上找到STM32芯片和主要外设;2、能利用开发工具进行程序下载与功能测试;3、能说出单片机的定义与作用;4、能指出3种以上常见单片机产品和生产厂家;5、能说出STM32单片机的生产厂家、主要系列产品和主要性能指标;6、能说出学习单片机的目的;7、能自主查阅资料,阅读文献和发起讨论。单片机产品设计与制作
(stm32机型)袁秀英石梅香项目1、利用GPIO和位带操作实现温度报警任务1.2方案设计总目录1项目1、利用GPIO和位带操作实现温度报警
2项目2、利用SysTick实现温度报警与控制
3项目3、利用按键查询实现参数设定及显示
4项目4、利用外部中断实现工件计数显示
5项目5、利用定时器实现直流电动机PWM调速6项目6、利用计数器实现工件计数显示和打包控制
7项目7、利用ADC实现土壤湿度采集
具体工作任务设计基于STM32单片机的温度报警器,实现如下功能:
温度超过设定温度(30℃)时,报警灯点亮;否则,报警灯熄灭。请进行1、方案设计2、器件选型3、电路和程序设计4、完成软硬件调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。子目录1项目1、利用GPIO和位带操作实现温度报警
1.1任务1.1 认识STM32单片机及其开发工具1.2任务1.2 方案设计
1.3任务1.3 电路设计
1.4任务1.4 程序设计
1.5任务1.5 利用位带操作实现温度报警
1.6任务1.6 stm32软硬件深入(一)
任务1.2方案设计及器件选型本任务目标1、能够查阅相关技术资料,结合电路、电子、传感器
等基础知识进行系统方案设计和器件选型;2、能够针对设计任务进行研讨和表达。讨论与发言如何用单片机制作一个温度报警器设计任务回顾要求:温度低于30℃时,报警灯熄灭,否则点亮。温度低于30℃温度高于30℃方案设计那么如何实现呢?请大家讨论一下!方案设计需要什么?1个温度传感器检测温度1个灯比如发光二极管进行报警1个电路将传感器和报警灯连接起来接收传感器输入对输入信号进行处理控制LED输出系统方框图温度(t℃)温度传感器控制电路报警灯器件选型温度(t℃)温度传感器控制电路报警灯器件选型温度(t℃)温度传感器控制电路报警灯温度传感器开关量输出的温度传感器模拟量输出的温度传感器例如电接点水银温度计温度超过设定值,开关闭合;否则断开例如热电阻温度计温度越大,电阻值越大TemperatureswitchTemperatureSensor电接点水银温度计短电极插到设定温度处长电极插到最低处导线将信号远传到控制电路电接点水银温度计温度低于设定值时:两根电极之间什么也没有断开温度高于设定值时:两根电极之间有水银(水银是导电的)导通器件选型温度(t℃)温度传感器控制电路报警灯报警灯灯泡型LED型正向导通,发光否则,不发光器件选型温度(t℃)温度传感器控制电路报警灯控制电路电源有单片机的控制电路STM32F103ZET6没有单片机的控制电路任务1.2方案设计及器件选型本任务目标1、能够查阅相关技术资料,结合电路、电子、传感器
等基础知识进行系统方案设计和器件选型;2、能够针对设计任务进行研讨和表达。单片机产品设计与制作
(stm32机型)袁秀英石梅香项目1、利用GPIO和位带操作实现温度报警任务1.3电路设计与调试总目录1项目1、利用GPIO和位带操作实现温度报警
2项目2、利用SysTick实现温度报警与控制
3项目3、利用按键查询实现参数设定及显示
4项目4、利用外部中断实现工件计数显示
5项目5、利用定时器实现直流电动机PWM调速6项目6、利用计数器实现工件计数显示和打包控制
7项目7、利用ADC实现土壤湿度采集
具体工作任务设计基于STM32单片机的温度报警器,实现如下功能:
温度超过设定温度(30℃)时,报警灯点亮;否则,报警灯熄灭。请进行1、方案设计2、器件选型3、电路和程序设计4、完成软硬件调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。子目录1项目1、利用GPIO和位带操作实现温度报警
1.1任务1.1 认识STM32单片机及其开发工具1.2任务1.2 方案设计
1.3任务1.3 电路设计
1.4任务1.4 程序设计
1.5任务1.5 利用位带操作实现温度报警
1.6任务1.6 stm32软硬件深入(一)
任务1.3电路设计与调试本任务目标1、能查阅相关资料,说出STM32单片机的电源引脚和GPIO引脚的作用;2、能画出温度开关与单片机的连接电路,说出其原理;3、能画出LED与单片机的连接电路,说出原理;4、能举一反三,独立进行类似控制的电路设计;5、会进行电路测试。任务1.3电路设计与调试本任务目标1、能查阅相关资料,说出STM32单片机的电源引脚和GPIO引脚的作用;2、能画出温度开关与单片机的连接电路,说出其原理;3、能画出LED与单片机的连接电路,说出原理;4、能举一反三,独立进行类似控制的电路设计;5、会进行电路测试。没有单片机的温度报警器电路设计温度(t℃)温度传感器控制电路报警灯温度传感器TemperatureSensor发光二极管LEDLightEmittingDiodeθ电源PowerSupply串联电路限流电阻没有单片机的温度报警器电路设计温度(t℃)温度传感器控制电路报警灯有单片机的温度报警器温度(t℃)温度传感器控制电路报警灯stm32单片机有单片机的温度报警电路stm32单片机有单片机的温度报警电路供电电路输入电路输出电路晶振电路复位电路其他电路供电电路STM32F103ZET6的供电引脚VDD和VSS为片内数字电路供电分VDD1和VSS1、VDD2和VSS2……VDD11和VSS11供电电压2.0~3.6V,典型值3.3VVDDA和VSSA为片内模拟电路供电可外接独立电源,也可和VDD和VSS共用一组电源供电电压2.4~VDD(3.6V)VREF+和VREF-为片内AD提供精准基准电压可外接独立电源,也可和VDDA和VSSA共用一组电源VBAT为片内RTC提供备用电源可外接电池或其他电源也可和VDD共用一组电源供电电路STM32F103ZET6的供电引脚供电电路使用了四组电源的供电电路——画法1供电电路使用了四组电源的供电电路——画法1供电电路使用了四组电源的供电电路——画法2供电电路使用了四组电源的供电电路——画法2供电电路使用了一组电源的供电电路——画法1供电电路使用了一组电源的供电电路——画法2供电电路使用了两组电源的供电电路(开发板接法)供电电路开发板供图供电电路--电源电路测试3.3VGNDGND5V自主设计供电电路参考以上电源电路:(1)请设计使用两组电源的电源电路,要求一组为数字电源、模拟电源、基准电源供电,另一组是备用电池。(2)请设计使用三组电源的电源电路,要求一组为数字电源和模拟电源供电、一组为基准电源供电,另一组是备用电池。有单片机的温度报警电路stm32单片机有单片机的温度报警电路供电电路输入电路输出电路晶振电路复位电路其他电路输入电路输入输出引脚PA0~PA15PB0~PB15PC0~PC15PD0~PD15PE0~PE15PF0~PF15PG0~PG15通用输入/输出引脚GPIOGeneral-PurposeInput/Output每一根引脚即可做输入也可做输出做DI输入时,接收传感器等输入外设设备输入的高、低电平信号做DO输出时,向LED等输出设备发送高、低电平信号
输入电路输入输出引脚PA0~PA15PB0~PB15PC0~PC15PD0~PD15PE0~PE15PF0~PF15PG0~PG15PA0~PA15PB0~PB15PC0~PC15PD0~PD15VDD1~VDD11VSS1~VSS11VDDAVSSAVREF+VREF-VBATPE0~PE15PF0~PF15PG0~PG15OSC_INOSC_OUTNRSTBOOT0STM32F103ZET6输入电路144引脚GPIO引脚(PA0~PG15,112个)电源引脚(VDD1~VBAT,27个)复位引脚(NRST,1个)晶振引脚(OSCIN和OSCOUT,2个)启动引脚(BOOT0,1个)其它引脚(空引脚1个)输入电路3.3Vθ1K上拉电阻t>=设定值:开关闭合PA0经1K电阻上拉到3.3V即PA0输入高电平t<设定值:开关断开PA0外部悬空PA0STM32F103ZET6输入电路测试断电时,按下K_UP按键开关:通()断()通电时,按下K_UP按键PA0电压=断电时,抬起K_UP按键开关:通()断()通电时,抬起K_UP按键PA0电压=测试结果自主设计参考以上电路:请设计使用PE2和PF5接收2个按键输入的电路。有单片机的温度报警电路stm32单片机有单片机的温度报警电路供电电路输入电路输出电路晶振电路复位电路其他电路STM32F103ZET6PA0输出电路3.3Vθ1K上拉电阻t>=设定值:开关闭合PA0经1K电阻上拉到3.3V即PA0输入高电平t<设定值:开关断开PA0内部下拉到VSS即PA0输入低电平PC03.3V470限流电阻PC0输出低电平:LED点亮PC0输出高电平:LED熄灭输出电路测试输出电路测试结果PC0接3.3VLED:亮()灭()PC0接GNDLED:亮()灭()自主设计参考以上电路:请设计使用PE2和PF5控制2个LED的输出电路。电源、输入和输出电路汇总有单片机的温度报警电路stm32单片机有单片机的温度报警电路供电电路输入电路输出电路晶振电路复位电路其他电路暂不设计输入电路的其它接法stm32与开关量输入设备的连接电路开关量需要转换成高低电平的数字量送入STM32F103ZET6PA03.3V1K上拉电阻开关闭合PA0外部输入高电平开关断开PA0外部输入悬空开关闭合PA0外部输入低电平开关断开PA0外部输入悬空STM32F103ZET6PA0开关闭合PA0外部输入低电平开关断开PA0外部输入高电平STM32F103ZET6PA03.3V1K上拉电阻实验板按键电路设计PA0PE2PE3PE4STM32F103ZET6输入电路的其它接法stm32与数字量输入设备的连接电路数字量输入直接送入,注意共地STM32F103ZET6PG11输出电路的其它接法stm32与LED的连接电路STM32F103ZET6PA03.3V200限流电阻PA0输出低电平LED点亮PA0输出高电平LED熄灭PA0输出高电平LED点亮PA0输出低电平LED熄灭STM32F103ZET6PA0200限流电阻STM32F103ZET6实验板LED电路设计PC0PC1PC2PC3PC4PC5PC6PC7实验板的供电电路设计实验板的供电电路设计请根据老师要求,现场进行电源、输入、输出电路设计任务1.3电路设计与调试本任务目标1、能查阅相关资料,说出STM32单片机的电源引脚和GPIO引脚的作用;2、能画出温度开关与单片机的连接电路,说出其原理;3、能画出LED与单片机的连接电路,说出原理;4、能举一反三,独立进行类似控制的电路设计;5、会进行电路测试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。单片机产品设计与制作
(stm32机型)袁秀英石梅香项目1、利用GPIO和位带操作实现温度报警任务1.4程序设计与调试总目录1项目1、利用GPIO和位带操作实现温度报警
2项目2、利用SysTick实现温度报警与控制
3项目3、利用按键查询实现参数设定及显示
4项目4、利用外部中断实现工件计数显示
5项目5、利用定时器实现直流电动机PWM调速6项目6、利用计数器实现工件计数显示和打包控制
7项目7、利用ADC实现土壤湿度采集
具体工作任务设计基于STM32单片机的温度报警器,实现如下功能:
温度超过设定温度(30℃)时,报警灯点亮;否则,报警灯熄灭。请进行1、方案设计2、器件选型3、电路和程序设计4、完成软硬件调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。子目录1项目1、利用GPIO和位带操作实现温度报警
1.1任务1.1 认识STM32单片机及其开发工具1.2任务1.2 方案设计
1.3任务1.3 电路设计
1.4任务1.4 程序设计
1.5任务1.5 利用位带操作实现温度报警
1.6任务1.6 stm32软硬件深入(一)
任务1.4程序设计与调试本任务目标1、能根据任务需求绘制系统流程图;2、能根据需要确定输入输出引脚的工作模式;3、会编写GPIO引脚初始化函数;4、会利用GPIO读引脚库函数采集引脚输入;5、会利用GPIO写引脚库函数向引脚输出信号;6、会利用示例框架和开发板,在Keil5中进行程序的编辑、编译、生成、下载和调试;7、能举一反三独立进行类似应用的程序设计。课程回顾-基于STM32的温度报警器电路程序设计思路——流程图安装KEIL5搭建框架(1)在电脑适当位置新建一个文件夹如“电气1”(如已有,则打开)。(2)将老师给的“01-01-程序框架-简易框架-库函数法”文件夹复制粘贴进来。(3)再粘贴一次,并修改副本文件夹名为:01-02-温度报警器-GPIO读写。这样你的文件夹里至少包含了“01-01-程序框架-简易框架-库函数法”和“01-02-温度报警器-GPIO读写”两个文件夹。(4)打开文件夹:01-02-温度报警器-GPIO读写,修改工程文件“Template”为“Temperature_Alarm”。当然不修改就用原来的名字也没有问题。修改工程名的目的是使其功能看起来一目了然。(5)注意:1)工程文件的文件类型是:μVision5Project;2)内部子文件夹和文件名(例如CORE等)不要用中文。搭建框架(1)双击工程文件:Temperature_Alarm,打开Keil5。(2)点击左侧Project窗口中的+或-,展开或者折叠目录,观察工程的结构。(3)在Project(工程)窗口,找到main.c,双击,打开该文件。main.c是主程序文件。主函数部分主程序一般应包括声明、子函数、主函数三个部分。声明部分子函数部分主函数的一般结构认识intmain() //必须有的函数,名字和返回类型不能变,是首先要运行的函数{}while(1)
//无条件循环部分,反复要做的事务{……;
}……;
//初始化部分,循环前要做的事务声明部分子函数部分主函数部分主函数的一般结构认识intmain() //主函数最重要的函数,名字和返回类型只能如此{}while(1)
//无条件循环部分,反复要做的事务{
}
//初始化部分,循环前要做的事务voidAAA(
)//子函数AAA{……;}HAL_Init(
);//调用库函数HAL_Init()#include"stm32f1xx.h";//包含stm321xx.h库文件……;AAA(
);//调用子函数AAA……;
主函数的一般结构认识主程序一般应包括声明、子函数、主函数三个部分。例如:voidGPIOA_Init() //子函数GPIOA_Init(),名字和返回类型可根据需要自定{
//子函数内容,根据需要自定}voidGPIOC_Init()
//子函数GPIOC_Init(),名字和返回类型可根据需要自定{
//子函数内容,根据需要自定}intmain()
//主函数,最重要的函数,名字和返回类型只能如此{
//初始化部分HAL_Init(
); //调用库函数HAL_Init()GPIOA_Init();
//调用子函数GPIOA_Init()GPIOC_Init();
//调用子函数GPIOC_Init()
while(1)
//循环部分,根据需要自定
{ }}#include“stm32f1xx.h” //声明部分,声明包含stm32f1xx.h头文件本系统主函数的设计intmain(){
GPIO_PinStatetemperature; //定义变量temperature,用于存温度信号,数据类型为GPIO_PinState
HAL_Init(); //初始化HAL
GPIOA_Init(); //对GPIOA的PA0引脚初始化
GPIOC_Init(); //对GPIOC的PC0引脚初始
while(1)
{
temperature=HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0);
//读取PA0引脚输入给temperature
if(temperature==1)
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);//若温度超限,则向PC0写0,点亮LED
else
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);
//否则,向PC0写1,熄灭LED
}}函数分析1、主函数main(),自己写内容,名字main和返回值类型int固定,包括初始化和无条件循环两部分2、初始化部分主要进行PA0和PC0引脚初始化;
循环部分主要用于温度采集、判断和LED控制3、PA0和PC0引脚初始化用两个子函数GPIOA_Init()和GPIOC_Init()完成,
子函数名、内容、传递参数、返回值,根据需要自定4、用到了3个HAL库函数:HAL_Init()、
HAL_GPIO_ReadPin()、
HAL_GPIO_WritePin()
库函数名称、功能、参数、返回值都是厂家提供的,不能用错。5、定义了变量temperature,其名字可自定义,但类型受到函数HAL_GPIO_ReadPin()限制HAL初始化库函数解析HAL库函数:HAL_Init()函数原型:HAL_StatusTypeDef
HAL_Init(
)
HAL_OK=0;HAL_ERROR=1;HAL_BUSY=2;HAL_TIMEOUT=3↑函数名↑参数↑返回值类型
功能:按照HAL固件库的要求,进行系统外设的初始化,并根据操作情况返回结果返回值:数据类型:HAL_StatusTypeDef,该类型在库中已被定义。取值有4个:英语小贴士:初始化
(Initialize,简写Init)
状态(Status)
类型(Type)
定义(Define)
要求:必须写在程序开头(主函数的第一条语句)GPIO读引脚库函数解析HAL库函数:HAL_GPIO_ReadPin(端口名,引脚号)示例:AAA=HAL_GPIO_ReadPin(GPIOE
,
GPIO_PIN_5);//读PE5输入给变量AAA
if(AAA==GPIO_PIN_SET){……}函数原型:GPIO_PinState
HAL_GPIO_ReadPin(GPIO_TypeDef
*GPIOx
,
uint16_t
GPIO_Pin)功能:读GPIO引脚的输入电平,如果输入高电平则返回“1”;如果输入低电平,则返回“0”端口名:GPIOx,数据类型为GPIO_TypeDef,指针型,该类型在库中已被定义,取值为:
GPIOA、GPIOB、……、GPIOG返回值:数据类型为GPIO_PinState,取值为:GPIO_PIN_RESET=
0;GPIO_PIN_SET=
1英语小贴士:Read(读)、Pin(引脚)、SET(置位、置1)、RESET(复位,清0)、State(状态)引脚号:GPIO_Pin,数据类型为uint16_t,该类型在库中已被定义,取值为:GPIO_PIN_0~GPIO_PIN_15
GPIO写引脚库函数解析HAL库函数:HAL_GPIO_WritePin(端口号,引脚号,输出值)函数原型:void
HAL_GPIO_WritePin
(GPIO_TypeDef*GPIOx,uint16_t
GPIO_Pin,GPIO_PinState
PinState)功能:向GPIO引脚写“0”或“1”并输出到引脚上端口名:数据类型为GPIO_TypeDef,该类型在库中已被定义,取值为:
GPIOA、GPIOB、……、GPIOG引脚号:GPIO_Pin,数据类型为uint16_t,该类型在库中已被定义,取值为:
GPIO_PIN_0、GPIO_PIN_1、……、GPIO_PIN_15等输出值:数据类型为GPIO_PinState,有两个取值:GPIO_PIN_RESET=0;
GPIO_PIN_SET=1返回值:类型为void(空)示例:HAL_GPIO_WritePin
(GPIOD,GPIO_PIN_3,GPIO_PIN_RESET);//向PD3写0HAL_GPIO_WritePin
(GPIOB,GPIO_PIN_15,GPIO_PIN_SET);//向PB15写1STM32的固件库认识STM32的固件库(STM32FxxxFirmwareLibrary)1、固件库是ST公司和ARM公司提供的函数库,含有大量已封装好可直接使用的库函数例如HAL_GPIO_ReadPin()。2、固件库帮助使用者不需要对芯片内部硬件有很多了解,即可利用库函数进行程序设计,为快速应用提供便利。3、stm32编程通常有三个途径:(1)利用标准库编程(StandardPeripheralsLibrary,标准设备库);
(2)利用HAL库编程(HardwareAbstractionLayer
Library,抽象印象层库);
(3)直接对stm32内部寄存器进行编程4、传统51单片机采用方法(3),即寄存器编程。5、stm32由于比51复杂很多,通常都是利用固件库编程作为入门,之后再用寄存器编程作为提高。6、标准库是之前使用的固件库。HAL库则是目前主推的固件库。7、详细的HAL库函数说明和函数具体内容可参考手册,或直接从keil5中读取主函数的编辑与调试(1)编辑前请注意:ØC编译器不识别中文和中文全角字符。因此除了注释以外,编辑程序过程中,请大家务必将输入法切换到英文或者中文半角。否则C编译器会报错,切记!Ø为防止打字错误,请尽量利用复制粘贴。主函数的编辑与调试(2)(1)按以上设计在Keil5中写入主程序,你会发现第6行和第7行出现了警告符号。(2)点击编译(Translate)图标,输出(Output)窗口指出有2个警告(warnings)。
警告内容:第6、7行存在模糊声明(declaredimplicitly)。错误原因:子函数必须先定义后使用。现在编译程序没有找到这两个函数的定义。于是认为是模糊声明(实际上是没有声明)。主函数的编辑与调试(3)(3)在第2~7行加入GPIOA_Init()和GPIOC_Init()子函数的框架。(4)点击编译(Translate)图标,输出(Output)窗口显示0个错误(errors)和警告(warnings)。可见虽然子函数的内容尚未编写,但框架结构正确了,编译正确。程序结构再认识voidGPIOA_Init(){}voidGPIOC_Init(){}int
main(){}//声明包含库文件stm32f1xx.h,该文件包含了关于stm32单片机的相关定义#include"stm32f1xx.h"//main()函数,主函数,是程序首先运行的函数//两个子函数,作用是初始化PA0和PC0引脚,运行中被main()调用主函数名字必须是main(),KEIL5要求类型必须是int子函数名字和类型可根据需要自定义子函数必须先定义再使用子函数编辑与解析GPIOA和GPIOC初始化子函数解析(1)程序第5、13行使用了GPIOA和GPIOC时钟开启库(宏)函数。除了供电,单片机的工作离不开时钟。时钟就像人的心脏,为单片机的工作提供节拍。对于51单片机,上电复位后GPIO的时钟是自动开启的。STM32则不同,要使GPIO工作,需要编程开启其时钟。GPIO时钟开启和关闭库宏函数函数名__HAL_RCC_GPIOA_CLK_ENABLE()功能开启GPIOA的时钟函数名__HAL_RCC_GPIOA_CLK_DISABLE()功能禁止GPIOA时钟类似库函数__HAL_RCC_GPIOB_CLK_ENABLE()、__HAL_RCC_GPIOB_CLK_DISABLE()英语小贴士RCC(ResetandClockControl,复位和时钟控制)CLK(CLOCK,时钟)ENABLE(使能、允许)DISABLE(失能、禁止)一般形式__HAL_RCC_GPIOx_CLK_ENABLE()__HAL_RCC_GPIOx_CLK_DISABLE()(x=A~G)GPIOA和GPIOC初始化子函数解析(2)程序第9、18行使用了GPIO初始化库函数HAL_GPIO_Init(端口名,&初始化变量名)。该函数的意思是按照初始化变量的设置,对指定的端口进行初始化。使用时应注意取地址运算符“&”。例如:HAL_GPIO_Init(GPIOA,&GPIO_InitStructure);//按照变量GPIO_InitStructure的值对GPIOA初始化HAL_GPIO_Init(GPIOB,&AAA);
//按照变量AAA的值对GPIOB做初始化。GPIO初始化库函数(1)函数名HAL_GPIO_Init(端口名,&初始化变量名)功能按照GPIO初始化变量的值,初始化指定的GPIO端口函数原型voidHAL_GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_Init)端口名GPIOA~GPIOG,指出对哪个端口进行初始化初始化变量数据类型:GPIO_InitTypeDef,这是一个结构体类型,在库中定义如下:typedefstruct{uint32_tPin;/*引脚号*/uint32_tMode;/*引脚的工作模式*/uint32_tPull;/*引脚的上拉下拉设置*/uint32_tSpeed;/*引脚速度*/}GPIO_InitTypeDef1.Pin:管腿号,包括:GPIO_PIN_0、GPIO_PIN_1、……、GPIO_PIN_15、GPIO_PIN_All等2.Mode:工作模式,具体取值见后说明3.Pull:上拉和下拉方式,具体取值见后说明4.Speed:输出速度,具体取值见后说明返回值空GPIO初始化库函数(2)GPIO引脚做输入输出时的设置(部分)引脚用途ModePullSpeed数字量输入(DI)
数字量输出(DO)
GPIO_MODE_INPUT(输入)GPIO_NOPULL(浮空)GPIO_PULLUP(上拉)GPIO_PULLDOWN(下拉)GPIO_MODE_OUTPUT_PP(推挽输出)GPIO_MODE_OUTPUT_OD(开漏输出)GPIO_SPEED_FREQ_LOW(低速,最大2MHz)GPIO_SPEED_FREQ_MEDIUM(中速,最大10MHZ)GPIO_SPEED_FREQ_HIGH(高速,最大50MHz)GPIO_InitTypeDefAAA; //定义变量AAA,用于存放GPIO初始化参数__HAL_RCC_GPIOF_CLK_ENABLE();
//开启GPIOF时钟
AAA.Pin=GPIO_PIN_5; //指出是PIN_5引脚AAA.Mode=GPIO_MODE_INPUT; //指出该引脚做输入(INPUT)AAA.Pull=GPIO_PULLDOWN; //设置为内部下拉模式(PULLDOWN)HAL_GPIO_Init(GPIOF,&AAA); //按照以上设置对GPIOF的指定引脚进行初始化GPIO_InitTypeDefBBB; //定义变量BBB,用于存放GPIO初始化参数__HAL_RCC_GPIOD_CLK_ENABLE();
//开启GPIOD时钟
BBB.Pin=GPIO_PIN_6; //指出是PIN_6引脚BBB.Mode=GPIO_MODE_OUTPUT_PP; //指出该引脚做推挽输出(OUTPUTPUSHPULL)BBB.Speed=GPIO_SPEED_FREQ_HIGH; //设置为高速输出(HIGHFREQUENCESPEED)HAL_GPIO_Init(GPIOF,&AAA); //按照以上设置对GPIOF的指定引脚进行初始化GPIO初始化库函数(3)例如希望按照变量AAA的设置对PF5引脚进行初始化,要求PF5做数字量输入,设为下拉,程序如下:例如希望按照变量BBB的设置对PD6引脚进行初始化,要求PD6做数字量输出、推挽方式,高速,程序如下:GPIO的初始化库函数(4)(1)GPIO管腿做数字量输入时,应将其Mode设为GPIO_MODE_INPUT。(2)GPIO_MODE_INPUT下,应设置PULL:(3)本系统PA0采用图(a)外部上拉,
故应设为:GPIO_PULLDOWNGPIO的初始化库函数(5)(1)GPIO管腿做数字量输出时,可将其Mode设为:
GPIO_MODE_OUTPUT_PP(推挽输出,PP:PushandPull);
GPIO_MODE_OUTPUT_OD(漏极开路输出,OD:OpenDrain)。Ø直接驱动DC3V负载情况下,应设置为推挽输出(PP)。Ø如果驱动的是DC5V负载,则应设置为漏极开路输出(OD)本系统PC0直接驱动LED,应设置为推挽输出。(2)具体是PP还是OD,取决于负载的情况:(3)应根据需要设置其输出速度Speed:GPIO_SPEED_FREQ_LOW(低速,最大2MHz)GPIO_SPEED_FREQ_MEDIUM(中速,最大10MHZ)GPIO_SPEED_FREQ_HIGH(高速,最大50MHz)程序的编译生成与下载运行(1)点击“编译Translate”按钮,对程序进行编译,应显示没有错误和警告。(2)点击“生成Build”按钮,对程序进行生成,应显示没有错误和警告。(3)也可以直接点击“重新生成Rebuild”按钮,代替编译和生成操作。连接电脑-仿真器-实验板1、连接电脑-调试器-实验板,观察电源指示灯应点亮计算机USB口仿真器作用:1.下载程序2.调试程序3.供电电源指示灯实验板设置调试方式1、点击魔术棒Options(选项)设置调试方式2、进入Debug(调试)页3、选择:Use:CMSIS-DAPDebugger
4、点击:Settings(设置)设置调试方式5、在Debug(调试)页,如果显示:ErrorNoDebugUnitDevicefound
(错误,没有发现调试单元)说明电脑-仿真器-实验板没有正确连接。需要重建连接。设置调试方式5'、在Debug(调试)页,如果出现IDCODE(机器号),说明连接正确,电脑找到了仿真器。6、将Reset(复位)设置为:SYSRESETREQ(系统复位响应)。设置调试方式7、在FlashDownload(闪存下载)页,将ResetandRun勾选上(复位后即启动运行)8、OKOK下载程序1、点Download(下载)按钮,将程序下载到开发板上的单片机芯片中2、出现:FlashLoadfinished,说明闪存下载完成。运行程序1、现在芯片中已经有程序了。2、实验板上有LED,确实也连到了PC0。3、但是实验板上没有电接点水银温度计。
实验板上PA0连接了一个按键K_UP。姑且用这个按键模拟温度开关吧。按下按键,开关闭合——用于模拟温度超限抬起按键,开关断开——用于模拟代表温度正常4、好了。按下按键,看看发生了什么?LED亮了吗?松开按键,LED应该熄灭反复操作,都是如此注意实验板上数码管的a段和LED1
接在一起了,它们会同时亮灭于是,我们成功啦!练习1、用PA0接收温度传感器输入,用PC1连接LED的负极,画电路,编写程序2、用PA0接收温度传感器输入,用PC7连接LED的正极,画电路,编写程序练习PA0PE2PE3PE4PG11请针对以下电路,编写PA0、PE2、PE3、PE4、PG11引脚的初始化程序按钮也可画成以下符号常开按钮常闭按钮练习1、用PA15接收压力传感器输入,用PB12连接LED,PB12接LED负极,选择压力传感器,画电路,编写完整程序2、用PA3接收行程开关输入,用PE2连接LED,PE2接LED正极,画电路,编写完整程序压力开关温度开关液位开关行程开关任务1.4程序设计与调试本任务目标1、能根据任务需求绘制系统流程图;2、能根据需要确定输入输出引脚的工作模式;3、会编写GPIO引脚初始化函数;4、会利用GPIO读引脚库函数采集引脚输入;5、会利用GPIO写引脚库函数向引脚输出信号;6、会利用示例框架和开发板,在Keil5中进行程序的编辑、编译、生成、下载和调试;7、能举一反三独立进行类似应用的程序设计。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。单片机产品设计与制作
(stm32机型)袁秀英石梅香项目1、利用GPIO和位带操作实现温度报警任务1.5利用位操作实现温度报警器总目录1项目1、利用GPIO和位带操作实现温度报警
2项目2、利用SysTick实现温度报警与控制
3项目3、利用按键查询实现参数设定及显示
4项目4、利用外部中断实现工件计数显示
5项目5、利用定时器实现直流电动机PWM调速6项目6、利用计数器实现工件计数显示和打包控制
7项目7、利用ADC实现土壤湿度采集
具体工作任务设计基于STM32单片机的温度报警器,实现如下功能:
温度超过设定温度(30℃)时,报警灯点亮;否则,报警灯熄灭。请进行1、方案设计2、器件选型3、电路和程序设计4、完成软硬件调试。项目总目标1、了解单片机的发展及用途,理解其关键概念与术语;2、了解单片机产品的开发过程,会使用开发工具进行软硬件设计与调试;3、理解基于STM32F103ZET6的电源电路原理,能够独立进行电源电路的设计与调试;4、理解按键、温度开关等简单DI电路的原理,能够独立进行类似电路的设计与调试;5、理解LED等简单DO电路的原理,能够独立进行类似电路的设计与调试;6、掌握基于HAL库函数的GPIO引脚读写和位操作编程方法;7、能够按照分组管理的模块化设计方法进行程序设计与调试;8、了解STM32GPIO电路的内部结构;9、会查找相关资料、阅读相关文献。子目录1项目1、利用GPIO和位带操作实现温度报警
1.1任务1.1 认识STM32单片机及其开发工具1.2任务1.2 方案设计
1.3任务1.3 电路设计
1.4任务1.4 程序设计
1.5任务1.5 利用位带操作实现温度报警
1.6任务1.6 stm32软硬件深入(一)
任务1.5利用位操作实现温度报警器1、理解位操作的基本概念,会利用给出的框架和位操作文件,
编写GPIO位操作程序;2、会给程序加入宏定义,提高程序的可移植性;3、理解分组管理的模块化程序设计思路,会利用现有框架,
设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度教育培训合同:培训机构与学员就培训课程及费用等方面的协议3篇
- 二零二四年度农村老年人日间照料中心建设合同2篇
- 2024年企业授信贷款合同模板
- 2024年创新型协议授权委托管理细则一
- 2024年商业交易协议规范样本版B版
- 医疗药品代理买卖合同三篇
- 2024年度门卫设施设备购买合同带眉脚
- 2024年乐器演奏会演出合同3篇
- 2024年5G网络建设合作协议3篇
- 2024工程设计咨询合同
- 小学英语-my favourite season教学课件设计
- 高标准基本农田建设项目施工资料汇总
- NY/T 705-2003无核葡萄干
- JJG 1030-2007超声流量计
- GB/T 31148-2022木质平托盘通用技术要求
- 复习题《劳动经济学》课件
- 华支睾吸虫(肝吸虫)-课件
- 国家开放大学《组织行为学》章节测试参考答案
- 如何上好一节思政课综述课件
- 结直肠癌围手术期治疗课件
- 《青春期》-完整版课件
评论
0/150
提交评论