[工学]温度控制器毕业设计.doc

上传人:音乐台 文档编号:1977688 上传时间:2019-01-27 格式:DOC 页数:52 大小:3.08MB
返回 下载 相关 举报
[工学]温度控制器毕业设计.doc_第1页
第1页 / 共52页
[工学]温度控制器毕业设计.doc_第2页
第2页 / 共52页
[工学]温度控制器毕业设计.doc_第3页
第3页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[工学]温度控制器毕业设计.doc》由会员分享,可在线阅读,更多相关《[工学]温度控制器毕业设计.doc(52页珍藏版)》请在三一文库上搜索。

1、本科毕业设计论文本科毕业设计论文 题目:题目: 基于单片机多路温度巡回基于单片机多路温度巡回 检测仪设计检测仪设计 完完 成时间:成时间: 2012 年年 6 月月 10 日日 Sout hwest Petroleum University 学生姓名学生姓名 xxxx 学学 号号 xxxx 教学院系教学院系电气信息学院电气信息学院 专业年级专业年级自动化自动化 2008 级级 指导教师指导教师 xxxxx 单单 位位 xxxxxxxxxxxxxx II Graduation Thesis Designed based on single-chip multi-channel Temperatu

2、re Data Loggers Grade: 2008 Name: Liu Weijian Speciality: Automation Instructor: Zhang Peizhi School of Electronics and Information Engineering June 10, 2012 摘要摘要 随着计算机技术和传感器的发展,在生产和日常活动中,人们对温度模拟物 理量的测量要求越来越高。工业、农业自动化水平也迅速提高,单片机的应用也 III 越来越广泛,作用也越来越来显著。温度检测系统在人们的生产生活中的应用十 分广泛。本课题温度检测实际应用为出发点,结合单片机微处

3、理器技术,提出了 基于单片机的多路温度巡回检测仪设计。 本次毕业设计内容就是配合系统检测精度要求,选用相关控制微处理器;检 测装置硬件的结构及连接;检测程序的编制;完成成品调试和演示。首先分析和 制定了检测系统的整体设计思想和方案,确保了该检测系统具备真正的自动化检 测能力且结构简单。其次利用 AT89C51 单片机对多个检测点进行巡回检测,选用 精度高,工作稳定的数字传感器 DS18B20 进行温度采集。并用 MAX7219 驱动 LED 显示所测温度及上下限。 对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示, 并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有

4、精度高、灵 敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度 测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。 关键词关键词:温度检测 ;AT89C51;MAX7219 ;DS18B20 Abstract With the development of computer technology and sensors, in production and daily IV activities, people increasingly high temperature analog physical quantity measurement requi

5、rements. Industry, agriculture level of automation, rapid increase in microcontroller applications are increasingly being used, the role become more and more significant. Temperature detection system is widely used in the production life of the people. Practical application of the temperature detect

6、ion of this topic as a starting point, combined with the single-chip microprocessor technology, the design of microcontroller-based multi-channel Temperature Data Loggers. The graduation project content with the system measurement accuracy requirements, selection of the relevant control microprocess

7、or; structure and connection of the detection device hardware; the preparation of the testing procedures; to complete the finished debugging and demonstration. First of all analysis and development of ideas and programs of the overall design of the detection system to ensure that the detection syste

8、m with truly automated testing capability and simple structure. Followed by using AT89C51 microcontroller circuit testing, multiple test points selection of high accuracy, stable digital sensor DS18B20 temperature acquisition. And MAX7219 drive LED shows the measured temperature and the upper and lo

9、wer limits. Various parts of the circuit one by one, the system can facilitate the realization of the temperature acquisition and display, and can be arbitrarily set the upper and lower limit alarm temperature, it is very convenient to use, with high precision, high sensitivity, small sizesuitable f

10、or low power consumption advantages in our daily life and work, the temperature measurement in the agricultural production, can also be used as the temperature processing module is embedded in other systems, and other auxiliary expansion. Key words: temperature detection; AT89C51; MAX7219; DS18B20 目

