文档库 最新最全的文档下载
当前位置:文档库 › 基于STM32F103的恒温系统的设计

基于STM32F103的恒温系统的设计

基于STM32F103的恒温系统的设计
基于STM32F103的恒温系统的设计

.

中国矿业大学计算机学院2013 级本科生课程报告

报告时间2016.09.20

学生姓名张谊坤

学号08133367

专业电子信息科学与技术

任课教师王凯

任课教师评语

任课教师评语(①对课程基础理论的掌握;②对课程知识应用能力的评价;③对课程报告相关实验、作品、软件等成果的评价;④课程学习态度和上课纪律;⑤课程成果和报告工作量;⑥总体评价和成绩;⑦存在问题等):

成绩:任课教师签字:

年月日

摘要

针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可靠性,本文设计了一种基于STM32F103T6的温度控制系统。本设计是基于DS18B20的温度控制系统,以STM32F103ZET6为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度判定等一系列操作的依据。设计中,基本上实现了该系统的功能,通过DS18B20采集温度数据,使用LCD屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的范围内,并可以手动设置恒温范围,温度超出限制后会有声光报警。

关键词:STM32F103,均值滤波,恒温控制,DS18B20

目录

1 绪论 (1)

1.1选题的背景及意义 (1)

1.2设计思想 (1)

1.3实现的功能 (2)

2 硬件设计 (2)

2.1硬件平台 (2)

2.2硬件设计模块图 (3)

2.3温度传感器DS18B20 (4)

2.4 LCD屏幕 (8)

2.5 DC 5V散热风扇 (10)

2.6加热片 (10)

3 软件设计 (11)

3.1软件平台 (11)

3.2软件设计模块图 (12)

3.3主程序流程图 (12)

3.4子程序流程图 (14)

3.4.1 恒温控制子程序流程图 (14)

3.4.2 flag标志设置子程序流程图 (15)

3.4.3温度设置子程序流程图 (16)

3.4.4温度读取函数流程图 (17)

3.4.5均值滤波程序流程图 (18)

3.4.6显示函数程序流程图 (19)

4 调试分析 (19)

4.1硬件调试 (20)

4.2软件测试 (20)

4.3功能实现分析 (21)

5 实验总结 (21)

参考文献 (23)

1 绪论

1.1选题的背景及意义

21世纪是科学技术高速发展的信息时代,电子技术、嵌入式技术的应用已经是非常广泛,伴随着科学技术和生产的不断发展,在生产生活中需要对各种参数进行温度测量。因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用技术,同时它们在各行各业中也发挥着非常重要的作用。如在日趋发达的工业领域之中,利用测量与控制温度来保证生产的正常运行;在农业生产中,用于保证蔬菜大棚的恒温保产等;在科学研究中,往往也需要一个恒温的环境作为实验的保障。

温度值是表征物体冷热程度的一个物理量,温度的测量则是工农和业生产过程中一个很重要也普遍的参数。温度的测量及控制对保证产品的质量、提高生产的效率、节约能源、安全生产、促进经济的发展起到非常重要的作用。因为温度测量的普遍性,使得温度传感器的数量在各种传感器中居首。并且随着科学技术与生产的不断发展,温度传感器的种类仍然在不断增加和丰富以来满足生产生活中的各种需要。

在嵌入式温度控制系统中的关键是温度的测量、温度的控制和温度的保持,温度是工业控制对象中主要的被控参数之一。因此,嵌入式要对温度的测量则是对温度进行有效及准确的测量,并且能够在工业生产中得广泛的应用,尤其在机械制造、电力工程化工生产、冶金工业等重要工业领域中,担负着重要的测量任务。在日常工作和生活中,也被广泛应用于空调器、电加热器等各种室温测量及工业设备的温度测量。

但温度是一个模拟量,需要采用适当的技术和元件,将模拟的温度量转化为数字量,才生使用计算机进行相应的处理。

1.2设计思想

恒温系统应用于各种工业或者民用领域,如何精确地控制温度成为一个非常重要的研究问题。本系统需要利用STM32来控制各器件的工作情况,使传感器维持在一个固定的温度上。

本文所研究的课题是基于嵌入式的恒温控制系统设计,实现了温度的实时监测与控制。温度控制部分,提出了用DS18B20、STM32 F103ZET6和LCD的硬件电路完成对室温的实时检测及显示,利用DS18B20与嵌入式系统连接由软件与硬件电路配合来实现对加热片和散热风扇的实时控制。从DS18B20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据线,该总线本身也可以向所挂接的DS18B20提供电源,不需要额外电源。同时DS18S20能提供九位温度精度,它无需任何外围硬件便可方便地构成温度检测系统。加热片通过带有继电器的电路驱动,由嵌入式开发板的一根口线控制并供电,继电器需要嵌入式开发板提供额外的电源。DC 5V散热风扇的实时控制也仅

