基于MEGA6单片机温度检测系统方案

上传人:说**** 文档编号:254966151 上传时间:2022-02-16 格式:DOCX 页数:13 大小:423.40KB
返回 下载 相关 举报
基于MEGA6单片机温度检测系统方案_第1页
第1页 / 共13页
基于MEGA6单片机温度检测系统方案_第2页
第2页 / 共13页
基于MEGA6单片机温度检测系统方案_第3页
第3页 / 共13页
基于MEGA6单片机温度检测系统方案_第4页
第4页 / 共13页
基于MEGA6单片机温度检测系统方案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于MEGA6单片机温度检测系统方案》由会员分享,可在线阅读,更多相关《基于MEGA6单片机温度检测系统方案(13页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计报告基于 MEGA16单片机温度检测系统-张坤张磊黄大明(作品图)一,系统设计目的,用途,功能1 ,目的。通过基于MEGA16芯片和 DS18B20温度传感器控制温度,熟悉芯片的使用, 温度传感器的功能,实验电路板的焊接,数码显示管的使用,汇编语言的设计。锻炼团队合作能力,动手设计能力以及发现问题并且解决问题的能力。2 ,用途。温度是工业控制中主要的被控参数之一。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。本文设计了一种基于MEGA1

2、6单片机的温度测量和控制装置,能对环境温度进行测量,在温度过高时, 蜂鸣器发出蜂鸣声,有利于保障工业控制中的安全性。并且能根据温度给定值 给出调节量,控制执行机构,实现调节环境温度的目的。3 ,功能 .DS18b20温度传感器温度的精确度高达0.1 度,在许多工业控制中已经足够。可以满足从 -55 摄氏度到 +125摄氏度测量范围,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。从用途上讲,该单片机类似于温度计,但用途又不仅仅集限于温度计,由于蜂鸣器的使用,编写程序后,超过预设温度后,蜂鸣器发出蜂鸣声,为工业控制的安全保驾

3、护航。二,硬件设计思想和电路原理图下图为温度传感器驱动电路图104 电容Vcc14.7K2单片机端口318b20下图为硬件连接框架图硬件连接框架图数 码显 示管ATmega温 度传 感器芯片LED蜂鸣器硬件连接图如上.三,详细说明如何使用硬件单元1 , 七段数码管型号是LG5641AH(共阴极)的使用。该显示管总共有12个引脚,包括 a-g 和 dp 以及四个位选 g1-g4 。将 a-f 分别与ATmega芯片的 PB1-PB6连接, g1-g4分别与 PD0-PD3连接。2 ,蜂鸣器的连接。蜂鸣器的两个引脚分别与ATmega芯片的 PC2,PC1连接,其中,前者接负极, 后者接正极。3 ,

4、 DS18B20温度传感器的连接。该传感器3 个端口分别与接地口,芯片的PA7, 去耦电容 104连接。四. 软件设计流程和设计思想软件设计思想 :现在生活很多方面都要用到温度这个概念,例如在温室里需要时刻注意温度的变化,另外在一些科学实验里面,温度是一个很重要的条件,很多情况下要都对温度作很严格的要求, 往端口初始化DS18B20 初始并且进行温度采集重复调用芯片值当温度超过设定温度时,发出警报软件对芯片返回值进行转换七段数码管显示温度(使用 timer0 比较中断)五. 软件功能 :1.2.实现对温度的监视,达到实时显示的目的.实现对不适合温度的警报,方便对温度监控. ( 报警温度可人工设

5、定)六. 系统测试过程及测试数据:(1)时间:08年 6 月 8 日 13:10地点 :十二号楼 124宿舍测试对象 :室内温度设定警报温度 :31 往温度的一点不适当会引起相当大的变化, 从而影响一些重要结果的得出.因此对于环境温度的测量显得很重要.基于这一点 ,萌生了采用单片机对温度进行监视的想法.时间13:2013:2513:3013:3513:40温度30.330.430.330.330.3(2) 时间:08年 6 月 8 日 22:20地点 :十二号楼124 宿舍测试对象 :室内温度设定警报温度:31 时间22;2022:2522:3022:3522:40温度29.729.729.7

6、29.829.7七. 实验程序代码#include #include unsigned char ds1820_reset(void); unsigned int ds1820_read_temp(void);#define DQ_INDDRA &= (1 PA7)/* 设置输入 */#define DQ_OUTDDRA |= (1 PA7)/* 设置输出 */ #define DQ_CLRPORTA &= (1 PA7) /* 置 低 电 平 */ #define DQ_SET PORTA |= (1 PA7)/* 置高电平 */ #define DQ_R PINA & (1 480uS)*

7、/恢复中断状态 */if(i)elseSEI();return 0x00;return 0x01;/*DS18B20字 节 读 取 函 数 */ unsigned char ds1820_read_byte(void)unsigned char i;unsigned char value=0;flag=SREG;CLI();/*中断保护 */* 关中断 */for(i=8;i!=0;i-) value=1;DQ_OUT;DQ_CLR;NOP();/* 延 时 4uS*/NOP();NOP();NOP();DQ_SET;DQ_IN;NOP();/* 延 时 10uS*/NOP();NOP();N

8、OP();NOP();NOP();NOP();NOP();NOP();NOP();if (DQ_R)value|=0x80;delay_10us(5);/* 延 时 60uS*/if(flag&0x80)/* 恢复中断状态*/ SEI();return(value);/*DS18B20字节写入函数 */void ds1820_write_byte(unsigned char value) unsigned char i;flag=SREG;/*中断保护 */CLI();/* 关中断 */for(i=8;i!=0;i-)DQ_OUT;DQ_CLR;NOP();/* 延 时 4uS*/NOP();

9、NOP();NOP();if (value & 0x01)DQ_SET;delay_10us(7);/* 延 时 80uS*/ DQ_SET;/* 位结束 */value=1;if (flag & 0x80)/* 恢复中断状态*/ SEI();/* 启动 ds1820转换 */ void ds1820_start(void) ds1820_reset();ds1820_write_byte(0xCC);/* 勿略地址 */ ds1820_write_byte(0x44);/* 启动转换 */*DS8B20读 取 温 度 信 息 */ unsigned int ds1820_read_temp(void) unsigned int i; unsigned char buf9;ds1820_reset();ds1820_write_byte(0xCC);/* 勿略地址 */ ds1820_write_byte(0xBE);/* 读取温度 */ for (i = 0; i 9; i+)bufi=ds1820_read_byte();i=buf1; i=3) poist=0;void feng(unsigned i)if(i=31)PORTC=0x83;else PORTC=0x01;void main(void)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号