毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc

上传人:laozhun 文档编号:3985591 上传时间:2023-03-30 格式:DOC 页数:13 大小:128.50KB
返回 下载 相关 举报
毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc_第1页
第1页 / 共13页
毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc_第2页
第2页 / 共13页
毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc_第3页
第3页 / 共13页
毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc_第4页
第4页 / 共13页
毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的多数据采集系统设计.doc(13页珍藏版)》请在三一办公上搜索。

1、摘 要本文介绍了基于数字温度传感器DS18B20的多数据采集系统设计。本次实训我组做的是:多数据采集系统,主要是一个以单片机作为主控机,多个单片机(AT89C51)作为从机构成的RS-485总线多数据采集系统。单片机组成的各个节点负责采集终端设备的状态信息,即采集温度和电压;主控机以轮询的方式向各个节点获取这些设备信息,并根据信息内容进行相关操作。系统通信总线使用RS-485总线标准,可获得较远的通信距离和较好的抗干扰性。关键词:多数据采集;AT89C51单片机;MAX485;DS18B20 Abstract This article describes the digital tempera

2、ture sensor based on multi-DS18B20 data acquisition system. The training I do is set: multiple data acquisition system is mainly a microcontroller as the host computer, a number of microcontroller (AT89C51), as from the body into the RS-485 bus data acquisition system and more. Single chip each node

3、 is responsible for collecting the status information terminal equipment, the collection temperature and voltage; way to the main computer to poll each node to obtain the device information, and related operations according to information content. System communication bus using the standard RS-485 b

4、us, get far better communication distance and interference.Keywords: Multiple data collection;AT89C51 microcontroller;MAX485;DS18B20目 录引言11 串行接口知识11.1 串行通信简介11.2 51单片机串口的多机通信功能22 各种芯片简述221 温度传感器DS18B20简介22.1.1 DS18B20工作原理32.1.2 DS18B20的使用注意事项32.2 RS-485标准43 硬件设计53.1 主机电路63.2 从机系统电路64 软件设计74.1 协议设计74

5、.2 从机程序流程74.2 主机程序流程85 扩展部分86 心得体会8谢 辞9参考文献10引言随着数字控制技术的发展,由由单片机构成的控制系统也日益复杂。在一些要求响应速度快、实时性强、控制量多的应用场合,单个单片机构成的系统往往难以胜任,这时由多个单片机结合PC组成分布式系统成为一个比较好的解决方案。在这样的分布式系统中,可以使用RS-232总线连接PC和单片机,但由于RS-232总线标准存在传输速率慢、传输距离短的缺点,很多时候无法满足工业应用中多机系统的通信要求,因此实际应用中经常使用的是RS-485总线标准。RS-485总线在工业应用中具有十分重要的地位。RS-485总线协议可以看做是

6、RS-232总线协议的替代标准,与传统的RS-232总线协议相比,RS-485总线在通信速率、传输距离、多机连接等方面,均有了非常大地提高,这也是工业系统中使用RS-485总线的主要原因。由于RS-485总线是RS-232总线的改进标准,所以在软件设计上它与RS-232总线基本上一致,如果不使用RS-485总线芯片提供的接收器、发送器选通的功能,为RS-232总线系统设计的软件部分完全可以不加修改直接应用到RS-485总线网络中。RS-485总线工业应用成熟,而且大量的已有工业设备均提供RS-485总线接口。1 串行接口知识1.1 串行通信简介串行通信的实现,在制式、种类、形式、规范、标准、编

7、码、检错、纠错、帧结构、组网方式、调制方式、主要用途等许多方面,存在着多种类型、变化、选择和解决方案等问题。例如:SMBus总线、SPI接口、MicroWire接口、1-Wire总线、RS-232RS-485RS-422接口、USB总线、IEEE-1394总线、FF总线、LONWorks总线、ProfiBus总线、ControlNet总线等等,都是用来实现与串行通信功能相关的技术和规范。串行通信是指通信双方的信息(二进制编码)一位接一位传送的通信方式。与并行通信相比,这种通信方式虽然速度较慢,但传送距离长,而且使用的数据线少(最简单的串行通信只需要两根信号线和地线即可),节约通信成本,因此常应

8、用于需要长距离通信而又对速度要求不高的场合。串行通信的通信方式共有单工、半双工、全双工三种。如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工;如果在通信过程的任意时刻,信息既可以由A传到B,又能由B传到A,但由于两个通信方向使用同一条信道,因此在同一时间只能有一个方向上的传输存在,这种传输方式称为半双工,在该方式下,收发方向主要是通过软件协议来控制的,接收和发送只能交替进行;如果在任意时刻,线路上可以存在A到B和B到A的双向信号传输,此时两个方向的信号使用不同的信号,二者不会互相干扰,这种传输方式称为全双工。全双工使用了信道划分技术,通信的每一端都包含发送器和接收器,可以同时