仅需要一根口线,由开发板供电,不需要外加电源。而且本次的设计主要实现温度监测,超温报警,温度控制,超过设定的门限值时自动启动加热和散热装置等功能。而且还要以STM32开发板为主机,使温度传感器通过一根口线与嵌入式开发板相连接,再加上温度控制部分和人机交互部分来共同实现温度的监测与控制。

1.3实现的功能

(1)能够连续测量环境的温度值,用LCD屏幕来显示环境的实际温度。

(2)能够设定恒温的温度范围,初始范围是30℃~33℃。

(3)能够实现温度自动控制,如果设定温度在30℃~33℃,则能使温度保持恒定在30℃~33℃。

(4)使用嵌入式STM32 F103ZET6控制,通过输入按键来控制恒温范围的设定值,数值采用LCD屏幕显示。

(5)温度超出范围时能够实现声光报警:LED灯和数码管闪烁,蜂鸣器报警。

2 硬件设计

2.1硬件平台

本次设计的硬件平台选用的是STM32系列的F103ZET6嵌入式开发板。STM芯片根据容量分为三大类:LD(小于64K),MD(小于256K),HD(大于256K),STM32F103ZET6类属第三类。具有如下特点:

1.基于ARM Cortex-M3核心的32 位微控制器,LQFP-144封装.

2.512K 片内FLASH(相当于硬盘),64K片内RAM(相当于内存),片内FLASH 支持在线编程(IAP).

3.高达72M 的频率,数据,指令分别走不同的流水线,以确保CPU运行速度达到最大化 .

4.通过片内BOOT区,可实现串口下载程序(ISP).

5.片内双RC 晶振,提供8M和32K 的频率.

6.支持片外高速晶振(8M),和片外低速晶振(32K).其中片外低速晶振可用于CPU 的实

时时钟,带后备电源引脚,用于掉电后的时钟行走.

7.42个16位的后备寄存器(可以理解为电池保存的RAM),利用外置的纽扣电池,和实现掉电数据保存功能.

8.支持JTAG,SWD调试.配合廉价的J-LINK,实现高速低成本的开发调试方案.

9.多达80个IO(大部分兼容5V逻辑),4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S 接口,2路I2C接口,5路USART,一个USB从设备接口,一个CAN接口,SDIO接口,可兼容SRAM,NOR和NAND Flash 接口的16位总线-FSMC.

10.3路共16通道的12位AD输入,2路共2 通道的12位DA 输出.支持片外独立电压基准.

11.CPU操作电压范围:2.0-3.6V.

2.2硬件设计模块图

设计整体模块如图2-1所示:

图2-1 设计模块图

如图所示,本次设计共有五大模块:DS18B20温度传感器模块、键盘模块、LCD 显示模块、温度控制模块以及警报模块构成;其中温度控制模块又有小风扇和加热片两个小模块,警报模块有LED灯和蜂鸣器两个小模块。各个模块的功能如下:

DS18B20温度传感器模块:DS18B20为温度传感器,主要作用是温度采集。

键盘模块:键盘模块共包含三个按键:K_LEFT、K_UP和K_DOWN,其中,K_LEFT 主要是实现Flag标志的更新,实现程序中不同模块的转换,详见下面的程序流图,K_UP和K_DOWN两按键主要是实现最低温度和最高温度的设置。

LCD显示模块:实现温度的显示。

温度控制模块:实现恒温控制,允许温度在设定的一定范围内变化,温度过低时加热片启动升温,温度过高时小风扇启动降温。

警报模块:警报模块主要是在温度超出正常范围时发出警报信息,实现声光报警,主要为LED和数码管闪烁和蜂鸣器发声。

2.3温度传感器DS18B20

DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

工作原理:

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图2-2所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温

度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

DS18B20的主要特性:

(1)适应电压范围更宽,电压范围:3.0~5.5V ,在寄生电源方式下可由数 据线供电

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯

(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温

(4)DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温

(7)在9位分辨率时最多在 93.75ms 内把温度转换为数字,12位分辨率时最多在750ms 内把温度值转换为数字,速度更快

/清除 图2-2 DS18B20测温原理图

(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

接线方法:面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85℃的原因。实际操作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示85℃。

特点

独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源测量温度范围为-55℃至+125℃。华氏相当于是-67华氏度到257华氏度-10℃至+85℃范围内精度为±0.5℃

温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统

描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。

DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:1 )读ROM,2 )ROM匹配,3 )搜索ROM,4 )跳过ROM,5 )报警检查。这些指令操作作用

在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。

若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL 都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL 指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。

2.4 LCD屏幕

图2-3 LCD管脚图

TFT-LCD 又叫做薄膜晶体管液晶显示器,其管脚图如上,其管脚在STM32F103中有相应的管脚对应。常用的液晶屏接口很多种,8 位、9 位、16位、18 位都有。而常用的通信模式呢,主要有6800 模式和8080 模式两种,今天呢,我们来讲的是8080 模式。如果大家接触过LCD1602 或者LCD12864 等,那么就会发现8080 模式的时序呢,其实跟LCD1602 或者LCD12864 的读写时序是差不多的。8080 接口有5 条基本的控制线和多条数据线,数据线的数量主要看液晶屏使用的是几位模式,有8 根、9 根、16 根、18 根四种类型。具体如下表:

表2-1 TFT-LCD各位功能

可以知道,LCD 液晶屏的信号线主要有:1) CS:用于片选的选择。2) RS:用于选择命令或者数据。3) WR:写使能。4) RD:读使能。5) RESET:复位端。

其时序如下图:

图2-4 LCD时序图

(1)在WR 跳变为低电平之后,液晶屏开始读取总线上面的数据。如果使用IO 口模拟写入的时候,可以先在总线上面写入数据,然后在跳变WR,以保证当读取的时候,

总线上面的数据是稳定的。

(2)在RD 跳变为低电平之后,液晶屏放置数据到总线上面。液晶屏的读写时序了,大家操作的时候,可以使用单片机IO 口模拟它的时序进行操作。

2.5 DC 5V散热风扇

散热风扇的驱动电路如图2-5所示:

I/O口

图2-5 散热风扇驱动电路

风扇仅需要的一根口线驱动,当I/O输出为低电平时,三极管导通,风扇启动;

当I/O输出为高电平时,风扇停止。

2.6加热片

加热片驱动电路如图2-6所示:

I/O口

图2-6 加热片驱动电路

加热片也仅仅需要一根口线控制,I/O口为高电平时,继电器L与N_O端连通,加热片工作;I/O口为低电平时,继电器L与N_O端断开,加热片工作。

3 软件设计

3.1软件平台

本设计的软件平台为keil uvision4,目前使用Keil uVision4的产品有Keil MDK-ARM,Keil C51,Keil C166和Keil C251。

Keil uVision4具有以下特点:

发展:2009年2月发布Keil uVision4,Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。

新特征:

1.最新的Keil uVision4 IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。

2.uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。

3.uVision4在μVision3 IDE的基础上,增加了更多大众化的功能。

4.多显示器和灵活的窗口管理系统

5.系统浏览器窗口的显示设备外设寄存器信息

6.调试还原视图创建并保存多个调试窗口布局

7.多项目工作区简化与众多的项目

3.2软件设计模块图

图3-1 软件设计模块

软件设计中共分为六大部分,温度检测模块、显示模块、报警模块、键盘模块、恒温控制模块和控制算法。

温度检测模块主要是温度传感器DS18B20相关的程序,实现温度的采集和转换,最终为我们常用的摄氏温度值的形式;显示模块以LCD屏幕相关程序为主,实现必要信息的显示;警报模块实现温度超限报警,恒温控制实现对温度的恒定控制,在程序里,这两部分在一个函数里;键盘模块主要是实现温度值得设定;控制算法是对采集温度所做的一个均值滤波,以排除采集的错误数据。

3.3主程序流程图

主程序流程图3-2如下所示:

图3-2主程序流程框图

进行初始化之后,进入一个while(1)的死循环里,不断的根据flag的值来更新工作的状态。当Flag=0时,进入温度实时显示部分,在显示的同时还会进行恒温状态的控制;当Flag=1时,进入恒温范围下限的设置的界面,利用按键设置目标值,并同时实现恒温控制;当Flag=2时,进入恒温范围上限的设置的界面,利用按键设置目标值,并同时实现恒温控制。Flag标志通过按键更新,0—2循环,到3自动变为0。

3.4子程序流程图

3.4.1 恒温控制子程序流程图

图3-3 恒温控制子程序流程框图

