基于STM32单片机的多点温测量系统设计

基于STM32单片机的多点温度测量系统设计摘要:传统的DS18B20数字温度传感器的设计是利用单片机的I/O口模拟单总线完成数据的读取,由于I/O口时序完全由CPU计算得出,所以会占用较多的CPU时间。文章采用STM32F407单片机,将实现传统的I/O模拟时序的方式实现与DS18B20传感器进行通信实现多点温度采集,并在此基础上改用UART异步串口功能来实现对DS18B20温度传感器进行多点温度采集,从而减少对CPU的占用时间。Abstract:ThetraditionalDS18B20digitaltemperaturesensordesignistousesingle-chipI/Oportanalogsinglebustocompletethedatareading.BecausetheI/OporttimingiscompletelycalculatedbytheCPU,itwilloccupymoreCPUtime.Inthispaper,bySTM32F407microcontroller,itwillachievethetraditionalI/OsimulationtimingwaycommunicatewithDS18B20sensortoachievemulti-pointtemperatureofthecollection,andonthisbasistoswitchtoUARTasynchronousserialportfunctiontorealizemulti-pointtemperatureacquisitionDS18B20temperaturesensor,therebyreducingtheCPUoccupancytime.关键词:STM32F407;UART;DS18B20温度传感器Keywords:STM32F407;UART;DS18B20temperaturesensor中图分类号:TP274+.2文献标识码:A文章编号:1006-4311(2016)26-0196-031概述近年来,美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-WireBus)技术。它采用单根信号线,既以可传输时钟,又能传输数据,而且数据传输是双向的,因而这种单总线技术具有线路简单,硬件开销小,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能够控制一个或多个从机设备。当只有一个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作[1]。在单片机上,往往需要用I/O口模拟DS18B20的通信时序,进行操作指令的发送、返回相应的识别。这意味着上位机的CPU需要在通信的过程中不断通过计算来产生需要的电平时序,或者识别由下位机返回来的电平信息。在多个传感器组成传感器组通过单总线进行测温时,这种I/O口模拟时序的方法对单片机的CPU必然产生较大的占用率。作为一款功能多样的芯片,让它用来采集温度往往是其在工程上众多作用的其中之一而已,意味着单片机的有限的CPU处理能力需要处理多个任务,当某项任务占用CPU时间较多时,必定影响了工程的整体计算效果。如何让CPU的计算量变小,也是一项很值得研究的课题[2]。文章目的是通过使用单片机的USART口、定时器、中断系统、完成采样控制系统的设计,使得单片机在作为多温度传感器测温系统中的上位机时,比用传统I/O口模拟时序通信时更加少的占用CPU时间。1.1系统的设计思路本设计采用了STM32F407单片机作为核心芯片,只需接上电源、LCD显示器和搭好DS18B20的少量电路,即可完成硬件部分的搭建。其次,将原理上的电平逻辑转换为代码形式进行编写。这些代码包括I/O口的配置及使用、USART功能的配置及使用、DMA的配置及使用、LCD显示屏的驱动代码和DS18B20的驱动代码,这部分也是整个设计最难的部分。最后,在软硬件都搭建好的基础上对该设计进行测试验证,看功能是否符合预期效果。1.2系统软件描述(图1)2温度传感器DS18B20DS18B20数字式温度传感器的外部形状如图2所示。DS18B20的电路很简单,由一片DS18B20和一只4.7kΩ的上拉电阻构成。DS18B20内集成了一个温度传感器、64位ROM、9字节RAM、3字节EERAM(掉电可保存),可将温度信号转换为数字信号直接输出。DS18B20与外部的接口为单总线方式,即数据的输入、输出及同步均由同一根线完成。其温度测量范围为-55℃~125℃,在-10℃~80℃范围内精度为±0.5℃,输出的温度值可编程为9~12位。VD接电源,3V~5V;GND为地;DQ为数据的输入输出。DQ作为输出时为漏极开路,必须加4.7kΩ的上拉电阻。由图3可知,复位脉冲由上位机发出,由一个下降沿开始,低电平持续480us,然后以恢复高电平结束;存在脉冲由下位机发出,由一个下降沿开始,低电平持续60~240us,然后以恢复高电平结束,整个存在脉冲持续480us。上位机如何对传感器写入1位数据呢?DS18B20的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

文秘专家
机构认证
内容提供者

1

确认删除?