欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
换一换
首页 沃文网 > 资源分类 > DOC文档下载
 

远程数字采集系统的设计

  • 资源ID:20099       资源大小:696.86KB        全文页数:38页
  • 资源格式: DOC        下载权限:游客/注册会员/VIP会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: QQ登录   微博登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

加入VIP,免费下载资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

远程数字采集系统的设计

桂林电子科技大学毕业设计(论文)报告用纸目录1绪论........................................................11.1远程数字采集系统的概述................................................11.2课题要求..............................................................12系统设计方案................................................12.1系统设计方案论证......................................................12.2系统设计方案选择......................................................13系统的硬件设计..............................................23.1温度采集模块..........................................................23.1.1DS18B20温度传感器简介...............................................23.1.2温度采集模块设计....................................................33.2数据显示模块.........................................................33.2.1AT89S51单片机介绍.................................................33.2.2液晶显示器介绍......................................................43.2.3数据显示模块设计....................................................43.4数据传输模块..........................................................53.4.1MAX485芯片介绍......................................................53.4.2串行通信............................................................63.4.3数据传输模块设计...................................................124系统的软件设计.............................................124.1总程序流程图.........................................................124.2各模块程序设计.......................................................144.2.1温度采集模块.......................................................144.2.2数据显示模块.......................................................164.2.3数据传输模块.......................................................185系统的制作和调试...........................................205.1硬件PCB板的设计.....................................................215.2硬件调试.............................................................215.3软件调试.............................................................226总结.......................................................22谢辞..........................................................23参考文献......................................................24附录..........................................................25附录1硬件原理图...........................................25桂林电子科技大学毕业设计(论文)报告用纸附录2硬件PCB图...........................................26附录3总程序...............................................27桂林电子科技大学毕业设计(论文)报告用纸第1页共36页1绪论1.1远程数字采集系统的概述远程数字采集系统是指,从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。远程数据采集系统是结合基于计算机的测量软硬件产品来实现灵活的、用户自定义的测量系统,利用各种通信协议以达到远程采集的目的,采集的目标数据通常有温度或湿度等。本毕业设计课题是远程数字采集系统的设计,利用单片机设计一远程数字采集系统,对远距离参数进行适时的采集,显示及传输。本设计以采集温度数据为例子,需要收集相关资料,了解并掌握常见的温度数据采集方案,确定采集的方式和方法,显示采集温度数据并实现远距离传输。制作出相应的硬件系统并完成软件的调试。1.2课题要求利用单片机的串行口设计一个通讯距离要求达到1500m以上的、具有显示功能的数字采集系统,来模拟工业上对数据采集系统的要求。具体就是利用用温度传感器进行采集和转换为数字信号,利用单片机对传感器所输入的信号完成处理与显示,按照RS485通信协议将得到的数据传输给PC机并显示出来。2系统设计方案2.1系统设计方案论证根据该课题的目标,在所学范围范围内可采取以下两种方案方案一首先用温度传感器DS18B20进行温度数据采集,该传感器传递的是数字信号,其内部集成有AD转换模块,其不加驱动,可传送距离为100米。采用单片机作为控制核心,对温度数据进行采集处理等操作,选用AT89S51单片机。设计中可直接将DS18B20的输出数据传递给单片机,省去AD转换等复杂电路。所得的数字信号经单片机处理后由外接的液晶显示器进行实时显示。采用RS485串口通信协议实现AT89S51单片机和PC机的通信。方案二首先通过集成温度传感器AD590将温度值转换为电量输出,然后送入多路开关,再分时送入放大电路,经放大以后进入采样-保持器,再由数字转换电路实现模拟信号的数字化,所得的数字量经单片机89C51处理以后由外接的数码显示器对温度数值进行实时显示。在按照RS485串口通信协议和RS232串口通信协议将所得数据传输给电脑,并实时显示出来。2.2系统设计方案选择为了设计简单更有效的实现所需功能,笔者选用第一种方案,在硬件电路更加简洁情况下实现了课题的目标。对于远程数据采集部分,将在论文中体现。本设计可以分为桂林电子科技大学毕业设计(论文)报告用纸第2页共36页三大部分第一部分是硬件部分设计,其中包括三大模块分别为温度采集模块,温度显示模块和数据传输模块。本文第二部分是软件部分的设计,主要是通过AT89S51单片机的控制来实现各部分模块的衔接,从而对温度采集系统总体思想的实现。第三部分是系统的调试及总结。3系统的硬件设计3.1温度采集模块3.1.1DS18B20温度传感器简介DS18B20是“一线总线”数字化温度传感器,是DALLAS最新单线数字温度传感器,它支持“一线总线”接口,测量温度范围为-55C125C,在-1085C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。且适合于恶劣环境的现场温度测量,支持3V5.5V的电压范围,使系统设计更灵活、方便。另外其价格更低廉,体积更小。DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的性能价格比也非常出色继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念。DS18B20使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20内部结构主要由四部分组成64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图3.1所示图3.1DS18B20管脚图DQ为数字信号输入/输出端;GND为电源地;桂林电子科技大学毕业设计(论文)报告用纸第3页共36页VDD为外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如125℃的数字输出为07D0H,25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。3.1.2温度采集模块设计依据对DS18B20的介绍和了解,设计的温度采集模块如图3.2所示由于单总线为开漏所以外接一个4.7K的上拉电阻。将DQ端接到单片机AT89S51的P2.7口。图3.2温度采集模块3.2数据显示模块3.2.1AT89S51单片机介绍AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S51具有如下特点40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。在本设计中,最核心的器件是AT89S51。桂林电子科技大学毕业设计(论文)报告用纸第4页共36页时钟电路SFR和RAMROMCPU定时/计数器并行端口中断系统串行端口系统总线时钟源T0T1P0P1P2P3TXDRXDINT0INT1AT89S51单片机基本结构示意图如图3.3所示图3.3AT89S51单片机基本结构示意3.2.2液晶显示器介绍显示部分在本设计中是作为一个信息指使部分是很重要的,本论文中使用LCD作为显示部分,因为它与数码管比较起来更具有整体性和连贯性。LCD的应用很广泛,简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。在一般的办公设备上也很常见,如传真机,复印机,以及一些娱乐器材玩具等也常常见到LCD的足迹。本本所涉及的LCD为字符型点阵式LCD模块(liquidCrystalDisplayModule简称LCM,或者是字符型LCD。字符型液晶显示模块是一种专门用于显示字母,数字,符号等的点阵式液晶显示模块。在显示器件上的电极图型设计,它是由若干个5*7或5*11等点阵符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。目前市面上常用的有16字*1行,16字*2行,20字*2行和40字*2行等的字符模块组。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本设计中使用的是1602LCD,属第二种模块组。3.2.3温度显示模块设计将AT89S51和1602按封转相接,其中数据接受的I/O口接单片机的P0口,RS、RW、E分别接单片机的P2.0、P2.1、P2.2口,滑动变阻器R6作为电位器是用来调节液晶显示的对比度的。温度显示模块设计如图3.4所示桂林电子科技大学毕业设计(论文)报告用纸第5页共36页图3.4数据显示模块3.4数据传输模块3.4.1MAX485芯片介绍MAX485芯片采用单一电源5V工作,额定电流为300μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。MAX485芯片引脚图如图3.5所示。桂林电子科技大学毕业设计(论文)报告用纸第6页共36页图3.5MAX485芯片引脚图3.4.2串行通信⑴串口通信的概念串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制的0、1为最小单位逐位进行传输,如图3.6所示。图3.6串行通信串行数据传送的特点是数据传送按位顺序进行,最少只需要一根传输线即可完成,节省传输线。与并行通信相比,串行通信还有较为显著的优点,传输距离长,可以从几米到几千米。在长距离内串行数据传送速率会比并行数据传送速率快,串行通信的通信时钟频率容易提高,串行通信的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行通信传送速率比并行通信慢得多,并行通信时间为T,则串行时间为NT。⑵串行通信工作模式通过单线传输信息是串行数据通信的基础。数据通常是在两个站(点对点)之间进行传送,按照数据流的方向可分成3种传送模式单工、半双工、全双工。①单工形式早期的电流环桂林电子科技大学毕业设计(论文)报告用纸第7页共36页单工形式的数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接收端。信息只能沿一个方向传送,使用一根传输线,如图3.7所示。图3.7单工形式单工形式一般用在只向一个方向传送数据的场合。如计算机与打印机之间的通信是单工形式,因为只有计算机向打印机传送数据,而没有相反的数据传送。还有在某些通信信道中,如单工无线发送等。②半双工形式RS-485半双工通信使用同一根传输线,即可发送数据又可接收数据,但不能同时发送和接收。在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式即可以使用一条数据线,也可以使用两条数据线,如图3.8所示。图3.8半双工形式半双工通信中每端需有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟,信息传输效率低些。但是对于像打印机这样单方向传输的外围设备,用半双工方式就能满足要求了,不必采用全双工方式,可省一根传输线。波仕电子的RS-232/RS-485转换器使用了独特的零延时自动收发转换技术,直接从RS-485信号中用硬件方法提取收发切换控制信号,并且具备零延时的性能。零延时指收发切换过程转变时间为0,在使用时与RS-232通信一样。③全双工形式RS-232、RS-422全双工数据通信分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作,如图3.9所示。桂林电子科技大学毕业设计(论文)报告用纸第8页共36页图3.9全双工形式在全双工方式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传输效率较高。⑶握手信号握手信号实际上是控制信号,用来控制数据的传送。通过握手信号,发送方可以通知接收方是否有数据要发送。接收方通过握手信号通知发送方它是否已经准备好了接收信号。握手信号遵循某种协议。当发送方和接收方处理数据的不一样时,可能会造成数据丢失。在传输中,如果发送方的发送速度大于接收方的接收速度,同时接收方处理数据的速度不够快的话,那么接收端的缓冲区必定在一定时间后溢出,从而造成以后发送过来的数据不能进入缓冲区而丢失。发送方何时可以继续发送数据,何时必须暂停发送,从而让接收方有时间处理数据,称为流量控制,必须靠握手信号来解决这个问题。例如,打印机和计算机进行通信时,一些打印机打印速度可能跟不上计算机发送数据的速度,就必须要通过握手信号通知计算机暂停发送数据。①硬件握手在硬件握手中,发送方通过将某一个导线拉到高电平或者低电平。来表示发送方可以发送数据。接收方已经准备好接收数据之后,也把某一个导线拉到高电平或者是低电平,来通知发送方,发送方一直在检测这个信号。接收方可以在任何时候把这个信号变为无效,甚至是在接受一个数据块过程中。当发送方检测到这个信号变为无效之后,就必须停止本次发送,直到这个信号变为有效。②软件握手在软件握手中,以数据线上的数据信号来代替实际的硬件电路。这种方法用在直接连接或者通过调制解调器连接的两台计算机之间进行双向通信的场合。对于软件握手现在已经建立了一些标准协议,其中最常用的是通信协议。通信协议是指通信双方的一种约定,包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题作出统一规定,通信双方必须共同遵守,也叫做通信控制规程或称传输控制规程,它属于OSI七层参考模型中的数据链路层。③自动握手桂林电子科技大学毕业设计(论文)报告用纸第9页共36页波仕电子的RS-232/RS-485转换器使用了独特的零延时自动收发转换技术。RS-485为半双工通信,收与发不能同时进行,需要进行收与发的切换。一般这需要使用RS-232的一根握手信号线并在软件上进行控制。波仕电子的RS-232/RS-485转换器则省去了这根握手信号线,直接从RS-485信号中用硬件方法提取这个控制信号,并且具备零延时的性能。零延时指收发切换过程转变时间为0,在使用时与RS-232通信一样。⑷通信参数串行端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此电位信号的一方再将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送。在传输进行的过程中,双方明确传送信息的具体方式,否则双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息的意义。因此双方为了进行通信,必须遵守一定的通信规则,这个共同的规则就是通信端口的初始化。通信端口的初始化必须对以下几项参数进行设置。①数据的传输速度串行通信的传输受到通信双方配备性能及通信线路的特性所左右,收、发双方必须按照同样的速率进行串行通信,即收、发双方采用同样的数据传输率。数据传输率批量的是串行通信中每一秒所传送的数据位数,单位是bit/s。经常可以看到食品或MODEM的规格书上都写着19200bit/s、38400bit/s,所指的就是数据传输率。就仪器或工业场合来说,4800bit/s、9600bit/s是最常见的数据传输率,现在的个人计算机所提供的串行端口的数据传输率都可达到115200bit/s(甚至有921600bit/s),若传输距离较近而设备也提供时,使用最高的数据传输率也可以。例如,在某异步串行通信中,每传送一个字符需要8位,如果采用数据传输率4800bit/s进行传送,则每秒可以传送600个字符。②数据的传送单位一般串行通信端口所传送的数据是字符型,若用来传输文件,则会使用二进制的数据类型。当使用字符型时,工业界使用到的有ASCII字符码及JIS字符码;ASCII使用了8位形成一个字符,而JIS码则以7位形成一个字符。欧美的设备多使用8位的字节,而日本的设备多使用7位为一个字节。以实际的RS-232传输上看来,由于工业界常使用的PLC大多只是传送文字码,因此只要7位就可以将ASCII的0~127码表达出来(2=128,共有128种组合方式),所有的可见字符也落在此范围内,所以只要7个数据位就够了。不同的情形下(依据使用的协议),会使用到不同的传送单位。使用多少位合成一个字节必须先行确定。③起始位与停止位由于异步串行传输中并没有使用同步脉冲作基准,故接收端完全不知道传送端何时将进行数据的传送。发送端准备要开始传送数据时,发送端会在所送出的字符前后分别加上高电位的起始位(逻辑0)及低电位的停止位(逻辑1),它们分别是所谓的起始桂林电子科技大学毕业设计(论文)报告用纸第10页共36页位和停止位。也就是说,当传送端要开始传送数据时,便将传输线上的电位由低电位提升至高电位;而当传送结束后,再将电位降至低电位。接收端会因起始位的触发(因电压由低电位升至高电位)而开始接收数据,并因停止位的通知(因电压维持在低电位)而明确数据的字符信号已经结束,当加入了起始位及停止位才比较容易达到多字符的接收能力。起始位固定为1位,而停止位则有1、1.5、2位等多种选择,如何选择呢只要通信双方协议通过即可,没有强制规定。4、校验位为了预防错误的发生,使用校验位作为检查的机制。校验位即是用来检查所传送数据的正确性的一种核对码,这之中又分成奇校验与偶校验两种,分别是检查字符码中1数目是奇数或偶数。以偶校验为例,“A”的ASCII码是41H(16进制),将它以二进制表示时,是01000001其中1的数目是2,因此校验位便是0,使1的数目保持偶数;同样,校验位是奇校验时,“A”的校验位便是1,使1的数目保持在奇数。接收者重新计算奇偶校验位,如果新的计算值正确,那么表示正常。如果新的计算值错误,那么接收端就会收到一些指示,表示此次接收的数据有误。⑸常见的通信协议①RS232通信协议RS-232主要用来定义计算机系统的一些数据终端设备(DTE)和数据电路终接设备(DCE)之间的电气性能。例如CRT、打印机与CPU的通信大都采用RS-232接口,MCS-51单片机与PC机的通信也是采用该种类型的接口。由于AT89S51单片机本身有一个全双工的串行接口,因此该单片机用RS-232C串行接口总线非常方便。RS-232C串行接口总线适用于设备之间的通信距离不大于15米,传输速率最大为20kB/s。由于RS-232C规定了自己的电气标准,由于它是在TTL电路之前研制的,所以它的电平不是5V和地,而是采用负逻辑,即逻辑“0”5V~15V逻辑“1”-5V~-15V因此,RS-232C不能和TTL电平直接相连,使用时必须进行电平转换,否则将使TTL电路烧坏。RS232端口是标准的DB9孔座,引脚定义符合RS232规范。采用的是三线连接。②RS485通信协议针对RS-232芯片的接口的信号电平值较高、易损坏接口电路、传输速率较低、传输距离有限等不足,于是出现RS-485接口标准。桂林电子科技大学毕业设计(论文)报告用纸第11页共36页RS-485标准是由两个行业协会共同制订和开发的,即EIA电子工业协会和TIA通讯工业协会。EIA曾经在它所有标准前面加上RS前缀英文Rcommendedstandard的缩写,因此许多工程师一直延用这种名称。RS485具有以下特点1.RS-485的电气特性逻辑“1”以两线间的电压差为(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS-232降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。2.RS-485的数据最高传输速率为10Mbps。3.RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4.RS-485接口的最大传输距离标准值为4000英尺,即1219米,RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。虽然RS485相对RS232有很多优点,但其自身还有一些不足1.RS485总线的通讯容量较少,理论上最多仅容许接入32个设备,不适于楼宇为结点的多用户容量要求。2.RS485总线的通讯速率低,常用波特率为9600bps。而且其速率与通讯距离有直接关系,当达到数百米以上通讯距离时,其可靠通讯速率1200bps。3.RS485芯片功耗较大,静态功耗达到2-3mA,工作电流(发送)达到20mA,若加上电阻及终端电阻,工作电流会更大。增加了线路电压降,不利于远程布线。4.RS485总线构成的网络只能以串行布线,不能构成星形等任意分支。串行布线对于小区实际布线设计及施工造成很大难度,不遵循串行布线规则又将大大降低通讯的稳定性。5.RS485总线自身的电气性能决定了其在实际工程应用中稳定性较差,在多节点、长距离场合需对网络进行阻抗匹配等调试,增添工程复杂性。6.RS485总线通常不带隔离,当网络上某一节点出现故障会导致系统整体或局部的瘫痪,而且又难以判断其故障位置。7.RS485总线长距离传输1200米以上时一般暴露于户外,极易因为雷击等原因引入过电压。RS485收发器工作电压较低(5V左右),其本身耐压也非常低(-7V12V),一旦过压引入,就会击穿损坏。通信节点受损后无恢复,因此必须采取多种措施加以保护。桂林电子科技大学毕业设计(论文)报告用纸第12页共36页3.4.3数据传输模块设计数据传输模块硬件接口电路如图3.10所示。图3.10数据传输模块先选用其中一路发送/接收。R1OUT接AT89S51单片机的RXD,T1IN接AT89S51的TXD。T1OUT接PC机的RD,R1IN接PC机的TD。因为MAX485具有驱动能力,所以不需要外加驱动电路。4系统的软件设计软件部分主要是用所编写的语言程序来配合相应的硬件电路,控制所设计电路实现所预期功能的部分。AT89S51单片机的程序可以使用C语言,也可以使用汇编语言,或者是两者的结合,本设计使用汇编语言编写程序实现出租车计价器的各部分功能。4.1总程序流程图在本设计中,硬件所应用的都是集成的较简单的器件,节约了成本和简化了电路,因此这就给程序设计增加了要求。在以AT89S51单片机为核心的总体设计中,除了各个模块之间的电气连接外,就是要靠程序来实现对它们的协调工作了。程序在其中起到了灵魂的作用。本设计的主流程图如图4.1所示。桂林电子科技大学毕业设计(论文)报告用纸第13页共36页开始设置内存空间初始化采集温度将数据传送给单片机处理数据送显示将数据送入串口发送结束图4.1主流程图主程序如下所示ORG0000H\\单片机内存分配申明\\TEMPER_LEQU29H;用于保存读出温度的低8位TEMPER_HEQU28H;用于保存读出温度的高8位FLAG1EQU38H;是否检测到DS18B20标志位RSEQUP2.0RWEQUP2.1EEQUP2.2COUNTEQU32HA_BITEQU20H;个位数存放内存位置桂林电子科技大学毕业设计(论文)报告用纸第14页共36页B_BITEQU21H;十位数存放内存位置TEMPEQU50HMAINLCALLDISPLAY1STARTLCALLGET_TEMPER;调用读温度子程序\\进行温度显示,显示范围00到99度,显示精度为1度。因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位,将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度\\MOVA,29HMOVC,40H;将28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAY2;调用显示子程序AJMPSTART4.2各模块程序设计4.2.1温度采集模块因为DS18B20的硬件比较简单,所以软件设计相对比较复杂,在单片机与DS18B20进行通信时,需要按照DS18B20的通信协议进行通信,严格按照时序对其进行读写操作,通常在汇编语言来保证严格的时序。对于编程人员来说,DS18B20的数据读取和写入需要用移位的方式进行。在本设计中将在单片机与DS18B20之间进行应答来采集温度参数,单片机先将与DS18B20的连线电平拉低500ms以上,将DS18B20复位,再进行操作。先向DS18B20发送指令,跳过ROM后发出转换温度命令,然后初始化后读取温度。下面是对其进行的一系列操作的时序要求和操作。1初始化程序在这部分中,需要将DS18B20的一线总线拉低500ms以上,将其复位,然后将总桂林电子科技大学毕业设计(论文)报告用纸第15页共36页线置高,等待DS18B20的回应,有应答就置标志位,没有应答就清空标志位。本设计中,选择总线上只有一个DS18B20,所以跳过ROM,电路中采用的晶振频率为12MHz,通过计算公式,可以计算出空跑语句行数。复位初始化子程序见附录。2读出转换后的温度值在每次操作前都需要将DS18B20置位,先向其温度转化指令,而后需要约750ms的等待时间,通过调用延时子程序来延时。然后向DS18B20发送读取温度的命令,将温度读取出来,放到缓存中取。具体程序见附录。3发送指令使用通用的I/O口向DS18B20写数据。本设计中,通过单总线采取移位的方式来向DS18B20写入数据,按照8位的方式写进去。在写的过程中,要严格按照DS18B20的产品说明书的时序进行写操作每次将1Bit数据写入前,都需要对DS18B20进行写的初始化,将数据线拉低60us以上,完成写初始化后,将1位数据写进DS18B20,然后等待15us以上,写操作完成,继续初始化,写下一位,直到写完一个字节。具体程序见附录。4读取数据使用通用I/O口从DS18B20读取数据。在此,也使用移位的方式从DS18B20中读取数据,需要严格按照DS18B20的产品说明书进行读操作,每次将1位数据读入前,都需要对其进行读初始化,将数据线拉高1us以上,等待读的初始化,然后拉低数据线1us以上,使读初始化有效。完成读初始化后,从DS18B20将1位数据读入,然后等待15us以上,读操作完成,等待60us以上,继续初始化,读下1位,直到读完1B。这里完成了温度的计算功能,因为12位转化时每一位的精度为0.0625度,不要求显示小数,所以可以抛弃29H的低4位,将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度,这个转化温度的方法非常简洁,无需乘以系数0.0625。具体程序见附录。为了清楚起见对DS18B20的操作流程图如图4.2所示。桂林电子科技大学毕业设计(论文)报告用纸第16页共36页图4.2DS18B20测温程序流程图4.2.2数据显示模块数据显示模块程序设计的流程图如图4.3所示。Y温度转换结束初始化写命令跳过读序列号操作(0CCH写命令启动温度转换(44HN初始化写命令跳过读序列号操作(0CCH写命令读温度寄存器(0BEH)保存温度数据开始结束桂林电子科技大学毕业设计(论文)报告用纸第17页共36页图4.3温度显示流程图特别提出的是将29H单元中的十六进制的温度值转换为十进制,并分离出十进制的调用显示特定字符子程序初始化,设定第一个字符的显示地址查表,写数据操作,送字符“tempC”显示调用温度显示子程序从29H单元中将16进制的温度值转化为十进制初始化,设定显示温度地址查表,写数据操作,送温度的十位显示查表,写数据操作,送温度的个位显示返回返回开始结束桂林电子科技大学毕业设计(论文)报告用纸第18页共36页算法是将十六进制的温度值除以10,所得的商即为所要显示的十进制的温度的十位数,所得余数即为所要显示的十进制的温度的个位数,再分别送显示即可。程序如下MOVA,29H;将29H中的十六进制数转换成10进制MOVB,10;10进制/1010进制DIVABMOVB_BIT,A;十位在aMOVA_BIT,B;个位在b另外,需要指出的是,再每次向LCD写指令或写数据之前,都需要先有个测忙语句,来检测LCD现在是否空闲,或者用一段延时程序也可以实现同样的效果,在本设计中应用的延时程序,较测忙语句不易出错,且简单易实现。其余的详细程序见附录。4.2.3数据传输模块AT89S51单片机发送数据、接收数据利用RXD(串行数据接收端)线、TXD(串行数据发送端)线完成。发送数据时,执行一条将数据写如SBUF的传送指令(例如MOVSBUF,A),即可将要发送的数据按事先设置的方式和波特率从引脚TXD串行输出。接收数据时,当检测到RXD引脚上出现一帧数据的起始位后,便一位一位地将接下来的数据接收保存到SBUF中,然后产生中断标志位,向CPU申请中断,请求CPU接收这一数据,CPU响应中断后,执行一条读SBUF指令(例如MOVA,SBUF)就可将接收到的数据送入存储单元。AT89S51单片机串行接口的控制寄存器有两个特殊功能寄存器SCON和PCON,用以设置串行端口的工作方式、接收/发送的运行状态、接收/发送数据的特征、数据传输率的大小,以及作为运行的中断标志等,其格式如下1串行口控制寄存器SCON。SCON的字节地址是98H,位地址(由低位到高位)分别是98H一9FH。SCON的格式如下SM0、SMl串行口工作方式控制位。00方式0;01方式1;10方式2;11方式3。SM2仅用于方式2和方式3的多机通信控制位。发送机SM2=1(要求程控设置)。当为方式2或方式3时接收机SM2=1时,若RB8=1,可引起串行接收中断;若RB8=0,不引起串行接收中断。SM2=0时,若RB8=1,可引起串行接收中断;若RB8=0,亦可引起串行接收SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI桂林电子科技大学毕业设计(论文)报告用纸第19页共36页中断。REN串行接收允许位0禁止接收;1允许接收。TB8在方式2、3中,TB8是发送机要发送的第9位数据。RB8在方式2、3中,RB8是接收机接收到的第9位数据,该数据正好来自发送机的TB8。TI发送中断标志位。发送前必须用软件清零,发送过程中TI保持零电平,发送完一帧数据后,由硬件自动置1。如要再发送,必须用软件再清零。RI接收中断标志位。接收前,必须用软件清零,接收过程中RI保持零电平,接收完一帧数据后,由片内硬件自动置1。如要再接收,必须用软件再清零。2电源控制寄存器PCON。PCON的

注意事项

本文(远程数字采集系统的设计)为本站会员(星星008)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2017-2019 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922