- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.通过本实验掌握MLX90614的原理。
2.通过实验掌握数码管基本原理
3.通过实验掌握矩阵键盘的使用
4.通过实验掌握1602的使用
二.实验内容
通过MLX90614非接触式测得物体温度
三.实验器材
1.主控屏+5V电源
2.DCP-PRJ09红外测温仪
四.实验原理图
五.实验步骤
接上电源
2.运行Keil u Vision软件,新建一个工程,新建一个工程文件。将文件添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功
4.用编程器将生成的HEX文件烧写到单片机中,或用STC单片机专用的串口烧写软件,通过MAX232串口烧写到单片机中(只能用于STC单片机)。或用仿真器来执行程序,将程序下载到仿真器中,具体方法请参考仿真器的使用一节。用编程器将生成的HEX文件烧写到单片机中。
5.程序下完后可以看到液晶屏有温度显示,用手掌覆盖红外传感器上方2cm处,看到此时液晶屏温度即为手掌的表面温度。
6.按下1键可以看到数码管显示,用手掌覆盖红外传感器上方2cm处,看到此时数码管温度即为手掌的表面温度。此时液晶屏温度保持不变。
7.按下除1键其他键,此时液晶屏又重新显示温度。
实验代码如下:
//----------------------------//说明:显示分为2部分:数码管显示,液晶屏显示
//按1键数码管显示,此时液晶屏保持静止
//复位时或按除1键外其他键时,液晶屏显示,数码管熄灭
//-------------------------------------------------------------------------
#includereg52.h
#includeintrins.h
#define uint unsigned int
#define uchar unsigned char
#define Nack_number 10
//**************端口定义**************************************************
uchar flag;//LCD控制线接口
sbit RS=P0^6;//RS端
sbit RW=P0^7;//读写端
sbit LCDE=P3^5;//使能端
//mlx90614端口定义
sbit SCK=P3^7;//时钟线
sbit SDA=P3^6;//数据线
sbit DPY1=P3^2;//温度显示第1个数码管段选
sbit DPY2=P3^3;//温度显示第2个数码管段选
sbit DPY3=P3^4;//温度显示第3个数码管段选
sbit row1=P0^3;//矩阵键盘第1列
sbit row2=P0^4;//矩阵键盘第2列
sbit row3=P0^5;//矩阵键盘第3列
sbit cow1=P0^0;//矩阵键盘第1行
sbit cow2=P0^1;//矩阵键盘第2行
sbit cow3=P0^2;//矩阵键盘第3行
//************数据定义****************************************************
bdata uchar flag1;//可位寻址数据
sbit bit_out=flag1^7;s
bit bit_in=flag1^0;
uchar temp H,temp L,err;
void CALTEMP(uint TEMP);
void Read Key(void);
void init Int();
void delay1(uint z);
void show();
uchar key_num;
uchar mah[5];
/********数码管码值定义*******************************************************/
uchar code LED01[]={ //LED显示代码,0-9共阳不带小数点的
0x C0,0x F9,0x A4,0x B0,0x99,0x92,0x82,0x F8,0x80,0x90};
uchar code LED02[]={ //LED显示代码,0-9共阳带小数点的
0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
/**********全局变量定义******************************************************/
文档评论(0)