ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:183.49KB ,
资源ID:16937501      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16937501.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机控制的温度采集与测量Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机控制的温度采集与测量Word文档格式.docx

1、 ICCAVR制作环境及介绍 16.1 ICCAVR 介绍 16.2 ICCAVR 向导 16.3 ICCAVR 的IDE 环境 1结 论 1参考文献 1致 谢 1附件1:总系统的原理图如下: 1附件2:单片机ATMAGE16控制DS18B20的程序:1 绪论自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪

2、表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车

3、的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。1.1 课题背景分布式温度采集系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要用温度传感器对环境温度实施实时监测,各结点控制单元可将有关信息上传给计算机,本课题研究主要解决的问题为分布式控制结构设计、多单片机串行通信、温度的采集与处理。本设计是基于单片机ATMAGE16设计的实时温度采集仪,采用DS18B20可以采集多路温度数据(本设计只用了2路),同时实时显示所采集到的温度值。在传统的温度测量系统设计中,往往采用

4、模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10+85温度范围内具有O.01精度;用户可编程设定912位的分辨率。以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。1.2 设计目的及系统功能 本设计的目的是以单

5、片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256 路温度信号,在室内多点温度测量控制中能达到很好的效果。通过本课题设计,综合运用单片机及接口技术、微机原理、通信协议,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。 设计的温度控制系统有以下功能及特点:(a)实现在一

6、条数据总线上接多个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 个8 位通用工作寄存器(c)全静态工作(d)工作于16 MHz 时性能高达16

7、 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)支持扩展的片内调试功能(c)通过JTAG接口实现对 Flash、EEPROM、

8、熔丝位和锁定位的编程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、 特殊的处理器特点(a)上电复位以及可编程的掉电检测(b)片内经过标定的RC 振荡

9、器(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, 3V, 25 C时的功耗(a)正常模式: 1.1 mA(b)空 : 0.35

10、mA(c)掉电模式: 1 A2.2 引脚配置ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。ATMAGE16引脚分布如图2.1所示。AVR 内核具有丰富的指令集和 32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的 CISC微控制器最高至 10倍的数据吞吐率。ATmega16 有如下特点 16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),图2.1 ATMAGE16引脚分布ATmega16 有如下特点 16K字节的系统内可编程F

11、lash(具有同时读写的能力,即RWW),512 字节 EEPROM,1K字节 SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的 JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数(T/C),片内/外中断,可编程 USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益 (TQFP 封装 ) 的 ADC ,具有片内振荡器的可编程看门狗定时器,一个 SPI串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时 CPU 停止工作,而 USART、两线接口、 A/D 转换器、 SRAM、 T/C、 SPI 端口以

12、及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU 和除了异步定时器与ADC以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展 Standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以 Atmel 高密度非易失性存储器技术生产的。片内 ISP Flash 允许程序存储器通过 ISP 串行

13、接口,或者通用编程器进行编程,也可以通过运行于 AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了 RWW 操作。 通过 8 位 RISC CPU 与系统内可编程的 Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。3DS18B20的设计本章介绍了系统软件设计,并具体介绍了实现和调试的方法,以及分布式温度采集系统的通信流

14、程和DS18B20温度测量软件的设计思路、DS18B20工作的时序问题。3.1 总体通信流程及通信协议总体通信流程体现在PC机,单片机主机及各从机的通信,信号接受及发送,这个设计中,通信协议是一个非常重要也很复杂的部分,在由PC 机与单片机组成的系统中,常要涉及通信问题,如果没有统一的通信协议,PC机与单片机之间的信息传递就无法识别。通信协议是指通信各方事前约定规则,我们可以简单地理解为各计算机之间进行相互会话所使用的共同语言.PC机与单片机在进行通信时,必须使用的通信协议。首先,在设计中自定义几个数据通信协议,如下问提到的“a”、“b”、“c”、“d”、“g”、“h”。这些协议一旦定义,在后