在恒温控制子程序中,通过对当前温度值的判断来决定要执行的动作:温度过高时,执行高温时所对应的相关动作,即最左边4位数码管显示“H”字样,红色报警指示灯亮,同时风扇启动散热,加热片不工作;温度过低时,执行低温时所对应的相关动作,即最左边4位数码管显示“L”字样,蓝色报警指示灯亮,同时加热片启动加热,散热风扇不工作;在温度正常显示时,数码管左4位没有显示,绿色警报指示灯亮,加热片和风扇都不工作。

3.4.2 flag标志设置子程序流程图

图3-4 flag标志设置子程序流程框图

flag标志作为温度显示和温度设置之间的转换标志,其设置的过程必须清晰且正确:flag初始值为0,即初始状态为温度显示与恒温控制状态;当K_LEFT按键按下时,延时10ms以消除抖动,防止误触,然后flag标志自加1;当flag=1时,进入恒温范围下限的设置的界面,并同时实现恒温控制;当flag=2时,进入恒温范围上限的设置的界面,并同时实现恒温控制;flag自加到3时,会自动重置为0。

3.4.3温度设置子程序流程图

温度设置子程序流程图如下所示:

图3-5 温度设置子程序流程框图

恒温范围的设置主要由K_UP、K_DOWN两个按键完成:K_UP按下,延时10ms消除抖动,防止误触,然后相应的温度范围+0.1℃;K_DOWN按下,延时10ms消除抖动,防止误触,然后相应的温度范围-0.1℃;

STM32最小系统电路

STM32最小系统电路 原创文章,转载请注明出处: 1.电源供电方案 ● VDD = ~:VDD管脚为I/O管脚和内部调压器的供电。 ● VSSA,VDDA = ~:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDD不得小于。VDDA和VSSA必须分别连接到VDD和VSS。 ● VBAT = ~:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。 采用(AMS1117)供电 ]

2.晶振 STM32上电复位后默认使用内部[精度8MHz左右]晶振,如果外部接了8MHz 的晶振,可以切换使用外部的8MHz晶振,并最终PLL倍频到72MHz。 3.JTAG接口 ~ 在官方给出的原理图基本是结合STM32三合一套件赠送的ST-Link II给出的JTAG接口。

ST-Link II SK-STM32F学习评估套件原理图的JTAG连接 很多时候为了省钱,所以很多人采用wiggler + H-JTAG的方案。H-JTAG其实是twentyone大侠开发的调试仿真烧写软件,界面很清新很简洁。 ) H-JTAG界面

H-JTAG软件的下载: H-JTAG官网:大侠的blog: 关于STM32 H-JTAG的使用,请看下一篇博文 Wiggler其实是一个并口下载方案,其实电路图有很多种,不过一些有可能不能使用,所以要注意。你可以在taobao上买人家现成做好的这种Wiggler下载线,最简便的方法是自己动手做一条,其实很简单,用面包板焊一个74HC244就可以了。 ! Wiggler电路图下载: 电路图中”RESET SELECT”和”RST JUMPER”不接,如果接上的话会识别不了芯片。

基于STM32的最小系统及串口通信的实现_勾慧兰

