STM32单片机控制的甲醛烟雾、温度和湿度监测仪设计

目录

第1章 绪论

1.1 引言

1.1.1甲醛的特性及危害

1.1.2甲醛的来源

1.2甲醛检测仪的种类

第2章  概述

2.1系统总概述

2.2总体方案设计

2.3硬件设计

2.4软件设计

第3章  硬件设计

3.1  硬件设计主电路图

3.2  硬件选择

3.2.1  MCU的选择与简介

3.2.3  数据采集系统

3.2.4  数据采集简介

3.2.5  按键选择与简介

第4章  软件设计

4.1编写语言的选择

4.2 编译软件介绍

4.3主程序模块

4.5按键模块

4.7液晶显示模块

第6章  结束语


第1章 绪论

1.1 引言

1.1.1甲醛的特性及危害

温湿度、烟雾和甲醛人们的日常生活息息相关。烟雾温湿度值人们的日常生活中扮演这不可或缺的角色,无论是工业生产还是居住日常,甲醛是一种无色,有强烈刺激性气味的气体。易溶于水、醇和醚。甲醛在常温下是气态,通常以水溶液形式出现。其37%的水溶液称为福尔马林,医学和科研部门常用于标本的防腐保存。此溶液。。。。。。。。。

1.1.2甲醛的来源

1.室内装修所用的合成板材,如胶合板、细木工板、高密度板、刨花板。这些板材中甲醛起胶合剂、防腐剂的作用,主要用于加强板材的硬度、防虫、防。。。。。。。。。

2.用合成板材制造的家具,厂家为了追求利润使。。。。。。。。。。。。。。。

3.含有甲醛成分并有可能向外界散发的各。。。。。。。。。。。。。

1.2甲醛检测仪的种类

目前,市场上甲醛检测仪的种类是多种多样,其中较常见的是采用试验纸光电光度法,即:当甲醛气体吹到浸有发色剂的试纸上时,与浸有发色剂的TAB组合就会因发生化学反应而变色。甲醛同试纸接触后含在纸里的试药就会同甲醛。。。。。。。。。

。。。。。。。。。。的优点是灵敏度高,操作简便,测定速度快。而该方法在分析甲醛浓度时往往采用的是目视比色法,它的缺点是:

1.由于许多有色溶液不够稳定,不能久存,经常需要在测定的同时配制溶液,比较费时费事。

2.目视比色的准确度低,一般相对误差为±5~20%。本论文设计的便携式甲醛检测仪所涉及的甲醛传感器是电化学传感器。它可以将甲醛。。。。。。。。。。。。。

第2章  概述

2.1系统总概述

本论文主要完成甲醛检测仪软件设计,设计内容包括:烟雾、温湿度、甲醛检测、超标报警、键盘检测、数。。。。。。。。。。。。

本系统采用单片机为控制核心,以实现便携式温湿度。。。。。。。。。

本系统设计采用功能模块化的设计思想,系统主要分为。。。。。。。。。

2.2总体方案设计

室内温湿度和甲醛污染对人身体健康影响较大,标准规定的方法绝大多数是化学分析法,使用的手段是实验室分析仪器 主要有比色计、 分光光度计、化学滴定、 气相和液相色谱。但这些方法费力费时、成本高、自动化程度低过程复杂、大多数过程是人工操作很难做到现场实时控制随着传感器和计算机技术的不断发展,现已有了基于单。。。。。。。

2.3硬件设计

硬件设计部分主要包括:(MCU、蜂鸣器、led指示灯、LCD1602液晶显示、外围扩展数据RAM)等芯片的选择; 硬件主电路设计、数据采集、、液晶显示电路设计、、键盘接口电路等功能模块电路设计。

2.4软件设计

软件设计部分主要包括:编写语言的选择、主程序/子程序流程的设计、功能模块程序的编写、软/硬件结合调试与演示。主要包括一下功能模块:STM32、检测、液晶。。。。。。。。

第3章  硬件设计

3.1  硬件设计主电路图

见附录9.1

3.2  硬件选择

 3.2.1  MCU的选择与简介

    1. 单片机的概念和特点

   单片机也就是我们经常说的单片小型计算机。经常用在控制领域中。是微型计算机的非常重要的一部分。在我们日常生活中经常用来进行控制。单片机主要是由内部单块集成电路构成。内部最为重要的就是包含了cpu处理芯片也就是中央处理器、IO口和存储器。我们只需要用相应的编译器烧写程序就可以实现对外围器件的控制。对单片机的选型设计是以STM32C8T6核心板。STM32单片机是一个低电压,高性能微处理和快速可擦除字节。它非常简单,方便,易于使用。在医疗机构和工业生产中广泛应用于实时控制、停车场、计算机外围设备和通信设备等各个领域。

想要实现系统功能,就必须完成单片机与电路或外部功能信息交流。这时就需要用到管脚将它们相连接达到通连的效果,同时我们也称管脚将单片机的外特性表现出来。科技的进步,单片机也更加注重体积和外观了,所以科学家想出了让很多引脚是双功能或多功能的。就现在的情况来说,STM32单片机的封装形式是多种多样,本设计就以40线双列直播式封装形式为例尽心详细介绍,如图3.1所示。

图3.1 STM32单片机管脚图

STM32特点:

工作频率 (MHz) 48

  16-bit 定时器 8

  32-bit 定时器 1

  A/D 转换器 1×12-bit

  D/A 转换器 1×12-bit

  通信接口 1xSPI/I2S;1xSPI; 2xI2C;2xUSART;CEC

  I/Os 39

电压 (V) 2 to 3.6

STM32F103是STM32f101的增强型单片机,在32位的MCU中性能最强;具有出众的控制和通讯,非常适合低电压/低功耗的应用场合。图3.2为STM32内核

图3.2 STM32单片机管脚图

STM32103基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。时钟频率达到72MHz,是同类产品中性能最高的产品;内置。。。。。。。。。。。。。
SPI-MISO数据输出;SPI-SCK时钟线;SPI-MOSI数据输入。

STM32单片机复位:复位电路的作用是为了是系统恢复到初始状态的,单片机的复位方式也是存在好几种的:上电复位,系统复位,备份区域复位。上。。。。。。。。。。

1.NRST引脚上的低电平(外部复位)

2. 窗口看门狗计数终止(WWDG复位)

3. 独立看门狗计数终止(IWDG复位)

4. 软件复位(SW复位)

5. 低功耗管理复位

STM32单片机震荡电路:首先要明确的是STM32没有内部晶振,HSI是内部RC振荡器。HSI内部8MHz的RC振荡器的误差在1%左右,内部RC振荡器的。。。。。。。。。。。。

STM32F103单片机是一款低功耗、高性能的微控制器,是STC公司早期生产用于工业控制的单片机。其作用是控制各种传感器和外设,自行计算处理得到的数据和信号,并进行相应的操作,在工业生产中起到大脑的作用。相比于日常生活。。。。。。。。。。。。。。。。

对于本次设计,我们选择的单片机是STM32F103C8T6单片机。此单片机和51系列相比多了很多功能,不但运行速度比51单片机要快很多,自带2个。。。。。。。。。。。。。

STM32有着很强大的通信功能和控制功能。这一点是51单片机无法比拟的。因为51单片机只有1个串口进行通信,而32单片机具有5个串口进行通信,所以对一些要求用串口进行通信的模块而且就不需要通过CD4052等双串口模块来转换,所以这一点。。。。。。

STM32特点:

  1. STM32C8T6系列的起振晶部分采用了RTC,低负载的方式,而没有像传统的比较廉价的圆柱晶振。
  2. 引脚个数为48个。
  3. 工作频率为72MHZ。
  4. 单片机具有3个普通定时器和1个高级定时器。
  5. 单片机具有2个2位/16通道的ADC模数转换。
  6. 使用了3.3V稳压芯片,可以保证最大输出300MA电流。
  7. 支持ST-LINK和JTAG调试下载。
  8. 存储资源为64kb byte FLASH和20byte Sram。

3-2-1 STM32F103C8T6 实物图

1、电源指示灯LED(PWR通常为红色):如果电源指示灯亮亮说明单片机正常运行,如果较暗或者闪烁,表示此单片机可能存在故障。

2、用户LED(PC13):这个功能的使用大大的方便了我们进行一些比较简单的功能测试,如单片机的运行状态等,方便初学者进行更好的测试。

3、单片机上采用了跳帽的方式,我们可以对stm32进行3种编程方式。如用户的SARM、闪存和系统的存储器。

4、为单片机的复位电路。

5、8M晶振:主要是用于设置单片机系统的频率为72MHZ。

6、32.768KHz晶振:可供内置RTC使用,避免了需要专门的时钟芯片进行定时器处理等。

3.2.3  数据采集系统

(1)从传感器过来的电压信号,必须放大,滤波,采集,转换才能被MCU识别和处理。由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。然而选择多路模拟开关时必须考虑以下的几个因素:通道数量、切换速度、开关电阻和器件的封装形式。总之数据采集与硬件的选择有很大的关系。

(2)甲醛传感器的选择

甲醛传感器由甲醛探头VOC传感器组成。甲醛传感器/甲醛模块(CH2O传感器)详细介绍如下表3-3:

(3)测量电路

测量电路由单片机串口和甲醛模块进行串口通信

 甲醛传感器由甲醛探头和CH20传感器组成。当空气被内部的采样系统吸收后和单片机相连,在显示器上。。。。。。。。。准时报警。

3.2.4  数据采集简介

电化学甲醛模块说明书

此电化学甲醛模块是一个通用型模组。利用电化学原理对空气中存在的CH2O进行探测,此模块与英国达特甲醛传感器相结合,具有良好的稳定性。此模块带有NTC温度传感器,可进行温度补偿。该模块是将成熟的电化学检测技术与精良的电路设计紧密。。。。。。。。。。。

便携式仪表、空气质量监测设备、空气净化机、新风换气系统、空调、智能家居设备等场所。

模块通讯波特率9600,无校验,数据位8位,停止位1位。(9600N81

例1:

发送:A5 5A 02 80 AA

返回:A5 5A 06 80 00 05 00 04 AA

甲醛mg值    (0X00*256+0X05)/100=0.05  mg

甲醛ppm值   (0X00*256+0X04)/100=0.04  ppm

例2:

发送:A5 5A 02 80 AA

返回:A5 5A 06 80 00 7B 00 64 AA

甲醛mg值    (0X00*256+0X7B)/100=1.23  mg

甲醛ppm值   (0X00*256+0X64)/100=1.00  ppm

说明:0X表示为16进制

甲醛模块测试软件说明

1.先安装串口驱动。安装完成后看下COM号。

2.在设备管理器里查。。。。。。。。。。。。。

说明:甲醛模块上电后需1分钟预热时间,1分钟后测的数据为有效数据。

注:模块默认工作电压为3.3V;如需5V工作电压需。。。。

 3.2.5  按键选择与简介

⑴本系统应用有人机对话功能,该功能即能随时发出各种控制命令和数据输入以及和LCD1602连接显示运行状态和运行结果。键盘分为:独立式和矩阵式两类,每一类按其编码方法又可以分为编码和非编码两种。由于本系统只有UP、DOWN 、OK 、CANCEL 4个控制命令,所需按键较少,所以本系统选择独立式按键。

 图 3.14 报警电路图

⑵独立式按键是直接用I/O口线构成的单个按键电路。每个独立式按键占有一根I/O口线。各根I/O口线之间不会相互影响。在此电路中,按键输入部采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平,(STM32 .P1口内部接有上拉电阻)所以就不需要再外接上拉电阻。

⑶键盘抖动的消除:抖动的消除大致可以分为硬件削抖和软件削抖。

①硬件削抖是采用硬件电路的方法对键盘的按下抖动及释放抖动进行削抖,经过削抖电路后使按键的电平信号只有两种稳定状态。

②软件削抖的基本原理是当检测出键盘闭合时,先执行一个延时子程序产生数毫秒的延时,待接通时的前沿抖动消失后再判别是否有健按下。当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别键是否释放。

③由于应用硬件削抖还需要外加器件,成本相对较高,所以本系统选择软件延时削抖的方法。

3.2.9  液晶显示器简介。

液晶显示器芯片介绍

考虑到要显示的是温度和湿度这两个数据,所以只需要能够显示一到两行的显示器即可。我选择了LCD1602液晶显示器[10]。它是一款工业字符型液晶,可以显示两行数据,每行可以显示十六个符号、字母或者数字,刚好可以满足设计的需要。它体积小巧,功耗较低,显示效果良好,是一款非常实用的液晶显示设备。

LCD 1602有16个引脚,它的引脚介绍如下:

表2-4  LCD1602引脚介绍

引脚号

引脚名称

引脚功能

1

GND

电源接地端

2

VCC

5V电源正极

3

VL

调节显示器对比度

4

RS

寄存器选择端

5

RW

读写信号线

6

E

使能端口

7~14

D0~D7

双向数据端口

15

BL+

背光正极

16

BL-

背光负极

LCD1602工作在3.5V~5V的工作电压下,它内部设计有复位电路,可以进行光标移动、清屏的操作。显示的亮度可以通过外部连接的电位计进行调节。内部带有存储器可以储存数据。它可以直接与单片机相连接,通过单片机程序来控制液晶的显示。

LCD 1602有16个引脚,其中RS、RW的值控制单片机对它的读写:

  表2-5  LCD工作状态介绍

RS

RW

操作命令

0

0

写入指令寄存器(清清屏等)

0

1

读busy(DB7),以及读取位址计数器 (DB0—DB6) 的值

1

0

写入数据寄存器(显示各字符等)

1

1

从数据寄存器读取数据

LCD1602液晶显示在执行程序指令之前要进行模块标志位的忙信号,只有当它的忙标志位为低电平时才表示可以执行指令。

3.2.10 报警电路

 在单片机应用系统中,一般的工作状态可以通过指示灯或数码显示来指示,供操作人员参考,了解系统的工作状况。但对于某些紧急状态,比如系统检测到的错误状态等,为了使操作人员不至于忽视,及时采取措施,往往还需要有某种更能引人注意,提起警觉的报警信号。这种报警信号通常有三种类型:一是闪光取消报警,因为闪动的指示灯更能提醒人们注意;二是鸣音报警,发出特定的音响,作用于人的听觉器官,易于引起和加强警觉;三是语音报警,不仅能起到报警作用,还能直接给出警报种类的信息。其中,前两种报警装置因硬件结构简单,软件编程方便,常常在单片机应用系统中使用;而语音报警虽然警报信息较直接,但硬件成本高,结构较复杂,软件量也增加。

单频音报警
  实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加3~15V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。压电式蜂鸣器结构简单、耗电少,更适于在单片机系统中应用。压电式蜂鸣

器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,如图3.13所示。在图2中,P1.0接三极管基极输入端,当P1.0输出高电平“1”时,三极管导通,蜂鸣器的通电而发音,当P1.0输出低电平“0”时,三极管截止,蜂鸣器停止发音。

3.13 单频音报警图电路图

 基于本系统的需求和功耗要求,只需要基本的报警功能即可,我选择采用的是三极管驱动的单音频报警电路。

以下为报警电路接线图见图3.14

                    图 3.14 报警电路图

本设计采用的是DHT11数字温湿度传感器[9],它是一款含有已校准数字信号输出的温度和湿度的复合传感器。

DHT11温湿度传感器的原理

DHT11温湿度传感器包括一个电阻式感湿元件和一个NTC测温元件,能分别检测湿度数据和温度数据。它的工作电压范围3.5~5.5V,它能。。。。。。。

        

   

图2-2  DHT11内部结构原理图

DHT11是通过内部的感湿元件和测温元件来采集温湿度数据的。DHT11的内部自带有处理器和存储器,用于处理温湿度数据和存储。。。。。。

1号引脚和4号引脚用来给温湿度传感器供电,2号引脚是信号引脚,3号引脚悬空,不用接入电路。

DHT11温湿度传感器主要应用与汽车数据记录器、暖通空调测试及检测设备、消费品自动控制、气象站、家电、湿度调节器、医疗设备等领域。然而DHT11也有它的缺点,就是它的测量范围不够大和测量精度不够高,它的测量。。。。。。

烟雾检测

烟雾传感器用于检测当前场所内的烟雾浓度来实现火灾的预防,烟雾报警器内部采用离子式烟雾传感,广泛应用于各种消防报警系统中,离子烟。。。。

烟雾传感器目前分为2大类,分别是离子式烟雾传感器、光电式烟雾传感器和气敏式烟雾传感器。光电式烟雾传感器又分为减光式和散射光式光电烟雾探测器。本次设计采用的是常见的气敏式烟雾传感器,其工作原理是采用清洁空气中电导。。。。。。。。。。。。。。

工作原理:

烟雾传感器也就是MQ-2是一种气体传感器。可以用在家庭或者是工厂等气体检测。通过阅读其相关的芯片资料我们知道可以检测到很多种气体。比如:液化气、酒精、氢气、烟雾等气体。本身具有的优势有响应速度快、使用寿命久、稳定性好、电路设计简单等特性。烟雾传感器是属于二氧化锡的半导体材料。当温度在200到30。。。。。。。。。。。。。

本章小结

这一章比较具体的说明了系统硬件设计的内容,通过模块化的设计思想,把一个复杂的单片机系统按照功能划分成一个个单独的电路模型,分别进行设计,最后在集成到一起。这种方法对于设计复杂的单片机系统很有效。大大提高系统设计的效率与质量。(说明:系统硬件设计的电路原理图附在论文的附录里面。)由于我主要负责的。。。。。。。。。。

第4章  软件设计

4.1编写语言的选择

对于单片机的开发应用中,逐渐引入了高级语言,C语言就是其中的一种。汇编语言的可控性较高级语言来说更具优越性。程序编写语言比。。。。。。。。。。。。后根据模块要实现的功能写各个子程序。整个软件程序的编写采用查询式方式编写的。

4.2 编译软件介绍

Keil软件简介:

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-STM32单片机的汇编软件有早期的ASTM32,随着单片机开发技术的不断发展,。。。。。。。。。

  1. 系统概述

  Keil CSTM32是美国Keil Software公司出品的STM32系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性。。。。。。。。。

    Keil CSTM32软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就。。。。。。。。。。。。。。。。。。

2.Keil CSTM32单片机软件开发系统的整体结构

CSTM32工具包的整体结构,如图4.1所示,其中uVision与Ishell分别是CSTM32 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别。。。。。。。。。。。。。。。

  

     图4.1  CSTM32工具包的整体结构图

3. 运行KEILSTM32软件见图4.2

 图 4.2

4.建立项目

(1)点击Project菜单,选择弹出的下拉式菜单中的New Project,如图4.3

                     图 4.3

接着弹出一个标准Windows文件对话窗口,在"文件名"中输入您的第一个C程序项目名称,"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,。。。。。。。。。

(2)选择所要的单片机,这里我们选择常用的Ateml公司的AT8。。。。。。。。。。

(3)首先我们要在项目中创建新的程序文件或加入旧程。。。。。。。。。。

(4)点击保存新建的程序,也可以用菜单File-Save或快捷键Ctrl+S进行保存。我们把第一个程序命名为test1.c,保存在项目所在的目录中,这时你会发现程序单词有了不同的颜色,说明KEIL的C语法检查生效了。如图,鼠标在屏。。。。。。。。。

如图4.4

                          图 4.4

(5)C程序文件已被我们加到了项目中了,下面就剩下编译运行了。如图4.5,图中1、2、3都是编译按钮,不同是1是用于编译单个文件。2是编译当前项目,如果先前编译过一次之后文件没有做动编辑改动,这时再点击是不会再次重新。。。。。。

(6)进入调试模式,软件窗口样式大致如图所示。图中1为运行,当程序处于停止状态时才有效,2为停止,程序处于运行状态时才有效。3是复位,模拟芯片的复位,程序回到最开头处执行。按4我们可以打开5中的串行调试。。。。。。。。。。

(7)生成HEX文件

HEX文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。打开目录,找到test.Uv2的文件就可以打开先前的项目了。然后右击图4.7中的1项目文。。。。。。。。。。。。。     

4.3主程序模块

主程序实现的功能:与硬件相结合实现便携式甲醛检测仪的各个功能。主要是检测与显示,时间调整与显示,数据存储。功能子函数的调用。见图4.10

                    图4.10  主程序流程图

4.5按键模块

⑴按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与MCU串行通信,然后。。。。。。。

⑵按键查询式的        

4.7液晶显示模块

LCD 1602有16个引脚,其中RS、RW的值控制。。。。。CD1602液晶显示在执行程序指令之前要进行模块标志位的忙信号,只有当它的忙标志位为低电平时才表示可以执行指令。

LCD1602要显示字符时,就要获得该字符。。。。。。。

其显示程序流程图如下:

     图 4-2  液晶显示程序流程图

温湿度采集程序设计

    温湿度采集程序[14]包括DHT11初始化,应答脉冲,扫描,数据转换,读操作等步骤,其程序及流程图如下:

       

 bit init_DTH11()

    {

          bit flag;

          uchar num;

          DQ=0;

          delay_ms(19);        // >18ms

          DQ=1;

          for(num=0;num<10;num++);      // 20-40us                    

          for(num=0;num<12;num++);

          flag=DQ;

          for(num=0;num<11;num++);    //DTH响应80us



          for(num=0;num<24;num++);        //DTH拉高80us

          return flag;

    }

    uchar DTH11_RD_CHAR()

    {

           uchar byte=0;

           uchar num;

           uchar num1;

           while(DQ==1);

           for(num1=0;num1<8;num1++)

       {

              while(DQ==0);

              byte<<=1;                     //高位在前

              for(num=0;DQ==1;num++);

              if(num<10)

                     byte|=0x00;

              else

                     byte|=0x01;

        }

        return byte;

    }

    void  DTH11_DUSHU()

    {

           uchar num;

           if(init_DTH11()==0)

          {      

                 wendu=DTH11_RD_CHAR();   //比正常值高7度左右

                 DTH11_RD_CHAR();

                 shidu=DTH11_RD_CHAR();

                 DTH11_RD_CHAR();

                 DTH11_RD_CHAR();

                 for(num=0;num<17;num++);  //最后BIT输出后拉低总线50us

                 DQ=1;

           }

    }

图 4-1  温湿度采集流程图

串行接口是一个可编程的全双工串行通讯接口。它可用作异步通讯方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通讯协议进行。。。。

8051单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通讯。SBUF是串行口缓冲寄存器,包括发送。。。。。。

8051单片机的串行口主要由两部分组成:一部分是由T1及其内部的一些控制开关和分频器组成的 波特率发生器,提供串行口发送和接收数据时所需的。。。。。。

  • .串行数据缓冲器SBUF
  • SBUF实际上市两个物理上独立的发送缓冲器和接收器,可同时发送、接收

    数据,实现全双工串行通信,两个缓冲器共用一个特殊功能寄存器字节地址99H。串行发送时,从内部总线向发送缓冲器SBUF写入数据,串行接收时,从接收缓冲器SBUF中读出数据。

    (二) .串行口控制逻辑

    接受来自波特率发生器的时钟信号。控制内部的输入移位寄存器,将外部的串行数据转换成并行数据送入接收缓冲器SBUF,并控制产生接收结束标志RI。控制内部的输出移位寄存器,将发送缓冲器SBUF中的并行数据转换成串行数据输出,并控制产生发送结束标志TI。

    (三).控制寄存器

    控制8051单片机串行口的控制寄存器主要是串行口控制寄存器SCON,另外

    还有一个电源管理寄存器PCON。

    第二节  串行口控制寄存器SCON及串行口的工作方式

    (一).SCON用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    SM0

    SM1

    SM2

    REN

    TB8

    RB8

    TI

    RI

    SM0、SM1:串行口工作方式选择位,其定义如下:

    SM0、SM1

    工作方式

    功能描述

    波特率

    0 0

    方式0

    8位移位寄存器

    Fosc/12

    0 1

    方式1

    10位UART

    可变

    1 0

    方式2

    11位UART

    Fosc/64或fosc/32

    1 1

    方式3

    11位UART

    可变

    其中fosc为晶体震荡器频率
        SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3。。。。。。

    REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。

    TB8: 在方式2或方式3中,要发送的第9位数据位,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数。。。。。。。。

    RB8:接收到的数据的第9位。在。。。。。。。。

    。。。。。。。。。。。。。。。。。。。。

    本文介绍了在设计的过程的关键点,供大家参考学习,如果需要定制实物或者其他单片机设计的可以添加徽信biyezhan007

    第6章  结束语

    目前,公共场所民用建筑室内需要检测温湿度甲醛气体,同样建筑材料中甲醛含量也需要检测。由于甲醛含量超量的话,将对人体健康造成很大的影响。具有民用价值的便携式甲醛检测仪的研制受到了人们的高度重视。设计能够满足生活需要,携带方便的便携式甲醛检测仪迫在眉睫。针对目前的现状,该系统设计遵守体积小,质量轻,性价比高的原则。

    便携式甲醛检测仪的设计主要分为硬件设计和软件设计。根据设计前对该系统所要实现功能的要求,综合考虑虑我们采用STM3。。。。。。。。。。。。。。

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32单片机控制的甲醛烟雾、温度和湿度监测仪设计

    发表评论