9、发送和接收数据。串行通信中,数据传输的方法有两种:一种是异步通信,另外一种是同步通信。异步通信以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。异步通信中,每传送一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合。同步通信不同于异步通信,它使用数据块传送信息,而不是字节,因此省去了每个字节的起始位和停止位等数据,提高了通信速率。同步通信在每个数据块的开始使用同步字符,使接收和发送同步。与异步通信相比,同步通信发送的数据量大、速度快,常用于传输速率要求较高的场合。1.2 51单片机串口的多机通信功能51单片机的自带串口专门为这种一点对多点的多机通信提供了识

10、别功能,该功能是利用串口控制寄存器SCON的SM2位实现的。当串口以方式2或方式3工作时,发送和接收的每一帧信息都是11位 ,其中第9位数据是可编程的,此位用于区别发送的是地址帧还是数据帧,为1则为地址帧,为0则为数据帧,此位是通过对SCON寄存器的TB8位赋值来置位的。若从机的控制位SM2设置为1,则当接收的是地址帧时,数据装入SBUF,并置RI=1,向CPU发出中断申请;当接收的是数据帧时,不产生中断,信息被丢弃。若SM2设置为0,则无论是地址帧还是数据帧都将产生RI=1的中断标志,数据装入SBUF。利用51单片机串口的此多机通信功能可按如下步骤实现点对多点的数据传输:(1)将所有从机的S

11、M2位置1,是使其处于只接收地址帧的状态;(2)主机发送一地址帧,其中前8位数据位表示要求与之通信的从机地址,第9位为1,表示当前帧为地址帧;(3)从机接收到地址帧后,将本机地址与地址帧中的地址进行比较,如果地址相同,则将SM2置0,准备接收数据,否则丢弃当前帧,SM2位保持不变,依然处于只接收地址帧的状态;(4)主机发送数据帧,相应的从机接收数据,数据传输完毕后,从机继续将SM2位置1,回到只接收地址帧的状态,在这一过程中其他从机不受影响;(5)当主机需要与其他从机进行数据传输时,可以再次发送地址帧呼叫从机,重复这一过程。2 各种芯片简述21 温度传感器DS18B20简介 作为一种数字化温度

12、传感器,DS18B20测温时无需任何外部元件,可直接输出912位(含符号位)的被测温度值,测温范围为一55 +125;在一1O+85 范围内测量精度为05 ,输出测量分辨率可调,最高可达0062 5 ;支持“单线总线”技术,仅需要占用一个通用io端口即可完成与单片机的通信;现场温度直接以“单线总线”的数字方式传输,大大提高了系统的抗干扰能力。2.1.1 DS18B20工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产

13、生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。2.1.2 DS18B20的使用注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

14、(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。 (2)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接DS18B20的总线电缆是有长度限制的。试验中,

15、当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 (4)在DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用

16、屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。 2.2 RS-485标准 RS-485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A、B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所以又极强的抗共模干扰的能力,总线收发器灵敏度很高,可以检测到低至200mV电压。故传输信号在千米之外都是可以恢复。(1)、RS-485 的电气特性: 驱动器能输出7V的共模电压 接收器的输入电阻RIN12k 输入端的电容50pF 在节点数为32个,配置了120的终端电阻的情况下,

17、驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关) 发送端:逻辑1以两线间的电压差为+(2 至6) V 表示;逻辑0以两线间的电压差为-(2 至6)V 表示。接收器的输入灵敏度为200mV(即(V+)-(V-)0.2V,表示信号0;(V+)-(V-)-0.2V,表示信号1) (2)、传输速率与传输距离RS-485 的数据最高传输速率为10Mbps,最大的通信距离约为1219M,传输速率与传输距离成反比,在10Kb/S的传输速率下,才可以达到最大的通信距离。但是由于RS-485 常常要与PC 机的RS-232口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使R

18、S-485 传输距离减小,所以往往为9600bps 左右或以下。(3)、网络拓扑RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。RS-485采用半双工工作方式,支持多点数据通信。RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络。如果需要使用星型结构,就必须使用485中继器或者485集线器才可以。RS-485/422总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。(4)、连接器RS-485 的国际标准并没有规定RS485 的接

19、口连接器标准、所以采用接线端子或者DB-9、DB-25 等连接器都可以。(5)RS-232与RS-485的比较 RS-232总线主要存在以下一些缺点:通信速率低,RS-232C规定的最高传输速率为20kbps,这虽然可以满足一般异步通信的需要,但并不能满足同步传输的要求;通信距离短,使用RS-232C接口的通信线路一般只能在15m左右达到正常的通信要求,即使使用极好的器件在极好的信号条件下,通信距离也无法超过60m;抗干扰能力差,通信两端的电平转换电路均为单端电路,无法抑制共模干扰,各信号间也易受到串扰干扰。(6)、RS-232标准的不足经过许多年来RS-232 器件以及通信技术的改进,RS-