11、录目录 1 1 绪论绪论1 V 1.11.1 设计概述设计概述 1 1.21.2 温度检测系统设计意义温度检测系统设计意义 1 2 多路温度巡回检测仪设计内容多路温度巡回检测仪设计内容 2 2.12.1 任务要求任务要求 2 2.22.2 系统设计应用要求系统设计应用要求 2 2.32.3 设计流程设计流程 2 3 设计方案设计方案3 3.1 方案对比方案对比 .3 3.1.1 温度传感器选择方案温度传感器选择方案.3 3.1.23.1.2 单片机选择方案单片机选择方案3 3.1.33.1.3 显示电路的选择方案显示电路的选择方案3 3.23.2 总体方案总体方案 4 4 4 系统设计系统设计

12、4 4.14.1 硬件设计硬件设计 4 4.1.14.1.1 温度传感器设计温度传感器设计4 (1 1)DS18B20DS18B20 介绍介绍4 4.1.24.1.2 单片机最小系统单片机最小系统8 4.1.3 显示电路设计显示电路设计.10 4.1.4 按键电路按键电路.13 4.1.5 报警电路报警电路14 4.2 软件设计软件设计 15 4.2.1 主程序主程序15 4.2.4MAX7219 显示子程序显示子程序.17 4.2.5 按键按键程序程序18 4.3 程序编写程序编写 .19 4.4 硬件仿真硬件仿真 .19 5 5 系统调试系统调试.19 5.15.1 最小系统调试最小系统调

13、试 20 5.25.2 显示电路调试显示电路调试 20 5.35.3 测量电路调试测量电路调试 21 5.45.4 其他电路调试其他电路调试 21 6 6 小结小结 21 VI 致致 谢谢 23 参考文献参考文献 24 附录一:电路原理图附录一:电路原理图 25 附录二:总程序附录二:总程序26 基于单片机多路温度巡回检测仪设计 1 1 1 绪论绪论 1.11.1 设计概述设计概述 随着社会的不断发展,各种电子产品的不断更新换代,使得电子产品智能化 的要求越来越高.单片机就是在一块半导体硅片上集成了微处理器(CPU) ,存储 器(RAM,ROM,EPROM)和各种输入,输出接口,这样一块集成电

14、路芯片具 有一台计算机的属性,被称为单片微型计算机。单片机微型计算机因其体积小、 价格低、性能灵活、开发方便的独特优势,在机电一体化产品的开发和控制中得 到了最广泛的应有,而且越来越向纵深发展。从简单的机电一体化产品深入到数 控系统、柔性化、智能化系统以及机器人系统等。而基于单片机的温度检测系统 不断被开发革新,为一些系统的温度检测提供良好的技术支持,更快速方便的为 生产提供及时准确的温度数据。 通过本选题的研究,可以掌握单片机改造的基础知识和步骤,对单片机的应 用也有了最基本的了解。单片机的应用,打破了人们的传统设计思想,原来很多 用模拟电路,脉冲数字电路,逻辑部件来实现的功能,现在无需增加

15、硬件设备, 可以通过软件来完成。正由于这样,单片机已成为科技领域的有力工具,人类生 活的得力助手。 1.21.2 温度检测系统设计意义温度检测系统设计意义 温室大棚是为了使植物在任何时期都能正常生长,因此,温度的大小是很重 要的。温室大棚中温度变化范围一般为 0c60c,精度要求为0.5c。粮食 储存在粮仓中,粮食储存时间有长有短,为了保证粮食不致腐烂变质,就必须保 证粮仓温度在一定范围内。粮仓内温度范围一般为:0c30c,精度为: 5c。本次设计的温度巡回检测仪可用于粮库和温室大棚中,可对多个粮仓或 温室大棚进行多点监测,从而节省人力物力,并且可在同一界面检测温度和设置 参数。这样可以提升工

16、作效率,而且又能精确得知温度变化,可以及时准确地控 制温度达到预期要求,对作物生长和粮食储藏非常有利,从而达到农作物高生产 粮食高质量。 西南石油大学本科生毕业设计(论文) 2 2 多路温度巡回检测仪设计内容多路温度巡回检测仪设计内容 2.12.1 任务要求任务要求 该课题为设计一个八路温度检测点巡回检测,各个检测点按固定时间巡回检 测,并且要有超限报警。其设计要求: 1、精度误差小于0.5; 2、用LED数码管显示监测数据; 3、用LED数码管显示报警值及巡回时间; 4、具有可以任意设定温度的上下限和巡回时间功能。 2.22.2 系统设计应用要求系统设计应用要求 本次设计主要应用于农业、工业

