MLX90614红外测温代码选读.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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}; /**********全局变量定义******************************************************/ bit b20ms,b100ms;//定时标志位 uchar c20ms,c100ms;//定时毫秒数 //**************************LCD16

您可能关注的文档

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档