题目:DS18B20温度测量软件的设计专业:班级:学生姓名:指导教师:答辩日期:摘要近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。本设计是基于单片机ATMAGE16设计的实时温度采集仪,通过本次设计,我成功的实现了利用单片机对温度的采集和测量。目录1绪论...............................................31.1课题背景...........................................31.2设计目的及系统功能..............................42ATMAGE16特性...................................52.1ATMAGE16产品特性...............................52.2引脚配置........................................63DS18B20的设计.....................................93.1总体通信流程及通信协议.........................93.2DS18B20温度测量软件的设计......................113.3多机通信软件的设计.............................113.4DS18B20工作时序问题...........................134电路的设计......................................144.1温度测量电路的设计............................144.2串口通信电路的设计............................155分布式温度采集系统设计..........................186ICCAVR制作环境及介绍...........................196.1ICCAVR介绍...................................196.2ICCAVR向导....................................226.3ICCAVR的IDE环境............................22结论.............................................24参考文献............................................251绪论自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。1.1课题背景分布式温度采集系统广泛应用在使用了中央空调的大型商场、厂房、办公大楼等大型建筑内。本课题主要用温度传感器对环境温度实施实时监测,各结点控制单元可将有关信息上传给计算机,本课题研究主要解决的问题为分布式控制结构设计、多单片机串行通信、温度的采集与处理。本设计是基于单片机ATMAGE16设计的实时温度采集仪,采用DS18B20可以采集多路温度数据(本设计只用了2路),同时实时显示所采集到的温度值。在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导体公司推出的数字温度传感器DSl8B20,具有独特的单总线接口,仅需要占用一个通用I/O端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有±O.01℃精度;用户可编程设定9~12位的分辨率。以上特性使得DSl8B20非常适用于构建高精度、多点温度测量系统。1.2设计目的及系统功能本设计的目的是以单片机为核心设计出一个分布式温度采集系统。在传统测量系统中,传感器与计算机接口的连接是通过若干条导线连接。当传感器数量较多时,尤其是信号线的长距离传输时,相互容易产生干扰。一个室内多点温度测量中,系统的接线会非常多,导线往往不易铺设,使得测量工作非常困难。采用总线结构数字式传感器,配合单片机及PC机串口进行长距离数据通信,则可以很容易解决这个问题,该系统最多可以检测256路温度信号,在室内多点温度测量控制中能达到很好的效果。通过本课题设计,综合运用单片机及接口技术、微机原理、通信协议,锻炼动手操作能力,综合运用能力,学习论文的写作方法和步骤。设计的温度控制系统有以下功能及特点:(a)实现在一条数据总线上接多个DS18B20器件;(b)测温范围0℃~99℃;(c)温度显示:采用2个4位数码管,显示采样温度值;并在电脑上一同显示;(d)精度±0.01℃。2ATMAGE16特性本章介绍了ATMAGE16的产品特性和ATmega16的结构。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPSMHz,从而可以缓减系统在功耗和处理速度之间的矛盾。2.1ATMAGE16产品特性1、高性能、低功耗的8位AVR微处理器2、先进的RISC结构(a)131条指令(b)32个8位通用工作寄存器(c)全静态工作(d)工作于16MHz时性能高达16MIPS(e)只需两个时钟周期的硬件乘法器(f)大多数指令执行时间为单个时钟周期3、非易失性程序和数据存储器(a)16K字节的系统内可编程Flash擦写寿命:10,000次(b)具有独立锁定位的可选Boot代码区通过片上Boot程序实现系统内编程真正的同时读写操作(c)512字节的EEPROM擦写寿命:100,000次(d)1K字节的片内SRAM(e)可以对锁定位进行编程以实现用户程序的加密4、JTAG接口(与IEEE1149.1标准兼容)(a)符合JTAG标准的边界扫描功能(b)支持扩展的片内调试功能(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、特殊的处理器特点(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-8MHzATmega16L(b)0-16MHzATmega1610、ATmega16L在1MHz,3V,25C时的功耗(a)正常模式:1.1mA(b)空:0.35mA(c)掉电模式:1μA2.2引脚配置ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPSMHz,从而可以缓减系统在功耗和处理速度之间的矛盾。ATMAGE16引脚分布如图2.1所示。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATmega16有如下特点16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),图2.1ATMAGE16引脚分布AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATmega16有如下特点16K字节的系统内可编程Flash(具有同时读写的能力,即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端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准