17、等需要多点测温场合,如:温室大棚的温度 测量与控制、粮仓温度测量、流水线温度检测等。测量上下限要能够包含测量点 的最高和最低温度,并留有一定的裕值。多点测量,但是要具有简捷操作和简化 显示,可以让检测员快速方便的操作,记录。报警功能要简单快速,要能及时通 知管理员温度出现异常。巡回时间能随意设置,这样可以根据季节的变化或环境 温度的变化率决定巡回时间。使得检测更加及时准确。 2.32.3 设计流程设计流程 首先对设计整体构思,设计整体方案。在根据构思查阅相关资料文献,从而 选出符合要求的元件。然后根据所选元件构建整体电路图,并考察其合理性。并 且细致分析选择参数合理且精确度高的配件。再者,根据

18、构建的电路图和元器件 的工作原理编写程序,并利用软件仿真模拟,看是否能够运行。最后按照电路图 焊接硬件电路,下载程序并调试,根据调试出现的问题在调整电路。整个过程流 程图如下: 图图 2.12.1 设计流程设计流程 基于单片机多路温度巡回检测仪设计 3 3 设计方案设计方案 3.1 方案对比方案对比 3.1.1 温度传感器选择方案温度传感器选择方案 方案一: 本设计为温度测量电路,可以采用热敏电阻之类的模拟传感器,将随被测温 度变化的电压或电流采集,然后进行A/D 转换,再送入单片机进行数据的处理, 单片机将输出信号送入显示电路,就可以显示被测温度,此设计需要用到A/D 转 换电路,其中还涉及

19、到电阻与温度的对应值的计算。而且在对采集的信号进行放 大时容易受温度及周围电磁的影响,从而产生较大误差。 方案二: 模拟量温度传感器容易受环境影响,所以可以采用数字温度传感器,此类感 器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都 易于实现,而且节省使用单片机的接口便于系统的再扩展。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可 靠性高,软件设计也比较简单,故采用了方案二。 3.1.23.1.2单片机选择方案单片机选择方案 方案一: 凌阳单片机顺应了单片机技术的发展趋势,其系统芯片具有集成度高、数/模 混合、功能全、低功耗、低电压和易于开发等特点,

20、但其可靠性较差,温度过高 时会影响测量结果,且价格较高不易于毕业设计。 方案二: 51系列单片机由于其具有的集成度高、处理功能强、可靠性高、系统结构简 单、价格低廉等优点,应用资料众多,在实际应用中得到广泛的采用,比较实用 于民用产品的开发。 从以上两种方案,很容易看出,采用方案二,费用较低,可靠性高,故采用 了方案二。 3.1.33.1.3显示电路的选择方案显示电路的选择方案 本次设计用到七个数码管,并要同时显示,由于单片机的端口有限,所以要 采用动态显示。故此要用到译码驱动器完成动态显示。 方案一: 西南石油大学本科生毕业设计(论文) 4 采用138译码器完成动态显示,138译码器的输入连

21、接到单片机三个引脚,LED 的位选引脚连接138输出,但LED的端选引脚依然要连接单片机端口,占有单片机的 一个端口。并没有节省端口。并且还要进行软件译码,使得程序复杂繁多。 方案二: 采用MAX7219驱动器,单片机只需用三根引脚连接7219的串行引脚,连接方 便,简化电路。7219本身可以进行BCD译码,我们只需把测量数据直接送入即可, 使得程序简捷。 从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比 较简单,故采用了方案二。 3.23.2总体方案总体方案 由方案对比得更加合理设计方案,因此,在此基础上对系统进行整体设计。 首先,温度采集模块利用温度传感器采集现场温度,然

22、后送入控制处理模块进行 处理。控制处理模块的单片机将得到的采集信号送进行处理,进行数据的转换得 到要输出的信号。单片机将输出信号送入显示电路和报警电路,从而显示测量结 果。该温度巡回检测系统由控制模块、显示模块、温度采集模块组成。测温范围 0C100C。整体设计框图如下: 八路数字温度 传感器 单 片 机 处 理 器 参数调整按键 LED 显示电路 报警电路 图图 3.13.1 总体设计框图总体设计框图 4 4 系统设计系统设计 4.14.1 硬件硬件设计设计 4.1.14.1.1 温度传感器温度传感器设计设计 (1 1)DS18B20DS18B20 介绍介绍 基于单片机多路温度巡回检测仪设计

