基于Atmega16a单片机测温实验

合集下载

基于ATmega16的压力传感器温度补偿智能化设计

基于ATmega16的压力传感器温度补偿智能化设计

给出了经过温度补偿后得到的测试结果,整体数据呈现较高的
kPa,误差为旦学 测量准确度,可以计算出最大测量误差发生在温度为45℃,标
定压力为100
×100%=0.29%,准确
图4、图5是压力传感器Sl、s2分别在温度为40℃、一lO ℃补偿前后的测试结果曲线图。图中Y,代表理想标定直线,托 代表补偿后的测试压力,乃代表没有经过补偿测试的压力值。 由图4可知,扎与Y。也存在明显偏移,且位于Y.的下部,表明 压力传感器sl由常温变化到加℃,输出电压发生偏移,且变 小;经温度补偿后,测试压力曲线扎与Y。几乎重合,且呈现很 好的线性。
度较高的测试要求。
圈4压力传感器Sl温度补偿前后测试结果 表1温度补偿前压力传感器S1、s2的输出电压
Sl 55
s2
测试温度 传感器
/oC
Sl —30
s2
Sl 一15
s2
S1 35
52
一0.322 0 —0.059 0
11.9160 12.358 0
24.190 0 24.802 0
36.504 0 37.293 0
连时,必须接一个4.7 kQ的上拉电阻。
ATmegal6接口电路图,见图2。

vcc。

_L

Jl陪 —_ L—。 =Cl
1. 1。
旧F
ห้องสมุดไป่ตู้




=倪 一
_—_
曰3
L..
.上C 6
=U1
工仉
=e● C17
AtNl+AlN2+ A玎Nl—AⅡq2一
Cl
VREF+
c2
VREF—
VA+DGND

基于Atmega16的多点温湿度测控系统设计

基于Atmega16的多点温湿度测控系统设计
模 块 。系统 方框 图如 图 l 所示 。
图 1 总体方框 图
3 系统 硬 件 设 计
系统 硬件 主要 由控制 电路 与检测 电路组成 。控 制 电路负 责处理 按键 、 温湿度 的信 息 、 制 电机 、 制蜂 呜器 、 控 控
L D; E 检测电路负责检测温度信息 、 湿度信息 、 烟雾信息 。此外, 硬件电路还有显示电路 、 键盘扫描电路等 。
有 稳定性 好 、 精度高等 特点 , 有一定 的应 厢价值。
关 键 词: 单片机 ; 粮情测控 ; 传感 器
文献标识码 : A 中 图分 类号 : ) 3 T1 9 3
1 引言
粮食测温技术的研究始于 2 0世纪 7 0年代 , 是科学储粮的关键技术之一 。目前粮情测控系统已具有各粮食 温湿 度检测 、 温报警 、 生 成 各 种报 表 、 超 自动 自动 存储 历 史数 据 并 据 此 自动 生 成 粮温 变 化 曲线 等 众 多 功 能 。 以
分别进 行设计 。 () 1 温度 检测 电路设计
采用数 字温度传 感器 DS8 2 IB 0对温 度进行 检测 。 由 于进行 温 度检 测 的 对象 是粮 库 , 其面 积 较大 , 以对仓 所 库进行 分组 。对一个 库将 它划 分成 8个 区域 , 个 区域 设置 l 检测 点 。通过 多路选 择 开关 C 45 进 行 控 制 每 2个 D 01 8个 区域 的检测 信号进行 选通 输入 。 D 1B 0是美 国 D ls S8 2 aa 半导 体公 司 的产品 , 采用 1 i 总线 技术 。将 地址线 、 l 它 - r W e 数据线 、 控制 线合 为 1 信 根 号线 , 允许在这 根信 号线 上挂 接 多个 1 i 总 线 器件 。 1Wi - r W e - r 线 技 术具 有 节 省 IO 资 源 , 构 简 单 、 本低 e总 / 结 成 廉、 便于 总线 扩展 和维护 等优 点 。 D 1B 0测量温 度时使 用特 有 的温度 测量技 术 ; S8 2 可提 供 9 1 ( ~ 2位 二进 制 )的数据 来 指示 传 感 器 温度 ; 据 数 信息 从 D 1B 0之 间只需一 根 数 据线 ( S8 2 和地线 )连接 即可 ; 1B 0的测 温 范 围从 一5℃ ~ +15 , 一l℃ DS8 2 5 2" 在 C 0

