基于物联网的温湿度测量系统的设计_第1页
基于物联网的温湿度测量系统的设计_第2页
基于物联网的温湿度测量系统的设计_第3页
基于物联网的温湿度测量系统的设计_第4页
基于物联网的温湿度测量系统的设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

基于物联网的温湿度测量系统的设计DESIGN

OF

TEMPERATURE

AND

HUMIDITY

MEASUREMENTSYSTEMBASEDONINTERNETOFTHINGS目录摘要 1关键词 11前言 22设计目标 23设计方案 34设计内容 34.1STM32模块 44.1.1串口 64.1.2时钟中断 74.1.3原理图设计 84.2DHT11温湿度传感器模块 104.2.1DHT11概述 104.2.2应用范围 114.2.3性能 114.2.4函数代码 124.3软件开发 154.4主函数 175结束语 17参考文献 18致谢 19基于物联网的温湿度测量系统的设计摘要:随着现代化经济的高速发展,科技也发展的越来越迅速,智能化程度越来越高,在各个领域应用广泛。例如农业生产领域,可以在大棚中实时监测温度湿度,二氧化碳浓度等外部参数,以便进行调节,保证农业高产、高效。基于此,本次毕业设计是实现了一个基于物联网STM32F103C8T6的智能温湿度的测量系统,利用串口显示。温湿度的测量显示是自动化科技中一个必须掌握且基础而且实用的技术,是一项应用广泛的科技。本次设计通过DHT11采集空气中的温度和湿度,利用时钟和中断,通过串口显示在电脑上。这个设计不仅适用于现代化农业生产,还可以用于其他领域,甚至家庭中也是必备,以便人们根据实时监测做出适当的措施,保证生产和生活都顺利、顺遂,提高生产和生活质量。关键词:温湿度;DHT11;STM32F103C8T6;物联网;Design

of

Temperature

and

Humidity

Measurement

System

Based

on

Internet

of

ThingsAbstract:With

the

rapid

development

of

modern

economy,

the

development

of

science

and

technology

is

more

and

more

rapid,

the

degree

of

intelligence

is

more

and

more

high,

in

various

fields

widely

used.

For

example,

in

the

field

of

agricultural

production,

temperature,

humidity,

carbon

dioxide

concentration

and

other

external

parameters

can

be

monitored

in

greenhouses

in

real

time,

so

as

to

make

adjustments

and

ensure

high

agricultural

yield

and

efficiency.

Based

on

this,

this

graduation

project

is

to

achieve

an

intelligent

temperature

and

humidity

measurement

system

based

on

the

Internet

of

things

STM32F103C8T6,

using

serial

port

display.

The

measurement

of

temperature

and

humidity

is

a

basic

and

practical

technology

that

must

be

mastered

in

automatic

science

and

technology.

This

design

collects

the

temperature

and

humidity

in

the

air

through

DHT11,

USES

the

clock

and

the

interrupt,

through

the

serial

port

display

on

the

computer.

This

design

is

not

only

suitable

for

modern

agricultural

production,

but

also

can

be

used

in

other

fields,

even

in

the

family,

so

that

people

can

make

appropriate

measures

according

to

real-time

monitoring

to

ensure

the

smooth

production

and

life,

and

improve

the

quality

of

production

and

life.Keywords:temperature

and

humidity;DHT11;STM32F103C8T6;theInternet

of

things;1前言近些年,科技发展的越来越迅速,并且,随着科学技术的进化,智能化越来越高,发明的利于生产生活方面的产品越来越多,越来越方便,越来越多样化,越来越深入生产生活中的各方各面。因此,人们的生活越来越便利,生活品质不断提高,对一些以前不会太关注容易忽略的问题变得注重,更加精细的仔细地过生活,做一个精致的家庭,做一个高效的生产车间,做一个美丽的自己。举一个例子,现在人们都极为关注自己的健康,所以,最直接的就是每天都接触到的空气,他们会关心今天的空气质量,天气状况,温度、湿度等等,用来防止一些紧急的突发情况,而一些把自己的生活过的精致的女士和男士们,会根据温度搭配好自己的衣服,依据湿度选择要穿衣服的布料,来使自己看起来时尚,并且穿着舒服。测量温度湿度[1]这项技术,不但在生活中常用,在生产中也必不可缺。比如,酿酒,它对于温度湿度的要求极高,只有掌握了它们的环境要求,把握好湿度温度,才能酿出感慨、美味、惆怅、浓郁、清香的美酒。除了酿酒,农业中也要时常记录种子到完全成熟时每个时期的温度湿度,从中获取发育时最适宜的温湿度,以便获得高质高量。想要完成这些,就必须对温湿度有精准的到位的确定,但温度计等设备是不能达到这个程度的,而采用现代信息化的手段,这些都不是问题。本次设计可以采集附近的温度湿度,精准的显示在电脑上,方便人们更好的观察掌握温湿度,从而人为的对温度湿度做出相应的改变,带来实际的经济效益,生活效益,完善单纯人工和粗糙的设备不能解决的问题,节省人力资源和生产资源。2设计目标本次设计要求实现对周围温湿度的测量及显示。要求对市面上的温湿度传感器,温度传感器,湿度传感器有一定的了解。因为核心芯片用的是STM32系列[2],所以要求对这款芯片有一定的理解,了解它的性能,熟悉STM32的串口和系统时钟中断的使用。会基本的C语言,熟悉掌握keiluVision5的使用和ISP程序一键下载。3设计方案(1)了解STM32F103C8T6的工作原理,熟悉STM32F103C8T6的串口和系统时钟中断使用。(2)了解温湿度传感器DHT11的工作原理,熟悉温湿度传感器DHT11的性能。(3)熟悉PCB电路,检测PCB电路及相关电路能否正常工作。(4)检测STM32F103C8T6核心板能否正常使用。(5)完成毕业设计,做好毕业论文。4设计内容本次是基于STM32F103C8T6单片机所设计的,因为要实现实时显示测量出的温度湿度的数据,所以把整个系统分为一个个模块,主要模块有STM32F103C8T6单片机、DHT11温度湿度模块和PC(personalcomputer)机。其系统总流程如图1所示。DHT11温度湿度DHT11温度湿度模块STM32F103C8STM32F103C8T6单片机PCPC机图1系统总体流程图Fig1Systemoverallflowchart从上图中可以看出,在整个系统中,STM32F103C8T6芯片是主要的控制器,也是一个中转站,相当于人的心脏,整个装置都是以它为基础,在它的控制下完成的对温湿度的检测显示。同时,STM32芯片也为外接装置温湿度模块提供了接口。步骤如下:先通过DHT11温湿度传感器进行温度湿度的信息采集DHT11温湿度传感器把收集到的信号发送至中央处理单元STM32单片机进行处理,并且进行信号的放大和转换[3]等必要措施通过编程库函数控制检测系统的运行流程,进行编译,并在串口上实时显示出来通过这几个步骤也可以看出,整个温湿度测量系统的基石就是硬件系统,更为核心的是STM32F103C8T6芯片。硬件电路的有关设计会直接影响到整个系统的相关性能。而硬件的设计一般包括设计原理图、画PCB、分析需求、调试、测试等几个基本步骤,设计的每一个步骤都需要仔细斟酌,思考思考再思考,避免因为一点小差错造成结果的不准确,甚至无法运行。温湿度检测系统的整体硬件设计如图2所示。DHT11DHT11温度湿度模块电源模块电源模块串口显示接口电路STM32F103接口电路STM32F103C8T6芯片图2系统硬件结构图Fig2Systemhardwarestructurediagram4.1STM32模块当今市场对于嵌入式开发的单片机分了很多种类,在内存、速度、功能、设备等方面有很大的不同,而目前市场上常用的有7种,分别是:51单片机、MSP430单片机、TMS单片机、STM32单片机、PIC单片机、AVR单片机、STC单片机,除了这些,就是一些偏僻的单片机了。在常用的单片机系列中,STM32单片机是一个微控制器产品系列的总称,是由世界最大的半导体公司之一的意法半导体有限公司开发研制的,采用了意法半导体独有的两大节能技术:130nm专用低泄漏电流制造工艺和优化的节能架构。目前STM32这个系列中已经包含了多个子系列,分别是:STM32小容量产品、STM32中容量产品、STM32大容量产品和STM32互联型产品;按照功能上的划分,又可分为STM32F101xx、STM32F102xx和STM32F103xx系列[4]。其中103最高的工作频率可以至72MHZ,综合来说,是这几种类型的单片机中性能最为出色的一款,功能众多,性价比高,运行速度可观,成本和功耗低,适用于便携式设备[5]。而这次采用的是STM32F103C8T6芯片,一个增强型,引脚数目为48脚,有64K字节闪存存储器的微控制器。下面进行比较详细的介绍。本次设计采用的芯片是STM32F103C8T6(实物图如图3所示),这款芯片采用32位的ARMCortex-M内核[6](结构如图4所示)和ARMv7-M架构,最高工作频率72MHz,1.25DMIPS/MHz。属于集成电路(IC)[7],片上集成了32-512KB的Flash存储器和64KB的SRAM存储器(用于存放程序和数据)以及一个温度传感器,有37个I/O口,总线宽度为32位,外围设备有DMA、电机控制PWM、PWM、IIC、SPI、温度传感器等,内部有高速内部(HSI)RC振荡器和低速内部(LSI)RC振荡器,还有20Kx8的RAM容量(20K字节的内置SRAM,CPU[8]能以0等待周期访问(读/写)),3种低功耗模式:休眠、停止、待机模式,电压-电源(Vcc/Vdd)的范围为2V~3.6V,工作温度范围在-40°C~85°C之间,此外还有10x12b的数据转换器A/D和Boot模式。封装/外壳:48-LQFPARMCortex-M内核是最新一代的嵌入式ARM处理器,应用单周期乘法和硬件除法,同时提供卓越的计算性能和先进的中断系统响应,为实现MCU的需要提供了低成本的平台、引脚数目的缩减、系统功耗的降低和额外的代码效率,保证功耗较低的情况下同时拥有高性能,很大程度上降低了编程的难度。内部振荡器工作频率为40KHz,振荡电路可以用于CPU时钟的PLL,带校准用于RTC的32kHz的晶振。每个ADC共用多达16个外部通道,可以实现单次或扫描转换。Boot模式:在启动的时候,Boot引脚被用来在3种Boot选项种选择一种:从用户Flash导入,从系统存储器导入,从SRAM导入。Boot导入程序位于系统存储器,用于通过USART1重新对Flash存储器编程。图3STM32F103C8T6芯片实物图Fig3MapofSTM32F103C8T6chip芯片设计芯片设计Cortex-M内核外部设备Cortex-M内核外部设备时钟复位调试系统存储器I/O接口调试系统存储器I/O接口ARM设计内部总线ARM设计内部总线图4Cortex-M3内核结构图Fig4InternalstructurediagramofCortex-M34.1.1串口USART1串口[9]通信的速率可以达到每秒4.5兆位,而其他接口的通信速率可以达到每秒2.25兆位,相当于USART1串口通信速率的一半。工作模式核心代码为:GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure; /*配置USART1时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA,ENABLE);/*配置USART1通用输入输出*//*将USART1Tx配置为备用功能推拉*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure); /*将USART1Rx配置为输入*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA,&GPIO_InitStructure);/*配置USART1模式*/USART_InitStructure.USART_BaudRate=115200;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_InitStructure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;USART_Init(USART1,&USART_InitStructure);USART_Cmd(USART1,ENABLE);向串口1发送数据:/*发送一个字节数据到USART1*/USART_SendData(USART1,(uint8_t)ch);/*等待发送完毕*/while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); return(ch);串口1输入数据:/*等待串口1输入数据*/while(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==RESET);return(int)USART_ReceiveData(USART1);4.1.2时钟中断如果系统时钟复位,HSI振荡器(8MHz)会被选为默认的系统时钟[10],当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止,同时,如果有需要(例如碰到一个间接使用的晶振失败),PLL时钟的中断管理完全可用。只有当目标时钟源准备就绪了的时候,即经过启动稳定阶段的延迟或者PLL稳定,从一个时钟源到另一个时钟源的切换才会发生,否则,系统时钟的切换就不会发生,直至目标时钟源就绪,才发生切换。而发生切换的标志就是时钟控制寄存器(RCC_CR)里的状态位,在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了的时候,哪个时钟目前被用作系统时钟。核心代码为:/*SystemFrequency/10000001us中断一次*/if(SysTick_Config(SystemCoreClock/1000000)) { /*Captureerror*/ while(1);}//关闭滴答定时器SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;//使能滴答定时器SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;while(TimingDelay!=0);//调用if(TimingDelay!=0x00){ TimingDelay--;}4.1.3原理图设计不光是代码有可读性的说法,原理图也有。因为原理图不仅仅是给自己看的,也会给其它人看,如果可读性差,会带来一系列沟通问题。所以,要养成良好习惯,做个规范的原理图。此外,一个优秀的原理图,还会考虑这些问题,可测试性、可维修性、BOM表归一化等。当我们在画原理图时,要分清楚模块并在每个模块上写上功能说明或模块名称,这样可以在调试、维修电路的时候也容易根据问题查找可能出现问题的线路,也可以让人更明白、更迅速的理解整个原理图;还有必不可少的是标注关键参数,尤其是电阻、电容、电感、电源、晶振等元器件,少了参数,就少了灵魂;日常说一遍的是接地和接电源不要标注错,悬空引脚要画x。本次设计是检测温湿度。图5为STM32F103C8T6的原理图。图5STM32F103C8T6原理图Fig5TheprinciplediagramofSTM32F103C8T6chip从STM32F103C8T6原理图可以看出STM32F103C8T6单片机一共有48个引脚,同时每个引脚都有相对应的功能,比如维持系统正常工作的电源管理电路[11]、复位电路[12]、usb转串口[13]、LED、JTAG等。要对STM32F103C8T6芯片的48个引脚充分了解并利用,要完成对于引脚周围必须要知道的电路的熟悉了解。当DHT11温湿度传感器完成了对于周围温度湿度信号的采集,STM32F103C8T6芯片处理成功信息与PC机传输完成后的显示,其中最重要的是一定要对应好引脚与外接设备的接口,保持接触良好。同时,本仪器使用USB数据线可以直接对温湿度检测模块进行+5V的供电,电源管理电路如图6。图6电源管理电路Fig6Powermanagementcircuit随后,通过使用ISP一键下载将事先编写完成的温湿度检测程序烧录到STM32F103C8T6单片机上,再从串口显示出温湿度。4.2DHT11温湿度传感器模块本次测量温湿度,所使用的传感器是DHT11温湿度传感器[14]。使用外接温湿度模块进行数据的检测与采集,同时将采集到的数据交给STM32F103C8T6芯片进行处理、修补、转换等,最后将处理好的数据通过STM32F103C8T6单片机[15]进行传输,再通过串口和ISP一键下载进行显示,帮助人们了解自己将要生活的地方或已经在生活的地方的环境的空气的温度和湿度,是否对身体健康达到舒适的效果,同时做出相应的调整。4.2.1DHT11概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器[16]。包括一个电阻式感湿元件和一个NTC测温元件[17],并与一个高性能8位单片机相连接。它采用先进的数字模块采集技术和温湿度传感技术,以确保产品具有极高的可靠性与卓越的长期稳定性。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则[18]。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。同时具有相对湿度和温度测量,采用电容式湿敏元件、全部自动化校准、标准数字单总线输出、卓越的长期稳定性、无需额外部件、超长的信号传输距离、超低能耗、4引脚安装,完全互换等优点[19]。实物图如图7所示。引脚说明图如图8所示。图7DHT11实物图Figure7

DHT11

physical

drawing图8DHT11引脚说明图Figure8DHT11

pin

illustration

diagramPin名称注释1VDD供电3-5.5VDC2DATA串行数据,单总线3NC空脚,请悬空4GND接地,电源负极4.2.2应用范围在暖通空调、测试及检测设备、冰柜、汽车、数据记录器、消费品、自动控制、气象站、家电、湿度调节器、医疗、手机、电脑、智能手表、智能家居、除湿器及其他的相关检测温湿度方面等等。4.2.3性能DATA用于处理STM32F103C8T6微处理器[20]与DHT11温湿度传感器之间的通讯和同步,它采用的是单总线数据格式[21],一次通讯时间大约在4ms左右,得出的数据分小数部分和整数部分,由于设备原因,当前小数部分用于以后扩展,现读出为零。操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:结果=8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末8位。性能如图9所示。图9DHT11性能说明图Figure9DHT11

performance

illustration

diagram参数条件MinTypMax单位湿度分辨率111%RH8Bit重复性±1%RH精度25℃±4%RH0-50℃±5%RH互换性可完全互换量程范围0℃3090%RH25℃2090%RH50℃2080%RH响应时间1/e(63%)25℃,1m/s空气61015S迟滞±1%RH长期稳定性典型值±1%RH/yr温度分辨率111℃888Bit重复性±1℃精度±1±2℃量程范围050℃响应时间1/e(63%)630S4.2.4函数代码配置输入输出接口的主要代码: /*定义一个GPIO_InitTypeDef类型的结构体*/ GPIO_InitTypeDefGPIO_InitStructure; /*开启DHT11_PORT的外设时钟*/ RCC_APB2PeriphClockCmd(DHT11_CLK,ENABLE); /*选择要控制的DHT11_PORT引脚*/ GPIO_InitStructure.GPIO_Pin=DHT11_PIN; /*设置引脚模式为通用推挽输出*/ GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; /*设置引脚速率为50MHz*/ GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; /*调用库函数,初始化DHT11_PORT*/ GPIO_Init(DHT11_PORT,&GPIO_InitStructure); /*拉高GPIOB10 */ GPIO_SetBits(DHT11_PORT,GPIO_Pin_10); 上拉输入模式主要代码:GPIO_InitTypeDefGPIO_InitStructure;/*选择要控制的DHT11_PORT引脚*/ GPIO_InitStructure.GPIO_Pin=DHT11_PIN;/*设置引脚模式为浮空输入模式*/GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;/*调用库函数,初始化DHT11_PORT*/GPIO_Init(DHT11_PORT,&GPIO_InitStructure);推免输出模式主要代码:GPIO_InitTypeDefGPIO_InitStructure;/*选择要控制的DHT11_PORT引脚*/ GPIO_InitStructure.GPIO_Pin=DHT11_PIN; /*设置引脚模式为通用推挽输出*/GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;/*设置引脚速率为50MHz*/GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;/*调用库函数,初始化DHT11_PORT*/GPIO_Init(DHT11_PORT,&GPIO_InitStructure); 读取字节:for(i=0;i<8;i++){ /*每bit以50us低电平标置开始,轮询直到从机发出的50us低电平结束*/ while(DHT11_DATA_IN()==Bit_RESET); Delay_us(40);//延时需要大于数据0持续的时间即可 if(DHT11_DATA_IN()==Bit_SET)/*xus后仍为高电平表示数据“1”*/ { /*等待数据1的高电平结束*/ while(DHT11_DATA_IN()==Bit_SET);temp|=(uint8_t)(0x01<<(7-i));//把第7-i位置1,MSB先行 } else //xus后为低电平表示数据“0” { temp&=(uint8_t)~(0x01<<(7-i));//把第7-i位置0,MSB先行 }}returntemp;一次完整的数据输出:/*输出模式*/DHT11_Mode_Out_PP();/*主机拉低*/DHT11_DATA_OUT(LOW);/*延时18ms*/Delay_ms(18);/*总线拉高主机延时30us*/DHT11_DATA_OUT(HIGH);Delay_us(30);//延时30us/*主机设为输入判断从机响应信号*/DHT11_Mode_IPU();/*判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行*/if(DHT11_DATA_IN()==Bit_RESET){ /*轮询直到从机发出的80us低电平响应信号结束*/ while(DHT11_DATA_IN()==Bit_RESET); /*轮询直到从机发出的80us高电平标置信号结束*/ while(DHT11_DATA_IN()==Bit_SET); /*开始接收数据*/ DHT11_Data->humi_int=Read_Byte(); DHT11_Data->humi_deci=Read_Byte(); DHT11_Data->temp_int=Read_Byte(); DHT11_Data->temp_deci=Read_Byte(); DHT11_Data->check_sum=Read_Byte(); /*读取结束,引脚改为输出模式*/ DHT11_Mode_Out_PP(); /*主机拉高*/ DHT11_DATA_OUT(HIGH); /*检查读取的数据是否正确*/ if(DHT11_Data->check_sum==DHT11_Data->humi_int+DHT11_Data->humi_deci+DHT11_Data->temp_int+DHT11_Data->temp_deci) returnSUCCESS; else returnERROR; }else{ returnERROR;}4.3软件开发为了实现设计要求,就必须保证本次设计使用的软件可以实现相应的功能,通常来说,是通过编程掌控整个系统的正常运行。所以对于本次空气中的温湿度检测系统来说,软件设计的逻辑性,可靠性,稳定性还有适用性都至关重要。一个完善的软件设计可以降低整个系统的检测误差,提高容错率和测量精准度,同样,一个好的设计也可以减少系统的功耗,从而增加所使用设备的寿命。如果软件设计出现偏差,不仅会对硬件有很大的损害,也会对测量结果产生巨大的影响。因此软件的设计在整个仪器的设计中十分重要,下面对本次设计使用的软件方面做详细的介绍。本温湿度检测系统的软件开发使用美国Keilsoftware公司研发的KeilμVision5软件,此软件的开发环境支持STM32F103C8T6、51等一系列的芯片。使用C语言[22]进行编程,与汇编语言相比较,C语言在多个方面都具有优势。既有高级语言的特点,又具有汇编语言的特点;它可以作为系统设计语言,编写工作系统应用程序;也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。优势如:简单紧凑、灵活方便、可维护性高、可读性和结构性强、是个结构语言、程序设计自由度大,因而易懂易学。同时,Keil提供了很多非常实用的功能,例如:C语言编译器、宏汇编程序、调试工具、库函数管理以及一个功能繁多的仿真器,而这些强大的功能为本仪器的软件开发提供了良好的基础,从而可以进行后续的编程等操作。KeilμVision5界面如图10所示。图10KeilμVision5界面Fig10InterfaceofKeilμVision5以下是KeilμVision5的软件开发步骤:点击最上方任务栏中Project,选择NewμVisionproject,建立一个新的工程,再点击OptionsforTarget,选择Device后再从中选取STM32F103C8T6芯片;右键点击新建立的工程文件夹,选择Manageprojectitems把事先下好的官方提供的固件包中的C文件和H头文件添加进工程中(选择相应的文件夹,点击Addfiles),随后把固件库中的相关启动文件复制进工程目录,再重复上述添加步骤。在编写相关代码之前,需要点击OptionsforTarget,选择Output后,点击Selectfolderforobject,指定编译文件存放在哪个文件夹内,同时勾选CreateHEXfile,然后开始编写检测甲醛浓度相关代码;完成代码编写后点击Build对已编写好的代码进行修改与调试,保证程序代码可以正常运行(0Error(s),0Warning(s))后,生成Hex文件;使用JTAG、J-LINK等仿真器,连接个人电脑与STM32F103C8T6单片机,点击Download把编写好的代码烧录进单片机中,现象如果符合,就完成代码编程。4.4主函数/*配置SysTick为1us中断一次*/ SysTick_Init(); USART1_Config(); /*初始化DTT11的引脚*/ DHT11_GPIO_Config(); /*调用Read_DHT11读取温湿度,若成功则输出该信息*/ if(Read_DHT11(&DHT11_Data)==SUCCESS) { printf("\r\n湿度:%d,温度:%d\r\n",DHT11_Data.humi_int,DHT11_Data.temp_int);} else { printf("ReadDHT11ERROR!\r\n"); } while(1); 5结论本文对于影响空气中的气体中的温度湿度检测进行了深层次的探究,设计了一款基于STM32F103C8T6单片机的温湿度检测系统。本系统成本较低,内存少,实用性高,适用性广,方便携带,可大范围应用于各个方面,如:在学习的时候,根据温度调整室内温度或另寻地方学习;在工作的时候,调整工作状态;在生活中,更是随时关注温度湿度,来让自己变得舒适自然。而设计这个系统的目的,当然不止于此,但是设计它的根本原因,还是从人们的需求出发,最本质的目的是便利于人们的生产生活,保证使用者可以实时得到周围温湿度的基本信息。在起初,拿到的并不是这个设计,因为起初的毕业设计对于我来说,过于难了,所以在询问了老师,咨询了老师与同学的意见后,敲定了现在的这个设计。可能这个设计对于一些同学来说简单了,但是对于我来说,简单有简单的做法,困难有困难的做法。就像每个人对待生活一样,我们每个人都是不同的,所以每个人的生活不一样,简单和困难对每个人来说就不一样了。在换成这个毕业设计的时候,我就去查了相关的资料,发现它的使用极其广泛,几乎各行各业都用到了这个设计,就算是学生儿童也不例外,就是使用的芯片和开发板不一样而已。而我在查询相关资料的同时,也在有意识的收集关于国家室内空气质量的标准和目前该领域测量系统的发展方向与规划,规划了设计总框架、设计方案以及要达成的功能。相对于51单片机来说,STM32系列应用的较为广泛,性能、运算能力等特性比51要显著很多,较为高端,而51单片机就是比较基础了。基于此,所以就选定了STM32F103C8T6单片机作为本次毕业设计的主要硬件核心。最后,经过了多次的修改和硬件的调试,顺利的完成了这次设计。参考文献宫鹤,李佳星.基于蛙跳PID算法的温室温湿度控制系统设计[J].农机化研究,2020,43(01):186-190.覃煜焱,李纬良,方鹏飞.基于STM32的实验室空气监测与净化系统设计[J].电子设计工程,2019,27(24):94-98.耿亮,惠泽基,张孝冬,韩宝如,廖建军.高精度EGFETpH传感器检测电路设计[J].传感器与微系统,2018,37(11):96-98+102.陈桂福.基于STM32的高能窄波光动力治疗仪的控制系统[D].合肥工业大学,2012.黄一洪,张绍栋,赵路佳.便携式广域相量测量装置的手持设备(基于GPS和STM32F4)[P].CN305285014S,2019-08-02..e络盟供应瑞萨电子基于ArmCortex-M内核的RA系列32位微控制器[J].单片机与嵌入式系统应用,2020,20(02):96.黄林.集成电路行业面临的重大变革和机遇[J].石河子科技,2019(06):56-58.SébastienCarré,MatthieuDesjardins,AdrienFacon,SylvainGuilley.Exhaustivesinglebitfaultanalysis.AusecaseagainstMbedtlsandOpenSSL’sp

温馨提示

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

评论

0/150

提交评论