40、基于51单片机的mlx90614红外测温仪设计上下限声光报警系统设计

毕设帮助、开题指导、技术解答(有偿)见文末。

目录

摘要

一、硬件方案

二、设计功能

三、实物图

四、原理图

五、程序

部分代码

六、资料包括


摘要

以AT89C52单片机为核心,设计了一种集红外测温、数值显示、高温报警及金属探测为一体的安检仪。该安检仪以高频振荡原理为基础,通过调节高频振荡器的增益电位器,使振荡器工作在临界振荡状态,也就是说刚好使振荡器起振。当探测线圈L1靠近金属物体时,由于电磁感应现象,会在金属导体中产生涡电流,使振荡回路中的能量损耗增大,正反馈减弱,处于临界态的振荡器振荡减弱,甚至无法维持振荡所需的最低能量而停振。如果能检测出这种变化,并转换成声音信号,根据声音有无,就可以判定探测线圈下面是否有金属物体了。本设计带有温度检测和金属探测两大功能,可根据特殊情况进行调节,以达到目标要求。经过实际测试,能够实现所有功能,且性能稳定。

关键词:红外,温度,单片机

一、硬件方案

本系统采用51单片机+LCD1602+mlx90614红外测温模块+按键+蜂鸣器等而成。

二、设计功能

1.本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用)

2.设计自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。

3.可以通过mlx90614红外测温模块实时测当前的温度值。

4.通过1602液晶显示当前的温度值,还显示设置的上限和下限温度值。

5.可以通过按键设置温度的上限和下限值。

6.检测到当前的温度值超过设置的上限值则蜂鸣器报警。

三、实物图

四、原理图

五、程序

部分代码

 
	
	SectorErase(0x2000);
	byte_write(0x2000, y1);
	byte_write(0x2001, y2);
	byte_write(0x2002, y3);
	byte_write(0x2003, y4);
	
	byte_write(0x2058, a_a);		
}
 
/******************把数据从单片机内部eeprom中读出来*****************/
void read_eeprom()
{
	uchar y1,y2,y3,y4;
	
	y1 = byte_read(0x2000);
	y2 = byte_read(0x2001);
	y3 = byte_read(0x2002);
	y4 = byte_read(0x2003);
  
	
	a_a    = byte_read(0x2058);
	
	Max_Tem=y1*256+y2;
	Min_Tem=y3*256+y4;
	
}
 
/**************开机自检eeprom初始化*****************/
void init_eeprom()
{
	read_eeprom();		//先读
	if(a_a != 1||Key_2==0)		//新的单片机初始单片机内问eeprom
	{
		Max_Tem=3700;
		Min_Tem=1000;
		a_a = 1;
		write_eeprom();	   //保存数据
	}	
}
 
//************************************
void start_bit(void)
{
    SDA=1;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SCL=1;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SDA=0;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SCL=0;
	  _nop_();_nop_();_nop_();_nop_();_nop_();
}
//------------------------------
void stop_bit(void)
{
    SCL=0;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SDA=0;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SCL=1;
    _nop_();_nop_();_nop_();_nop_();_nop_();
    SDA=1;
}
//---------发送一个字节---------
void tx_byte(uchar dat_byte)
{
    char i,n,dat;
    n=Nack_counter;
TX_again:
    dat=dat_byte;
    for(i=0; i<8; i++)
    {
        if(dat&0x80)
            bit_out=1;
        else
            bit_out=0;
        send_bit();
        dat=dat<<1;
    }
    receive_bit();
    if(bit_in==1)
    {
        stop_bit();
        if(n!=0)
        {
            n--;
            goto Repeat;
        }
        else
            goto exit;
    }
    else
        goto exit;
Repeat:
    start_bit();
    goto TX_again;
exit:
    ;
}
//-----------发送一个位---------
void send_bit(void)
{
    if(bit_out==0)
        SDA=0;
    else
        SDA=1;
    _nop_();
    SCL=1;
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
    SCL=0;
    _nop_();_nop_();_nop_();_nop_()

六、资料包括

需要完整的资料可以点击下面的名片,找我要资源压缩包的百度网盘下载地址及提取码。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于51单片机MLX90614红外测温仪实验指导书(含源代码) MLX90614 MLX90615 红外测温 51单片机 SMBus 这是经过本人实验测试得到的成果,再次将之分享给大家,希望对搞温度测量及控制的人有所帮助!时钟线 数据线 温度显示第个数码管段选 温度显示第个数咼管段迮 温度显示第个数码管段选 矩阵键盘第列 矩阵键盘第列 矩阵键盘第列 矩阵键盘第行 矩阵键盘第行 矩阵键盘第行 数据定义 可位寻址数据 数码管码值定义 显示代码,共阳不带小数点的 显示代码,共阳带小数点的 仝局变量定义 定时标志位 定时毫秒数 向写入命令或数据 数据 清屏 光标返回原点 设置显示模式 显示开 显示关 显示光标 无光标 光标闪动 光标不闪动 设置输入模式 光标石移 默认光标左移 田面可半移 默认画面不移动 命令模式 对操作 操作 进入命令模式 退出命令模式 读标志 进入睡眠馍式 地址(只读) 周围温度 环境温度 单元 目标温度红外温度 单元 地址 测量范围上限设定 测量范围下限设定 设定 环境温度设定 频率修正系数 配置寄存器 器件地址设定 保留 保留 地址 地址 地址 地址 函数声明 发起始位子程序 发结東位子程序 接收字节子程序 发送位子程序 接收字节子程序 接收位子程序 延时程序 读温度数据 初始化子程序 判断忙子程序 写命令子程序 写数据子程序 显示子程序 字符串显示程序 主函数 温度变量 初始化 每 扫描一次键盘 按下键时,进行数码管显示 液品屏显示 读取温度 清屏 显示字符串 且换行 显示温度 显示摄氏度 延吋再读取温度显 字符串显示稈序 字符串显示程序 直到字符肀结束 转成码 指向下一个字符 输入转换并显示用于 温度为止 温度整数 温度小数 温度超过度 显示温度百位 显小温度十位 显示温度个位 温度超过度 显小温度十位 显示温度个位 温度不超过度 显示温度个位 显示小数点 温度小数点后第位数不等于 显示温度小数点后第位数 显示温度小数点后第位数 温度小数点斤第位数等于 显示温度小数点后第位数 显示温度小数点后第位数 温度为负

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冠一电子设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值