微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于AVR单片机的温度测量系统

基于AVR单片机的温度测量系统

时间:01-20 来源:互联网 点击:
1 引言

传统温度测量系统中,一般选用模拟式温度传感器。常用的模拟式温度传感器,其中一个共同特点是输出为模拟量,因此在测量电路中必须经过A/D转换才能成为计算机所能处理的数字量。数字式温度传感器将非电模拟量转换到数字信号这一处理过程的多个环节集成在单芯片上,实现了在测量点将温度值数字化,有效解决了传统温度传感器外围电路复杂,抗干扰能力差的弊病,降低了对系统的要求。

该系统以Atmel公司的ATmega8L单片机为控制中心,温度测量使用DS18B20单总线数字温度传感器,采用1602字符型液晶显示器作为温度值的显示输出。编程使用CodeVision AVR C Compiler编译器,该编译软件自带了使用器件库函数文件,省去了编写器件驱动程序的步骤,为程序的编写带来了极大的方便。

2硬件设计

图1给出系统电路图。ATmega8L单片机的PB0口线连接DS18B20;PD口连接1602 LCD。DS18B20采用源端连接方式,LCD采用4位总线模式。其中,液晶显示模块的连接方式取决于编程软件Code Vision AVR C Compiler的code wizard avr自动程序生成器的设置。采用这种方法,可直接调用库函数实现对液晶显示器的操作。




2.1 ATmega 8L单片机

Atmel公司的EEPROM电可擦除技术、闪速存储器技术是最引人瞩目的高质量和高可靠性生产技术。在CMOS器件生产领域,Atmel的设计水平、生产工艺及封装技术一直处于世界领先地位。这些技术使单片机也具有优秀的品质,在结构、性能等方面具有明显优势。

ATmega8L单片机的特点是:8 KB的系统内可编程Flash,512字节EEPROM,1 KB SRAM,32个通用I/O口线,32个通用工作寄存器,3个具有比较模式的灵活的定时器/计数器,片内/外中断,可编程串行USART,面向字节的两线串行接口,10位6路A/D转换器,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及5种可以通过软件进行选择的省电模式。

2.2 DS18B20数字温度传感器

1-Wire是Dallas公司的一项专有技术,与目前多数标准串行数据通信方式,如SPI/I2C/MICROWIRE不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的,因此具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。

DS18B20的测量温度范围是-55~+125℃。该温度传感器的输出温度数据可与摄氏度校准,使用查找表或转换规则就可计算温度值。在温度寄存器中温度数据存储格式为一个16位符号扩展的两个单元,温度寄存器格式如图2所示。符号位S表示温度的正负。S=0时为正;S=1时为负。当DS18B20的配置为12位分辨率时(测量精度是0.062 5℃),温度寄存器的所有位数据都是有效的;当DS181320的配置为11位分辨率时(测量精度是0.125℃),bit0未定义;当DS181320的配置为10位分辨率时(测量精度是0.25℃),bit0和bit1未定义的;当DS181320的配置为9位分辨率时(测量精度是..5℃),bit0~bit2未定义。






2.3 1602液晶显示器

1602液晶显示器采用金鹏电子有限公司生产的OCM2×16A。字符点阵系列模块是一类专门用于显示字母、数字、符号等的点阵型液晶显示模块,分4位和8位数据传输方式,提供5×7点阵+光标的显示模式,设置有显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM。可以使用CGRAM来存储自定义的最多8个5×8点阵的图形字符的字模数据,并提供设置、清显示、光标回原点、显示开/关、光标开/关、显示字符闪烁、光标移位、显示移位等丰富的指令。此外,还提供了内部上电自动复位电路。当外加电源电压超过+4.5 V时,可自动对模块初始化操作,将模块设置为默认的显示工作状态。

3软件设计

3.1 Code Vision AVR C Compiler

Code Vision AVR是C交叉编译器,具有为Atmel公司的AVR系列单片机所设计的集成开发环境和程序自动生成器。编译后的coff目标文件可以用于C源代码级调试,也可以使用AVR Studio调试器进行调试。
除了标准的C库函数,Code Vision AVR C Compiler还具有其他器件的库函数,如字母数字液晶显示模块、飞利浦I2C总线、NS公司的LM75温度传感器、飞利浦的PCF8563和PCF8583、Dallas公司的DS1302和DS1307实时时钟器件、以及DS1820/DS1822温度传感器等。CodeVision AVR还包含了code wizard avr程序自动生成器,使用时只要添加相关器件的头文件就可以在短短几分钟内生成初始化程序,并可以根据需要调用头文件中包含的功能函数,以实现对外围设备的操作。

3.2程序设计

图3所示给出程序流程。编写程序时,先要声明哪些口线与外围器件通讯,例如DS18B20单线总线与单片机PB0口线的连接声明如下:



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top