STM32是意法半导体(ST)推出的32位RISC(精简指令集计算机)微控制器系列产品,采用高性能的ARM Cortex-M3内核,工作频率为72MHz,内置高速存储器(128K字节的闪存和20K字节的SRAM)。本文介绍STM32F103增强型微处理器的最小系统,实现其串口通信的设计调试。 1STM32的最小系统 STM32微处理器不能独立工作,必须提供外围相关电路,构成STM32最小系统。包括3.3V电源、8MHz晶振时钟、复位电路、数字和模拟间的去耦电路、调试接口、串行通信接口等电路。最小系统原理图如图1所示。 图1STM32最小系统原理图 1.1电源模块与外部晶振 STM32F103C8T6内嵌8MHz高速晶体振荡器,也可外部时钟供给,本系统采用8MHz外部晶振供给。 STM32F103C8T6的供电电压范围为2.0~3.6V。电源模块是电路关键的一部分,是整个系统工作的基础。因此,电源设计过程中需要考虑以下因素:①输入电压、电流;②输出的电压、电流和功率;③电磁兼容和电磁干扰等[1]。 1.1.1电源供电设计 最小系统供电电源为12V直流电源供电,通过LM2576S-5.0单元电路,将电压稳定到+5V。LM2576系列芯片是单片集成电路,能提供降压开关稳压器的各种功能,能驱动3A的负载,有优异的线性和负载调整能力,在指定输入电压和输出负载条件下保证输出电压的±4%误差。LM2576的效率比流行的三段线性稳压器要高的多,是理想的替代。用DL4003串接到电源正端,为系统提供电源反接保护。+5V电压通过三端稳压芯片ASM1117-3.3将电压转换成+3.3V,D3作为电源指示灯,为主控芯片STM32F103C8T6、串口通信电路和其他外围芯片供电。电源供电原理如图2所示。 图2电源供电原理 1.1.2电源抗干扰设计 电源电压转换过程中需要进行滤波处理,+12V转+5V的电路中,需要在+12V输入端加入47μF/50V的电解电容,+5V输出端加入1000μF/25V的电解电容,IN5822起到续流作用;+5V转3.3V电路中,在+5V输入端和+3.3V输出端需要各加入100μF/10V的钽电容。 电路中存在模拟和数字电源,需要加入电感和电容组成去耦电路。STM32中有3组VDD/VSS管脚,有1组VDDA/VS-SA管脚。尽管所有的VDD和所有VSS在内部相连,在芯片外部仍然需要连接所有的VDD和VSS。由于导线较细,内部连接负载能力较差,抗干扰的能力也较差,如果漏接VDD/VSS,容易造成线路损坏,同时抗干扰能力也会下降。因此每对VDD与VSS都必须在尽可能靠近芯片处分别放置一个100nF的高频瓷介电容,在靠近VDD3和VSS3的地方放置一个4.7μF的瓷介电容。VDDA为所有的模拟电路部分供电,包括ADC模块、复位电路等,即使不使用ADC功能,也需要连接VDDA。建议VDD和VDDA使用同一个电源供电。VDD与VDDA之间的电压差不能超300mV。VDD与VDDA应该同时上电或调电[2]。模拟电源与数字电源隔离去耦电路如图3所示。 1.2复位电路 复位电路为低电平复位、上电复位。 基于STM32的最小系统及串口通信的实现 勾慧兰刘光超(北京九州泰康生物科技有限责任公司,北京102200)Minimum System and Serial Communication Implementation Based on STM32 摘要 介绍了以Cortex-M3为内核的STM32的最小系统,详细描述其串口通信的设计,并进行仿真调试和目标调试。 关键词:STM32,最小系统,串口通信 Abstract This paper introduces the minimum system of STM32which core is Cortex-M3,and detailed describes the design of serial communication,then does the simulation debugging and target debugging. Keywords:STM32,minimum system,serial communication 基于STM32的最小系统及串口通信的实现26

STM32最小系统使用手册

STM32最小系统使用手册修订历史

1.STM32F103C8T6最小系统简介 硬件资源: 1、STM32F103C8主芯片一片 2、贴片8M晶振(通过芯片内部PLL最高达72M)ST官方标准参数 3、LM1117-3.3V稳压芯片,最大提供800mA电流 4、一路miniUSB接口,可以给系统版供电,预留USB通讯功能 5、复位按键 6、标准JTAG下载口一个,支持JLink,STLink 7、BOOT选择端口 8、IO扩展排针20pin x 2 9、电源指示灯1个 10、功能指示灯一个,用于验证IO口基本功能 11、预留串口下载接口,方便和5V开发板连接,用串口即可下载程序 12、尺寸:64mm X 36.4mm 13、高性能爱普生32768Hz晶振,价格是直插晶振的10倍价格,易起振 14、20K RAM,64K ROM ,TQFP48封装

模块说明 BOOT短路帽设置说明 BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。 (上电运行程序或者JTAG方式下载程序时候使用) BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。(从固化的bootloader启动,一般用于ISP下载时候使用) BOOT1=1 BOOT0=1 从内置SRAM 启动,这种模式可以用于调试。 下载程序方法: 需要TTL模块下载工具(已安装好驱动)

推荐使用本店开发的CP2102 USB-TTL模块对STM32最小系统进行下载程序。 (CP2102与其他的JLINK或者STLINK比价格要便宜很多,只能用于下载,不能用于DEBUG调试程序) 1.CP2102和STM32用杜邦线按照以下连接后,接在电脑USB接口 TXD -----------> RX1 RXD -----------> TX1 GND -----------> GND 2.将STM32上的BOOT选择短路帽进行设置(进入ISP下载模式) BOOT1 -----------> 0 BOOT0 -----------> 1 3.将CP2102与电脑连接后,打开MCUISP软件, ?点击“搜索串口”,“Port”选项会有可用的COM选项。 ?选择好COM ?选择好需要下载的hex文件 ?选择“不使用RTS和DTR”(其它都按照默认设置) ?点“开始编程” ?用杜邦线从CP2102上5v接到STM32上的ISP接口的5v引脚 下载界面如下: 下载成功界面:

