基于单片机控制的温度采集与测量的设计.doc
《基于单片机控制的温度采集与测量的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机控制的温度采集与测量的设计.doc(31页珍藏版)》请在沃文网上搜索。
1、山西工程职业技术学院毕业论文 第 30 页 共 31 页 摘 要近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强
2、的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。本设计是基于单片机ATMAGE16设计的实时温度采集仪,通过本次设计,我成功的实现了利用单片机对温度的采集和测量。关键词 单片机 ATMAGE16 DS18B20 ICCAVR目 录1 绪论11.1 课题背景11.2 设计目的及系统功能12 ATMAGE16特性12.1 ATMAGE16产品特性12.2 引脚配置13DS18B20的设计13.1 总体通信流程及通信协议13.2 DS18B20温度测量软件的设计13.3 多机通信软件的设计13.4 DS
3、18B20工作时序问题14 电路的设计14.1 温度测量电路的设计14.2 串口通信电路的设计15 分布式温度采集系统设计16 ICCAVR制作环境及介绍16.1 ICCAVR 介绍16.2 ICCAVR 向导16.3 ICCAVR 的IDE 环境1结 论1参考文献1致 谢1附件1:总系统的原理图如下:1附件2:单片机ATMAGE16控制DS18B20的程序:11 绪论自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用
4、领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微
5、机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据
6、传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。1.1 课题背景分布式温度采集系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要用温度传感器对环境温度实施实时监测,各结点控制单元可将有关信息上传给计算机,本课题研究主要解决的问题为分布式控制结构设计、多单片机串行通信、温度的采集与处理。本设计是基于单片机ATMAGE16设计的实时温度采集仪,采用DS18B20可以采集多路温度数据(本设计
7、只用了2路),同时实时显示所采集到的温度值。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10+85温度范围内具有O.01精度;用户可编程设定912位的分辨率。以上特性使得DSl8B20非常适
8、用于构建高精度、多点温度测量系统。1.2 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256 路温度信号,在室内多点温度测量控制中能达到很好的效果。通过本课题设计,综合运用单片机及接口技术、微机原理、通信协议,锻炼动手操作能力,综合运用能力
9、,学习论文的写作方法和步骤。 设计的温度控制系统有以下功能及特点:(a)实现在一条数据总线上接多个DS18B20器件;(b)测温范围099;(c)温度显示:采用2个4位数码管,显示采样温度值; 并在电脑上一同显示;(d)精度0.01。2 ATMAGE16特性本章介绍了ATMAGE16的产品特性和ATmega16的结构。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。2.1 ATMAGE16产品特性1、 高性能、低功耗的 8 位 AVR 微处理器2、 先进的RISC结构(a)131 条指令(b)32
10、 个8 位通用工作寄存器(c)全静态工作(d)工作于16 MHz 时性能高达16 MIPS(e)只需两个时钟周期的硬件乘法器(f)大多数指令执行时间为单个时钟周期3、 非易失性程序和数据存储器(a)16K 字节的系统内可编程 Flash擦写寿命: 10,000 次(b) 具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统内编程真正的同时读写操作(c)512 字节的EEPROM擦写寿命: 100,000 次(d)1K 字节的片内SRAM(e)可以对锁定位进行编程以实现用户程序的加密4、 JTAG 接口( 与IEEE 1149.1标准兼容 )(a)符合JTAG标准的边界扫描功能(b
11、)支持扩展的片内调试功能(c)通过JTAG接口实现对 Flash、EEPROM、熔丝位和锁定位的编程5、 外设特点(a)两个具有独立预分频器和比较器功能的8 位定时器/计数(b)一个具有预分频器、比较功能和捕捉功能的16 位定时器/计数(c)具有独立振荡器的实时计数器RTC(d)四通道PWM(e)8路 10 位ADC8 个单端通道TQFP 封装的7 个差分通道2个具有可编程增益(1x, 10x, 或200x)的差分通道(f)面向字节的两线接口(g) 两个可编程的串行USART(h) 可工作于主机/从机模式 SPI串行接口(i) 具有独立片内振荡器的可编程看门狗定时器(j) 片内模拟比较器6、
12、特殊的处理器特点(a)上电复位以及可编程的掉电检测(b)片内经过标定的RC 振荡器(c)片内/片外中断(d)6种睡眠模式 : 空 ADC噪声抑制模式、省电模式、掉电模式、Standby 、式以扩展的Standby 模式7、 I/O和封装(a)32 个可编程的I/O口(b)40 引脚PDIP封装 , 44 引脚 TQFP 封装,与 44 引脚MLF封装8、 工作电压:(a)ATmega16L:2.7 - 5.5V(b)ATmega16:4.5 - 5.5V9、速度等级(a)0 - 8 MHz ATmega16L(b)0 - 16 MHz ATmega1610、 ATmega16L在 1 MHz,
13、 3V, 25 C时的功耗(a)正常模式: 1.1 mA(b)空 : 0.35 mA(c)掉电模式: 1 A2.2 引脚配置ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATMAGE16引脚分布如图2.1所示。AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CIS
14、C微控制器最高至 10倍的数据吞吐率。ATmega16 有如下特点 16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),图2.1 ATMAGE16引脚分布AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC微控制器最高至 10倍的数据吞吐率。ATmega16 有如下特点 16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节 EEPROM,1K字节 SRAM,32 个通用I/O 口线,32
15、个通用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数(T/C),片内/外中断,可编程 USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 USART、两线接口、 A/D 转换器、 SRAM、 T/C、 SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运
16、行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以 Atmel 高密度非易失性存储器技术生产的。片内 ISP Flash 允许程序存储器通过 ISP 串行接口,或者通用编程器进行编程,也可以通过运行于 AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载
17、到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。3DS18B20的设计本章介绍了系统软件设计,并具体介绍了实现和调试的方法,以及分布式温度采集系统的通信流程和DS18B20温度测量软件的设计思路、DS18B20工作的时序问题。3.1 总体通信流程及通信协议总体通信流程体现在P
18、C机,单片机主机及各从机的通信,信号接受及发送,这个设计中,通信协议是一个非常重要也很复杂的部分,在由PC 机与单片机组成的系统中,常要涉及通信问题,如果没有统一的通信协议,PC机与单片机之间的信息传递就无法识别。通信协议是指通信各方事前约定规则,我们可以简单地理解为各计算机之间进行相互会话所使用的共同语言.PC机与单片机在进行通信时,必须使用的通信协议。首先,在设计中自定义几个数据通信协议,如下问提到的“a”、“b”、“c”、“d”、“g”、“h”。这些协议一旦定义,在后面的执行过程中就代表了固定的含义,不再改变,PC机、单片机、从机都靠识别这个协议来执行程序,发送一个字节的数据,接受几个字
19、节的数据,所有的数据协议全都建立在这2个操作方法上。本设计中自定义“a”为PC机与单片机主机间的数据协议,意思为要求主机发送一号从机的温度给PC机;自定义“b”为PC机与单片机主机间的数据协议,意思为要求主机发送二号从机的温度给PC机;自定义“c”为从机与主机间的数据协议,它代表从机向主机发送完四位当前采集的温度,这里一号从机和二号从机采集的温度,都定义为“c”;自定义“d”为PC机与单片机主机之间的数据协议,意思为开始和完成命令的信号;自定义“g”为一号从机和单片机主机之间的数据协议,意思为主机表示要采集一号从机的温度数据,一号从机要求单片机主机准备接收;自定义“h”为二号从机和单片机主机之
20、间的数据协议,意思为主机表示要采集二号从机的温度数据,二号从机要求单片机主机准备接收。具体流程如下:1、PC机向单片机主机发送“d”:这步是流程的开始,PC机向单片机主机发送数据协议,要求主机把接收的温度发送给PC机显示;2、单片机主机向一号从机发送“g”:单片机主机在接收到PC机发送的“d”信号后,会立即向一号从机发送“g”,要求一号从机采集温度并且将温度发回单片机主机;3、一号从机回发“g”:一号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,要求单片机主机做好接收准备;4、向主机发送四位当前采集的温度,并回发发送完成标记“c”;一号从机回发信号后,向主机发送四位采集的温度,这个
21、温度在前文已提到标记为“c”;5、主机发送“h”给2号从机:主机在接收到一号从机发来的“c”命令后,会立刻发送“h”信号给二号从机,表示要采集二号从机的数据;6、2号从机回发“h”:二号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,要求单片机主机做好接收准备; 7、向主机发送四位当前采集的温度,并回发发送完成标记“c”:二号从机向单片机主机回发完信号后,向主机发送四位当前采集的温度,这个温度标记为“c”;8、主机发送“d”给PC机:单片机主机在接收到二号从机发送来的信号后,立刻发送信号给PC机,表示完成PC机的前一指令;9、PC发送“a”给主机:PC机在接收到单片机主机发送的信号后
22、,发送新一个指令给单片机主机,要求单片机主机发送一号从机采集的温度数据;10、主机将一号从机温度数据发送给PC机:单片机主机接收到PC机的命令后将一号从机发送过来的四位当前温度数据转换成ASCII码后,发送给PC机,因为PC机只能读取ASCII码;11、PC机发送“b”给主机:PC机接收到单片机主机发送的即时温度后会立即发送另一指令给单片机主机,要求单片机主机发送二号从机采集的温度数据;12、主机将二号从机温度数据发送给PC机,发送完成后,返回(1):单片机主机接收到PC机的命令后将二号从机发送过来的四位当前温度数据同样也转换成ASCII码后,发送给PC机。此时一个完整过程结束,将返回(1)开
23、始另一轮采集。3.2 DS18B20温度测量软件的设计由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM 功能命令发存储器操作命令处理数据。主机控制DS18B20完成温度转换的程序必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化子程序,WRITE 为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 温度 采集 测量 设计