23、 5 本设计选用数字传感器,选用常见的DS18B20温度传感器。DS18B20 温度传 感器是美国DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统 的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过 简单的编程实现912位的数字值读数方式。其实物图如下: 图图4.14.1 DS18B20DS18B20 DS18B20 的性能特点如下: 1、独特的单线接口仅需要一个端口引脚进行通信; 2、多个DS18B20 可以并联在惟一的三线上,实现多点组网功能 3、无须外部器件; 4、可通过数据线供电,电压范围为3.05.5; 5、零待机功耗; 6、温度以9或12位数字

24、; 7、用户可定义报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工 作; 10、精度 5C。 (2)DS18B20 工作原理工作原理 DS18B20 的读写时序和测温原理与 DS1820 相同,只是得到的温度值的位 数因分辨率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 DS18B20 测温原理如图 4.2 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于 产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明 显改变,所产生的信号作为计数器 2 的脉冲

25、输入。计数器 1 和温度寄存器被预置 在55所对应的一个基数值。计数器 1 对低温度系数晶振产生的脉冲信号进行 西南石油大学本科生毕业设计(论文) 6 减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的 预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计 数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄 存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非 线性,其输出用于修正计数器 1 的预置值。DS18B20 输出的二进制的高字节的低 半字节和低字节的高半字节组成一个字节,这个字节转换

26、位十进制为所测温度值 的百、十、个位,低字节的低半字节为小数部分。 图图 4.24.2 DS18B20DS18B20 测温原理框图测温原理框图 表表 3.1DS18B20 温度与测得值对应表温度与测得值对应表 温度/二进制值十六进制值 +12500000111 1101000007D0H +8500000101 010100000550H +25.062500000001 100100010191H +10.12500000000 1010001000A2H +0.500000000 000010000008H 000000000 000000000000H -0.511111111 1111

27、1000FFF8H (3)DS18B20 的供电方式的供电方式 DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。另一种是寄生电源供电 方式,单片机端口接单线总线,为保证在有效的 DS18B20 时钟周期内提供足够 的电流,可用一个 MOSFET 管来完成对总线的上拉。当 DS18B20 处于写存储器 操作和温度 A/D 转换操作时,总线上必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。由于单线制只有一根线,因此发 送接口必须是三态的。 基于单片机多路温度巡回检测仪设计 7

28、(4)DS18B20 工作时序工作时序 图图 4.3 DS18B20 初始化初始化 图图 4.4 DS18B20 写时序写时序 西南石油大学本科生毕业设计(论文) 8 图图 4.5 DS18B20 读时序读时序 (5)测量电路设计)测量电路设计 本次设计设计了八路温度采集点,共有八个 DS18B20,选择了单片机的 P1 口为采集量输入端,P0.1P0.7 分别为 18 号测量点。DS18B20 的 VDD 接高电 平,GND 接地,DQ 接单片机的 P1 口。如下图: 图图 4.6DS18B20 连接图连接图 4.1.24.1.2 单片机单片机最小系统最小系统 (1 1)5151单片机简介单

29、片机简介 本次设计选用C51系列的单片机,选择目前市场上性价比较高的单片机 基于单片机多路温度巡回检测仪设计 9 AT89C51作为该系统的控制核心。AT89C51提供以下标准功能: 4k 字节 Flash 闪速存储器, 128字节内部RAM,32 个I/O 口线,两个 16位定时/ 计数器,一个 5向量两级中断结构,一个全双工串行通信口,片内振荡器 及时钟电路。同时, AT89C51可降至0Hz的静态逻辑操作,并支持两种软 件可选的节电工作模式。空闲方式停止 CPU的工作,但允许 RAM,定时/ 计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容, 但振荡器停止工作并禁止其它所

30、有部件工作直到下一个硬件复位。 图图 4.7 AT89C51 引脚图引脚图 (2)单片机最小系统)单片机最小系统 AT89C51 的最小系统中,复位电路采用按键复位,SB1 按下单片机复位。其 连接如下: 图图4.8 复位电路复位电路 最小系统中晶振电路的晶振采用12MHz,两个电容均为22PF。连接如下: 西南石油大学本科生毕业设计(论文) 10 图图4.9 晶振电路晶振电路 4.1.3 显示电路显示电路设计设计 我们采用七段数码管作为显示工具,它分为静态和动态显示。静态驱动是指 每个数码管的每一个段码都由一个高,缺点是占用I/O端口多。动态显示驱动是 将所有数码管通过分时轮流控制各个数码管

31、的的COM端,就使各个数码管轮流受 控显示。为了电路简化,软件设计方便,我们选用LED驱动芯片MAX7219驱动 显示,所以选择共阴极LED数码管。 (1)MAX7219的简介的简介 MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器 与八位数字的七段数字LED显示,也可以连接条线图显示器或64个独立的LED。其 上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个 8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段 电流。整个设备包含一个150uA的低功耗关闭模式,模拟和数字亮度控制,一个 扫描限制寄存器允许用户显示18

32、位数据,还有一个让所有LED发光的检测模式。 图图4.104.10 LEDLED和和MAX7219MAX7219引脚图引脚图 MAX7219功能特点 基于单片机多路温度巡回检测仪设计 11 10MHz连续串行口 独立的LED段控制 数字的译码和非译码选择 150uA的低功耗关闭模式 亮度的数字和模拟控制 高电压中断显示 共阴极Led显示驱动 (2 2)MAX7219MAX7219的工作原理的工作原理 MAX7219采用24脚双列直插式封装,其引脚排列如图4.10所示,SEGASEGG 和SEGDp为LED 7段驱动线和小数点线,供给显示器源电流;DIG0DIG7为8位数 字驱动线,输出位选信号

33、,从每位LED共阴极吸人电流。MAX7219能够接受的数据 和命令格式为16位数据包(格式如下表),DIN 是串行数据输人端,由l6位数据 包发送到DIN端的串行数据在每个CLK的上升沿被移入到内部l6位移位寄存器中; LOAD用来装载数据,在LOAD的上升沿,l6位数据被锁存到数据或控制寄存器中, LOAD必须在第l6个时钟上升沿的同时或之后,在下一个时钟上升沿之前变高,否 则数据会丢失。 表表4.24.2串行数据格式串行数据格式 D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0 XXXX 地址MSB 数据 LSB 图图4.114.11 时序图时序图 MAX721

34、9的l6位串行数据包标记为D15Do,其中D15 D12位未定义,DllD8 位寻址内部8个静态RAM和6个功能寄存器的地址,D7Do位存放功能寄存器的数 西南石油大学本科生毕业设计(论文) 12 据和LED数码管待显示的数据。编程时,程序先送控制命令字,后向数据寄存器 送显示数据。 MAX7219的所有功能与多样化操作模式都是通过内部寄存器的设定来实现的, 其内部l4个可寻址寄存器的功能及地址如表所示。 表表4.34.3寄存器功能表寄存器功能表 功能D15-D12 D11D10D9D8 十六进制编 码 空操作 X0000X0 Dig0X0001X1 Dig1X0010X2 Dig2X0011

35、X3 Dig3X0100X4 Dig4X0101X5 Dig5X0110X6 Dig6X0111X7 Dig7X1000X8 译码模式 X1001X9 显示亮度 X1010XA 扫描界限 X1010XB 停机 X1100XC 待测模式 X1111XF (3 3)各内部寄存器含义如下:)各内部寄存器含义如下: 1)空操作寄存器(地址xOH)。用于多片MAX7219级联,在不改变显示或不影响 任意功能寄存器的条件下,它允许数据从DIN传送到DOUT。 2)译码模式寄存器(地址x9H)。该寄存器的8位二进制数的各位分别控制8个 LED显示器的译码模式。当高电平时,选择硬件译码模式(BCDB码译码),

36、当低 电平时选择软件译码模式(即送来数据为字型码)。 3)显示亮度寄存器(地址xAH)显示亮度可以用硬件和软件2种方法调节通 基于单片机多路温度巡回检测仪设计 13 过对亮度寄存器中D3 Do位写入不同的数值可实现对LED显示亮度的控制,从xOH 到xFH共l6级可调。 4)扫描界限寄存器(地址xBH)。用于设置LED显示器的实际扫描个数,由该寄 存器的D2Do位设定,当设定值为000BlllB时,表示显示器动态扫描个数为 l8。 5)停机寄存器(地址xCH)。当DO=0时,MAX7219处于停机状态,所有显示器消 隐,寄存器数据保持不变;当DO=l时,处于正常工作状态6)显示测试寄存器 (地

37、址 )。当DO=0时,正常工作;当DO=l时,处于测试状态,在该状态下,不管 MAX7219处于什么模式,全部LED将按最大亮度显示。 7)内部RAM地址xlHx8H分别对应于DIG0DIG7。 (4)7219电路设计电路设计 显示单元利用MAX7219驱动7个共阴极LED,MAX7219的三根串行线连接单 片机的P2.0P2.1P2.2端口,并且三根连线上分别接有20PF电容,起到滤波作用, 使串行信号更加准确。IEST连接47K电阻。显示内容为测量温度值、测量通道、 循环时间、报警限值。 图图4.12 显示电路显示电路 4.1.4 按键电路按键电路 电路设计图: 西南石油大学本科生毕业设计

38、(论文) 14 图图4.13 按键电路按键电路 按键部分的功能为:按下STOP后测量停止在当前的通道,并且测量值保留 显示。按下RETURN后继续检测。按下SET键后,可以设置参数,设置方法如下: 按下TIADD键增加循环时间,按下TIMDEC键减小循环时间,按下LOW键是显示 底限报警值,按下HIGH键是显示高限报警值,按下BJADD键是增加当前显示报 警值,按下BJDEC键是减小当前显示报警值。 4.1.5报警电路报警电路 报警电路作用是当测量温度超出上限或低于下限时,发出报警信号。通过 9011三极管的通断控制蜂鸣器,当P2.7输出报警信号时为高电平,三极管导通, 蜂鸣器发出报警声。如图

39、: 图图4.14 报警电路报警电路 最终将各个部分电路有机的连接在一起,完成整体电路设计,整体电路见附 录一。为方便管理员检测和操作,设计了监控操作界面,各个按键的作用在按键 电路部分已经说明,如下图: 基于单片机多路温度巡回检测仪设计 15 图图4.5 界面界面 表表4.4 元件清单元件清单 元件型号数量 单片机AT89C511 传感器DS18B208 驱动器MAX72191 显示器LED7 三极管90111 蜂鸣器1 晶振12MHz1 47K1 10K1电阻 1K9 瓷电容22PF5电容 电解电容10uF1 4.2 软件设计软件设计 4.2.1主程序主程序 主程序的功能为读取DS18B20

40、的测量值、测量值转换为显示值、显示测量结 果、由按键对数据调整。根据系统的工作原理,编写其工作程序,其流程图: 西南石油大学本科生毕业设计(论文) 16 图图4.15 主程序流程图主程序流程图 4.2.2 DS18B20测温度子程序测温度子程序 根据DS18B20的工作原理,及其时序图编写DS18B20的工作程序,程序功能 为:对DS18B20初始化、发送数据转换命令、读取温度,其流程图: 基于单片机多路温度巡回检测仪设计 17 图图4.16 DS18B20测温度子程序测温度子程序 4.2.34.2.3数据转换数据转换 由于DS18B20的测量数据为正数和小数的组合形式,所以要先将小数和正数

41、拆开,中间八位为正数部分,后四位是小数部分,按后将得到的小数和正数进行 十进制转换,得到显示的数据,如果为负数还要进行求补。流程图: 图图1.17 数据转换数据转换 4.2.4MAX7219显示子程序显示子程序 根据MAX7219的工作原理及时序图,编写显示子程序,其功能为:初始化 西南石油大学本科生毕业设计(论文) 18 MAX7219、寻找对应寄存器、送入显示数据、启动显示。其流程图如下: 图图4.18 MAX7219显示子程序显示子程序 4.2.5按键按键程序程序 按键程序功能:通过外部按键作用,单片机根据程序作出相应的处理,改变 各项参数。 图图4.19 按键流程图按键流程图 基于单片

42、机多路温度巡回检测仪设计 19 4.3程序编写程序编写 本次设计的程序编写利用Keil软件编写,Keil是一套Windows环境下,8051 单芯片整合性开发i接口软件,它具备完善的项目管理系统,提供编辑器以写程序 及说明文件,可以协助编写、翻译(包括C语言的编译器 C51 Complier 以及 A51 组译器) 、除错和测试嵌入式系统程序(embedded programs) 。开发操作步 骤: 1 新建项目;在Project中选择New Project。 2 在项目中加入程序文件;首先新建一个.C文件,保存后添加在项目中,这 样便可对新工程进行编程。 3 编辑/修改程序; 4 编译与连接

43、;若有错误会显示Error(s) ,arning(s) 。 系统程序见附录二。 4.4硬件仿真硬件仿真 整个电路包括控制单元、测量单元、显示电源、报警电路、按键部分。其整 体仿真连接如下图: 图图4.20 整体连接图整体连接图 程序编写完且仿真成功,进行硬件的焊接,焊接时注意虚焊、连接短路、焊 锡过多、电路板或元件由于过热损坏等问题。所以要认真仔细焊接。 5 5 系统调试系统调试 西南石油大学本科生毕业设计(论文) 20 最终硬件电路板焊接完毕,进行硬件调试,整个电路分为最小系统、显示 电路、测量电路、按键电路、报警电路,对这些电路分步按以上顺序调试进行调 试。调试过程中需要用到万用表、直流电

44、源、数字示波器等 5.15.1最小系统调试最小系统调试 先检查最小系统的晶振是否起振,方法:用万用表测量晶振两端的电压是 否为2.5V(电源电压位5V),因为晶振起振后,其占空比为50%,所以两端电压 为2.5V。或者用示波器检查其波形,看其频率是否为12MHz。若符合以上两者之 一,说明晶振电路正常能工作。 第二看单片机是否能正常工作,方法:编写一段小程序烧入单片机,如: #include sbit Q=P10; void delayms(unsigned int ms) unsigned int i,j; for(i=0;i #include #define uchar unsigned

45、char #define uint unsigned int /*定义引脚*/ sbit g0=P01; sbit set=P07; sbit BADD=P06; sbit BDEC=P04; sbit g1=P02; sbit LD=P21; sbit LCK=P20; sbit DIN=P22; sbit BJ=P27; sbit H=P05; sbit L=P03; sbit DQ=P10; sbit DQ1=P11; sbit DQ2=P12; sbit DQ3=P13; sbit DQ4=P14; sbit DQ5=P15; sbit DQ6=P16; sbit DQ7=P17; /

46、*定义全局变量*/ int temp,i=2,n=1; int high=33;low=7,D=0; uchar coma; uchar comb; uchar idata diss11=0,1,2,3,4,5,6,7,8,9,0xf; uchar data temp_data2=0x00,0x00; int data display5=0x00,0x00,0x00,0x00,0x00; /*延时函数*/ void delay(uint t) for (;t0;t-); void delayms(unsigned int ms) unsigned int i,j; for(i=0;i0;j-)

47、 DQ=1;_nop_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val /最低位移出 delay(6); /66 us val=val/2; /右移 1 位 DQ=1; delay(1); /*DS18B20 00 读 1 字节函数*/ /从总线上取 1 个字节 uchar read_byte() uchar j; uchar value=0; for(j=8;j0;j-) 西南石油大学本科生毕业设计(论文) 28 DQ=1;_nop_();_nop_(); value=1; DQ=0;_nop_();_

48、nop_();_nop_();_nop_(); /4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0x80; delay(6); /66 us DQ=1; return(value); /*00 读出温度函数*/ read_temp() ow_reset(); /总线复位 delay(200); write_byte(0xcc); /发命令 write_byte(0x44); /发转换命令 delayms(800); ow_reset(); delay(1); write_byte(0xcc); /发命令 write_byte(0xbe); temp_data0=read_byte(); /读温度值的第字节 temp_data1=read_byte(); /读温度值的高字节 display0=temp_data1; temp=temp_data1; temp0;j-) DQ1=1;_nop_();_nop_(); /从高拉倒低 DQ1=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ1=val /最低位移出 delay(6); /66 us va

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1