Altium Designer设计STM32F103最小系统

《电路设计与PCB制板》 设计报告 题目:STM32F103最小系统 学院: 专业: 班级: 姓名: 学号: 引言:Altium Designer基于一个软件集成平台,把为电子产品开发提供完整环境所需工具全部整合在一个应用软件中。 Altium Designer 包含所有设计任务所需工具:原理图和PCB设计、基于FPGA的嵌入式系统设计和开发。 目前我们使用到的功能特点主要有以下几点: 1、提供了丰富的原理图组件和PCB封装库并且为设计新 的器件提供了封装,简化了封装设计过程。

2、提供了层次原理图设计方法,支持“自上向下”的设 计思想,使大型电路设计的工作组开发方式称为可能。 3、提供了强大的查错功能,原理图中的ERC(电气规则 检查)工具和PCB 的DRC(设计规则检查)工具能帮助设计者更快的查出和改正错误。 4、全面兼容Protel系列以前的版本,并提供orcad格式文 件的转换。 一、课程设计目的 1、培养学生掌握、使用实用电子线路、计算机系统设计、制板的能力; 2.提高学生读图、分析线路和正确绘制设计线路、系统的能力; 3.了解原理图设计基础、了解设计环境设置、学习 Altium Designer 软件的功能及使用方法; 4.掌握绘制原理图的各种工具、利用软件绘制原理图;

5.掌握编辑元器件的方法构造原理图元件库; 6. 熟练掌握手工绘制电路版的方法,并掌握绘制编辑元件封装图的方法,自己构造印制板元件库; 7.了解电路板设计的一般规则、利用软件绘制原理图并自动生成印制板图。 二、设计过程规划 1、根据实物板设计方案; 2、制作原理图组件; 3、绘制原理图; 4、选择或绘制元器件的封装; 5、导入PCB图进行绘制及布线; 6、进入DRC检查; 三、原理图绘制 ?新建工程: 1.在菜单栏选择File → New → Project → PCB Project 2.Projects面板出现。 3.重新命名项目文件。 ?新建原理图纸 1. 单击File → New→ Schematic,或者在Files面板的New单元选择:Schematic Sheet。

stm32f103最小系统原理图

STM32F103RB开发板评测 IAR提供的基于STM32F103RBT6的开发板,板载资源如下: ?STM32F103RBT6(128K Flash、64Pin,芯片在PCB反面) ?复位按键、三个用户按键及一个Wake-up ?供电支持三种模式,外部电源供电、USB供电、JTAG接口供电 ?两个RS232接口 ?一个USB Device接口 ?一个UXT接口 ?一个CAN接口 ?16个用户LED ?字符LCD,1602 ?SD/MMC卡插槽(位于PCB反面) ?音频输出接口 ?麦克风输入接口 ?I2C扩展跳线 ?SPI扩展跳线 ?JTAG/SWD接口 例程支持: 1、针对该板的例程实际已经包含在IAR for ARM软件中。以IAR for ARM v5.3版本为例,安装IAR后,找到 ...\IAR Systems\Embedded Workbench5.4\arm\examples\ST\STM32F10x\IAR-STM32-SK\目录即可看到IAR为这块板提供的8个例程。

1)、AudioDevice 演示实现USB Audio Class设备,支持音频的输入、输出 2)、Dhrystone 演示Dhrystone测试基准程序,测试STM32F103的运算能力 3)、GettingStarted 演示操作I/O、定时器以及中断来控制板载LED 4)、LCD_Demo 演示控制并行的GPIO、定时器、中断控制、ADC、LCD(HD44780) 5)、MassStorage 演示通过扩展的MMC/SD接口,实现USB的MassStorage Class设备 6)、MP3_player 演示MP3播放功能。需MOD-MP3模块支持,通过UXT接口连接开发板。MP3解码IC使用VS1002。 例程包含了读写MMC/SD卡驱动以及FAT12/16/32文件系统(使用开源的efsl) 7)、USBMouse 演示实现USB HID Class设备,WAKE-UP按键将会被用来支持USB唤醒 8)、VirtualCom 演示实现USB CDC(Communication Device Class)设备,如虚拟串口,UART3被用来作为转接的串口。

相关文档