基于ATmega16单片机的实时温度采集与分析系统

基于ATmega16单片机的实时温度采集与分析系统

基于ATmega16单片机的实时温度采集与分析系统田国栋;李强【期刊名称】《电子设计工程》【年(卷),期】2012(020)007【摘要】Temperature is an important parameter in industrial and agricultural production,it has a direct impact on product quality and performance.An the system of current time temperature gather and analysis based on ATmage16-microcontroller and temperature sensor is put forward.This system introduced the ATmage16-microcontroller as the core,and the automatic control device of GTJ4-10A solid state relays and digital temperature sensor of DS18B20,alarm and indicator circuit etc,it based on the MFC software process in the analysis.Including draw the temperature curve,and save the value of temperature,and display the history records of the temperature etc.After boil water temperature of the tes t,The system is reliable and easy to analyze,error is in 0.5 ℃.It can meet the requirements of industrial and agricultural production.%温度是工农业生产中很重要的的参数,它直接影响到产品的质量与性能。

ATmega16的DS18B20测温程序

ATmega16的DS18B20测温程序
//DS18B20初始化程序 uchar ds18b20_reset() {
unsigned char errTime=0;//用于循环计数
DQ_OUT;//先设置成输出 DQ_CLR;//总线拉低
Delay_Us(500);//保持500us(最小为480us,最大为960us) DQ_IN;//1 _NOP(); while(DQ_R)//探测 IO 引上是上升沿 {
uchar i; for(i=0;i<8;i++)//1个字节有8位,1位1位的传输
{ DQ_OUT;//先设置成输出 DQ_CLR;//总线拉低 Delay_Us(10);//按照写1时序,在15us 中完成所以延时10us if(value&0x01)//判断此时写入的值是1还是0 { DQ_SET;//如果是1,总线拉高,使得18B20能采样 } else DQ_CLR; Delay_Us(100);//如果是0(低电平)就不用管,继续延时(15+15+30=60us,100us 足够) DQ_SET;//释放总线 value=value>>1;//每次传输完后移位 } } uint ds18b20_read_byte(void)//18B20读一个字节的程序 { uint i,value;
for(i=0;i<8;i++) {
value=value>>1;//移位,最后一次读正好是最高位 DQ_OUT;//先设置成输出 DQ_CLR;//总线拉低 Delay_Us(10);//>1us,<15us 控制器读1时序 DQ_SET;//总线释放准备采样 DQ_IN;//采样,设置成输入 if(DQ_R)//如果读到的值是1 { value|=0x80;//从低位开始读取 } Delay_Us(50);//>45us } return value; } //读取温度值先读取暂存器的值在进行温度转换否则会意外出错 unsigned int readTempDS18B20(void) {

基于ATmega16L的数字电子体温计的设计

基于ATmega16L的数字电子体温计的设计

3 2
洛阳理工学院学报( 自然科学版)
第2 4 卷
2 系统硬件设计
2 . 1 单片机控制模块
A T me  ̄ a l 6 L是一 款 高 性 能 、低 功 耗 的8 位A VR微 处 理器 ,具 有 先进 的RI S C结 构 , 内部有 大 容 量 的 R OM、R AM、 F l a s h 和E E P R OM,集 成4 通道P W M,S P I 串行外 设接 口, 同时具有 8 路l 0 位A / D 转换器, 对于数 据采 集系统 而言 ,外部无 需 单独 的A/ D 转 换器 ,从而 可节 省成 本p l 。系统 电路 原理 图如 图2 所 示 。单 片机接 口资源 分配 如下 : 端 口A ( P A7 ~ P A 0 ) :P A0 作 为单线 数字 温度计 D S I 8 B 2 0 信 号输 入端 ,P A 3 — 5 端为1 6 0 2 液 晶显 示器 的控 制
优 点。
关键词 :数字电子体 温计 ;单 片机 ;液 晶显示
DOI : 1 0 . 3 9 6 9 / i . i s s n . 1 6 7 4 - 5 0 4 3 . 2 01 4 . O 1 . 0 0 9
中图分 类号 : T P 3 3
文献标志码: A 文章编号: 1 6 7 4 — 5 0 4 3 ( 2 0 1 4  ̄1 — 0 0 3 1 - 0 5

要 :采 用A T me l  ̄ a l 6 L 单 片机 作 为主 控 芯片,结合温 度传感 器 、轻触按 键 、液 晶显示 器及软 件程序 ,设计 了 种 高精度 的数字 电子体温计 .该温度 计 能够 实 时监 测人 体温度 ,手动设 定温度 上限和下 限,并能够在 温度 超

《单片机原理与应用》课程设计基于atmega16实现的电压和温度的采集及液晶显示系统

《单片机原理与应用》课程设计基于atmega16实现的电压和温度的采集及液晶显示系统

课程设计任务书学生姓名:专业班级:自动化0501班指导教师:工作单位:自动化学院题目: 电压和温度的采集及液晶显示要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)系统能够测量环境温度,测量范围0-100摄氏度。

(2)系统能够测量给定电压,测量范围0-5V。

(3)电压测量精确到0.01伏,温度测量精确到0.1摄氏度。

(4)具有液晶实时显示当前电压及温度的功能。

时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (3)1. 硬件选择及各模块组成 (4)1.1设计原理 (4)1.2器件选择及基本原理 (4)1.2.1 模数转换模块 (5)1.2.2 ATmega16芯片模块....................... 错误!未定义书签。

1.2.3 DS18B20模块 (6)1.2.4 液晶显示器模块 (7)2各模块实现方法说明及整体电路图 (9)2.1 温度采集.................................... 错误!未定义书签。

2.2 电压采集 (9)2.3液晶中文显示 (10)2.4整体电路图 (10)3.软件设计 (11)3.1程序设计流程图 (11)3.2源程序 (11)4 仿真调试结果 (12)总结 (13)参考文献: (14)附录1 (15)主程序源程序: (15)显示驱动程序源程序: (22)摘要此次课程设计是基于ATmega16实现的电压和温度的采集及液晶显示系统。

该系统主要包括控制器、温度传感器、外部参考电压及测试电压、液晶显示器几个硬件部分。

控制器采用的8位AVR系列单片机-ATmega16,有高性能、低功耗等优点,电压采集是通过单片机内部的数模转换器实现的;温度传感器则采用DS18B20实现,该传感器有低功耗单总线控制的特点,显示部分采用控制芯片为KS0108的12864液晶显示器,通过单片机的I/O口直接驱动。

基于单片机ATmega16的无线温度监测系统

基于单片机ATmega16的无线温度监测系统
中 图分 类 号 :P 1 T 22 文献标识码 : A
0 引言
随着社会的发展和进步 , 越来越 多的场合对温度的要求
日臻 严 格 , 度 监 控 系 统 的应 用 日趋 受 到 重 视 。 在农 业 发 展 温
盟度传感器模块
液晶显 示模块
鼠传 器 块 度 感 模
MU " V 电 源 C - 5供 电 t A el tg6 ma j
骤:
节点温 度测 量系统构成 如图 2所 示 , 系统核心控 制芯片
采用 A R系列 的单 片机 A m gl 。这 是一 款精 简指令 集 V T ea6 的单 片机 , 高速度 、 低功耗 , 具有 Sep 能及 C S技术 , l 功 e MO 并 具有高度保密性 , 可多次烧写 的 Fah 具有 多重密码保 护锁 ls , 死 功能 。另外 内置看 门狗定 时器 ( T) WD 和片 内有 R C振 荡 器, 使用起来 非常方便 。具 有休 眠省电功能和闲置低功耗
C U将数据线下拉 50 , P 0 然后释放 , D 1B0 到信号 当 S8 2 收
1 无线温 度监控 系统 构成
系统主要 由两部 分组成 。如图 1 所示 , 第一部分是 节点 温度测量系统 , 第二部分是温度显示管理终端 。节点 温度测
何外围元件 , 量 结 果 以 9—1 测 2位 数 字量 方 式 串行 传 送 。
D 1B 0内部结构主要 由四部分组成 :4位光刻 R M、 S8 2 6 O 温度
盟传 器 块 度 感模 I ¨
』 无 收 模 H 天 线 发块 线
图 2 节点温度测量 系统框 图
讯 。使用 D 1B 0可 以节省 系统 资 源 、 系统结 构更 趋 简 S82 使 单 。D 1 B 0测 温范围是 一 5℃ ~+15℃ , S8 2 5 2 固有测温分辨 率 05℃ 。工作 电源 为 3V~ / C . 5V D 。在 使用 中不 需要任

ATMEGA16单片机实验

ATMEGA16单片机实验

实验一软件和硬件的认识一、实验目的:1、掌握硬件原理。

2、初步掌握实验板的使用方法。

3、熟悉软件工作界面。

二、实验仪器:ATmage16实验板一块PC机一台三、实验内容及步骤:1、插上电源,按下开关。

观察批示灯是否点亮。

电源(可输入7~12V)ATmega16管脚图2、由原理可知I/O口的批示灯为低电平亮,在实验板上取地与I/O口相接,观察是否点亮。

I/O口LED显示与接口3、打开编程界面,点击各栏,认识各栏的用途。

A VRICC IDE 软件的工作界面4、输入以下程序:#include <iom16v.h>int main(void){DDRA = 0xff;/* all outputs */DDRB = 0xff;/* all outputs */DDRC = 0xff; /*all outputs */DDRD = 0xff; /*all outputs */PORTA = 0x00; /* 输出低电平*/PORTB = 0x00; /* 输出低电平*/PORTC = 0x00; /* 输出低电平*/PORTD = 0x00; /* 输出低电平*/while(1);}观察I/O口的灯是否被点亮。

实验二I/O口的输入与输出一、实验目的:1、了解IO口的结构;2、熟悉IO口的特性;3、掌握IO口的控制。

二、实验仪器:ATmage16实验板一块PC机一台三、实验原理:作为通用数字I/O 使用时,A VR 所有的I/O 端口都具有真正的读-修改-写功能。

这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻) 时不会改变其他管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻)。

输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。

所有的端口引脚都具有与电压无关的上拉电阻。

并有保护二极管与VCC 和地相连,如Figure23 所示。

在控制I/O时,分别由方向寄存器DDRX与数据寄存器PORTX控制I/O的状态,如下表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

青岛科技大学开放实验报告院校:专业:电气工程及其自动化年级:13级1班实验名称:基于Atmega16a单片机测温实验姓名:学号:同组者姓名:同组者学号:指导教师:基于ATmega16a的温度测量及显示系统摘要:在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的日常生活中,温度测量是十分重要的。

在环境监测、蔬菜大棚、粮库、设备运行的可靠性等应用中,实时采集温度信息,及时发现潜在故障,并采取相应的处理措施,对确保设备良好运行具有重要意义。

本设计是采用Atmega16a单片机为核心的温度测量系统。

采用LM35温度传感器来采集温度信号,并以电压的形式输送给单片机。

显示部分用LCD1602液晶显示器。

文中介绍了该系统的部分硬件,包括:单片机最小系统,温度检测电路,LCD1602显示电路。

文中还着重介绍了该系统的软件部分。

关键词:单片机;温度;测量;显示Based on the ATmega8a temperature measurement anddisplay systemAbstract: In the national economy departments, such as electric power, chemical industry, machinery, metallurgy, agriculture, medicine, and People's Daily life, temperature measurement is very important.In environmental monitoring, vegetable greenhouses, grain depot, the reliability of the equipment operation and other applications, the real-time temperature information collected, timely found potential failure, and take corresponding measures, to ensure the equipment running is of great significance.This design is to use Atmega16a MCU as the core temperature measurement ing LM35 temperature sensor to collect the temperature signal, and in the form of voltage to e LCD1602 LCD display part.This paper introduces the parts of the system hardware, including: single chip microcomputer minimum system, temperature detection circuit, LCD1602 display circuit.The paper also introduces the software part of the systemKey words: MCU; temperature;measurement;According to目录⏹系统设计要求⏹系统设计方案1.传感器方案2.单片机方案3.显示方案⏹系统硬件电路1.单片机最小系统电路2.LCD1602液晶显示电路3.LM35温度采集电路⏹系统程序设计⏹附录⏹参考文献一、系统设计要求■基本范围:0 ℃—150 ℃■精度误差小于0.5 ℃■ LCD1602液晶显示二、系统设计方案1.传感器方案①选择由National Semiconductor 所生产的LM35温度传感器,其输出电压为摄氏温标。

LM35是一种得到广泛使用的温度传感器。

由于它采用内部补偿,所以输出可以从0℃开始。

图一:LM35封装LM35有多种不同封装型式。

在常温下,LM35 不需要额外的校准处理即可达到±1/4℃的准确率。

其电源供应模式有单电源与正负双电源两种,其引脚如图一所示,正负双电源的供电模式可提供负温度的量测;两种接法的静止电流-温度关系,在静止温度中自热效应低(0.08℃),单电源模式在25℃下静止电流约50μA,工作电压较宽,可在4—20V的供电电压范围内正常工作非常省电。

工作电压4~30V,在上述电压范围以内,芯片从电源吸收的电流几乎是不变的(约50μA),所以芯片自身几乎没有散热的问题。

这么小的电流也使得该芯片在某些应用中特别适合,比如在电池供电的场合中,输出可以由第三个引脚取出,根本无需校准。

规格参数1、工作电压:直流4~30V;2、工作电流:小于133μA3、输出电压:+6V~-1.0V4、输出阻抗:1mA负载时0.1Ω;5、精度:0.5℃精度(在+25℃时);6、漏泄电流:小于60μA;7、比例因数:线性+10.0mV/℃;8、非线性值:±1/4℃;9、校准方式:直接用摄氏温度校准;10、额定使用温度范围:-55~+150℃。

11、引脚说明:①电源负GND;②电源正VCC;③信号输出S;传感器参数供电电压35V到-0.2V输出电压6V至-1.0V输出电流10mA指定工作温度范围LM35D 0℃ to +100℃2.单片机方案②选择AVR系列单片机ATmega16a;• 高性能、低功耗的 8 位AVR® 微处理器• 先进的RISC 结构– 131 条指令–大多数指令执行时间为单个时钟周期– 32个8 位通用工作寄存器–全静态工作–工作于16 MHz 时性能高达16 MIPS–只需两个时钟周期的硬件乘法器• 非易失性程序和数据存储器– 16K 字节的系统内可编程Flash擦写寿命: 10,000 次–具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统内编程真正的同时读写操作– 512 字节的EEPROM擦写寿命: 100,000 次– 1K字节的片内SRAM–可以对锁定位进行编程以实现用户程序的加密• JTAG 接口( 与IEEE 1149.1 标准兼容)–符合JTAG 标准的边界扫描功能–支持扩展的片内调试功能–通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程• 外设特点–两个具有独立预分频器和比较器功能的8 位定时器/ 计数器–一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器–具有独立振荡器的实时计数器RTC–四通道PWM– 8路10 位ADC8 个单端通道TQFP 封装的7 个差分通道2 个具有可编程增益(1x, 10x, 或200x)的差分通道3.显示方案③选择JHD1602液晶显示器,其可以显示两行,各引脚功能:其中第3脚VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

三、系统硬件电路1.单片机最小系统电路2.LCD1602液晶显示电路3.LM35温度采集电路四、系统程序设计1.初始化单片机端口2.初始化LCD1602液晶显示器3.设置定时器,每10ms溢出中断一次4.每10ms采集一次温度数值,采集10次求平均5.计算出温度数值,并显示五、附录1.实物图2.程序源代码#include"iom16v.h"#include"macros.h"#define F_CPU 12000000UL#define RS PD0#define RW PD1#define EN PD2#define uint unsigned int#define uchar unsigned charint yan[10];volatile int flagT0=0;volatile int dataAD;int count;void Daley(uint a){uint i,j;for(i=0;i<a;i++)for(j=100;j>0;j--);}void lcd_write_Data(int Data){PORTD&=~BIT(EN);PORTD|=BIT(RS);PORTB=Data;PORTD|=BIT(EN);Daley(10);PORTD&=~BIT(EN);}void lcd_write_Cmd(uchar Cmd){PORTD&=~BIT(EN);PORTD&=~BIT(RS);PORTB=Cmd;PORTD|=BIT(EN);Daley(10);PORTD&=~BIT(EN);}void lcd_init(){DDRD|=BIT(RS)|BIT(RW)|BIT(EN);DDRB=0XFF;PORTD&=~BIT(RW);lcd_write_Cmd(0X38);lcd_write_Cmd(0X01);lcd_write_Cmd(0X06);lcd_write_Cmd(0X0C);}void ADC_init(){DDRA&=~BIT(PA0);PORTA&=~BIT(PA0);ADMUX|=BIT(REFS1)|BIT(REFS0);//选择2.56v片内基准电压;ADMUX&=0XF0;//选择ADC通道为PA0;ADCSRA|=BIT(ADEN);}int ADC_zhuanhuan(){int adcResult;ADCSRA|=BIT(ADSC);while(ADCSRA&0X40);//等待转换adcResult=ADCL;adcResult+=(ADCH<<8);//读取转换结果return(adcResult);}int wendu(int wen){int m;m=wen*2.5;//计算传感器输出电压,mvreturn(m);}void iniTimero(){TIMSK=0X01;//T0溢出中断使能TCCR0=0X05;//分频设置为1024TCNT0=256-F_CPU/1024*0.01;//设定定时时间为10ms}#pragma interrupt_handler T0_isr:10//设定T0_isr()为中断函数,中断向量为10void T0_isr(){int a;int b=0;TCNT0=256-F_CPU/1024*0.01;//重载定时器,时间10msyan[count]=ADC_zhuanhuan();//读取ADC数据,读10次count++;if(10==count)//对10次读取的数据求平均{for(a=0;a<10;a++)b+=yan[a];dataAD=b/10+0.5;flagT0=1;count=0;}}int main(){int tamp;int T=0;int h,f,e;lcd_init();//lcd初始化;ADC_init();//ADC初始化;ADC_zhuanhuan();//adc转换,第一次结果不要iniTimero();//T0定时器初始化;SREG|=BIT(7);//开全局中断使能;while(1){if(1==flagT0){tamp=dataAD;T=wendu(tamp);flagT0=0;lcd_write_Cmd(0x01);h=T/100;f=T/10%10;e=T%10;lcd_write_Data(0x30+h);lcd_write_Data(0x30+f);lcd_write_Data(0xa5);lcd_write_Data(0X30+e);lcd_write_Data(0xdf);lcd_write_Data(0x43);}}}六、参考文献①LM35温度传感器使用手册②Atmega16单片机手册③LCD1602使用说明。

相关文档
最新文档