15、面的执行过程中就代表了固定的含义,不再改变,PC机、单片机、从机都靠识别这个协议来执行程序,发送一个字节的数据,接受几个字节的数据,所有的数据协议全都建立在这2个操作方法上。本设计中自定义“a”为PC机与单片机主机间的数据协议,意思为要求主机发送一号从机的温度给PC机;自定义“b”为PC机与单片机主机间的数据协议,意思为要求主机发送二号从机的温度给PC机;自定义“c”为从机与主机间的数据协议,它代表从机向主机发送完四位当前采集的温度,这里一号从机和二号从机采集的温度,都定义为“c”;自定义“d”为PC机与单片机主机之间的数据协议,意思为开始和完成命令的信号;自定义“g”为一号从机和单片机主机之

16、间的数据协议,意思为主机表示要采集一号从机的温度数据,一号从机要求单片机主机准备接收;自定义“h”为二号从机和单片机主机之间的数据协议,意思为主机表示要采集二号从机的温度数据,二号从机要求单片机主机准备接收。具体流程如下:1、PC机向单片机主机发送“d”:这步是流程的开始,PC机向单片机主机发送数据协议,要求主机把接收的温度发送给PC机显示;2、单片机主机向一号从机发送“g”:单片机主机在接收到PC机发送的“d”信号后,会立即向一号从机发送“g”,要求一号从机采集温度并且将温度发回单片机主机;3、一号从机回发“g”:一号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,要求单片机主机做

17、好接收准备;4、向主机发送四位当前采集的温度,并回发发送完成标记“c”;一号从机回发信号后,向主机发送四位采集的温度,这个温度在前文已提到标记为“c”;5、主机发送“h”给2号从机:主机在接收到一号从机发来的“c”命令后,会立刻发送“h”信号给二号从机,表示要采集二号从机的数据;6、2号从机回发“h”:二号从机接收到单片机主机的命令后,会立即向单片机主机回发信号,要求单片机主机做好接收准备;7、向主机发送四位当前采集的温度,并回发发送完成标记“c”:二号从机向单片机主机回发完信号后,向主机发送四位当前采集的温度,这个温度标记为“c”;8、主机发送“d”给PC机:单片机主机在接收到二号从机发送来

18、的信号后,立刻发送信号给PC机,表示完成PC机的前一指令;9、PC发送“a”给主机:PC机在接收到单片机主机发送的信号后,发送新一个指令给单片机主机,要求单片机主机发送一号从机采集的温度数据;10、主机将一号从机温度数据发送给PC机:单片机主机接收到PC机的命令后将一号从机发送过来的四位当前温度数据转换成ASCII码后,发送给PC机,因为PC机只能读取ASCII码;11、PC机发送“b”给主机:PC机接收到单片机主机发送的即时温度后会立即发送另一指令给单片机主机,要求单片机主机发送二号从机采集的温度数据;12、主机将二号从机温度数据发送给PC机,发送完成后,返回(1):单片机主机接收到PC机的

19、命令后将二号从机发送过来的四位当前温度数据同样也转换成ASCII码后,发送给PC机。此时一个完整过程结束,将返回(1)开始另一轮采集。3.2 DS18B20温度测量软件的设计由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM 功能命令发存储器操作命令处理数据。主机控制DS18B20完成温度转换的程序必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程

20、序:INIT为初始化子程序,WRITE 为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s 进行一次,流程图如图3.1所示 。读出温度子程序的主要功能是读出RAM中的9个字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写,其程序流程图如图3.2所示。从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为DS18B20的转换精度为912 位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度

21、值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。3.3 多机通信软件的设计ATMAGE16单片机有串行发送缓冲器接收缓冲器(SBUF)、串行口控制寄存器(SCON)、特殊功能寄存器(PCON)。通过设置SCON可以有四种工作方式,其中工作方式2、3 适用于多机通信。在串行通信前,通过程序预先将各从机串行口设置为方式2或方式3,并使SM2和REN(允许串行接收控制位)为1,允许串行口中断。主机与从机通信时,将SM2置0,准备接收数据,否则维持SM2为1,这样在主机发送数据时(此时主机发送数据中第9 位为0),只有地址相符的从机可接收数据,图3.1 DS18B20温度主程序流程

