基于单片机控制的温度采集与测量设计_第1页
基于单片机控制的温度采集与测量设计_第2页
基于单片机控制的温度采集与测量设计_第3页
基于单片机控制的温度采集与测量设计_第4页
基于单片机控制的温度采集与测量设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、济南职业学院 毕业设计(论文)题 目: 基于单片机控制的温度采集与测量 系 部: 电子工程系 专 业: 电气自动化 学 号: 201208023204 学生姓名: 吴宽大 指导教师: 滕丽丽 职 称: 讲师 二O一四年一月二日济南职业学院毕业论文(设计)任务书 课题名称:_基于单片机控制的温度采集与测量_ 系 部: 电子工程系 专 业: 电气自动化 姓 名: 吴宽大 学 号:_ 201208023204 指导教师: 滕丽丽 二O一四年一月二日一、毕业论文(设计)的目的与要求:毕业设计(论文)是教学过程中最后一个重要的实践性教学环节,是应用在校所学知识、结合工程实际,进行一次系统的、有机的解决工

2、程实际问题的训练,目的是巩固、扩大和提高所学理论知识,使之系统化,并提升为解决实际工程技术问题的能力,通过本课题的实施可初步掌握工业企业的自动化技术改造基本方法和步骤。通过毕业设计实践,可使学生进一步提高资料检索、计算、绘图、动手制作和编写说明书的职业技能。2、 毕业论文(设计)的内容: 本设计的目的是以单片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及

3、PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256 路温度信号,在室内多点温度测量控制中能达到很好的效果。三、毕业论文(设计)进程的安排序 号论文(设计)各阶段名称日 期备 注1指导教师召集相关学生,向学生介绍毕业设计的相关规定,布置任务。2015年1月2论文准备,期间老师不得少于两次指导学生。2015年2月2015年4月准备期间,学生向指导教师汇报工作进度和工作情况,每周不少于一次。3毕业论文送交指导老师阅评5月10日4毕业答辩5月10日公布成绩5月27日前四、任务执行日期:自2015年1月2日至2015年5月27日止。 学 生(签字)_ 指导教师(签字) _

4、系主任 (签字) _毕业设计(论文)成绩评定表系部: 电子工程系 专业: 班级: 级 班 姓 名吴宽大设计(论文)总成绩:设计(论文)题目基于单片机控制的温度采集与测量指导教师评语评定成绩: 签名: 年 月 日评 阅 人 评 语评定成绩: 签名: 年 月 日答 辩 小 组 评 语答辩成绩: 组长签名: 年 月 日注:设计(论文)总成绩=指导教师评定成绩(30%)评阅人评定成绩(30%)答辩成绩(40%) 基于单片机控制的温度采集与测量摘要:近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各

5、业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。本设计是基于单片机ATMAGE16设计的实时温度采集仪,通过本次设计,我成

6、功的实现了利用单片机对温度的采集和测量。关键词:单片机;DS18B20;ICCAVR 目 录1 绪论11.1 单片机的基础知识课题背景11.2 课题背景11.3设计目的及系统功能12.电路的设计12.1 温度测量电路的设计12.2 串口通信电路的设计13 分布式温度采集系统设计14 ICCAVR制作环境及介绍14.1 ICCAVR介绍14.2 ICCAVR向导1参考文献1致谢1 1 绪论 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智

7、能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。它的出现是近代计算机技术发展史上的一个重要里程碑,因为它体积小,通常都藏在被控机械的“肚子”里。它在这个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 自从1976年Intel公司推出第一批单片机以来,80年代单片

8、机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表

9、解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。1.1 单片机的基础知识 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块

10、芯片就成了一台计算机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。 DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试1.2课题背景分布

11、式温度采集系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要用温度传感器对环境温度实施实时监测,各结点控制单元可将有关信息上传给计算机,本课题研究主要解决的问题为分布式控制结构设计、多单片机串行通信、温度的采集与处理。本设计是基于单片机ATMAGE16设计的实时温度采集仪,采用DS18B20可以采集多路温度数据(本设计只用了2路),同时实时显示所采集到的温度值。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技

12、术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10+85温度范围内具有O.01精度;用户可编程设定912位的分辨率。以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。1.3 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一

13、个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256 路温度信号,在室内多点温度测量控制中能达到很好的效果。通过本课题设计,综合运用单片机及接口技术、微机原理、通信协议,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。 设计的温度控制系统有以下功能及特点:(a)实现在一条数据总线上接多个DS18B20器件;(b)测温范围099;(c)温度显示:采用2个4位数码管,显示采样温度值; 并在电脑上一同显示;(d)精度0.01。2 电路的设计本章

14、分析了分布式温度采集系统的各主要功能模块的设计与实现,具体包括温度测量电路模块和串口通信电路模块。2.1 温度测量电路的设计温度测量采用DS18B20 数字式温度传感器。由DS18B20 构成的智能温度测量装置由三部分组成:DS18B20 温度传感器、ATMAGE16、显示模块。产品的主要技术指标:测量范围:-55+125,测量精度:0.5,反应时间500ms。为了达到更高的精度,则在对DSl8B20测温原理进行详细分析的基础上,采取直接读取DSl8B20内部暂存寄存器的方法,将DSl8B20 的测温分辨率提高到0.010.1,DSl8B20内部暂存寄存器的分布如表4-1所列,其中第7字节存放

15、的是当温度寄存器停止增值时计数器l的计数剩余值,第8字节存放的是每度所对应的计数值。这样,就可以通过下面的方法获得高分辨率的温度测量结果。表4-1 DS18B20内部暂存器序号寄存器名称作用序号寄存器名称0温度低字节以16位补码形式存放4、5保存字节1、21温度高字节6计数器余值2TH/用户字节1存放温度上限7计数器/3HL/用户字节2存放温度下限8CRC基于DS18B20的温度测量装置电路图如图4.1所示:图2.1 温度测量电路温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1

16、.1 相连,R1为上拉电阻,传感器采用外部电源供电。ATMAGE16 是整个装置的控制核心,ATMAGE16内带1K字节的FlashROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。2.2 串口通信电路的设计为了增加单片机多机通信的距离,该部分电路采用RS232标准接口,通信距离可以达到15米;如果采用RS422 或是RS485 接口,通信距离会更远。多机通信接口原理图见图1 。在数据传输过程中采用的是RS232

17、 电平,提高了抗干扰能力。需要在主机串行接口和从机串行接口进行电平转换:TTL-RS232-TTL。这都是用MAX232 接口芯片实现的,具体的电路如图4.2所示。图4.2 TTL-RS232-TTL电平转换电路3 分布式温度采集系统设计数字式传感器一般采用单总线技术(1-WIREBUS),即在单片机或计算机接口中只用一根导线(输入/ 输出信号线),美国Dallas公司最新推出的1-WireBus数字式温度传感器DS18B20,与传统的温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,可以分别在93.75ms 和750ms内将温度值转化为9

18、位和12位的数字量,对应的可分辨温度分别为0.5、0.25、0.125和0.0625;为实现与PC机串口长距离数据通信,系统采用了RS232 串行接口,通信距离可以达到15m,如果采用RS422或RS485串行接口可以达到1000m。串口通信由PC机与单片机的通信和单片机多机通信组成,每个从机负责温度的测量然后通过多机通信把温度数据发送到主单片机上,最后PC机通过VB程序控制串口把主单片机上的所有温度数据收集起来。系统框图如图所示。 系统框图4 ICCAVR制作环境及介绍本章介绍了ICCAVR的制作环境,ICCAVR 中的文件类型及其文件的扩展名、附注和扩充,并介绍了IAR 或其它ANSI C

19、 编译系统的代码转换。4.1 ICCAVR 介绍本节主要介绍了ICCAVR文件的基本特点、类型、扩展名等。4.1.1 ImageCraft 的ICCAVR 介绍ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微控制器(MCU)程序的一个工具,它有以下几个主要特点:ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境(IDE),其可在WINDOWS9X/NT 下工作。源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成。编译错误显示在状态窗口中,并且当你用鼠标单击编译错误时,光标会自动跳转到编辑窗口中引起错误的那一行。这个工程管理器还能直接

20、产生您希望得到的可以直接使用的INTEL HEX 格式文件,INTEL HEX 格式文件可被大多数的编程器所支持,用于下载程序到芯片中去。ICCAVR 是一个32 位的程序,支持长文件名。本论文并不介绍通用的C 语言语法知识,仅介绍使用ICC AVR 所必须具备的知识。 4.1.2 ICCAVR 中的文件类型及其扩展名文件类型是由它们的扩展名决定的,IDE 和编译器可以使用以下几种类型的文件。输入文件:.c 扩展名-表示是C 语言源文件.s 扩展名-表示是汇编语言源文件.h 扩展名-表示是C 语言的头文件.prj 扩展名-表示是工程文件,这个文件保存由IDE 所创建和修改的一个工程的有关信息。

21、.a 扩展名-库文件,它可以由几个库封装在一起。libcavr.a 是一个包含了标准C 的库和AVR 特殊程序调用的基本库。如果库被引用,链接器会将其链接到您的模块或文件中。您也可以创建或修改一个符合你需要的库。输出文件.s 对应每个C 语言源文件,由编译器在编译时产生的汇编输出文件。.o 由汇编文件汇编产生的目标文件,多个目标文件可以链接成一个可执行文件。.hex INTEL HEX 格式文件,其中包含了程序的机器代码。.eep INTEL HEX 格式文件,包含了EEPROM 的初始化数据。.cof COFF 格式输出文件,用于在ATMEL 的AvrStudio 环境下进行程序调试。.ls

22、t 列表文件,在这个文件中列举出了目标代码对应的最终地址。.mp 内存映象文件 它包含了您程序中有关符号及其所占内存大小的信息.cmd NoICE 2.xx 调试命令文件。.noi NoICE 3.xx 调试命令文件。.dbg ImageCraft 调试命令文件。4.1.3 代码转换IAR 或其它ANSI C 编译系统的代码转换IAR C 编译器作为应用于AVR 的第一个C 编译器,它有十分丰富的源代码。当你从IAR编译系统转换到ImageCraft 编译系统时,绝大多数符合ANSI C标准的程序代码不需要转换,IAR C 中IO 寄存器的定义与ICCAVR 也是相同的。中断操作描述,ICCA

23、VR 使用pragma 附注描述中断操作函数,而IAR 引入了语法扩充(interrupt 关键字),下面是一个对照:在 ICCAVR 中:#pragma interrupt_handler func:4 / 4 是这个中断的向量号,func 为中断处理函数名称,ICCAVR 可以使多个中断向量共用一个中断处理函数。在 IAR 中:interrupt vector_name func() / vector_name 是某一个中断向量的名称,IAR C 的中断向量地址使用中断名称来代替,以增加程序的可读性。扩充关键字IAR 引入flash 关键字将项目分配进入程序存贮空间(FLASH 存贮器),

24、ICCAVR 使用const 关键字来达到相同的目的。过程调用转换。在两个编译系统之间函数参数传递使用的寄存器是不同的,这仅影响手工写的汇编函数。在线汇编、宏等,IAR 不支持在线汇编符号,而ICCAVR 支持在线汇编。4.2 ICCAVR 向导自你启动 IDE 后,首先从Project 菜单系统选择Open 命令,进入iccexamples.avr 目录并且选择并打开“led”工程,工程管理器显示在这个工程中只有一个文件led.c。 然后从Project 菜单中选择Options 命令打开工程编译选项,在Target标号下选择目标处理器。然后从Project 菜单中选择Make Projec

25、t 命令,IDE 将调用编译器编译这个工程文件,并且在状态窗口中显示所有的信息。4.3 ICCAVR 的IDE 环境4.2.1 编译一个单独的文件正常建立一个输出文件的次序是,你首先应该建立一个工程文件并且定义属于这个工程的所有文件。然而,我们有时也需要将一个文件单独地编译为目标文件或最终的输出文件。这时可以这样操作:从IDE 菜单“File” 中选择“Compile File.”命令,来执行“to Object”和“to Output”中的任意一个。当你调用这个命令时,文件应该是打开的并且在编辑窗口中可以编辑的。编译一个文件为目标文件(to Object),对检查语法错误和编译一个新的启动文

26、件是很有用的。编译一个文件为输出文件(to Output),对较小的并且是一个文件的程序较为有用。4.2.2 创建一个新的工程为创建一个新的工程,从菜单“Project”中选择“New”命令,IDE 会弹出一个对话框,在对话框中你可以指定工程的名称,这也是你的输出文件的名称。如果你使用一些已经建立的源文件,你可在菜单“Project”中选择“AddFile(s) ”命令。另外,你可以在菜单“File”中选择“New”命令来建立一个新的源文件来输入你的代码,你可以在菜单“File”中选择“Save”或“Save As”命令来保存文件。然后你可以象上面所述调用“AddFile(s)”命令将文件加入

27、到工程中,也可在当前编辑窗口中单击鼠标右键选择“Add to Project”将文件加入已打开的工程列表中。通常你输出源文件在工程同一个目录中,但也可不作这样要求。工程的编译选项使用菜单中 “Project”中的“Options”命令。4.2.3 工程管理工程管理允许你将多个文件组织进同一个工程,而且定义它们的编译选项,这个特性允许你将工程分解成许多小的模块。当你处理工程构筑时,只有一个文件被修改和重新编译,如果一个头文件作了修改,当你编译包含这个头文件的源文件时,IDE 会自动重新编译已经改变的头文件。一个源文件可以写成 C 或汇编格式的任意一种。C 文件必须使用“.c”扩展名汇编文件必须使用“.s”扩展名。你可以将任意文件放在工程列表中,对目标器件不同的工程,可以在编译选项中设置有关参数。当你新建一个工程时,使用默认的编译选项,你可以将现有编译选项设置成默认选项,也可将默认编译选项装入现有工程中。默认编译选项保存在default.prj 文件中。为避免你的工程目录混乱,你可以指定输出文件和中间文件到一个指定的目录,通常这个目录是你的工程目录的一个子目录。4.2.4 编辑窗口编辑窗口是你与 IDE 交流信息的主要区域,在这个窗口中你可以修改相应的文件。当编译存在错误时,用鼠标单击有关错误信息时,编辑器会自动将光标定位在错误行的位置。4.2.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论