20、232 的通信距离已经大大增加。由于RS-232 接口标准出现较早,难免有不足之处,主要有以下四点:1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。2) 传输速率较低,在异步传输时,波特率为20Kbps。现在由于采用新的UART 芯片16C550 等,波特率达到115.2Kbps。3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。4) 传输距离有限,最大传输距离标准值为50 米,实际上也只能用在15米左右。3 硬件设计 系统的硬件设计主要包括两部分:主控机的R

21、S-485总线通信接口以及带有RS-485总线接口的单片机系统。由图可以看出,整个系统分为以下三部分:(1) 主控制部分该部分由PC和RS-485接口设备构成,它负责轮询各个节点以获取信息。(2) 数据采集部分该部分是一个具有RS-485接口的单片机系统,它位于各个终端设备处,响应主控机发送来的查询命令,并将被监控设备的状态信息回送给主控机。它的单片机的I/O端口与被监测得终端设备相连,以获取所需状态信息。(3) 终端设备该部分是被监测的设备,一般为带有传感器的各种具体机器设备,此处我们用的是DS18B20温度传感器作为终端设备。终端设备主控机(单片机)终端设备终端设备RS-485接口单片机系

22、统单片机系统单片机系统RS-485接口RS-485接口RS-485接口 图 单片机RS-485总线多数据采集系统功能示意图3.1 主机电路 主控机的电路主要由单片机最小系统、液晶显示、485总线接口和键盘输入电路组成。3.2 从机系统电路 从机电路主要由单片机最小系统、噪声监控、模/数转换、四分频、亮度和电压等几部分组成 。4 软件设计对于任何涉及通信或者数据交换(本质上也是数据通信)的系统,通信协议的设计都是软件设计的前提和关键。整个系统软件分为主控机端和从机(单片机)端两部分。4.1 协议设计 对于协议设计而言,最重要的就是帧结构的设计。除了帧结构的定义外,整个系统的通信还需要遵守下面的规

23、则: 主控机主导整个通信过程。由主控机定时轮询各个节点处的从机,并要求这些从机提交其相对应设备的状态信息。 主控机在发送完准备好命令后,进入接收状态,同时开启超时控制。如果接收到错误的信息则继续等待,如果在规定时间内未能接收到从机的返回响应帧,则认为从机不在位,取消这次查询。 主控机接收到从机的返回命令帧后,发送“等待接收”指令,进入接收状态,同时开启超时控制。如果接收到错误的信息则继续等待,如果在规定的时间内未能接收到从机的返回信息,则超时计数加1,并且主控机重新发送“等待接收”指令,如果超过3次,则返回错误信息,取消这次查询。 从机复位后,将等待主控机发送指令,并根据具体的指令内容做出应答

24、。如果接收到的指令帧错误,则会直接丢弃改帧,不做任何处理。4.2 从机程序流程从机端软件包括数据采集和RS-485总线通信程序,其中数据采集部分可以设计成一个函数,在主程序中调用即可。4.2 主机程序流程主机端软件主要是进行通信接口部分和数据处理部分的设计。5 扩展部分6 心得体会我想归纳起来,主要有以下四个方面:1、经过这次的课程设计,它让我接触更多平时没有接触过的元器件和相关的仪器调试经验,同时我也发现自己在这方面很多不足之处,体会到理论知识对实践有很大的指导作用,她让我知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。2、学会了高效率的查阅资料、运用工具书、利用网络查找相关

25、资料。我发现,在我们所使用的书籍上有一些知识在实际应用中其实并不是十分理想的,各种参数都需要自己去调整。偶尔还会遇到错误的资料现象,这就要求我们应更加注重实践环节。3、失败不可怕,只要不趴下,昂首向前走,希望总会有。4、同组同学相互包容、彼此合作、取长补短,才能铸就最后的成功。可以这样说课程设计是对我所学的知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能更好的掌握本专业的相关知识。谢 辞参考文献1戴佳,戴卫恒,刘博文 51单片机C语言应用程序设计实例精讲(第2版),北京:电子工业出版社,2

26、008.122(美)安格斯生编著,精英科技译 串行端口大全,北京:中国电力出版社,2001 3 龚运新,罗惠敏,彭建军 单片机接口C语言开发技术,北京:清华大学出版社,2009.2 4 陈龙三 8051单片机C语言控制与应用,北京:清华大学出版社,19995 徐爱钧,彭秀华 单片机高级语言C51 Windows环境编程, 北京:电子工业出版社,2001 6 张天凡 51单片机C语言开发详解, 北京:电子工业出版社,20087 龚运新, 罗惠敏, 彭建军 单片机接口C语言开发技术, 北京:清华大学出版社,20098 兰吉昌 单片机C51完全学习手册,北京:化学工业出版社,20099 谢瑞和 串行技术大全,北京:清华大学出版社,200310 李建华,郭明 RS-232和调制解调器高级通信编程,北京:人民邮电出版社,200111 余永权 计算机接口与通信,广州:华南理工大学出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号