基于单片机的温度监测系统的设计

发布者:WhisperingWaves最新更新时间:2011-10-21 关键字:单片机  温度监测系统 手机看文章 扫描二维码
随时随地手机看文章

  引言

  温度检测是许多行业的重要工作条件之一。

  无论是粮食仓库、中药仓库,还是图书保存。都需要在符合规定的温度环境条件之中。而温度却是最不易保障的指标。针对这一情况。研制一款可靠、方便、易及时调控的温度检测系统就显得极为重要。笔者运用D1S18B20采集数字信号,通过蓝牙无线通信技术和USB接口技术。实现由89S52单片机检测控制温度的监测系统。

  1  系统的结构

  整个系统由采集板、通信板和PC机监控程序组成。采集板以温度监测芯片DS18B20t21、单片机芯片AT89S52和蓝牙芯片BC4为核心分时完成监听主机的命令和数据采集以及数据发送的功能。可以根据接收到的主机的命令随时改变系统的工作状态。 如图1。通信板以USB 芯片PDIUSBD12、单片机芯片AT89S52为核心,实现数据接收、数据发送,以及将采集回来的外部信号通过波形图实时显示在PC机界面上。同时把数据保存到数据库中。如图2。

 

图1采集板系统框图

 

图2通信板系统框图

  2  系统硬件设计

  2.1 采集板电路设计

  2.1.1 蓝牙模块—无线接收发射电路

  系统采用了CSR公司蓝牙芯片BC417143.该芯片采用Blue2.0、支持主或从模式、支持AT命令集、支持波特率为2 400到1 382 400 bps,适用于嵌入式串口传输无线的全新的模块。

  值得注意的是。蓝牙芯片工作在3.3 V,而MCU工作在5 V.存在逻辑电平不匹配问题。且IO管脚无法容忍MCU的5 V逻辑电平。设计中采用了1117芯片进行电平转换输出3.3 V.蓝牙与MCU连接需经过电平限制以保证蓝牙模块正常工作 以下是蓝牙模块的电源选择方案及串口模块的引脚定义。如图3。

 

图3蓝牙模块的电路原理图

  在建立蓝牙数据通信时。需要先对其通信协议进行设置:

  (1)UART参数设置:先设置通信协议长度,再设置波特率、硬件控制流参数。校验参数、数据位数及停止位

  (2)工作模式设置:可将蓝牙模块的工作模式设置为主模式或者从模式。

  (3)设置蓝牙模块名:名称是蓝牙模块在进行通信的标识之一。通过设置蓝牙模块名协议可以更改蓝牙模块名

  (4)设置安全模式:蓝牙通信中的数据安全主要是有蓝牙通信时的PIN码保障的。通过设置安全模式协议。可以根据不同的需要。设置蓝牙通信的安全模式

  (5)设置PIN码:设置PIN码可以保证仅有可靠的设备通过蓝牙与模块互相通信系统采用的波特率为9 600 bps.传输距离能达10 In。由于采用蓝牙做为传输。具有很强的抗干扰能力

  2.1.2 采集板电路原理图

  采集板电路原理图如图4。蓝牙模块主要与单片机的串行IO口连接。数字温度传感器DS18B20与单片机的P1.0口连接。继电器则与P1.2口连接。温度传感器DS18B20将温度转化为数字信号通过P1.0 El送给单片机。经单片机处理后的数据由串口传给蓝牙模块(BLUETOOTH) 也可以通过蓝牙模块接收通信板发来的指令2-2通信板电路设计通信板主要由单片机、蓝牙模块、USB模块等相关电路构成。如图5PDIUSBD12是一款性价比很高的USB器件它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口。它还支持DMA传输此外它还集成了许多特性。包括SoftConnetTM、GoodLinkTM、可编程时钟输出低频晶振和终止寄存器集合 所有这些特性都为系统显着节约了成本。 同时使USB功能在外设上的应用变得容易。

 

图4采集板电路原理图

