电子创新与践实习报告.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子创新与践实习报告

简易红外温度检测系统(一) 、任务设计并制作红外温度检测发射机和接收机。 利用红外无线通信进行温度传感器的数据采集和发送,设置一个主机一个从机。从机采集温度传感器的信息并通过红外发送给主机,由主机显示出来。 (提供温度传感器模块一个)(二) 、要求(1)自制红外无线收、发器,可以上电工作。 (不允许采用红外收发一体以及集成收发器件)(2)调制方式:自选编码调制方式。(不允许采用集成编解码器件)(3)能够实现温度信息的检测,并通过红外发送。(4)有相关信息的显示功能,从机能实时显示当前温度,如果通信中断,有报警提示方案论证与比较温度检测方案温度检测是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:采用温度传感器DS18B20: DS18B20具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,完全符合要求需要。方案二:采用PT100温度传感器:该温度传感器具有测量范围广,测量精度高,活动范围广等特点,但价钱高,体积大;基于成本和硬件电路的考虑,本设计采用方案二完成温度检测。无线传输方案方案一:采用NRF24L01无线传输模块。NRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,具有自动应答和自动再发射功能,片内自动生成报头和CRC校验码,数据传输率为l Mb/s或2Mb/s,传输距离在空旷地20米实现无误差传输,特别符合本设计的要求;但供电电压为1.9 V~3.6 V,与51单片机配套使用时需要另外供电;方案二:采用红外对管传输。红外对管具有价钱便宜,视距传输远,电路实现简单,程序控制方便,可以直接5V供电,与51配套不用另外设计降压电路。从硬件电路设计简洁和成本考虑,本设计采用方案二。LCD显示方案方案一:采用lcd1602模块。lcd1602 供电电压宽,对比度可调提供各种控制命令,微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中应用成熟;方案二:采用电脑上位机显示。采用VC编写上位机,通过CMScomm控件可以很容易实现上位机与下位机的通信,在下位机把接收到的无线温度值通过串口传送给上位机处理显示,还可以绘制温度曲线,可以大大提高显示效果;但是设计复杂;第二章 系统设计总体设计1.系统说明利用单片机(stc89c52)控制18B20制作简易温度采集模块,由红外对管实现无线传输,再在接收端利用单片机(stc89c52)处理接收到的数据,控制1602显示;通过比较测量到的温度和上限温度,来控制蜂鸣器报警;2.系统框图3.硬件电路仿真4.软件设计软件设计原理发射部分:通过单片机检测18B20的温度值,该值为18B20内部寄存器的16位温度值,然后定时150ms先发射一个4.5ms的矩形脉冲来做为本次发射的起始标志;然后发送读取到的温度值,比如读取到的值为0x01fa,就发射0x01fa个高电平为1ms低电平为0.8ms的矩形脉冲,再在后面发射一个高9ms矩形波作为本次发射结束;接收部分:通过外部中断来1来检测是否接收到红外光,设置外部中断1为下降沿触发;如果红外光来,就启动定时器计算低电平宽度,如果高电平来就停止定时器,并计算低电平宽度,通过判断是否为起始码来决定是否启动外部中断计数接下来的下降沿次数,最后通过判断是否到了9MS的低电平来结束本次接收;然后就是显示读到的温度值,并判断是否大于上限温度值;上限温度的设置通过按键来启动外部中断0;软件设计流程图发射部分: NN是否到150MS计数值是否达到发射温度值YY接收部分外部中断是否到INT1NINT0哪个按键按下Key1key2判断是否为起始码中断按钮YN是否达到温度上限判断是否为结束码NY功能模块介绍发射部分/*定时读温度函数*/void time(void) interrupt 1 using 1{TH0=0XD8;//1ms定时初值重装TL0=0XF0;msecond++;if(msecond==150)//定时150ms发射一次温度值{msecond=0; TH1=0XF4; //使用定时器1来精确定时脉宽TL1=0X47;TR1=1;fashe=0;while(!TF1);//发射低电平直到定时器1溢出标志到来TF1=0;TR1=0; //关闭定时器1,直到下一次发送引导while(temper--)//发射温度值 { fashe=1; delay(10);//延时 高电平脉宽 fashe=0; delay(8);//延时 低电平脉宽 } sendyindao();//发射引导码 用来标志结束}}/*发射引导码*/void sendyindao(){/***********

文档评论(0)

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

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

1亿VIP精品文档

相关文档