毕业设计模板Word格式文档下载.docx
《毕业设计模板Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《毕业设计模板Word格式文档下载.docx(42页珍藏版)》请在冰豆网上搜索。
1.1.1单片机的选择
AT89C5l是低功耗.高性能且系统内带有8KB可编程Flash存储器的8位CMOS微处理器一种高灵活性.花费有限资源就可产生许多嵌人式控制应用系统的高性能微处理器.因此,本设计采用AT89C51单片机
1.1.2单片机最小系统
首先要将AT89C5l的9脚RST端接一个复位开关.然后接到电源上。
它是复位信号输入端,高电平有效.当单片机运行时在此引脚加上持续时问大于两个机器周期的高电平时就可以完全复位,即按下复位开关即可实现电路复位。
18脚与19脚之间接晶体与片内的反相放大器构成了一个振荡器,为单片机提供了一个时钟控制信号。
为内外程序存储器选择控制端,要想单片机访问内部程序存储器需加高电平。
还有最重要的是单片机40脚和20脚必须分别加电源和地。
保证单片机的正常供电。
1.1.3温度传感器
温度传感器是由美国DAUAS半导体公司生产的单线数字温度传感器芯片DSl8B20,与传统的热敏电阻有所不同,DSl8B20可以直接将采集到的温度信号转化成串行数字信号。
以供单片机处理,大大简化了电路的复杂度和算法的要求。
它还具有微型化、低功耗、高性能、抗干扰能力强、接口方便、传输距离远等优点。
1.2系统背景
温度测量系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,在工业企业中,如何提高温度测量对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。
采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
在工农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。
首先让我们了解一下多点温度检测系统在各个方面的应用领域:
消防电气的非破坏性温度检测,电力、电讯设备过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测。
温度检测系统应用十分广阔,我国的测温技术开始较晚,始于20世纪80年代,我国工程技术人员在吸收发达国家室温测量的基础上,才逐渐掌握了大工业生产中温度的采集与测量。
在技术上,以单片机测温的单参数单回路系统居多,尚无真正意义上的多参数综合测量系统,与发达国家相比存在较大的差距,正好美国DALLDS公司推出了DS18B20数字温度传感器,我们可以借鉴外国的先进技术来发展我们的测温系统,尽可能的做到与世界先进技术同步,逐步缩小与世界发达国家的技术差距,DS18B20的读/写功能仅需一根口线,许多带有单总线接口的温度集成电路DS18B20都挂接在1根I/O口线上,单片机对每个DS18B20通过总线DQ寻址。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
DS18B20提供九位温度读数,构成多点温度检测系统而无需任何外围硬件,所以用这个温度传感器可以很轻松地实现温度的测量,这也是以后的发展方向,简单化、小型化、数字化。
第2章方案论证
2.1主控方案
此方案采用AT89C51八位单片机实现。
单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。
而且体积小,硬件实现简单,安装方便。
既可以单独对多DS18B20控制工作,还可以与PC机通信.运用主从分布式思想。
另外AT89C51在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。
2.2传感器方案
在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。
采用数字温度芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理及控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。
这样,测温系统的结构就比较简单,体积也不大,且由于AT89C51可以带多个DSB1820,因此可以非常容易实现多点测量.轻松的组建传感器网络。
采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。
部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。
而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。
所以集成芯片的使用将成为电路发展的一种趋势。
本方案应用这一温度芯片,也是顺应这一趋势。
第3章硬件电路设计
3.1单线技术
美国达拉斯半导体公司推出了一项特有的单线(1一wire)技术。
该技术与其他总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。
这种单线技术具有线路简单、便于扩展的优点。
单线技术适用于单主机系统,单主机能够控制一个或多个从机设备.它们之间的数据交换、控制都由这根线来完成。
主机和从机之间的通信主要分为三个步骤:
初始化单线器件、识别单线器件和单线数据传输。
由于只有一根线通信,所以它们必须是严格的主从结构。
只有主机呼叫从机时,从机才能应答,主机访问每个单线器件必须严格遵循单线命令序列,如果命令序列混乱,单线器件将不会响应主机。
3.2温度测量电路
这里我们用到温度芯片DS18B20。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚T0-92小体积封装形式。
测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
其工作电源既可在远端引入,也可采用寄生电源方式产生。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度范围为-55°
C~125°
C,在-10~85°
C范围内,精度为±
0.5°
C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
3.2.1DS18B20内部结构
1.DS18B20内部结构如3-1图所示:
图3-1DS18B20内部结构图
2.DS18B20有4个主要的数据部件
(1)64位激光ROM。
64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。
(2)温度灵敏元件。
(3)非易失性温度报警触发器TH和TL。
可通过软件写入用户报警上下限值。
(4)配置寄存器。
配置寄存器为高速暂存存储器中的第五个字节。
DS18B20在工作0时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如表3-1所示。
表3-1DS18B20配置寄存器结构
TM
R1
R0
1
其中,TM:
测试模式标志位,出厂时被写入0,不能改变;
R0、R1:
温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:
R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。
表3-2配置寄存器与分辨率关系表
温度计分辨率/bit
最大转换时间/us
9
93.75
10
187.5
11
375
12
750
(5)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表3-3所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表3-4所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;
当S=1时,先将补码变为原码,再计算十进制值。
表3-3DS18B20存储器映像
温度低位
温度高位
TH
TL
配置
保留
8位CRC
表3-4温度值格式DS18B20温度数据表:
23
22
21
20
2-1
2-2
2-3
2-4
MSB
LSB
S
26
25
24
表3-5典型对应的温度值表:
温度/℃
二进制表示
十六进制表示
+125
+25.0625
+10.125
+0.5
-0.5
-10.125
-25.0625
-55
0000011111010000
0000000110010001
0000000010100010
0000000000001000
0000000000000000
1111111111111000
1111111101011110
1111111001101111
1111110010010000
07D0H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FE6FH
FC90H
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
3.硬件连接电路如图3-2所示:
DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。
另外单总线长度也不宜超过80M,否则也会影响到数据的传输。
在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
图3-2硬件连接电路图
3.2.2用DS18B20时要注意的问题
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以减少调试和维护工作量。
(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;
在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
3.3键盘以及显示电路
3.3.1键盘电路
单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。
键盘有编码和非编码两种,非编码键盘硬件电路极为简单。
故本系统采用拨码开关来控制。
具体电路如图3-3所示:
1.开关状态的可靠输入
键开关状态的可靠输入有两种解决方法。
一种是软件去抖动:
它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响。
另一种为硬件去抖动:
即为按键添加一个锁存器。
两种方法都简单易行,本设计采用的是硬件去抖。
图3-3键盘扫描电路
2.对按键进行编码给定键值或给出键号
对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的散转转移。
为使编码间隔小,散转入口地址安排方便,常采用依次序排列的键号,如表3-6所示:
表3-6按键排列键号
拨码开关值
含义
0000
实时显示通道一的温度值
0001
实时显示通道二的温度值
0010
实时显示通道三的温度值
0011
实时显示通道四的温度值
0100
实时显示通道五的温度值
0101
实时显示通道六的温度值
0110
实时显示通道七的温度值
0111
实时显示通道八的温度值
3.选择键盘监测方法
对是否有键按下的信息输入方式有中断方式与查询方式两种。
本设计采用的查询法,即在在CPU空闲时调用键盘扫描子程序。
3.3.2温度显示电路
设计采用的是共阴极七段数码管。
显示方式有动态扫描和静态显示,两种方法在本设计中都可以使用。
由于静态扫描要用到多片串入并出芯片,价格比较贵。
本人采用是节约硬件资源的动态扫描方式。
即用两块芯片就可以完成显示功能。
显示数据由4511译码器输出,ULN2003为位驱动扫描信号。
具体电路图如图3-4所示:
图3-4温度显示电路
3.4电源以及看门狗电路
3.4.1电源电路
因为单片机工作电源为+5V,且底层电路功耗很小。
采用7805三端稳压片即可满足要求。
具体电路图如下:
图3-5电源电路
3.4.2看门狗电路
考虑到底层电路板的工作环境相对恶劣,单片机会受到周围环境的干扰,而出现程序跑飞,死机等一些不可预知的不正常工作现象。
工作人员也不可能到现场对单片机重起,本设计为单片机电路添加一个外部看门狗电路。
定时查询单片机的工作状态,一但发现异常即对单片机延时重起。
保证系统安全可靠的运行。
NE56604能为多种微处理器和逻辑系统提供复位信号,其门限电平为4.2V。
在电源突然掉电或电源电压下降到低于门限电平时。
NE56604将产生精确的复位信号。
NE56604内置一个看门狗定时器,用于监控微处理器,以确保微处理器的正常运行。
看门狗能产生一个系统复位信号用来终止任何由于微处理器故障而引发的不正常的系统操作。
NE56604的看门狗的监控周期为100mS(典型值)。
3.4.3看门狗电路的特性:
(1)正负双逻辑输出的有效复位信号。
(2)精准的门限电平监测。
(3)上电复位内部延时。
(4)可利用外部电阻调节的内部看门狗定时器。
(5)看门狗定时器的监控周期为100mS典型值。
(6)VCC=0.8VDC时产生有效的复位信号典型值。
(7)仅需很少的外围元件。
具体电路图如图3-6所示:
图3-6看门狗电路
3.5串口通讯电路
AT89C51有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换。
具体电路如图3-7所示:
我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:
第5脚的GND、第2脚的RXD、第3脚的TXD。
这是最简单的连接方法,但是对本设计来说已经足够使用了,电路如上图所示。
通信线采用交叉接法,即两者信号线对应成为R—T,T—R。
图3-7串口通讯电路
具体连接电路如图3-8所示:
图3-8串口电路通信线接法
3.6电路原理图
单片机最小系统的原理图如图3-9所示:
图3-9电路原理图
第4章软件设计
4.1设计概述
整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。
从软件的功能不同可分为两大类:
一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。
二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。
每一个执行软件也就是一个小的功能执行模块。
这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。
各执行模块规划好后,就可以规划监控程序了。
首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。
4.2主程序方案
主程序的流程图如图4-1所示,主程序调用了4个子程序,分别是数码管显示程序、键盘扫描以及按键处理程序、温度测试程序、中断控制程序、单片机与PC机串口通讯程序。
键盘扫描电路及按键处理程序:
实现键盘的输入按键的识别及相关处理。
温度测试程序:
对温度芯片送过来的数据进行处理,进行判断和显示。
数码管显示程序:
向数码的显示送数,控制系统的显示部分。
中断控制程序:
实现循环显示功能。
串口通讯程序:
实现PC机与单片机通讯,将温度数据传送给PC机
图4-1主流程图
将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。
程序应该尽可能多的使用调用指令代替跳转指令。
因为跳转指令使得程序难以看懂各程序段之间的结构关系。
而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。
将功能程序段写成子程序的形式,除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。
4.3各模块子程序设计方案
下面对主要几个子程序的流程图做介绍:
4.3.1温度测试子程序设计
见附录:
DS18B20测温程序
图4-2DS18B20测温流程图
4.3.2键盘扫描流程图
键盘扫描程序
图4-3键盘扫描流程图
4.3.3串口通讯程序设计
本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232的RTS信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。
串口通讯单片机发送和接受子程序
软件流程图如图4-4所示:
图4-4单片机查询发送流程图
图4-5单片机接收中断流程图
结 论
本次设计是为了准确的测量、传输、显示温度。
整个系统硬件简单、可靠,系统成本低。
如果大批量生产的话,成本也不会太高。
对于本系统的使用者来说,本系统能够很准确的测量和显示温度而且稳定性很高。
只要配上适当的温度传感器,这个系统便还可以实现很多领域的温度自动控制。
本设计是以AT89S51为核心,利用软硬件相结合的自动控制的典型例子。
在单片机自动控制已经广泛的应用于人们的生产和生活的今天,传统用模拟电路来控制温度的做法,已经逐渐被淘汰。
这个系统的实现,改变了传统的温度控制方法,为温度的控制开辟了一条