PDIUSBD12的8根DATA引脚与单片机的PO口相连接,采用 10 k的排阻作为上拉电阻;SUSPEND是当芯片挂起状态挂起时,输出为高。

  与单片机的P1.1连接:INT_N是中断请求。与单片机的IN,m 连接:RD N和WR N读写选通信号分别与单片机的RD和WR连接;DMREQ、DMACK N、EOT N分别是DMA 的中断请求、DMA应答和DMA传输完成。由于没用启用DMA功能直接接高电平。RESET N是复位引脚。接单片机的P1.7;GL N是芯片的工作指示灯。接人一个LED指示灯。可以直接观察USB设备的运行状态;XTAL1和XTAL2接6MHZ.CS N为片选信号。接单片机的PI.6,A0地址线,采用I/O口模拟,接单片机P3.4:D+和D一是USB的差分数据线分别串联一个l8 Q的阻抗匹配电阻。后接USB插头上 。

  蓝牙模块连接方法与采集板的连接方式相同。

  通讯板的信号流程为:由采集板采集的温度数据经蓝牙模块传输到通讯板上,送到单片机上处理。通过PDIUSBD12传输到PC上进行显示保存。

  单用户在PC上进行操作时,数据由PC通过PDIUSBD12传送到单片机。再经过蓝牙传输,送到采集板进行相对的响应。

 

图5通信板电路原理图[page]

  3  软件设计

  本系统涉及内容较多。开发环境也都不一样,对于单片机软件的开发是基于KEIL uVision 3的uVision3集成开发环境IDE是一个基于Window的软件开发平台,有功能强大的编辑器、项目管理器和制作工具。

  对于USB驱动的开发采用了WinDriver9.2.1.用该软件生成所需驱动只需要USB设备插入后通过简单的几步就可以完成,同时还可以根据需要生成相应的应用程序代码。方便应用程序的开发嘲。

  采集板的系统流程图如图6,通讯板的系统流程图如图7PC机应用程序则采用了VISUAL STUDIO 6.0进行开发。采用C++语言编写程序代码。由于VC具有文档类程序、对话框类程序等。可以很快地实现界面的编程。

 

图6采集板程序流程图

 

图7通信板程序流程图

  为了将波形图实时显示。就需要重复绘制波形图。运用传统的绘图方法。会引起屏幕的强烈闪烁。现在常用的解决方法是:利用内存绘图的技术。将需显示的图形绘制在内存位图中。然后再拷贝到屏幕上。很好地解决了屏幕闪烁的问题,并且处理速度快自定义的绘图函数声明如下。在该函数内部实现了内存绘图。

  void CMyusbDlg::MEM— DRAW(

  int ID,

  unsigned char m_buf,

  int d_ pnow,int ONDRAW,

  CString TXT)

  在数据保存方面。本系统使用Access建立数据库。系统流程图如图8。

 

图8 PC机主程序流程图

  当主程序开始后。初始化了USB和界面后。就创建一个新的线程,和主线程并行工作。新线程主要就是完成USB数据的读取。然后把接收到得数据存放到一个缓冲区和数据库中。缓冲区主要是供主线程显示波形时使用。数据库则供用户日后查看历史记录使用。

  4  结论

  提出了一种基于USB与蓝牙芯片BC417143的无线温度监测系统的设计方案。并从硬件和软件两个方面介绍了系统的设计过程。实现了对温度信息进行的无线数据采集。利用蓝牙芯片作为无线收发模块。DS18B20作为温度数据采集。USB接口芯片作为与PC机的通信接口。简化了电路设计并具有易扩展和组网的特点。

 

 

关键字:单片机  温度监测系统 引用地址:基于单片机的温度监测系统的设计

上一篇:基于单片机的节能断电保护电路设计
下一篇:基于89C2051的步进电机驱动系统设计

推荐阅读最新更新时间:2024-03-16 12:44

