新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于mega16微控制器的温度采集系统

基于mega16微控制器的温度采集系统

作者:时间:2016-10-15来源:网络收藏

温度是表征物体冷热程度的物理量,是工业生产中常见和最基本的参数之一,DS18B20是美国Dalls公司推出的单总线,接口简单,集成度高,精度高,且不用AD转换可以直接将温度转化成串行数字信号供微处理器接收处理。与传统的温度传感器相比具有无可比拟的优点。利用DS18B20温度传感器构成的系统电路非常简单,易于实现。

本文引用地址:http://www.eepw.com.cn/article/201610/307408.htm

1 温度测量系统的硬件设计方案

1.1 系统的硬件结构

系统的硬件结构如图1所示,单片机mega16作为整个系统的控制核心,由温度传感器DS18B20、键盘和LCD显示器、电源电路及时钟电路组成。

基于mega16微控制器的温度采集系统

1.2 ATmga16功能简介

是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。与51单片机、PIC单片机等其他类型相比具有一系列的优点:采用RISC精简指令集,一个时钟周期执行一条指令,在相同的系统时钟下AVR运行速度最快;芯片内部的Flash、EEP-ROM、SRAM容量较大;所有型号的Flash、EEPROM都可以反复烧写、全部支持在线编程烧写(ISP);多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,零外围电路也可以工作;每个IO口都是用推挽驱动的方式输出高、低电平,驱动能力强;内部资源丰富,一般都集成ADC;PWM;SPI、USART、TW I、I2C通信口;丰富的中断源等。目前支持编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。

ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16有如下特点:

高性能、低功耗的8位AVR微处理器

·先进的RlISC结构

-131条指令

-大多数指令执行时间为单个时钟周期

-32个8位通用工作寄存器

-工作于16 MHz时性能高达16 MIPS

-只需两个时钟周期的硬件乘法器

·非易失性程序和数据存储器

-16 k字节的系统内可编程Flash,擦写寿命:10,000次-具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作

-512字节的EEPROM,擦写寿命:100,000次

-1 k字节的片内SRAM-可以对锁定位进行编程以实现用户程序的加密

-JTAG接口(与IEEE 1149.1标准兼容)

-符合JTAG标准的边界扫描功能

-支持扩展的片内调试功能

-通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程

·外设特点

两个具有独立预分频器和比较器功能的8位定时器/计数器,一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器;具有独立振荡器的实时计数器RTC;四通道PWM-8路10位ADC,8个单端通道,TQFP封装的7个差分通道,2个具有可编程增益(1x,10x,或200x)的差分通道;面向字节的两线接口;一个可编程的串行USART;可工作于主机/从机模式的SPI串行接口;具有独立片内振荡器的可编程看门狗定时器;片内模拟比较器。

1.3 电源电路

电源电路中采用三端稳压器7805为核心控制器,交流电通过变压器调压、桥式整流、滤波后接入三端稳压集成器7805,可以直接得到直流电源5 V,作为mega116的供电电源。

基于mega16微控制器的温度采集系统

1.4 温度数据采集模块

温度数据采集硬件电路设计如图3所示,由mega116微控制器及其外围电路模块:时钟电路、复位电路、JPAG下载模式电路等构成了单片机最小开发系统。

基于mega16微控制器的温度采集系统

时钟电路采用16M晶振产生时钟脉冲信号,温度传感器采用美国Dalls公司推出的单总线DS18B20,DS18B20的工作特点是:采用3.0~5.5 V单电源供电;测温范围为-55~+125℃,温度分辨率可达0.5℃;DS18B20内部由64位闪速ROM、触发器TH和TL、高速暂存存储器、配置寄存器和8位CRC发生器组成。DS18B20与系统之间的操作存在一个通讯协议,必须按照初始化DS18B20(发复位脉冲→发ROM功能命令→发存储器操作命令→处理数据)进行。

1. 5 JTAG下载模式电路

JTAG下载模式电路共有4个引脚,分别为:下载控制信号(TMS)引脚、时钟同步信号引脚(TCK)、数据输入引脚(TDI)、数据输出引脚(TDO)。其中JTAG下载模式下载速度相对较快,可以进行在线调试,但是JTAG下载模式不具备存储器,当掉电后下载数据将会丢失。

1.6 按键控制与显示电路

如要使用CVAVR内部提供的LCD函数,硬件连接必须按以下要求实现。1)与LCD的连接必须使用AVR的同一个8位的I/O端口,如PC(或者PA、PB、PD);2)LCD采用4位并行传输方式(即仅用DB4-DB7,4位数据总线);3)具体连接定义为(以PC口为例):4根数据线PC4-DB4,PC5-DB5,PC6-DB6,PC7-DB7,3根控制线PC0-RS,PC1-R/W,PC2-E。

LCD的硬件接口电路连接图如图4所示。

基于mega16微控制器的温度采集系统

2 系统软件设计

本次设计采用的CodeVision AVR C语言编程工具,是Atmel AVR系列微控制器而设计的一款C编译工具,可以在WIN2000、XP、Vista操作系统下运行。DS18B20与系统之间按照初始化DS18B20(发复位脉冲→发ROM功能命令→发存储器操作命令→处理数据)的通信协议进行。系统的程序流程图如图5所示。

基于mega16微控制器的温度采集系统

3 部分功能模块源程序

基于mega16微控制器的温度采集系统
基于mega16微控制器的温度采集系统
基于mega16微控制器的温度采集系统

该简单的LCD显示的演示程序全部调用的是CVAVR中的LCD函数,程序运行后,在LCD的第一行固定显示字符-It’s lcd.c ‖,在第二行滚动显示-Hello World! This is a

LCD display demo.‖



评论


相关推荐

技术专区

关闭