本來想著把他改成32的用oled屏顯示的,一直沒有時間,有程序,pcb圖,誤差還可以
可以無接觸測體溫,而且還能測環境溫度,后期可以自己加個人體感應模塊或著超聲波,
制作出來的實物圖如下:
AB54B532AA7D4C7789C21F75E5E2C3CE.jpg (204.59 KB, 下載次數: 83)
下載附件
2021-6-17 19:26 上傳
布線參考(PCB工程暫不分享,大家可以參考此圖自行畫)
51hei截圖20210617192413.png (163.3 KB, 下載次數: 81)
下載附件
2021-6-17 19:26 上傳
單片機源程序如下:
#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;}
}
51hei.png (6.78 KB, 下載次數: 84)
下載附件
2021-6-17 20:48 上傳
全部C語言程序51hei下載地址:
91、程序-MLX90614.rar
(65.33 KB, 下載次數: 157)
2021-6-17 18:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|