ATMEGA48是一个性价比非常好的单片机,它有1个10位的逐次逼近型ADC(模数转换器),这在同价位的单片机中是非常少见的。它有4K字节的系统内可编程Flash,256字节的EEPROM,其擦写寿命约为100,000次,还有512字节的片内SRAM。
ATMEGA48的ADC(模数转换器)具有如下特点:10位精度、0.5LSB的非线性度、±2LSB的绝对精度、65-260μs的转换5寸间、最高分辨率时采样率高达l5kSPS、6路复用的单端输入通道、2路附加的复用单端输入通道(TQFP与MLF封装)、可选的向左调整ADC读数、0-VCC的ADC输入电压范围、可选的1.1VADC参考电压、连续转换或单次转换模式、ADC转换结束中断、基于睡眠模式的噪声抑制器。这些特性足以满足较高的精度要求。
一、设计总体思路
单片机上电初始化后,不断对传感器电路的电压进行模数转换,通过查表,计算出温度值,然后送显示模块显示出当前的温度值,流程如下图。
二、主要电路介绍
A、传感器电路:传感器电路如下图。温度传感器采用热敏电阻{下图中的PT),通过热敏电阻与一个10.5KΩ电阻串联分压后,获得与温皮相对应的电压。为了使分压电阻精确到0.1%,可用一个1OKΩ的电阻与一个1KΩ的精密电位器串联,通过调节精密电位器来荻得精确的10.5KΩ的分压电阻。分压后再通过一个简单的滤波电路接入到单片机的ADC输入曹脚上去。
B、单片机处理与显示电路:单片机和数码管显示部分电路图如上图。这里我们采用的是共阴极数码管,ATMEGA48输出口驱动能力很好,可以直接驱动普通小型数码管,并且不需要限流电阻,如果读者认为不稳妥,可以添加300Ω的段限流电阻。ATMEGA48单片机内部有经过标定的片内RC振荡器,而ATMEGA48默认的是使用片内RC振荡器,这样就省去了外部晶振,也就省去了外部时钟,从而增强了系统的抗干扰性。单片机的复位电路视需要可有可无,在这里为了使装置稳定起见,使用了简单的复位电路,如下图。
C、单片机复位电路:ATMEGA48单片机的外部复位信号为低电平有效。在线下载采用标准接口,在线可编程(ISP)。
D、电源电路:如下图所示。采用220/8V、3W的变压器,4个1N4007二极管组成桥式整流电路,使用三端稳压器LM7805产生稳定的5V工作电压。
本设计只有温度测量和显示功能,也可以在这个基础上添加温度报警、温度控制、温度数值传输等功能。本设计元件少,价格低,性能稳定,适用于初学单片机者制作、改进。
三、整体电路如下图所示
四、程序
程序采用C语言来设计,使用C语言来设计有这样的妤处:不懂得单片机的指令集,也能够编写完美的单片机程序:
无须懂得单片机的具体硬件,也能够编出符合硬件实际的专业水平的程序,如下图。编译环境采用ICCAVR,操作简单、方便。