计算机硬件毕业论文.docx
《计算机硬件毕业论文.docx》由会员分享,可在线阅读,更多相关《计算机硬件毕业论文.docx(11页珍藏版)》请在冰豆网上搜索。
![计算机硬件毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-4/3/d6d8156f-b496-4b1e-b95a-d727ce3736c1/d6d8156f-b496-4b1e-b95a-d727ce3736c11.gif)
计算机硬件毕业论文
本科生毕业设计(论文)开题报告
毕业设计题目:
单片机温度检测系统及TCP/IP协议栈的应用研究
学 院:
信息科学与工程学院
专业班级:
学生姓名:
指导教师:
一课题研发背景及意义
1.1温度监测系统设计的背景及意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。
针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度控制的要求都越来越高。
可见,温度的测量和控制是非常重要的。
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。
1.2MCS-51单片机的特点
集成度高。
MCS-51单片机的典型代表产品为8031[2],8031芯片内部包含了128个字节的RAM,4个8位并行I/O口,1个全双工的串行口,2个16位的定时器/计数器以及一个处理功能很强的中央处理器MCS-51单片机的另一代表产品为8751,它在8031单片机的基础上,增加了4K字节的EPROM。
在许多不复杂的应用场合,只用一片8751即可满足要求。
系统结构简单。
MCS-51芯片内部采用模块式结构,增加或更换一个模块,就能得到指令系统和引脚兼容的新产品.例如MCS-52系列单片机,其结构是增加了128个字节的RAM和一个16位定时器/计数器。
系统扩展方便。
MCS-51[3]具有外扩至64K字节程序存储器和64K字节的外部RAM和I/O口的能力。
当MCS--51芯片内部RAM和芯片本身的I/O口线不够用时,即可进行系统的扩展。
许多公司生产的I/O接口芯片和各大公司生产的通用存储器芯片都可以直接与MCS-51相连接.从而很方便地扩展系统功能。
处理功能强、速度高。
MCS-5l单片机指令系统中有加、减、乘、除及各种逻辑运算和转移指令,还具有位操作功能,这在检测、控制中特别有用。
CPU时钟频率高达12MHz,指令系统中近50%的指令为单字节指令,指令执行速度快。
完成单字节乘法和单字节除法仅需4μs(时钟频率为12MHz)。
1.3远程检测ZLIP协议输入输出流程简介
和其他的多数TCP/IP协议一样,ZLIP采用了协议的分层结构。
分为应用层,TCP层‘IP层和网络设备接口层。
图1描述了ZLIP输入和输出数据包的流程以及需要调用的函数。
输出时,TCP层先查看UNSEND队列,发现非空,将数据包插入队列;发现为空,则查看对方窗口是否够大能够接受这个数据包,然后填写TCP头部信息。
IP层需要选择一个网络设备接口,选择的方法是:
目的IP和该接口的子网掩码相与是否等于子网掩码。
然后调用这个几口的OUTPUT函数来发送。
Zlip提供了NetIfadd()函数,可以动态的添加网络设备接口。
输入时,Timer()函数调用每个接口的Input函数。
IP层判断IP版本,IP校验和,判断是否应该转发数据包,然后根据IP头部的protocol字段将包传给相应的高层处理。
TCP层,需要判断TCP校验和,然后在现有的套接字中查找,判断是否有套接字可以接受这个数据包,判断TCP序号是北欧为希望的然后更新这个连接的状态,然后调用该套接字的回调函数recv。
需要强调一下,如果接受的TCP的序号不在我方滑动窗口内,那么应该马上发送一个TCP应答包,因为这可能是我方发送的应答包丢失了,我方接收的数据包是对方重发的TCP包。
二、需求分析
本设计的内容是温度远程监测系统,然后通过特定的TCP/IP协议对温度进行远程监测,。
温度监测在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度监测。
而以往温度监测是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。
针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,小巧美观,便于携带,是一款既实用又廉价的控制系统。
设计基于51单片机的温度检测系统,用于检测温度。
具体要求如下:
1测温范围-55℃~+125℃。
2温度误差≤0.5℃。
3
3在远端PC机上显示实时温度。
三系统设计
在本系统的电路设计方框图如图1.1所示。
它由三部分组成,①控制部分主芯片采用单片机AT89S51;②显示部分采用3位LED数码管以动态扫描方式实现温度显示;③温度采集部分采用DS18B20温度传感器。
图3-1系统结构图
1.控制部分
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统应用三节电池供电。
2.显示部分
显示电路采用3位共阳LED数码管,从P0口送数,P2口扫描。
3.温度采集部分
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。
这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。
数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P1.0口,单片机接受温度并存储。
此部分只用到DS18B20和单片机,硬件很简单
四DS18B20温度传感器
1DS18B20的性能特点如下[9]:
1)独特的单线接口仅需要一个端口引脚进行通信;
2)多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
3)无须外部器件;
4)可通过数据线供电,电压范围为3.0~5.5V;
5)零待机功耗;
6)温度以3位数字显示;
7)用户可定义报警设置;
8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2DS18B20的内部结构
DS18B20采用3脚PR-35封装,如图1.2所示;DS18B20的内部结构,如图
图2-2DS18B20封装
3DS18B20内部结构主要由四部分组成[5]:
1)64位光刻ROM。
开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因[10]。
64位闪速ROM的结构如下.
表2-1ROM结构
8b检验CRC
48b序列号
8b工厂代码(10H)
MSB LSB MSB LSBMSB LSB
图2-3DS18B20内部结构
2)非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。
3)高速暂存存储,可以设置DS18B20温度转换的精度。
DS18B20温度传感-器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAM。
高速暂存RAM的结构为8字节的存储器,结构如图1.3所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
它的内部存储器结构和字节定义如图1.3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式。
表2-2DS18B20内部存储器结构
Byte0
温度测量值LSB(50H)
Byte1
温度测量值MSB(50H)
E2PROM
Byte2
TH高温寄存器
----
TH高温寄存器
Byte3
TL低温寄存器
----
TL低温寄存器
Byte4
配位寄存器
----
配位寄存器
Byte5
预留(FFH)
Byte6
预留(0CH)
Byte7
预留(IOH)
Byte8
循环冗余码校验(CRC)
2)非挥发的温度报警触发器TH和TL,可通过软件写入用户报警上下限值。
3)高速暂存存储,可以设置DS18B20温度转换的精度。
DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如图1.4。
图2-3DS18B20字节定义
TM
R1
R0
1
1
1
1
1
由表1.1可见,分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表1.2是一部分温度值对应的二进制温度数据[6]。
表2-4DS18B20温度转换时间表
R1
R0
分辨率/位
温度最大转向时间/ms
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
表2-5 一部分温度对应值表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010000
0191H
+10.125
0000000010100001
00A2H
+0.5
0000000000000010
0008H
0
0000000000001000
0000H
-0.5
1111111111110000
FFF8H
续表2-5
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
4)CRC的产生
在64bROM的最高有效字节中存储有循环冗余校验码(CRC)。
主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作按协议进行。
操作协议为:
初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据
五系统硬件电路设计设计
(1)主板电路
图5-1主板电路图
(2)显示电路
显示电路采用了7段共阴数码管扫描电路,节约了单片机的输出端口,便于程序的编写。
图5-2显示电路图
(3)单片机电路
图5-3单片机电路引脚图
(4)DS18B20温度传感器电路
图5-4温度传感器电路引脚图
(5)晶振控制电路
图5-5晶振控制电路图
(6)复位电路
图5-6复位电路图
六TCP/IP协议栈初探
单片机TCP/IP就是在单片机上运行的TCP/IP协议栈。
由于嵌入式联网设备越来越多,需要在嵌入式设备上实现TCP/IP协议栈,但是嵌入式设备不同于PC机,它们一般采用MCU也就是单片机而不是CPU作为核心处理器。
这就需要在单片机上实现TCP/IP协议栈。
对于高端的32位单片机,由于其性能已经接近于低端PC机CPU(例如奔腾II系列),所以和在PC上实现TCP/IP协议栈没有多大区别;这里主要讲述低端8位(例如51单片机)、16位单片机TCP/IP协议栈。
参考文献:
[1]张义和,王敏男.例说51单片机(C语言版)[M].北京:
人民邮电出版社,2008.
[2]李群芳,张士军.单片微型计算机与接口技术[M].北京:
电子工业出版社,2008.
[3]徐爱钧,彭秀华.KeilC51V7.0单片机高级语言编程[M].北京:
电子工业出版社,2008.
[4]戴梅萼,史嘉权.微型计算机技术及应用(第4版)[M].北京:
清华大学出版社,2009
指导教师评语
指导教师签名:
年 月 日