好文档 - 专业文书写作范文服务资料分享网站

基于单片机的无线多路数据(温度)采集系统的设计与实现(毕业论文)

天下 分享 时间: 加入收藏 我要投稿 点赞

P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。

P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。CPU访问外部16位地址的存储器时,P2口提供高8位地址。当CPU用8位地址寻址外部存储时,P2口为P2特殊功能寄存器的内容。在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。

P3口:具有内部上拉电阻的8位双向口。P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将引脚置1,由内部上拉电阻抬位高电平。若外部的负载是低电平,则通过内部上拉电阻向输出电流。在与FLASH并行编程和校验时,P3口可输入某些控制信号。P3口除了通用I/O口功能外,还有替代功能,如表5.3-1所示。

表5.3-1 P3口的替代功能

引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 符号 RXD TXD /INT0 /INT1 T0 T1 /WR /RD 说明 串行口输入 串行口输出 外部中断0 外部中断1 T0定时器的外部的计数输入 T1定时器的外部的计数输入 外部数据存储器的写选通 外部数据存储器的读选通

RST:复位端。当振荡器工作时,此引脚上出现两个机器周期的高电平将系统复位。 ALE/

:当访问外部存储器时,ALE(允许地址锁存)是一个用于锁存地址的低

)。在

8位字节的书粗脉冲。在Flash 编程期间,此引脚也可用于输入编程脉冲(

正常操作情况下,ALE以振荡器频率的1/6的固定速率发出脉冲,它是用作对外输出的时钟,需要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。如果希望禁止ALE操作,可通过将特殊功能寄存器中位地址为8EH那位置的“0”来实现。该位置的“1”后。ALE仅在MOVE或MOVC指令期间激活,否则ALE引脚将被略微拉高。若微控制器在外部执行方式,ALE禁止位无效。

:外部程序存储器读选取通信号。当AT89S51在读取外部程序时, 每个机器

周期 将PSEN激活两次。在此期间内,每当访问外部数据存储器时,将跳过两个号。

/Vpp:访问外部程序存储器允许端。为了能够从外部程序存储器的0000H至FFFFH

单元中取指令,

必须接地,然而要注意的是,若对加密位1进行编程,则在复位时,

的状态在内部被锁存。 执行内部程序

应接VCC。不当选择12V编程电源时,在Flash编程期间,这个引

脚可接12V编程电压。

XTAL1:振荡器反向放大器输入端和内部时钟发生器的输入端。 XTAL2:振荡器反相放大器输出端[9]。

6 软件设计

6.1 系统概述

整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。 6.2 程序设计流程图

图6.2-1 发射流程图 图6.2-2 接收流程图

6.3 温度传感器多点数据采集

DS18B20 可设定9~12 位的分辨率,本系统采用12位分辨率,转换精度为0.0625℃,转换温度信号所需最长时间为750ms。温度数据由2 字节组成,以符号扩展的二进制补码形式存储,最低4 位是小数部分,中间7 位是整数部分, 1 位符号位。DS18B20 内部RAM 由9 个字节的高速缓存器和E2PROM 组成,前2 个字节即为温度数据。通过复位指令、ROM 和RAM 功能命令,即可完成对指定DS18B20温度数据的采集和读取。

在一线制总线上串接多个DS18B20 器件时,需要先发送跳过ROM 指令,将所有传感器都进行一次温度转换,之后通过匹配ROM依次读取每个传感器的温度数据,实现对单I/O 口上的多个DS18B20 器件的操作[10]。

在系统安装及工作之前应将主机逐个与DS1820挂接,以读出其序列号。其工作过程为:主机发出一个脉冲,待“0”电平大于480μs后,复位DS1820,在DS1820所发响应脉冲由主机接收后,主机再发读ROM命令代码33H,然后发一个脉冲(15μs),并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。另外,由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,系统对DS1820和各种操作必须按协议进行,即:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

7 调试及结果

7.1 测试环境及工具

测试温度:0~100摄氏度(模拟多点不同温度值环境)。

测试仪器及软件:数字万用表,温度计0~100摄氏度,串口调试助手。 测试方法:目测。 7.2 测试方法

使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路等)。系统自带测试表格数据,观察显示数据是否相符合即可。

采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点),目测显示电路是否正常。并记录各点温度值,与实际温度值比较,得出系统的温度指标。

使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。 7.3 测试结果分析

自检正常,各点温度显示正常,串口传输数据正确。

因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。

8 总结

本文研究的课题是基于单片机的多通道数据采集系统,该系统的实现的功能是将来自传感器的信号通过放大、线性化、滤波、同步采样保持等处理后,输入A/D转换为数字信号后由单片机采集,然后利用单片机与PC机的通信将数据送到PC机进行数据的存储、后期处理与显示,该系统的数据处理功能强大、显示直观、界面友好、性价比商,可广泛应用于工业控制、仪器、仪表、机电一体化、智能家居等诸多领域。

本系统还是一个不完善的系统,还有许多需要改进的地方。设计中所采用的DS18B20搜索算法还存在不足,有时会发生重复或遗漏搜索。在通信协议不完整,没有进行发送超时出错处理。还有各种不足之处有待将来改进。

设计得以顺利完成,得感谢我的指导老师,在这个过程中他都一直指导着我,虽然

他没有时时刻刻在我们身边亲历指导,但是他每天都询问我的进展情况,对我遇到的问题给予我解答,并对我的设计进行一些优化。

附录1:

电路原理总图

基于单片机的无线多路数据(温度)采集系统的设计与实现(毕业论文)

P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。CPU访问外部16位地址的存储器时,P2口提供高8位地址。当CPU用8位地址寻址外部存储时,P2口为P2特殊功能寄存器的内容
推荐度:
点击下载文档文档为doc格式
9rm7o7ykg20a6ri16ozy38gut0xt46013sf
领取福利

微信扫码领取福利

微信扫码分享