51单片机4X4矩阵键盘驱动与应用程序(C语言)
1、keydrive.c #include reg52.h #include stdio.h /* 程序功能: 本程序用于测试4X4矩阵键盘驱动; 程序算法: 每2MS检测一次按键的状态,若连续8次检测都为相同, 说明现在是一个稳定的状态,否就是干扰不与理采 ; 按键有三种状态:1、按下 2、松开 3、干扰或抖动; 其中前两种都是稳态,后一种为抖动。 接着若判断按键的状态是否改变, 若改变--》判断原来的状态是否为松开---是--说明 现在按键为按下,那么就把键值算出来;---返回0; 若改变--》判断原来的状态是否为松开---否--说明 现在按键为松开,那么就把键值返
[单片机]
单片机多机通信之变量初始化的重要性
博文题目之所以要加上变量初始化的重要性,是因为我在调试单片机多机通信程序时,也就是下面将给出的程序,花了一整个晚上才发出,原来是有一个变量没有初始化,从而导致,多机通信不成功。主机程序中为红色的注释的变量一定要初始化,否则将失败。 仿真图如下: 主机程序: 单片机多机通讯 说明:该程序为多机通讯程序,最多可以挂255个从机。 该程序主机发送端与多个从机的接收端相接,主机的接收端与多个从机的发送端相接。 该程序主要的目的为给从机发送作为命令的数据。 该程序调试成功,从机可正确接收。 */ //==================================
[单片机]
28. 数字电压表
1. 实验任务 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。 2. 电路原理图 图1.28.1 3. 系统板上硬件连线 a) 把 单片机系统 区域中的P1.0-P1.7与 动态数码显示 区域中的ABCDEFGH端口用8芯排线连接。 b) 把 单片机系统 区域中的P2.0-P2.7与 动态数码显示 区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 c) 把 单片机系统 区域中的P3.0与 模数转换模块 区域中的ST端子用导线相连接。 d) 把 单片机系统 区域中的P3.1与 模数转换模块
[单片机]
28. 数字电压表
基于51单片机的7键8键电子琴proteus仿真数码管显示程序原理设计
硬件设计 8键仿真图: 方案: 7键仿真图: 7个按键表示7个音,另外一个按键播放歌曲 程序设计 /******************************************************************/ #include reg52.h #include main.h /******************************************************************/ sbit BeepIO = P2^0; //定义音频输出管脚 sbit KEY1 = P1^0; //按键1 do sbit KEY2 = P1^1; //按键2 re sb
[单片机]
基于51<font color='red'>单片机</font>的7键8键电子琴proteus仿真数码管显示程序原理设计
应用笔记|管理STM32 MCU中的内存保护单元
1 前言 本应用笔记介绍如何管理 STM32 产品中的内存保护单元(MPU)。MPU 是用于存储器保护的可选组件。STM32 微控制器(MCU)中嵌入 MPU 之后变得更稳健可靠。在使用 MPU 之前,必须对其进行编程并加以启用。如果 MPU 没有启用,则存储系统的行为不会变化。 2 概述 MPU 可以使嵌入式系统更加稳健和安全:• 禁止用户应用程序破坏关键任务(例如操作系统核心)使用的数据• 将 SRAM 存储区域定义为非可执行(禁止执行 XN),以防止代码注入攻击• 修改存储访问属性MPU可最多保护16个内存区域。在 Armv6、Armv7 架构(Cortex-M0+、M3、M4、M
[单片机]
应用笔记|管理STM32 <font color='red'>MCU</font>中的内存保护单元
跟我学51单片机(四):独立-矩阵键盘应用与设计
  上讲介绍并应用了单片机的串口通信,并给出了实例。从这一讲开始将介绍单片机的外围电路。这讲向大家介绍单片机外接键盘电路,通过该讲,读者可以掌握单片机外接键盘的工作原理从而实现电路与程序设计。   一、原理简介   键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。我们可以通过键盘输入数据或命令来实现简单的人机通信。在设计键盘电路与程序前,我们需要了解键盘和组成键盘的按键的一些知识。   1. 按键的分类   一般来说,按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最
[单片机]
跟我学51<font color='red'>单片机</font>(四):独立-矩阵键盘应用与设计
STM32单片机/SPI通信
SPI 接口主要应用在 EEPROM, FLASH,实时时钟, AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,这四根引脚分别是: SS(Slave Select)从设备片选信号,由主设备控制。 SCK(Serial Clock)时钟信号,由主设备产生。 MISO(Master Output,Slave Input) 主设备数据输入,从设备数据输出。 MOSI(Master Input,Slave Output) 主设备数据输出,从设备数据输入。 硬件连线如上图,从设备的SCK,MOSI,MISO线均并联到主机MCU上,但片选信号线要直接
[单片机]
AT91SC25672RC:32位智能卡安全微控制器
生产商:Atmel AT91SC25672RC:32位智能卡安全微控制器(MCU),基于ARM® SC100™ SecurCore™ 32位RISC处理器,有ARM高性能32位和Thumb高代码容量16位两个指令集,4GB线性地址空间,有Von Neumann加载/存储架构,用于制令和数据的单一32位数据总线,3级流水线架构,8位,16位和32位数据类型,片内可编程系统时钟高达 50MHz,工作电压2.7V-5.5V, GSM/3G兼容,和PC行业兼容,有很低的功耗,256KB ROM程序存储器,72KB EEPROM用户存储器,大于50万次写/擦,10KB RAM,外设有两个I/O端口,可配置支持通信协议,包括ISO 7816
[安防电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved