基于mega16单片机温度检测系统设计 大学学位论文.doc
文本预览下载声明
单片机课程设计报告 基于MEGA16单片机温度检测系统
(作品图)
一,系统设计目的,用途,功能
1,目的。通过基于MEGA16芯片和DS18B20温度传感器控制温度,熟悉芯片的使用,温度传感器的功能,实验电路板的焊接,数码显示管的使用,汇编语言的设计。锻炼团队合作能力,动手设计能力以及发现问题并且解决问题的能力。
2,用途。 温度是工业控制中主要的被控参数之一。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。本文设计了一种基于MEGA16单片机的温度测量和控制装置,能对环境温度进行测量,在温度过高时,蜂鸣器发出蜂鸣声,有利于保障工业控制中的安全性。并且能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。
3,功能.DS18b20温度传感器温度的精确度高达0.1度,在许多工业控制中已经足够。可以满足从-55摄氏度到+125摄氏度测量范围,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。从用途上讲,该单片机类似于温度计,但用途又不仅仅集限于温度计,由于蜂鸣器的使用,编写程序后,超过预设温度后,蜂鸣器发出蜂鸣声,为工业控制的安全保驾护航。
二,硬件设计思想和电路原理图
下图为温度传感器驱动电路图
18b20
下图为硬件连接框架图
硬件连接图如上.
三,详细说明如何使用硬件单元
1,七段数码管型号是LG5641AH(共阴极)的使用。
该显示管总共有12 个引脚,包括a-g和dp以及四个位选g1-g4。将a-f分别与ATmega芯片的PB1-PB6连接,g1-g4分别与PD0-PD3连接。
2,蜂鸣器的连接。
蜂鸣器的两个引脚分别与ATmega芯片的PC2,PC1连接,其中,前者接负极,后者接正极。
3,DS18B20温度传感器的连接。该传感器3个端口分别与接地口,芯片的PA7,去耦电容104连接。
四.软件设计流程和设计思想
软件设计思想:
现在生活很多方面都要用到温度这个概念,例如在温室里需要时刻注意温度的变化,另外在一些科学实验里面,温度是一个很重要的条件,很多情况下要都对温度作很严格的要求,往往温度的一点不适当会引起相当大的变化,从而影响一些重要结果的得出.因此对于环境温度的测量显得很重要.基于这一点,萌生了采用单片机对温度进行监视的想法.
五.软件功能:
实现对温度的监视,达到实时显示的目的.
实现对不适合温度的警报,方便对温度监控. (报警温度可人工设定)
六.系统测试过程及测试数据:
(1) 时间:08年6月8 日13:10
地点:十二号楼124宿舍
测试对象:室内温度
设定警报温度:31℃
时间 13:20 13:25 13:30 13:35 13:40 温度 30.3 30.4 30.3 30.3 30.3
(2)时间:08年6月8日22:20
地点:十二号楼124宿舍
测试对象:室内温度
设定警报温度:31℃
时间 22;20 22:25 22:30 22:35 22:40 温度 29.7 29.7 29.7 29.8 29.7
七.实验程序代码#include iom16v.h
#include macros.h
unsigned char ds1820_reset(void);
unsigned int ds1820_read_temp(void);
#define DQ_IN DDRA = ~(1 PA7) /*设置输入*/
#define DQ_OUT DDRA |= (1 PA7) /*设置输出*/
#define DQ_CLR PORTA = ~(1 PA7) /*置低电平*/
#define DQ_SET PORTA |= (1 PA7) /*置高电平*/
#define DQ_R PINA (1 PA7) /*读了电平*/
unsigned char flag; /*中断标志缓存*/
/*
延时函数
延时时间:i X 10 + 16uS。
CPU频率为:1MHz。
*/
void delay_10us(unsigned char i) {
if(i==0)
{
return ;
}
显示全部