1、目录智能仪器综合设计课程设计任务书 11.超声波测距 系统设计 32.总体设计方案 42.1系统整体方案设计 42.2 系统整体方案的论证 42.3 检测的计算方法 42.4 AT89C52单片机 52.5 单片机主要功能特性 62.6 引脚功能及管脚电压 63.硬件原理设计 73.1发射电路设计 73.2接收电路设计 84.软件设计 .104.1 延时程序 .114.2 程序清单 .115.超声波传感器 .125.1 超声波传感器原理 .125.2 超声波传感器的系统构成 .136.调试结果 .157.数据与误差 .187.1实测数据组 .187.2 误差来源 .187.3 解决方案 .18
2、个人小结 .20参考文献 .21附录 一 22附录 二 231智能仪器综合设计课程设计任务书题目:超声波测距系统设计一、课程设计任务超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,如液位、井深、管道长度等场合。超声波测距的原理是,发射器发射出超声波,遇到被测物体后返回声波由接收器接收,测量出超声波发射和接收到回波的时间差,超声波波速与时间差乘积的一半即为被测距离。该超声波测距系统以 AT89S52 单片机为核心进行设计。二、课程设计目的通过本次课程设计使学生掌握:1)智能仪器的一般设计、实现方法;2)超声波传感器测距的工作原理;3)智能仪器设计的实际调试技巧。从而提高学生对智能仪器
3、的设计和调试能力。三、课程设计内容和要求1、掌握超声波传感器的测距原理,测量结果数显;2、根据超声波测距原理,设计超声波测距系统的硬件结构电路并画出原理图;3、用 PROTUES对所设计的系统进行仿真;4、给出软件设计流程图;5、系统软硬件连调,给出该测距系统的性能指标,并对产生的误差进行分析。四、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)超声波传感器测距原理;(3)系统总体设计方案;(4)超声波测距系统硬件电路的设计,包含发射电路、接收电路和显示模块的设计,用 PROTEL软件绘制硬件原理图并列出器件清单,用 PROTUES仿真;(5)软件设计:程序流程
4、图及清单(子程序不提供清单,但应列表反映每一个子程序的名称及其功能) ;(6)调试结果:各个关键点波形和实测数据组;2(7)系统误差来源及解决方案分析;3、收获、体会4、参考文献五、课程设计进度安排周次 工作日 工作内容1 布置课程设计任务,查找相关资料2 熟悉智能仪器综合实验平台所提供的相关资源3 完成总体设计方案4 画出硬件原理图并进行仿真第一周5 完成硬件接线,编写程序并调试1 编写程序并调试2 编写程序并调试3 编写程序并调试及准备课程设计报告4 完成课程设计报告并于下午两点之前上交第二周5 答辩本课题共需两周时间七、课程设计考核办法本课程设计满分为 100分,从课程设计平时表现、课程
5、设计报告及课程设计答辩三个方面进行评分,其所占比例分别为 20%、40%、40%。31.超声波测距系统设计通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。这与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。 (超声波在空气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2)图 1-1 超声波测距系统框图在超声波测距系统中,用脉冲激励超声波探头的压电晶片,使其产生机械振动,这种振动在与
6、其接触的介质中传播,便形成了超声波。就是探头接通电源后以一定的频率不断发出声波,当声波遇到障碍物时便会反射回来,反射回来的声波遇到探头就会对探头产生振动,从而产生相应的电压。利用超声波测量距离的原理如图l-1所示,主要由超声波发射、超声波接收与信号转换电路组成。简单描述为超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来。超声波接收器收到反射波并转化为电信号就立即停止计时。这样只要测出发送和接收的时间差t,即可求出距离:(1)2/Cts式中:C为超声波在空气中的传播速度。在常温下,空气中的声速约为340ms。由于超声波也是一种声波,其传播
7、速度C与温度有关,在使用时,如果温度变化不大,则可认为声速是基本不变的,其与环境温度T()的关系式如下:TC61.043(2)42.总体设计方案2.1系统整体方案设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测
8、量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,采用 AT89S52单片机作为控制器,用动态扫描法实现 LED数字显示,超声波驱动信号用单片机的定时器。2.2 系统整体方案的论证超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减
9、的程度与频率的高低成正比;而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。2.3 检测的计算方法由单片机 AT89C52编程产生 40kHz的方波,由 P1.0输出口输出,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。该测距装置是由超声波传感器、单片机、发射/接收电路和液晶显示器组成。5传感器输入端与发射接收电路相连,接收电路输出端
10、与单片机相连接,单片机的输出端与显示电路输入端相连接。其时序图如图 2-1所示。图 2-1 时序图单片机在 T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间 t,由此便可计算出距离。2.4 AT89C52单片机在本次的课程设计中,我们使用了ATMEL公司比较经典的51单片机AT89C52作为超声波测距系统的控制器。AT89C52是一个低电压,高性能 CMOS 8位单片机,片内含 8k bytes的可反复擦写的 Flash只读程序存储器和 256 bytes的随机存取数据存储器(R
11、AM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,片内置通用 8位中央处理器和 Flash存储单元,功能强大的 AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52 有 40个引脚,32 个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3 个 16位可编程定时计数器,2 个全双工串行通信口,2 个读写口线,AT89C52 可以按照常规方法进行编程,但不可以在线编程(S 系列的才支持在线编程)。其将通用的微处理器和 Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。62.5 单片机主要
12、功能特性1)、兼容MCS51指令系统 2)、8k可反复擦写(大于1000次)Flash ROM; 3)、32个双向I/O口; 4)、256x8bit内部RAM; 5)、3个16位可编程定时/计数器中断; 6)、时钟频率0-24MHz; 7)、2个串行中断,可编程UART串行通道; 8)、2个外部中断源,共8个中断源; 9)、2个读写中断口线,3级加密位; 10)、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11)、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。2.6 引脚功能及管脚电压AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及
13、管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和 XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。 P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与 N
14、1的相应功能管脚相连接, 13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。73.硬件原理设计3.1发射电路设计由单片机产生的 40kHz的方波需要进行放大,才能驱动超声波传感器发射超声波,发射驱动电路其实就是一个信号放大电路,图 3-1为发射电路图。图 3-1 发射电路图超声波发射电路主要由脉冲调制信号产生电路、放大电路以及驱动电路组成,用来为超声波传感器提供发送信号。脉冲调制信号产生电路
15、中通过51单片机对某一I/O引脚定时取反产生,实际电路中51单片机定时中断对P1.0取反产生高低电平,从而产生30KHz的方波。实际电路中,由于超声波发射管的性能,测试中发射在20-30KHz的方波接收效果较好,故本系统采用发射30KHz的方波。放大电路主要由LM358运放组成。该运放采用正相两倍放大,增强发射能力。由于发射信号在发射过程中会有信号衰减,故需对单片机产生的发射信号增强发射能力。由于超声波传感器的发射距离与其两端所加的电压成正比,因此要求电路要产生足够大的驱动电压,其基本原理就是一个比较电路,仍由运放LM358组成。当输入信号 Vi5V时,运放A的输出电压VA=+15V ,当输入
16、信号Vi0;ms-)for(t=0;t0;us-)for(t=0;t23#define uchar unsigned char#define uint unsigned int#define Disp_On 0x3f#define Disp_Off 0x3e#define Col_Add 0x40 /列地址,Y 地址,0 列#define Page_Add 0xb8 /页地址,X 地址,0 页#define Start_Line 0xc0 /行地址,0 行 #define Lcd_Bus P0 /MCU P1 LCMsbit Mcs=P21; /Master chip enablesbit S
17、cs=P22; /Slave chip enablesbit Enable=P23; /6800 mode Enable singlesbit Di=P25; /Data or Instrument Selectsbit RW=P24; /Write or Readsbit LE1=P34;/*定义 16*16汉字结构体*/struct typFNT_GB16unsigned char Index2;unsigned char MSK32;struct typFNT_GB16 code GB1616;sbit Sq=P10;uchar Overtime_flag,Send_flag=1,Rec
18、eive=1;unsigned long Time,Len;uchar code ASCII81696*16=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*“ “,0*/0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,/*“!“,1*/240x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,
19、0x00,0x00,0x00,/*“,2*/0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,/*“#“,3*/0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,/*“$“,4*/0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,/*“%“,5*/0x00,0xF0,0
20、x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,/*“,1*/0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,/*“,4*/0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,/*“?“,5*/260xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0
21、x18,0x27,0x24,0x23,0x14,0x0B,0x00,/*“,0*/0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,/*“A“,1*/0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,/*“B“,2*/0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,/
22、*“C“,3*/0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,/*“D“,4*/0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,/*“E“,5*/0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,/*“F“,6*/0xC0,0x30,0x08,0x08,0x08,
23、0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,/*“G“,7*/0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,/*“H“,8*/0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*“I“,9*/0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x8
24、0,0x7F,0x00,0x00,0x00,/*“J“,10*/0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,/*“K“,11*/0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,/*“L“,12*/0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,/*“M“,13
25、*/0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,/*“N“,14*/270xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,/*“O“,15*/0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,/*“P“,16*/0xE0,0x10,0x08,0x08,0x08,0
26、x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,/*“Q“,17*/0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,/*“R“,18*/0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,/*“S“,19*/0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0
27、x3F,0x20,0x00,0x00,0x00,/*“T“,20*/0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,/*“U“,21*/0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,/*“V“,22*/0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,/*“W“,
28、23*/0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,/*“X“,24*/0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,/*“Y“,25*/0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,/*“Z“,26*/0x00,0x00,0x00,0xFE,0x02,0
29、x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,/*“,0*/0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,/*“,1*/0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,/*“,2*/280x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x0
30、0,0x00,0x00,0x00,/*“,3*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,/*“_“,4*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*“ “,0*/0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,/*“a“,0*/0x08,0xF8
31、,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,/*“b“,1*/0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,/*“c“,2*/0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,/*“d“,3*/0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x
32、00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,/*“e“,4*/0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*“f“,5*/0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,/*“g“,6*/0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,
33、0x20,/*“h“,7*/0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*“i“,8*/0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,/*“j“,9*/0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,/*“k“,10*/0x00,0x08,0x08,0xF
34、8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*“l“,11*/290x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,/*“m“,12*/0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,/*“n“,13*/0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0
35、x1F,0x20,0x20,0x20,0x20,0x1F,0x00,/*“o“,14*/0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,/*“p“,15*/0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,/*“q“,16*/0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0
36、x00,/*“r“,17*/0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,/*“s“,18*/0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,/*“t“,19*/0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,/*“u“,20*/0x80,0x80,0x80,0
37、x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,/*“v“,21*/0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,/*“w“,22*/0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,/*“x“,23*/0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,/*“y“,24*/0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,/*“z“,25*/0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,/*“,0*/