文档库 最新最全的文档下载
当前位置:文档库 › 基于STM32的温度测量系统

基于STM32的温度测量系统

基于STM32的温度测量系统
基于STM32的温度测量系统

基于ST M32的温度测量系统

Tem p e ra tu re M e a su rem e n t S ys tem B a se d o n the S T M 32

曹圆圆

(华北电力大学控制科学与工程学院 河北保定 071003)

[摘要] 介绍一种基于ST M32处理器的温度测量系统设计方案。以ST M32F103RBT6微控制器为核心,采用AD590作温度传感器,测量温度用四位数码管显示,能够同PC 机进行串口通信。具有体积小、精度高、处理能力强等特点。

[关键词] 温度测量;ST M32;AD590

[中图分类号] TP 273 [文献标志码] B

温度是日常生活与工农业生产中的一个重要参数,传统的温度计存在反应速度慢、测量精度不高以及读数麻烦等缺点,随着电子技术的发展,各种基于单片机的温度测量系统先后被提出。温度传感器AD590具有线性度好、性能稳定、灵敏度高、抗干扰能力强等优点;鉴于目前AR M 微处理器在国内的广泛应用和广阔的发展前景,本文采用AD590温度传感器,基于一款AR M 微处理器ST M32F103RBT6作为系统核心,设计了一种温度测量系统。它不仅可以通过四位数码管直观显示00.00~99.99℃,还可以完成同PC 机的通信,并详细介绍了其硬件设计和相关程序编写。

1 系统结构

温度测量系统主要有温度测量、温度显示电路、

RS232串行通讯等模块。主控电路由ST M32F103RBT6

及其外围电路组成,是系统的核心部分,主要完成数据

的传输和处理工作。温度传感器采集的模拟信号,经

过处理器本身内嵌的ADC 进行A /D 转换后得到实时

温度数据,再经处理器相关处理后通过温度显示电路

进行实时显示,同时,处理器还可以实现与PC 机的通

信功能。

ST M32系列处理器是意法半导体ST 公司生产

的一种基于ARMv7架构的32位、支持实时仿真和跟

踪的微控制器。嵌入式处理器不能独立工作,必须给

它提供电源、时钟以及复位电路。这些提供给嵌入式

处理器运行所必须的条件电路与嵌入式处理器共同

构成了这个嵌入式处理器的最小系统。其他如JT AG

调试接口,在芯片实际工作时不是必须的,但本系统是利用JT AG 烧写在板F LASH,因此将其加入最小系统

。系统的整体结构框如图1所示。

图1 系统整体结构框图

2 硬件设计

2.1 ST M 32F 103RBT 6微控制器

ST M32F103RBT6是一款基于CORTEX -M3内

核、高性能、低成本、低功耗的微控制器,在软件和引

脚封装方面同其他ST M32系列处理器是兼容的。

它的时钟频率达到72MHz,能实现高端运算。

内嵌128K B F LASH 程序存储器。丰富的外设,

UART 、SP I 等串行接口以及最大翻转率18MHz 的

GP I O 。更重要的是它拥有最快1

μs 转换速度的双12位精度ADC,此快速采集,高性能的ADC 非常适用于

数据的快速采集和快速处理上,这也是本系统选择它

作为核心控制器的一个重要原因。

如图2所示,ST M 32F103RB T6采用LQ FP64

封装,GP I O 中PA0(ADC_I N 0)引脚接入测温电路

输入的电压模拟信号,PA9和PA10引脚为串口输

入输出,PA1~PA4作为4个数码管的位选信号控

制,PC0~PC7输出信号接到数码管的段选引脚

上。

61— 《仪器仪表与分析监测》2010年第1期

图2 ST M32F103RBT6

2.2 温度测量电路

目前,测温器件比较多,如热电偶、热电阻及石英体温度传感器等,该温度测量系统所选用的温度传感器是美国模拟器件公司生产的单片集成两端感温电流源AD590。它的测温范围为-55℃~+150℃,足以满足日常生活和生产的应用要求;电源电压可在4~6V 范围变化,可以承受44V 正向和20V 反向电压,因而器件反接也不会被损坏;同时AD590输出标准化,产生的电流与绝对温度成正比,测量温度每增加1℃,输

出电流增加1

μA,具有非常好的线性输出性能;而且输出为电流,便于长距离传输,因为是高阻抗电流源,对激励电压也不太敏感。

测温电路工作原理如图3所示,基准电压源AD581输出电压为10V ,目的是通过R1、R2为AD590提供稳定电压以保证其输出电流信号稳定。虽然AD590具有较好的线性度,但在其温度测量范围内仍有一定的非线性;AD590在0℃下输出电流为

273.2

μA,用它来测量摄氏温度时需要调零

。图3 温度测量电路

所以为了提高精度,扩大测量范围,在A /D 转

换前将信号加以放大并进行零点迁移是必须的,该系统除采用AD581提供精密的基准电压外,还设计有一个双点微调电路,通过两个电位计R2、R4可以分别完成零度和满度的调整。

AD590的输出通过R3、R4将电流信号转化成电压输出,其电压信号将随AD590变化而变化,即运放第六引脚输出直流电压随温度变化而变化,并成正比。选择合适大小的R1、R3,调零调满时,首先在0℃下调整R2使运放输出V 0=0V,然后在100℃下调整R4,

使V 0=3.3V,如此反复多次,直到当温度范围为0~

100℃时,运放电压输出范围为0~3.3V 。2.3 模数转化器

AD590测温电路输出的电压信号为模拟信号,要进行4位八段数码管显示,首先要将此信号转换成数字信号。在此选用A /D 转换器为片内的AD 转换电路。

ST M32处理器所带的12位ADC 是一种逐次逼近式模拟数字转化器,ADC 转换速率达1MHz 。它有18个通道,可测量16个外部和2个内部信号源。各通道的A /D 转换可以单次、连续、扫描或不连续模式执行,ADC 的结果可以左对齐或右对齐存储在16位数据寄存器中。

ST M32F103RBT6的ADC 的基准电压VREF +在芯片内部与电源信号线连接,系统选用一个高精度的3.3V 外部参照电压,以期解决因VCC 电源电压精

度不高带来的ADC 测量不准确的问题。

2.4 温度显示电路

该测温系统的显示部分由四位八段LE D 数码管组成,方便廉价。电码管的位选由P A1-P A4口输出进行控制,考虑ST M32系列GP I O 的驱动能力,需要使用三极管来推动提供足够大的电流来点亮LED 。四个共阳极LED 的八段段选信号a -g 、dp 分别接到PC0-PC7上。具体硬件连接图如图4所示

图4 温度显示电路

2.5 数据接口

通信接口是模块与外界进行交互的通道和桥梁。因此,通信接口的设计是模块不可缺少的重要部分。

考虑到目前主流的几种通信方式,该测温系统设计了RS -232串行通讯接口以保证其同PC 机通信的需要。MAX3232EE AE 为单一正3.3V 供电,可同时完成发送转换和接收转换双重功能的专用芯片。其串口电路连接如图5所示。

71—基于ST M32的温度测量系统 曹圆圆 

图5 串口电路原理图

3 软件设计

根据设计任务的要求,系统软件主要完成温度数据的采集和滤波处理、LED 数码管显示以及串口同PC 机的通信。程序采用ST M32的固件函数库在Re 2al V ie w MDK 环境下编写,主要包括以下内容。

3.1 初始化

首先完成GP I O 口初始化配置,将P A0配置为ADC 的第0个采样通道,P A9和P A10引脚为串口的

输入输出,配置P A1~P A4为数码管控制信号输出,PC0~PC7作为数码管八段段选输出。3.2 数据的采集和处理

实际应用中受外界电磁、噪声等干扰,ADC 测出

离谱的数据总会出现。从某种意义上讲,单次ADC

毫无意义。为了减弱干扰,对ADC 采样值通常要进行滤波处理。系统采用的软件滤波方法为均值滤波,一个温度值每毫秒采样一次,共16次取平均值。这样就需要暂时存储一定数量的采样值,配置DMA 通道1用于传输ADC_I N 0转换的结果。配置ADC1,连续转换模式、右对齐、非外部触发;ADC 转换通道0为规则转换通道,此处参数ADC _Sa mp leTi m e 是转换时间,愈大结果愈准确也稳定。3.3 数码显示

由于ADC 转换后的数据是二进制数据,而数码管所要显示的数据是十进制数据,因此需要进行二、十进制数据转换,ADC 输出的最大转换值为0x0FFF (100℃),实际要显示的摄氏温度应为(ADC _Value /

0X0FFF 3100)℃(其中ADC _Value 为ADC 采样输出),即温度te mperature =ADC _Value 3100>>12℃。

将四位数码管小数点设置在第二位后,也就是它所能显示的范围为00.00~99.99。将十进制数te m 2perature 依位模10处理得到四位数码管需要显示的

数据,建立字型码T AB 表。数码管的八段段选由

PC0~PC7控制,欲显示0~9其中一个数字只要让PC 口输出它对应的字型码。

为节省占用资源、减小耗电量,采用动态显示也就是利用人眼的暂留视觉,循环轮流点亮各数码管的方法。四位数码管的片选信号是P A1~P A3在控制,通过简单的端口数据寄存器GP I O A _ODR 的移位及一个延时程序即可实现。3.4 串口通信

软件中还编写了串口同PC 通信程序,将测量温度te mperature 每隔一秒通过串口输出到PC 机。采

用ST M32的固件函数配置串口的波特率115200、数据长度8bit 、1位停止、无校验位,使用串口线连接板上的COM0和PC 的串口后即能完成信息通信。4 结论本文采用温度传感器AD590测量温度,以

ST M32F103RBT6做主控芯片,并配上相应的显示、串

口通信等外部接口电路,设计制作了一款温度测量系统。该系统体积小、精度高、功能稳定、使用方便,适

用于日常生活、农业生产以及工业制造中的各类温度测量。

参考文献[1] ST M icr oelectr onics Cor porati on,ST M32F103XX

Datasheet[J ],2007,11.[2] 李宁.基于MDK 的ST M32处理器应用开发[M ].北京:北京航空航天大学出版社,2008:3042327.[3] 刘鹏程.基于AR M 的温度测量系统[J ].科技信息(学术研究),2008(18):77278.[4] 雷少刚.基于AD590组成的温度测量电路及应用[J ].西安航空技术高等专科学校学报,

2007,25(3):21222.[5] 罗廷坤.基于嵌入式操作系统的智能生物杂交仪的设计[D ].华北电力大学硕士学位论文.2004.12.

—81— 《仪器仪表与分析监测》2010年第1期

(完整版)基于STM32的温湿度监测..

《物联网工程设计与实施》项目设计 项目课题:基于STM32的温湿度检测 院系:计算机科学与技术学院 专业:物联网工程 项目经理:于渊学号:123921043 副经理:谢金光学号:123921024 项目成员:李周恒学号:123921002 项目成员:袁桃学号: 123921048 项目成员:颉涛学号: 123921054 项目成员肖青学号: 123921025 项目成员冯锦荣学号: 123921011 项目成员唐敏学号: 123921023

指导教师: 2014 年 12月

目录 摘要 (5) Absract (7) 一.设计目标 (9) 二.设计方案 (9) 三.实验所需器材 (9) 四.设计内容 (9) 4.1 STM32模块 (9) 4.2 AM2302介绍 (11) 4.2.1 产品概述 (11) 4.2.2 应用范围 (12) 4.2.3 产品亮点 (12) 4.2.4 单总线接口定义 (12) 4.2.5 传感器性能 (13) 4.2.6 单总线通信 (14) 4.3 Nokia 5110 介绍 (15) 4.3.1 SPI接口时序写数据/命令 (15) 4.3.2 显示汉字 (16) 4.3.4 显示图形 (16) 4.4 原理图设计 (16) 4.5 PCB板设计 (17) 五.实验软件设计 (18) 5.1 温湿度传感器DHT22的程序 (18) 5.2 湿度显示函数 (21) 5.3主函数程序 (23) 5.3.1显屏程序 (23) 六.作品实物展示 (32) 七.设计总结 (33)

基于STM 32 的温湿度检测 摘要 随着现代社会的高速发展,越来越多的科学技术被应用于农业生产领域。在温室大棚中对温湿度、二氧化碳浓度等外部参数的实时准确的测量和调节更是保证农业高效生产的重要前提。本次课程设计中实现了一个基于STM32F103VET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。本次实验主要作了如下几个方面工作:首先通过对实时性、准确性、经济性和可扩展性等四个方向的分析比较之后,选择了STM32F103VE微控制器作为主控芯片和AM2303温湿度传感器来实现对温湿度数据进行采集;在Nokia5110显示屏上显示出温度和湿度,然后详细介绍了各个模块的工作原理和硬件电路设计思路,实现了温湿度数据实时准确的测量;之后阐述了系统各个部分的软件设计思路;最后对系统在实际应用中采集到的数据进行了处理,分析了误差产生的原因,并通过分段线性插值算法对系统非线性误差进行了校准,同未校准时采集的数据相比,校准后的数据准确度更高,稳定性更好。在保证测量效果的基础上,本系统设计中充分考虑到性价比和再次开发周期性等,具有成本低、设计开发方便、通用性强等特点,不仅适用于现代农业生产中,还能用于其它工业控制、机械制造等其它领域,具有一定的市场推广价值。 【关键词】:嵌入式技术,电路设计,STM32,AM2302温湿度采集,Nokia5110 显示屏,程序设计

stm32:系统时钟

实验4 系统时钟实验 上一章,我们介绍了STM32 内部系统滴答定时器,该滴答定时器产生的延时非常精确。在本章中,我们将自定义RCC系统时钟,通过改变其倍频与分频实现延时时间变化,实现LED灯闪烁效果。通过本章的学习,你将了解 RCC系统时钟的使用。本章分为以下学习目标: 1、了解 STM32 的系统构架。 2、了解 STM32 的时钟构架。 3、了解 RCC 时钟的操作步骤。 1.1 STM32 的系统构架 STM32 的时钟比较复杂,它可以选择多种时钟源,也可以选择不一样的时钟频率,而且在系统总线上面,每条系统的时钟选择都是有差异的。所以想要清楚的了解 STM32 的时钟分配,我们先来了解一下 STM32 的系统构架是什么样的。 从上图我们知道,RCC 时钟输出时钟出来,然后经过 AHB 系统总线,分别

分配给其他外设时钟,而不一样的外设,是先挂在不一样的桥上的。比如: ADC1、ADC2、 SPI1、GPIO 等都是挂在 APB2 上面,而有些是挂在 APB1上面,所以,虽然它们都是从 RCC 获取的时钟,但是它们的频率有时候是不一样的。 1.2 STM32 的时钟树 STM32 单片机上电之后,系统默认是用的时钟是单片机内部的高速晶振时钟,而这个晶振容易受到温度的影响,所以晶振跳动的时候不是有一定的影响,所以一般开发使用的时候都是使用外部晶振,而且单片机刚启动的时候,它的时钟频率是 8MHZ,而 STM32 时钟的最高频率是 72MHZ,所以单片机一般开机之后运行的程序是切换时钟来源,并设置时钟频率。大家可能有点疑惑,在第一章到第三章之中,我们并没有看到单片机开机之后设置时钟来源和时钟频率的。其实在使用库函数的时候,其实在库函数启动文件里面,是帮助我们把时钟频率设置到 72MHZ 了。大家可以打开一个库函数工程,在 system_stm32f10x.c 的第 106行,它定义了一个 SYSCLK_FREQ_72MHz: #if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) /* #define SYSCLK_FREQ_HSE HSE_VALUE */ #define SYSCLK_FREQ_24MHz 24000000 #else #define SYSCLK_FREQ_72MHz 72000000 然后在下面的程序中,根据这个 SYSCLK_FREQ_72MHz 定义,它默认设置成 72MHZ。接下来我们来看一下具体的 RCC 时钟树:

基于STM32的温度测量系统

基于ST M32的温度测量系统 Tem p e ra tu re M e a su rem e n t S ys tem B a se d o n the S T M 32 曹圆圆 (华北电力大学控制科学与工程学院 河北保定 071003) [摘要] 介绍一种基于ST M32处理器的温度测量系统设计方案。以ST M32F103RBT6微控制器为核心,采用AD590作温度传感器,测量温度用四位数码管显示,能够同PC 机进行串口通信。具有体积小、精度高、处理能力强等特点。 [关键词] 温度测量;ST M32;AD590 [中图分类号] TP 273 [文献标志码] B 温度是日常生活与工农业生产中的一个重要参数,传统的温度计存在反应速度慢、测量精度不高以及读数麻烦等缺点,随着电子技术的发展,各种基于单片机的温度测量系统先后被提出。温度传感器AD590具有线性度好、性能稳定、灵敏度高、抗干扰能力强等优点;鉴于目前AR M 微处理器在国内的广泛应用和广阔的发展前景,本文采用AD590温度传感器,基于一款AR M 微处理器ST M32F103RBT6作为系统核心,设计了一种温度测量系统。它不仅可以通过四位数码管直观显示00.00~99.99℃,还可以完成同PC 机的通信,并详细介绍了其硬件设计和相关程序编写。 1 系统结构 温度测量系统主要有温度测量、温度显示电路、 RS232串行通讯等模块。主控电路由ST M32F103RBT6 及其外围电路组成,是系统的核心部分,主要完成数据 的传输和处理工作。温度传感器采集的模拟信号,经 过处理器本身内嵌的ADC 进行A /D 转换后得到实时 温度数据,再经处理器相关处理后通过温度显示电路 进行实时显示,同时,处理器还可以实现与PC 机的通 信功能。 ST M32系列处理器是意法半导体ST 公司生产 的一种基于ARMv7架构的32位、支持实时仿真和跟 踪的微控制器。嵌入式处理器不能独立工作,必须给 它提供电源、时钟以及复位电路。这些提供给嵌入式 处理器运行所必须的条件电路与嵌入式处理器共同 构成了这个嵌入式处理器的最小系统。其他如JT AG 调试接口,在芯片实际工作时不是必须的,但本系统是利用JT AG 烧写在板F LASH,因此将其加入最小系统 。系统的整体结构框如图1所示。 图1 系统整体结构框图 2 硬件设计 2.1 ST M 32F 103RBT 6微控制器 ST M32F103RBT6是一款基于CORTEX -M3内 核、高性能、低成本、低功耗的微控制器,在软件和引 脚封装方面同其他ST M32系列处理器是兼容的。 它的时钟频率达到72MHz,能实现高端运算。 内嵌128K B F LASH 程序存储器。丰富的外设, UART 、SP I 等串行接口以及最大翻转率18MHz 的 GP I O 。更重要的是它拥有最快1 μs 转换速度的双12位精度ADC,此快速采集,高性能的ADC 非常适用于 数据的快速采集和快速处理上,这也是本系统选择它 作为核心控制器的一个重要原因。 如图2所示,ST M 32F103RB T6采用LQ FP64 封装,GP I O 中PA0(ADC_I N 0)引脚接入测温电路 输入的电压模拟信号,PA9和PA10引脚为串口输 入输出,PA1~PA4作为4个数码管的位选信号控 制,PC0~PC7输出信号接到数码管的段选引脚 上。 — 61— 《仪器仪表与分析监测》2010年第1期

