久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4208|回復: 4
打印 上一主題 下一主題
收起左側

51單片機無接觸測溫程序mlx90614+lcd1602顯示

  [復制鏈接]
跳轉到指定樓層
樓主
本來想著把他改成32的用oled屏顯示的,一直沒有時間,有程序,pcb圖,誤差還可以
可以無接觸測體溫,而且還能測環境溫度,后期可以自己加個人體感應模塊或著超聲波,
制作出來的實物圖如下:

布線參考(PCB工程暫不分享,大家可以參考此圖自行畫)

單片機源程序如下:
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
#include<stdio.h>         
#include<intrins.h>
#include "delay.h"
#include "1602.h"
#include "mlx90614.h"

sbit buzzer=P1^0; //引腳定義
sbit key1=P2^0;
sbit key2=P2^1;

unsigned long time_20ms;  //定時計數
char dis0[16];              //液晶數組顯示暫存
char dis1[16];
unsigned int setNum = 37; //設置值
//---------------------------------------
//Name: CALTEMP           
//Temperature data is T=(Data)*0.02-273.15
//---------------------------------------
bit rekey =0;//防止按鍵重復按下
bit disFlag =0;//更新顯示標志
unsigned int  Tem;       //溫度
float objTemp,envTemp;     //物體溫度和環境溫度

void Init_Timer0(void);     //函數聲明

void main (void)
{   
    Init_Timer0();        //定時器0初始化
                 
    LCD_Init();           //初始化液晶
    DelayMs(20);          //延時有助于穩定
    LCD_Clear();

    while (1)         //主循環
    {
        if(disFlag==1)       //顯示標志
        {
            Tem=ReadObjectTemp();     //讀取實物溫度
            objTemp=(float)(Tem)*0.02-273.15;
   
            Tem=ReadEnvironTemp();     //讀取環境溫度
            envTemp=(float)(Tem)*0.02-273.15;

            sprintf(dis0,"E: %4.1f'C   ",envTemp);//打印溫度值
            LCD_Write_String(0,0,dis0);//顯示
            sprintf(dis1,"O:%5.1f'C   %3d  ",objTemp,setNum);//打印溫度設置值
            LCD_Write_String(0,1,dis1);//顯示

            if(objTemp>setNum)
            {buzzer =0;    }    //溫度高蜂鳴器鳴叫
            else
            {buzzer=1;}        //溫度低 停止
            disFlag = 0;

        }

        if((key1 == 0)||(key2 == 0))   //有按鍵按下
        {
             if(rekey == 0)
            {
                DelayMs(10);
                if(key1 == 0)  //按鍵1按下
                {
                    rekey =1;    //防止重復按下
                    if(setNum<200) setNum++;      //++
                }
                else if((key2 == 0))//按鍵2按下
                {
                     rekey =1;    //防止重復按下
                    if(setNum>0) setNum--;        //--
                }
            }
        }
        else
        {
            rekey = 0;     //防止重復按下
        }                    
    }
}


void Init_Timer0(void)
{
    TMOD |= 0x01;      //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響            
    TH0=(65536-20000)/256;          //重新賦值 20ms
    TL0=(65536-20000)%256;
    EA=1;            //總中斷打開
    ET0=1;           //定時器中斷打開
    TR0=1;           //定時器開關打開
}

void Timer0_isr(void) interrupt 1
{
    TH0=(65536-20000)/256;          //重新賦值 20ms
    TL0=(65536-20000)%256;   
    time_20ms++;
    if(time_20ms%20==0)      //定時更新顯示
    {disFlag = 1;}
}


全部C語言程序51hei下載地址:
91、程序-MLX90614.rar (65.33 KB, 下載次數: 157)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:582255 發表于 2021-6-18 08:18 | 只看該作者
這個傳感器是去年電賽推薦的吧?
回復

使用道具 舉報

板凳
ID:990898 發表于 2021-12-12 23:14 | 只看該作者
這些頭文件是怎么調用的?
#include "delay.h"
#include "1602.h"
#include "mlx90614.h"
回復

使用道具 舉報

地板
ID:697056 發表于 2023-5-26 21:03 | 只看該作者
測量溫度準確嗎?
回復

使用道具 舉報

5#
ID:1105845 發表于 2023-12-22 21:08 | 只看該作者
有溫度補償嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人a∨高清免费观看 老司机午夜性大片 | 国产一区二区日韩 | 欧美亚洲另类丝袜综合网动图 | 亚洲精品久久久久中文字幕二区 | 欧美电影在线 | 91在线看网站 | 91精品久久久久久久久久入口 | 日韩精品在线免费观看 | 99re热精品视频| 欧美一区二区三区在线观看视频 | 女人毛片a毛片久久人人 | 国产精品不卡一区二区三区 | 一级爱爱片 | 人人爽人人爽人人片av | 欧美日韩精品在线免费观看 | 国产亚洲欧美在线 | 欧美一级片在线观看 | 美女黄18岁以下禁止观看 | 91视频免费| 色综合久久天天综合网 | 99在线精品视频 | 成年人精品视频在线观看 | 国产羞羞视频在线观看 | 免费一级黄 | 韩日精品一区 | 亚洲视频三区 | 一区二区三区在线 | 亚洲+变态+欧美+另类+精品 | 色婷婷激情 | 久久久久久久一区 | 欧美九九九 | 久久久噜噜噜久久中文字幕色伊伊 | 久久精品国产免费一区二区三区 | 美日韩视频| 国产精品国产成人国产三级 | 精品在线一区 | 日韩午夜影院 | 男人天堂色 | 成人av一区二区三区 | caoporn免费 | 99热这里只有精品8 激情毛片 |