《红外测距课程设计》由会员分享,可在线阅读,更多相关《红外测距课程设计(20页珍藏版)》请在金锄头文库上搜索。
1、课程设计题目 红外测距 二级学院 专 业 班 级 学生姓名 学号 指引教师 考核项目设计50分平时成绩20分答辩30分得分总分考核级别教师签名摘要现代科学技术的发展,进入了许多新领域,而在测距方面先后浮现了激光测距、微波雷达测距、超声波测距及红外线测距。为了实现物体近距离、高精度的无线测量而采用了红外发射接受模块作为距离传感器,单片机作为解决器,编写A/D转换和显示程序,完毕了一套便推式的红外距离测量系统,系统可以高精度的实时显示所测的距离,本系统构造简朴可靠、体积小、测量精度高、以便使用。核心词:红外测距; A/D转换;实时显示;目录一、概述31.意义:32.小组的工作分派:33.系统重要功
2、能3二、硬件电路设计及描述31.方案及设计思想:32.电路原理图53.芯片资料:64.元件清单:8三、软件设计流程及描述91.模块层次构造图92.程序流程图113.源程序代码111602显示模块程序:11红外测距模块程序:13四测试17五总结171.小组总结172.个人总结18参照文献:18一、概述1.意义:距离,是个很微妙的东西,因此人们就会用品体的数值来表达。于是就有了人工测量,而在现今社会,人们已经与高科技接轨,便有了激光测距、微波雷达测距、超声波测距及红外线测距。我们所做的课题便是红外线测距,而做此课题不为其她,只为自己动手,做一种简易的,精确的,近距离的距离检测仪,这也是对我们所学知
3、识的一种考验措施,更多的是更系统的结识单片机,理解AD转换和红外收发模块。2.小组的工作分派:3.系统重要功能实时测量红外发收管与障碍之间的距离。二、硬件电路设计及描述1.方案及设计思想:设计规定:红外测距A、运用红外发射管发送信号,信号通过障碍物反射,红外接受管接受反射的信号。B、用单片机将红外收发管与障碍物之间的距离实时显示出来方案一、时间差测距法:此方案是将红外发射管发送的信号与接受管接受信号的时间差写入单片机中,在单片机中用算法将距离计算出来。原理图如图X-1所示。方案二、反射能量法:此方案是用红外发射管发射信号,然后用红外接受管接受信号,将接受的信号强度通过AD转换,录入单片机中显示
4、出来,并将相应的距离记录下来。完毕一段范畴内的测量,将所记录下的数据写入单片机中,然后便可进行测量距离了。原理图如图X-2所示。AT89S52红外模块时间差距离S=c*t显示距离 图X-1 时间差测距法显示距离AT89S52红外模块实验数据 图X-2反射能量法方案比较:通过以上两种方案分析,我们可以看到方案一的误差很大,由于红外装置测的距离比较近,而光速不久,因此反馈到单片机中的时间很短,单片机很难精确解决,而在一般状况下的光速不太精确,因此误差较大。方案二是先将实验数据录入单片机中,因此在测量时存在的误差就会相对较小,综合考虑,选择方案二可行。2.电路原理图 仿真电路图构造图 AD转换模块由
5、于单片机不能直接解决红外接受管接受的电压信号,因此先通过AD转换,将信号转换为单片机可以解决的数字信号,以完毕所需实验内容。红外收发模块红外发送管是用于发送信号,通过障碍物将信号反射,红外接受管接受到反射回来的信号,然后根据信号强弱将相应的电压值显示在显示模块上,并将此时的距离记录。然后整治程序,用红外收发模块进行测距,就可在显示模块上显示出红外接受管接受的信号强度相应的距离值。3.芯片资料: TLC2543管脚图 TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完毕A/D转换过程。由于是串行输入构造,可以节省51系列单片机I/O资源;且价格适中,辨别率较高,因此在仪器
6、仪表中有较为广泛的应用。2TLC2543的特点:(1)12位分辩率A/D转换器;(2)在工作温度范畴内10s转换时间;(3)11个模拟输入通道;(4)3路内置自测试方式;(5)采样率为66kbps;(6)线性误差1LSBmax;(7)有转换结束输出EOC;(8)具有单、双极性输出;(9)可编程的MSB或LSB前导;(10)可编程输出数据长度。TLC2543引脚阐明: AT89S52管脚图4.元件清单:序号品名数量(个)参照价(元)1AT89S52单片机13.752tlc254316340P座子11420P座子10.555TCRT50001161602显示屏 18712m晶振10.3586脚自锁
7、按钮10.59按钮10.110发光二极管10.1111k排阻10.212104滑阻10.41310k电阻10.1141k电阻40.415200欧电阻10.116150欧电阻10.117104pf电容20.11822uf电容10.11930pf电容20.120排针若干121单排座10.122导线若干123单面板14合计29三、软件设计流程及描述1.模块层次构造图主程序红外模块AD模块实验数据显示模块简述:先将AD采集程序写入单片机中,进行实验,将固定距离所采集到的信号强度记录下来,然后将相应的数据加入程序中,最后通过红外模块进行测量,便可显示出相应的距离值,主程序是整个程序的基本,也是核心。2.
8、程序流程图开始数据初始化AD采集显示电压值电压值相应距离显示距离3.源程序代码1602显示模块程序:#include#includesbit lcdrs=P25;sbit lcdrw=P26;sbit lcden=P27;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)lcdrs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;lcden=0;P0=dat
9、e;delay(5);lcden=1;delay(5);lcden=0;void init() lcdrw=0;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);红外测距模块程序:#include#include#define uchar unsigned char#define uint unsigned intsbit clk=P14;sbit cs=P15; sbit din=P16;sbit dout=P17;sbit bit7=B7; / 数据的最高位ucha
10、r count,conword;/控制字的高四位决定通道口bit cy;void write_sfm(uchar add,uint date)uint bai,shi,ge;ge=date%10;shi=date%100/10;bai=date%1000/100;write_com(0x80+add);write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);write_data(m);write_data(m);void write_sfm1(uchar add,uint date)uint qian,bai,shi,ge;g
11、e=date%10;shi=date%100/10;bai=date%1000/100;qian=date/1000;write_com(0x80+0x40+add);write_data(0x30+qian);write_com(0x80+0x40+0x08);write_data(0x2e);write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);uint readad(uchar conword)char i;uint advalue=0;uchar value=0; conword=conword0;i-)cy=dout; /dout 的高位传给cydin=bit7;/控制字高位先送入clk=1;/控制字在时钟信号的上升沿送入B=B1;/控制字的次高位移入高位clk=0;value=value1; if(cy=1) value+;/value是dout的高八位advalue=value; advalue=advalue0;i-) /dout 高四位的值赋给 valuecy=dout;