设置stm32系统各部分时钟

设置stm32系统各部分时钟 函数如下: /******************************************************************** ****** * 函数名: RccInitialisation* 函数描述: 设置系统各部分时钟* 输入参数: 无* 输出结果: 无* 返回值: 无 ******************************************************************** ******/void RccInitialisation(void){/* 定义枚举类型变量HSEStartUpStatus */ErrorStatus HSEStartUpStatus;/* 复位系统时钟设置*/RCC_DeInit();/* 开启HSE*/RCC_HSEConfig(RCC_HSE_ON);/* 等待HSE 起振并稳定*/HSEStartUpStatus = RCC_WaitForHSEStartUp();/* 判断HSE 起是否振成功,是则进入if()内部*/if(HSEStartUpStatus == SUCCESS){/* 选择HCLK(AHB)时钟源为SYSCLK 1 分频*/RCC_HCLKConfig(RCC_SYSCLK_Div1);/* 选择PCLK2 时钟源为HCLK(AHB) 1 分频 */RCC_PCLK2Config(RCC_HCLK_Div1);/* 选择PCLK1 时钟源为HCLK(AHB) 2 分频*/RCC_PCLK1Config(RCC_HCLK_Div2);/* 设置FLASH 延时周期数为2 */FLASH_SetLatency(FLASH_Latency_2);/* 使能FLASH 预取缓存*/FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); /* 选择锁相环(PLL)时钟源为HSE 1 分频,倍频数为9,则PLL 输出频率为 8MHz * 9 = 72MHz*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);/* 使能PLL */RCC_PLLCmd(ENABLE);/* 等待PLL 输出稳 定*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);/* 选择

基于STM32温控风扇设计

齐齐哈尔大学 综合实践(论文) 题目基于STM32的温控风扇 学院通信与电子工程学院 专业班级 学生姓名 学生学号 指导教师朱磊

摘要:随着科技的日新月异,智能家居逐渐走入普通家庭,风扇作为基本的家用电器也将成为智能家居的一部分。这里介绍的是以STM32单片机为控制单元并结合嵌入式技术设计的一款具有温控调速、液晶显示温度等信息的智能电风扇。经过前期设计、制作和最终的测试得出,该风扇电源稳定性好,操作方便,运行可靠,功能强大,价格低廉,节约能耗,能够满足用户多元化的需求。该风扇具有的人性化设计和低廉的价格很适合普通用户家庭使用。 关键词:STM32单片机电风扇温控调速

目录 摘要............................................................................. 错误!未定义书签。 第1章绪论 (1) 1.1 概述............................................................ 错误!未定义书签。 1.2 设计目的及应用 (1) 第2章温控电风扇方案论证 (2) 2.1 温度传感器的选择 (2) 2.2 控制核心的选择 (2) 2.3 显示电路的选择 (3) 2.4 调速方式的选择 (3) 第3章温控电风扇硬件设计 (5) 3.1 硬件系统总体设计 (5) 3.2 本系统各器件简介 (5) 3.2.1 DS18B20简介 (5) 3.2.2 STM32简介 (7) 3.2.3 LCD1602液晶屏简介 (8) 3.3 各部分电路设计 (9) 3.3.1 温度传感器的电路 (9) 3.3.2 LCD1602液晶屏显示电路 (10) 第4章温控电风扇软件设计 (11) 4.1 软件系统总体设计 (11) 4.2 系统初始化程序设计 (11) 4.3 温度采集与显示程序设计..................... 1错误!未定义书签。结论 (14) 参考文献 (15) 附录1 (16) 附录2 (25)

(完整版)基于stm32的温度测量系统

基于STM32的温度测量系统 梁栋 (德州学院物理与电子信息学院,山东德州253023) 摘要:温度是日常生活和农业生产中的一个重要参数,传统的温度计有反应缓慢,测量精度不高的和读数不方便等缺点,此外,通常需要人工去观测温度,比较繁琐,因而采用电子技术的温度测量就显得很有意义了。 面对电子信息技术的进步,生成了各种形式的温度测量系统。本文设计了一个基于以STM32为核心的温度测量与无线传送的系统,温度信息采集使用数字化温度传感器DS18B20,无线传输使用ATK-HC05蓝牙模块的智能测温系统。 关键词 STM32; DS18B20; TFTLCD;智能测温系统 1 绪论 在现代社会的生产生活中,人们对于产品的精度要求越来越高,而温度是人们在生产生活中十分关注的参数,因此,对温度的测量以及监控就显得十分重要。在某些行业中对温度的要求较高,由于工作环境温度的偏差进而引发事故。如化工业中做酶的发酵,必须时刻了解所发酵酶的温度才可以得到所需酶;文物的保护同样也离不开温度的采集,不仅在考古文物的出土时间上,还是在档案馆和纪念馆中,温度的控制也是藏品保存关键,所以温度的检测对其也是具有重要意义的;另外大型机房的温度的采集,超出此范围会影响服务器或系统的正常工作等等。传统方式监控温度往往很耗费人力,而且实时性差。本文就设计了一个基于STM32的温度测量系统,在测量温度的同时能实现无线传输与控制。 STM32RBT6具有较低的价格、较高的测量精度、便捷的操作,同时在编程方面STM32也具有和其他单片机的优势之处,如51要求从基层编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而且STM32目前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的。 无线传输采用蓝牙技术,将采集的温度传输至终端,以此实现远程监控。利用“蓝牙”技术,能够在10米的半径范围内实现单点对多点的无线数据传输,其数据传输带宽可达1Mbps。综合考虑,在设计硬件时选择的软件是Altium Designer,该软件集成了电路仿真、原理图设计、信号完整性设计、分析等诸多功能,使用起来很方便。通过原理图的绘制,

stm32系统时钟配置问题

stm32系统时钟配置问题 系统从上电复位到72mz 配置好之前,提供时钟的是内如高速rc 振荡器提 供8MZ 的频率,这个由下面void SystemInit (void)函数的前面的一部分代码来 完成的和保证的:RCC->CR |= (uint32_t)0x00000001; #ifndef STM32F10X_CLRCC->CFGR &= (uint32_t)0xF8FF0000;#elseRCC- >CFGR &= (uint32_t)0xF0FF0000;#endif RCC->CR &= (uint32_t)0xFEF6FFFF; RCC->CR &= (uint32_t)0xFFFBFFFF; RCC->CFGR &= (uint32_t)0xFF80FFFF; #ifdef STM32F10X_CLRCC->CR &= (uint32_t)0xEBFFFFFF; RCC->CIR = 0x00FF0000; RCC->CFGR2 = 0x00000000;#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)RCC->CIR = 0x009F0000; RCC->CFGR2 = 0x00000000;#elseRCC->CIR = 0x009F0000;#endif#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)#ifdef DATA_IN_ExtSRAMSystemInit_ExtMemCtl();#endif#endif 接着void SystemInit (void)调用SetSysClock();函数,将系统时钟配置到 72m,将AHB,APB1,APB2 等外设之前的时钟都配置好,然后切换到72mz 下 运行。所以在使用哪个外设的时候,只需要使能相应的外设时钟就可以了 tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

基于stm32温湿度监控装置设计(1)

王江红(1993-),男,云南曲靖人,汉族,学生,在读本科,所学专业通信工程 基于stm32的温湿度监控系统设计 王江红胡湘娟阳泳 邵阳学院信息工程系湖南邵阳422004 摘要:温湿度的监测对于当前控制室内环境,改善室内环境起着重要的作用,为了提高室内用户的舒适度,一般都会对室内的温湿度进行监控,通过监测温湿度的变化情况来确定下一步的动作,例如在温室中严格监控室内温度,使得温室内的植物能到最合适的生存环境。本文就基于stm32的温湿度监控系统设计问题进行了全面分析,通过其有效的提高温度的时效性管理意义重大。 关键字:stm32;温湿度;ucosII系统;监控系统设计 此次的基于STM32的温湿度监控系统设计主要是32位的单片机为主控芯片,DHT11为温湿度监测装置,搭载的是ucosII操作系统,显示设备为主控ITL9438的彩屏,通过DHT11采集的信息对经过单片机的内部程序的处理,将其以数字的形式显示在彩屏上,并且同时根据单片机内部的温度设定值进行相应的动作,实现的室内温湿度的智能控制。 1、温湿度监控系统设计 1.1、温湿度监控系统硬件设计 系统主控芯片为Stm32F103ZET6,除了必须的Stm32单片机正常的驱动的电路之外,彩屏为使用的是已经做成模块的ITL9438彩屏,而采集模块则是使用的DHT11,如图所示为使用的DHT11的引脚图,可得知只要通过采集Dout引脚的输出的电平变化,查看数据手册,根据DHT11的时序图写出相应的驱动程序,驱动DHT11温湿度传感器。彩屏的程序可以直接使用的屏幕厂家写好的程序,移植到Stm32上既可,而通过将Dout引脚上的高低电平变化,进行相应的数据处理可以将温湿度数据已数字的形式显现在彩屏上,通过内部的程序根据比较当前的温湿度值与设定的参数值进行比较,使得进行下一步的温湿度调节动作,通过向外部电路发送信号,例如温度高了,打开排风机降低室内的温度等措施优先对温度的控制,这与空调的原理类似,但是系统比空调电路简捷的多。 DHT11数字湿温度传感器采用单总线数据格式,单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中校验和数据为前四个字节相加,传感器数据输出的是未编码的二进制数据。数据(湿度、 温度、整数、小数)之间应该分开处理。 1.2、温湿度监控系统软件设计 此次的温湿度监控系统软件设计主要实在keil4中完成,操作系统为UCOSII,将UCOSII系统移植到当前单片机上,并且建立相应的任务堆栈,通过调用任务堆栈的形式实现的对系统运行,将DHT11的Dout引脚与PG11连接,PG11引脚设置的为输入模式,用于采集Dout引脚的电平变化。开机的时候先检测是否有DHT11存在,如果没有,则提示错误。只有在检测到DHT11之后才开始读取温湿度值,并显示在LCD上,如果发现了DHT11,则程序每隔100ms左右读取一次数据,并把温湿度显示在LCD上。同时会使用一个LED来指示程序运行状况。 温湿度监控系统的软件设计主要分为的LED驱动程序、LCD驱动程序、DHT11驱动程

基于某STM32的PT100温度测量

基于STM32的PT100温度测量

目录 一、前言 (1) 二、系统描述 (1) 2.1 综述 (1) 2.2 系统框图 (1) 2.3 功能实现 (1) 三、硬件设计 (2) 3.1 STM32 微控制器 (2) 3.2 PT100温度传感器电路 (3) 3.3 1602液晶屏 (4) 四、软件设计 (4) 4.1 ADC程序 (4) 4.2 1602LCD显示程序 (5) 4.3 主程序 (5) 五、性能测试 (5) 六、课程设计心得 (6) 参考文献 (6) 附录1:系统实物图 (7) 附录2:系统主要程序 (7)

一、前言 Cortex-M3 是ARM 公司为要求高性(1.25DhrystoneMIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的核。STM32 系列产品得益于Cortex-M3 在架构上进行的多项改进,包括提升性能的同时又提高了代码密度的Thumb-2 指令集和大幅度提高中断响应的紧耦合嵌套向量中断控制器,所有新功能都同时具有业界最优的功耗水平。 本系统是基于Cortex-M3 核的STM32 微控制器与PT100温度传感器的温度测量,在硬件方面主要有最小系统板、1602LCD 液晶屏以及PT100温度传感电路,在软件方面主要有1602LCD液晶屏的驱动,ADC功能的驱动,及滤波算法设计。 整个设计过程包括电子系统的设计技术及调试技术,包括需求分析,原理图的绘制,器件采购,安装,焊接,硬件调试,软件模块编写,软件模块测试,系统整体测试等整个开发调试过程。 二、系统描述 2.1综述 本系统是基于STM32微控制器所设计的多功能画板,该画板具有基本的绘画功能及画布颜色的选择,触摸屏校正等功能。整个系统模块分为三个模块:ALIENTEK MiniSTM32开发板、液晶显示。MiniSTM32开发板是ALIENTEK

基于STM32的温湿度检测和无线的传输

毕业设计(论文) 题目:基于STM32的温湿度检测和无线的传输 学院:信息工程与自动化 专业:自动化 学生姓名: 指导教师: 日期:

基于STM32的温湿度检测和无线的传输 摘要 随着嵌入式技术的发展,单片机技术进入了一个新的台阶,目前除最早的51单片机现在有了STM32系列单片机以AMR的各系列单片机,而本次毕业设计我采用STM32单片机来完成,目的是实现温湿度的采集和数据的无线传输,温湿度的采集是作为自动化学科中一个必须掌握的检测的技术,也是一项比较实用的技术。而无线的传输时作为目前一项比较前沿的技术来展开学习的,所有的新新产业中都追求小规模高效率,而无线的技术可以降低传统工程的工程量,同时可以节省大量由排线、线路维修、检测上的一些不必要的障碍和消耗。同时,在实时运行阶段也可以明显体现它的便携性,高效性和节能性。本次设计目的是做出成品,并能采集实时数据传输至上位机。 关键词:嵌入式技术;电路设计;STM32;cc1020无线传输;sht10温湿度采集;程序设计 引言 我的毕业设计做的是温湿度数据的采集和无线的传输。温湿度的采集的用途是非常的广泛的,比如说化工业中做酶的发酵,必须时刻了解所发酵酶的温湿度才可以得

到所需酶。文物的保护同样也离不开温、湿度的采集,不仅在文物出土的时刻,在博物馆和档案馆中,空气湿度和和空气质量条件的优劣,是藏品保存关键,所以温湿度的检测对其也是具有重要意义的。最后就是大型机房的温湿度的采集,国家对此有严格标准规定温湿度的范围,超出此范围会影响服务器或系统的正常工作等等。所以温湿度的检测是目前被广泛运用。 此次设计的芯片采用的是STM32,由于STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品。同时在编程方面STM32也具有和其他单片机的优势之处,如51单片机必须从最底层开始编程,而STM32所有的初始化和一些驱动的程序都是以模板的形式提供给开发者,在此开发者只需要了些其他的模块功能和工作方式和少量的语法知识便可以进行编程,此优势不但节约了时间,也为STM32的发展做出了强有力的铺垫,而且STM32目前是刚刚被作为主流开发的单片机,所以其前景是无可估量的,这次毕业设计也是看好了其优越的发展趋势来选择的。 无线通信是采用CC1020模块来实现的,大家都清楚现在的IT市场中“无线”这个词是很热门的,各种蓝牙、WI-FI、ZIG-BEE、3G渐渐的步入我们的生活中,人们都在不断向往着便携化,简洁化。而以上只是其一,在没无线的时代我们的计算机或是各种检测设备都需要用大把的I/o总线进行连接,这样不但占用的很大的地盘,也在这些线路上花费了大把的资金,若这些线路中的某个部分发生短路或者是老化可能造成不堪的后果,所以用无线取代有线也是电子行业发展的必然趋势,对其前景的了解和应用学习是非常有价值的。其应用领域:车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输、无线称重等 LCD1602的使用,这里使用1602的目的是为了可以得到实时的温湿度的数据,即为了在温湿度模块程序编写完成后烧入芯片可知其工作状态也可以作为一个读书的路径来使用。 之后是上下位机之间的数据接收,由于自动化本来就是为了实现自动控制,虽然此次设计只做了单方面的数据采集,但是这里连接上位机的目的就是使将来对此数据进行一个可控的操作返回至下位机对现场温湿度进行控制,在这里只是作为一种设想,在此次设计中未得实现。 1芯片模块 1.1 STM32介绍 1.1.1 ARM公司的高性能”Cortex-M3”内核

STM32学习笔记(3):系统时钟和SysTick定时器

STM32学习笔记(3):系统时钟和SysTick定时器 1.STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI、HSE、LSI、LSE、PLL (1)HSI是高速内部时钟,RC振荡器,频率为8MHz; (2)HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围是4MHz – 16MHz; (3)LSI是低速内部时钟,RC振荡器,频率为40KHz; (4)LSE是低速外部时钟,接频率为32.768KHz的石英晶体; (5)PLL为锁相环倍频输出,严格的来说并不算一个独立的时钟源,PLL 的输入可以接HSI/2、HSE或者HSE/2。倍频可选择为2 – 16倍,但 是其输出频率最大不得超过72MHz。 其中,40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者是HSE的128分频。 STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为 48MHz的时钟源。该时钟源只能从PLL端获取,可以选择为1.5分频或者1分频,也就是,当需使用到USB模块时,PLL必须使能,并且时钟配置为48MHz 或72MHz。 另外STM32还可以选择一个时钟信号输出到MCO脚(PA.8)上,可以选择为PLL输出的2分频、HSI、HSE或者系统时钟。 系统时钟SYSCLK,它是提供STM32中绝大部分部件工作的时钟源。系统时钟可以选择为PLL输出、HSI、HSE。系系统时钟最大频率为72MHz,它通过AHB分频器分频后送给各个模块使用,AHB分频器可以选择1、2、4、8、16、64、128、256、512分频,其分频器输出的时钟送给5大模块使用: (1)送给AHB总线、内核、内存和DMA使用的HCLK时钟; (2)通过8分频后送给Cortex的系统定时器时钟; (3)直接送给Cortex的空闲运行时钟FCLK; (4)送给APB1分频器。APB1分频器可以选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一

基于stm32的温度控制

摘要 当前快速成形(RP)技术领域,基于喷射技术的“新一代RP技术”已经取代基于激光技术的“传统的RP技术”成为了主流;快速制造的概念已经提出并得到了广泛地使用。熔融沉积成型(FDM)就是当前使用最广泛的一种基于喷射技术的RP 技术。 本文主要对FDM温度控制系统进行了深入的分析和研究。温度测控在食品卫生、医疗化工等工业领域具有广泛的应用。随着传感器技术、微电子技术、单片机技术的不断发展,为智能温度测控系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。本系统采用的STM32F103C8T6单片机是一高性能的32位机,具有丰富的硬件资源和非常强的抗干扰能力,特别适合构成智能测控仪表和工业测控系统。本系统对STM32F103C8T6单片机硬件资源进行了开发,采用K型热敏电阻实现对温度信号的检测,充分利用单片机的硬件资源,以非常小的硬件投入,实现了对温度信号的精确检测与控制。 文中首先阐述了温度控制的必要性,温度是工业对象中的主要被控参数之一,在冶金、化工、机械、食品等各类工业中,广泛使用各种加热炉、烘箱、恒温箱等,它们均需对温度进行控制,成型室及喷头温度对成型件精度都有很大影响。然后详细讲解了所设计的可控硅调功温度控制系统,系统采用STM32F103C8T6单片机作微控制器构建数字温度控制器,调节双向可控硅的导通角,控制电压波形,实现负载两端有效电压可变,以控制加热棒的加热功率,使温度保持在设定值。系统主要包括:数据的采集,处理,输出,系统和上位机的通讯,人机交互部分。该系统成本低,精度高,实现方便。 该系统加热器温度控制采用模糊PID控制。模糊PID控制的采用能够在控制过程中根据预先设定好的控制规律不停地自动调整控制量以使被控系统朝着设定的平衡状态过渡。 关键词:熔融沉积成型(FDM);STM32;温度控制;TCA785

STM32定时时间的计算

STM32 定时器定时时间的计算 假设系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到关键是设定时钟预分频数,自动重装载寄存器周期的值/*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的 RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中断服务程序间隔时间为: ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒。定时器的基本设置如下: 1、TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数例如:时钟频率=72/(时钟预分频+1)。 2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时时间)累计 0xFFFF个频率后产生个更新或者中断(也是说定时时间到)。 3、TIM_TimeBaseStructure.TIM_CounterMode=TIM1_CounterMode_Up; //定时器模式向上计数。 4、 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值。 5、 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);//初始化定时器2。 6、 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //打开中断溢出中断。 7、 TIM_Cmd(TIM2, ENABLE);//打开定时器或者: TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分频35999,72M/ (35999+1)/2=1Hz 1秒中断溢出一次。 8、 TIM_TimeBaseStructure.TIM_Period = 2000; //计数值2000 ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*(1+2000)=1秒。 9、注意使用不同定时器时,要注意对应的时钟频率。例如TIM2对应的是APB1,而TIM1对应的是APB2 通用定时器实现简单定时功能 以TIME3为例作为说明,简单定时器的配置如下: void TIM3_Config(void) { TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure; TIM_DeInit(TIM3); //复位TIM2定时器 /* TIM2 clock enable [TIM2定时器允许]*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); /* TIM2 configuration */ TIM_TimeBaseStructure.TIM_Period = 49; // 0.05s定时 TIM_TimeBaseStructure.TIM_Prescaler = 35999; // 分频36000 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 时钟分割TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数方向向上计数 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /* Clear TIM2 update pending flag[清除TIM2溢出中断标志] */

基于STM32单片机的智能温度控制系统的设计

0 引言 温度是表征物体冷热程度的物理量,是工农业生产过程 中一个普遍应用的参数。因此,温度控制是提高生产效率和 产品质量的重要保证。温度控制的发展引入单片机后,可以 降低对某些硬件电路的要求,实现对温度的精确控制。本文 设计的温度控制系统主要目标是实现温度的设定值显示、实 际值实时测量及显示,通过单片机连接的温度调节装置由软 件与硬件电路配合来实现温度实时控制;显示可由软件控制 在LCD1602中实现;比较采集温度与设定阈值的大小,然后 进行循环控制调控,做出降温或升温处理;同时也可根据判 断发出警报,用以提高系统的安全性[1-5]。图1 系统总体框图 1 系统总体设计本设计以STM32F103RTC6单片机为核心对温度进行控制,使被控对象的温度应稳定在指定数值上,允许有 1℃的误差,按键输入设定温度值,LCD1602显示实际温度值和设定温度值。2 系统硬件设计 图2 系统硬件电路图 display , PTC heater and semiconductor cooler, and realizes the temperature control on the hardware equipment of the self-made analog small constant temperature box? Experimental results show that the design has the advantages of convenient operation, accurate temperature control and intelligence?Keywords: Temperature control ; STM32;Intelligent 基金项目:湖北省教育厅科学技术研究项目(B2018448)。

stm32学习之系统时钟

stm32学习之系统时钟 STM32入门学习心得 — 系统时钟 STM32的时钟与单片机相比要复杂的多,它能够对每一个外设以及IO口进行时钟的设置,这是单片机是无法和它比拟的,所以正确的理解和灵活的运用stm32的时 钟是很重要的。 STM32有3个不同的时钟源可以用于驱动系统时钟(SYSCLK),分别为: HSI振荡器时钟(内部高速时钟)。 HSE振荡器时钟(外部高速时钟)。 PLL时钟。 STM32还有两个二级时钟用来驱动独立的看门狗和选择性的驱动RTC。分别为:32KHZ低速内部RC振荡器(LSI RC)用来驱动独立的开门狗和选择性的驱动用于从停止/ 待机模式自动唤醒的RTC。 32.768kHz低速外部晶体振荡器(LSE 晶体振荡器)用来选择性的驱动实时时钟。 注:每个时钟源在使用时都可以独立的打开/关掉,以节省功耗。 在这里我们可以通过框图来直观的理解STM32的系统时钟。系统时钟框图如图1所示。 图一系统框图

通过图一不妨来详细分析下系统各个部分的时钟。 HSI时钟 HSI时钟通过一个8MHz的内部RC振荡器产生,并且可以被直接用作系统时钟,或者经过2倍频后作为PLL的输出作为SYSCLKS时钟。在系统复位时,HSI振荡器被选择默认的系统SYSCLKS时钟。内部时钟的缺点是频率的精确度没有外部晶体振荡器的高。 程序实现(所有程序都是基于固件库): 直接作为SYSCLKS时钟:RCC_DeInit();系统默认 经过PLL输出作为SYSCLKS时钟: RCC_DeInit(); SystemInit (); 可以在固件库中的stm32f10x_rcc.c文件中通过开放宏定义来选择系统时 钟经过倍频后的频率,固件库默认为72MHZ。如图2所示: 如图2所示 HSE时钟 高速外部时钟信号可以通过2个可能的时钟源产生。分别为: HSE 外部晶体/陶瓷共振器。 HSE 外部时钟。 外部时钟源 在该种模式下,必须提高外部时钟源,外部时钟源可以达到25MHz,用户可以通过设置时钟控制寄存器(RCC_CR)中的HSEBYP和HSEON 位选择该模式。占空必50%的外部时钟信号(方波,正弦波,三角波)必须用来驱动OSC_IN引脚,同时OSC_OUT引脚置于高 阻态。 外部晶体振荡器/陶瓷共振器(HSE晶体) 4~16MHz的外部振荡器具有能够在主时钟上产生一个非常精确地速率的优 点。 时钟控制寄存器(RCC_CR)中的HSERDY标志指示了高速外部振荡器是否是稳定的,在启动时,时钟直到硬件设置了该标志位才释放,如果在时钟中断寄存器(RCC_CR)中打开了, 就会产生一个中断。 HSE晶体振荡器可以通过时钟控制寄存器(RCC_CR)中的HSEON位来打开或 禁止。 程序实现(所有程序都是基于固件库): 1.直接作为SYSCLKS时钟: RCC_DeInit(); /*************************外部时钟设置 *****************************/

基于STM32F103的网络温度报警器物联网全解

基于STM32F103的网络温度报警器设计 作品名:基于STM32F103的网络温度报警器设计 作者:陈华健贾从含 时间:2015年6月17日

目录: 1.引言 (1) 2.利用普通二极管PN 结测试环境温度原理 (2) 3.器件的选择和芯片的介绍 (4) 4.UC/OS系统移植 (6) 5.文件系统的移植与文件系统基本函数的功能 (16) 6.Uip及socket实现方法 (27)

1.引言 近年来随着科技的飞速发展,嵌入式的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的嵌入式应用系统中,嵌入式往往作为一个核心部件来使用,仅嵌入式方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统使用STM32F103实现了接收由上位机通过TCP 协议发出的温度报警阈值信号,并存于SD片卡中。单片机利用普通二极管的PN 结测试环境温度,每30s 采集一次,将采集到的温度信息补充上时间(时、分、秒、毫秒)标注存储在存储芯片中。并将报警时的温度值与当前时间的温度进行比较,当前温度大于阀值温度时,通过发光二极管或蜂鸣器报警。上位机通过TCP,向单片机发送“Read_Info”命令后,单片机能将SD 卡中存储的所有数据发到PC 机的串口助手中;数据格式美观、易懂。 本系统采用普通二极管PN节的温度特性来测量环境温度不失为一种低成本而又容易实现的环境温度测量方式。使用STM32自带的ADC模块进一步降低了成本和设计难度。采用大容量存储芯片可以长时采集环境数据,并且在采集到的温度补充上时间信息使数据更加可信,同时移植了文件系统方便文件在WINDOWS下的读取和处理。 本系统采用了无线传输的方式配合可靠的电源设备或太阳能设备可以在室外持续的传输回温度信息或其他的气象数据(需配合适当的传感器),减少了人工成本,并且更加适应于野外大规模投放接点。

基于STM32-RTC实时时钟

1 课程设计内容 本文将利用ALIENTEK 2.8寸TFTLCD模块来显示日期时间,实现一个简单的时钟。 2 STM32芯片简介 2006年ARM公司推出了基于ARMv7架构的Cortex系列的标准体系结构,以满足各种技术的不同性能要求,包含A、R、M三个分工明确的系列[1]。其中,A系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时系统;M系列则专门针对低成本的微控制领域。Cortex-M3是首款基于ARMv7-M体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体[2]。半导体制造厂商意法半导体ST公司是ARM公司Cortex-M3内核开发项目一个主要合作方,2007年6月11日ST公司率先推出了基于Cortex-M3内核的STM32系列MCU。本章将简要介绍STM32系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。 2.1 STM32 RTC时钟简介 STM32 的实时时钟(RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC 模块和时钟配置系统(RCC_BDCR 寄存器)是在后备区域,即在系统复位或从待机模式唤醒后 RTC 的设置和时间维持不变。但是在系统复位后,会自动禁止访问后备寄存器和 RTC,以防止对后备区域(BKP)的意外写操作。所以在要设置时间之前,先要取消备份区域(BKP)写保护。 RTC 的简化框图,如图 20.1.1 所示:

相关文档
相关文档 最新文档