22、图 图3.2 读出温度子程序流程图其余从机对数据信息不予理睬,从而可以实现多机通信集散型控制系统将各控制单元分散到现场各控制点。从机主程序和串行口中断服务程序如图3.3所示。 PC 机与单片机的串口通信中,ATMAGE16单片机的Pl.3和Pl.4口分别模拟串行通信的发送和接收端,其接口程序主要由发送子程序和接收子程序组成。通信速率9600bps,帧格式为N.8.l。发送时,先发送一个起始位(低电平),接着 按低位在先的顺序发送8位数据,最后发送停止位。接收时,先判断P1.4接收端口是否有起始低电平出现,如有则按低位在先的顺序接收8位数,最后判断P1.4 口是否有停止高电平出现,如有则完成一个

23、数据接收,否则继续等待。其中软件编写要严格按照异步通信的时序进行。图3.3 从机主程序和串行口中断服务程序3.4 DS18B20工作时序问题DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序。主机即单片机首先发480us-960us的低电平,进行复位,然后释放总线,之后总线被外部上拉电阻电阻抬高,大约等待1560us之后,DS18B20发出60到240us的低电平信号,以示存在,至此初始化结束。 写“0“的时候,首先单片机发复位信号,然后发“0”于是低电平持续60us就完成了写“0”写“1”的时候首先单片机发复位信号,持续时

24、间大于1us小于15us然后发“1”持续50us以上即可。 读时序也是主机先发低电平,然后在15us内检测连接DS18B20的数据线的引脚,从而读得相应值。4 电路的设计本章分析了分布式温度采集系统的各主要功能模块的设计与实现,具体包括温度测量电路模块和串口通信电路模块。4.1 温度测量电路的设计温度测量采用DS18B20 数字式温度传感器。由DS18B20 构成的智能温度测量装置由三部分组成:DS18B20 温度传感器、ATMAGE16、显示模块。产品的主要技术指标:测量范围:-55+125,测量精度:0.5,反应时间500ms。为了达到更高的精度,则在对DSl8B20测温原理进行详细分析的

25、基础上,采取直接读取DSl8B20内部暂存寄存器的方法,将DSl8B20 的测温分辨率提高到0.010.1,DSl8B20内部暂存寄存器的分布如表4-1所列,其中第7字节存放的是当温度寄存器停止增值时计数器l的计数剩余值,第8字节存放的是每度所对应的计数值。这样,就可以通过下面的方法获得高分辨率的温度测量结果。表4-1 DS18B20内部暂存器序号寄存器名称作用温度低字节以16位补码形式存放4、5保存字节1、21温度高字节6计数器余值2TH/用户字节1存放温度上限7计数器/3HL/用户字节2存放温度下限8CRC基于DS18B20的温度测量装置电路图如图4.1所示:图4.1 温度测量电路温度传感

26、器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1.1 相连,R1为上拉电阻,传感器采用外部电源供电。ATMAGE16 是整个装置的控制核心,ATMAGE16内带1K字节的FlashROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。4.2 串口通信电路的设计为了增加单片机多机通信的距离,该部分电路采用RS2

27、32标准接口,通信距离可以达到15米;如果采用RS422 或是RS485 接口,通信距离会更远。多机通信接口原理图见图1 。在数据传输过程中采用的是RS232 电平,提高了抗干扰能力。需要在主机串行接口和从机串行接口进行电平转换:TTL-RS232-TTL。这都是用MAX232 接口芯片实现的,具体的电路如图4.2所示。图4.2 TTL-RS232-TTL电平转换电路通信电路是本设计的重要组成部分,负责温度数据的采集和数据的上传。包括单片机多机串口通信电路,PC 机与ATMAGE16的串口通信电路。其中主单片机ATMAGE16既要和从机通信,还要负责将数据通过串口发送到PC机上。而ATMAGE16 单片机只有一个串行通信口,这就需要用硬件或是软件扩展一个串行通信口。本设计采用一种用单片机普通I/O口和相应软件实现串行通信的方法。5 分布式温度采集系统设计数字式传感器一般采用单总线技术(1-WIREBUS),即在单片机或计算机接口中只用一根导线(输入/ 输出信号线),美国Dallas公司最新推出的1-WireBus数字式温度传感器DS18B20,与传统的温度传感器不同,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,可以分别在93.75ms 和750ms内将温度值转化为9 位和

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1