文档库 最新最全的文档下载
当前位置:文档库 › 超生波测距Verilog实验报告

超生波测距Verilog实验报告

南通大学电子信息学院

实验报告册

实验课程名称:硬件描述语言课程设计课题:超声波测距

班级:集091

姓名:杨龙龙

学号:0911002072

2011 ——2012 学年第二学期

目录

一概述 (1)

1.1前言 (1)

1.2 超声波的特性 (1)

1.3 设计的意义 (1)

1.4 超声波测距系统在国外的发展 (2)

1.5超声波测距系统在我国的发展 (2)

二功能 (3)

三设计方案 (3)

3.1 超声波测距原理 (3)

3.2 软件系统设计框图 (5)

四设计与仿真 (6)

4.1 频率产生 (6)

4.2 信号的发送与接收 (9)

4.3 距离的显示 (11)

五结束语 (13)

六参考文献 (13)

七附件 (14)

7.1 完整代码 (14)

7.2用CX20106A做超声波测距应注意的事项 (19)

7.3 CX20106A的引脚注释 (20)

7.4测量过程中常见误差 (21)

一概述

1.1前言

科技飞速发展时至今日,超声波测距广泛应用于工业,农业,交通,环境,安全防护能源测量等科学领域,超声波测距的测量精度、测量距离,可靠性等性能指标对于提高相关应用系统的测控精度、可靠性,提高生产效率、促进科学技术的发展都具有极为重要的作用。随着经济的迅速发展,交通系统日益庞大,交通安全问题越来越被重视,安全防护现在变成为一个重要议题。近几年,船舶运输事故频发,复杂的水运环境,如大雨、大雾或夜间行驶常常导致航道的能见度降低,造成碰撞事故。由于超声波测距技术具有在黑暗、灰尘、烟雾等恶劣的环境下正常工作的特性,将超声波测距引入航运系统能切实可行的缓解这一问题

超声波测距系统的设计结构多种多样,性能差异也各异。

目前市面上主流的超声波测距系统大多是以8位或者16位单片机为主空芯片,产生驱动信号,并负责接收处理回波,控制现实通讯。这样处理成本固然降低了,但是测量精度,和测量距离,以及时序的控制能力有限。

超声波测距的核心在于超声波信号的收发部分,传统单片机内部指令运行时存在较大延时误差其精度无法满足精密测量的要求,本设计将FPGA(现场可编程门阵列)引入超声波测距系统的设计内,利用其较高的运行速度和丰富的片内资源,取代单片机,提高对超声波工作频率的控制精度以及对超声波收发渡越时间的测量精度。

1.2超声波的特性

当物体振动时会发出声音。科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为20----20000赫兹。当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”16J。超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短。

超声波是一种在弹性介质中的机械振荡,传播速度仅为光波的百万分之一,纵向分辨率较高.超声波对色彩、光照度、外界光线和电磁场不敏感,对于被测物处于黑暗、有灰尘或烟雾、强电磁干扰、有毒等恶劣的环境下超声波有很强的适应能力。

由于超声波的能量消耗缓慢,在介质中传播的距离较远,声波传播速度在相当大范围内与频率无关等独特优点超声波被视为测距技术的一种良好选择在军事,工业,交通上上有很多的应用。

1.3设计意义

距离在很多场合和控制中需要实时检测,所以,测距就成为数据采集中重要的一环。尽管测距有多种方式,比如:激光测距、微波测距、红外线测距和超声波测距等。但是超声波测距不失为一种简单可行的方法。虽然超声波测距电路多种多样,可是有的电路复杂、技术难度大,有的调试困难,有的元件不易购买,这就在一些方面限制了超声波测距系统的应用。本设计的电路,成本低廉、性能可靠、所用元件易购,结合单片机的数据处理,电路实现容易,工作稳定可靠。

由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距

离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单。超声波智能测距仪具有广泛的实际用途,超声波测距仪广泛应用于生活、军事等各个领域,如施工建筑单位对空间距离的测量、汽车倒车防撞系统、潜水艇的超声波探测定位系统。

超声波测距技术在社会生活中已有广泛的应用,如汽车倒车雷达等,它们测距精度一般较低。目前对超声波高精度测距系统的需求越来越大。展望未来,超声波作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更高精度,更大应用范围,更加高定位高精度的方向发展,以满足日益发展的社会需求。

1.4 超声波测距系统在国外的发展

一般认为,关于超声波的研究最初起始于1876年F.Galton的气哨实验,这是人类首次有效产生的高频声波。在之后的三十年中,超声波仍然是一个鲜为人知的东西,由于当时电子技术发展缓慢,对超声波的研究造成了一定程度的影响。在第一次世界大战中,对超声波的研究逐渐受到重视。法国人Langevin使用一种晶体传感器在水下发射和接收相对低频的超声波。他提出的这种方法可以用来检测水中是否存在潜艇并进行水下通信。

1929年,Sokolov首先提出用超声波探查金属物内部缺陷的建议。相隔2年,1931年Mulhauser获准一项关于超声检测方法的德国专利,不过他并未做更多的工作。4年之后,1934年sokolov首次发表了关于在液体槽子里用穿透法作实物试验的结果,他用了各种方法做了实验,用来检测穿过试件的超声能量,其中之一是用简单的光学方法观察液体表面由超声波形成的波纹。德国人Bergrnann在他的论著《ULTRASONIC》中,详细的论述了有关超声波的大量早期资料,该论著一直被认为是该领域的经典之作。

美国的Firestone首次介绍了脉冲回波探伤仪,使超声波检测技术发展到了更重要的阶段。在各种系统中,这是最成功的一种,因为它有最广泛的通用性,其检测结果也最容易解释。这种方法除可用于手工检测外,还可与采用先进技术的自动系统联用,自第一种脉冲回波仪器问世以来,根据相同的原理,有无数种其他仪器得到了发展,并有许多改进和精化。目前,在超声无损检测中,脉冲回波系统仍是使用最为广泛的一种。

1.5超声波测距系统在我国的发展

超声波测距技术作为检测技术的重要手段之一,在其发展过程中起着重要的作用。由于其信号的高频特性,超声测距早期仅使用模拟量信号的分析,大部分检测设备仅有A扫描形式,需要通过有经验的人员对信号进行人工分析才能得出正确的结论,对分析人员的要求较高,因此,人为因素对检测的结果影响较大,波形也不易记录和保存,不适宜完成自动化检测。

八十年代后期,由于计算机技术和高速器件的不断发展,使超声波信号的数字化采集和分析成为可能。目前国内也相继出现了各类数字化超声波测距设备,并已成为超声波检测的发展方向。厦门大学的某位学者研究了一种回波轮廓分析法。该方法在测距中通过两次探测求取回波包络曲线来得到回波的起点,通过这样处理后超声波传播时间的精度得到了很大的提高。另外,也有大量的文献研究采用数字信号处理技术和小波变换理论来提高传输时间的精度。这些处理方法都取得了较好的效果。

目前国内外在超声波检测领域都向着数字化方向发展,数字式超声波测距系统的发展速度很快。国内近几年也相继出现了许多数字式超声波仪器和分析系统。随着测距技术研究的不断深入,对超声测距系统功能要求越来越高,单数码显示的超声测距系统会带来较大的测试误差。进一步要求以后生产的超声测距仪能够具有双显及内带有单板机的微处理功能。随后具有检测,

记录,存储,数据处理与分析等多项功能的智能化检测分析仪相继研制成功。超声仪研制呈现一派繁荣景象。其中,煤炭科学研究院研制的 2000A 型超声分析检测仪,是一种内带微处理器的智能化测量仪器,全部操作都处于微处理器的控制管理之下,所有测量值,处理结果,状态信息都在显像管上显示出来,并可接微型打印机打印。其数字和波形都比较清晰稳定,操作简单,可靠性高,具有断电存储功能,其串口可以方便用户对仪器的测试数据进行后处理及有关程序的开发。与国内同类产品相比,设计新颖合理,功能齐全,在仪器设计上有重大突破和创新,达到了国际先进水平。

二功能

给定超声波发射接收模块,通过DE2产生频率为40KHZ的超声波脉冲信号(脉宽为250-500us)送至超声波发射模块。将超声波接收模块数出的回波脉冲信号送至DE2,经处理后在3位数码管上面显示距离(单位为cm)。

三设计方案

3.1超声波测距原理

超声波测距的原理是利用超声波在空气中的传播速度为已知,如果温度变化不大,则可认为声速是基本不变的,根据测距方式超声波测距原理又分为直接测距和间接测距两种。

直接测量法:测量超声波从发射端到接收端的渡越时间,根据超声波在环境温度中的速度计算出实际距离。

测距的公式表示为:S=CxT

间接测量法:测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时问差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。

测距的公式表示为:S=CxT/2

式中:S为测量的距离长度;C为超声波在空气中的传播速度;T为超声波的渡越传播时间。

3.2软件系统设计框图

下表给出了系统软件设计的整体框架,实际上由于FPGA内的各个子进程都是并行执行的,且每个子进程都是是独立的模块,因此程序设计并不是按照顺序的方法设计的,而是分离成各个小的子模块进行设计综合的,需要严格控制时序。

超声波收发部分负责产生超声波驱动信号,要求频率为40KHz,占空比为50的方波信号以驱动超声波换能器,同时高速计数器开始计数,检测回波后,计数器停止计数,计算后控制显示输出。

四 设计与仿真

4.1 频率的产生

产生40KHZ 频率的的程序

always @(posedge clk_in )

begin

if(cnt == T-1)

cnt <= 0;

else

cnt <= cnt+1'b1;

end

always @(posedge clk_in)

begin

if(cnt < T/2)

clk_out <= 0;

else

clk_out <= 1'b1;

end

clk-in clk-out clk-out1

时钟信号 用于计时的

时钟频率

产生17HZ频率的的程序

always @(posedge clk_out )

begin

if(cnt1 ==2352) cnt1 <= 0;

else

cnt1 <= cnt1+1'b1;

end

always @(posedge clk_out)

begin

if(cnt1 <10)

clk_out1 <=1;

else

clk_out1 <= 1'b0;

end

产生17KHZ频率的的程序

always @(posedge clk_in )

begin

if(cnt2 ==2941)

cnt2 <= 0;

else

cnt2 <= cnt+1'b1;

end

always @(posedge clk_in)

begin

if(cnt2 <1470)

clk_out2 <= 0;

else

clk_out2 <= 1'b1;

end

产生发送信号的的程序

always @(negedge clk_in)

out<=clk_out&clk_out1;

频率仿真波形图

频率说明:

17KHZ: 17KHZ是由50MHZ分频而来的,因为50MHZ无法分频出标准的17KHZ的频率,所以分频而得的17KHZ的频率存在一定的误

差(周期变大),每个周期的误差为16ns~17ns。

设q用于信号发出后,统计17KHZ频率的周期个数,则所测距离L=(q/2)*(1/17KHZ)*34000cm/s=q,由此可见采

用17KHZ的频率计时,周期个数即是所测距离,单位cm。

40KHZ:CX20106A的第5脚的电阻决定接收的中心频率,200k的电阻决定了接收的中心频率为40KHz。

17HZ: 17HZ用来跟40KHZ进行与运算,产生输出脉冲信号,用于检测距离。因为测量最大距离为10m,脉冲从发射到接收最大传播距离为20m,则所需时间为20/340=1/17s,所以选择17HZ的频率与40KHZ进行与运算,产生输出脉冲。

4.2信号的发送与接收

信号未发送

信号已发送检测有无回波

状态机处于S0状态

s0: if(clk_out1)

begin

state<=s1;

ge0<=ge0+1;

shi0<=0;

bai0<=0;

end

else

begin

state<=s0;

ge0<=ge0;

end

状态机处于S1状态

s1: if(shi0==5)

state<=s2;

else

begin

ge0<=ge0+1;

if(ge0==9) begin

ge0<=0;

shi0<=shi0+1;

if(shi0==9)

begin

shi0<=0;

bai0<=bai0+1;

end end

end

状态机处于S2状态

s2: if(!in)

begin

state<=s0;

ge<=ge0;

shi<=shi0;

bai<=bai0;

end

else

begin

ge0<=ge0+1;

if(ge0==9)

begin

ge0<=0;

shi0<=shi0+1;

if(shi0==9)

begin

shi0<=0;

bai0<=bai0+1;

end

end

end

状态说明:

S0:脉冲未发送时,状态机处于S0状态,一旦检测到脉冲发出,转换到S1,同时bai0,shi0清零,ge0赋1。

S1:信号发送后,状态机处于S1状态,在S1状态停留约3ms,不进行回波检测,3ms后转到S2状态。因为超声波属于机械波,

会引起机械振动,当脉冲从发射端口发射出去,引起机械振动,

接收端口一旦检测到这个振动会误以为是回波,为了避免这个

机械振动的干扰,在脉冲发射出去后3ms内不进行回波检测。

S2:在S2状态进行回波检测,一旦检测到回波,状态转至S0,同时将bai0赋给bai,shi0赋给时,ge0赋给ge。

4.3距离显示程序

always @(clk_in)

begin

case(ge)

4'h0: HEX0[6:0] = seg0;

4'h1: HEX0[6:0] = seg1;

4'h2: HEX0[6:0] = seg2;

4'h3: HEX0[6:0] = seg3;

4'h4: HEX0[6:0] = seg4;

4'h5: HEX0[6:0] = seg5;

4'h6: HEX0[6:0] = seg6;

4'h7: HEX0[6:0] = seg7;

4'h8: HEX0[6:0] = seg8;

4'h9: HEX0[6:0] = seg9;

default:HEX0[6:0] = seg0;

endcase

case(shi)

4'h0: HEX1[6:0] = seg0;

4'h1: HEX1[6:0] = seg1;

4'h2: HEX1[6:0] = seg2;

4'h3: HEX1[6:0] = seg3;

4'h4: HEX1[6:0] = seg4;

4'h5: HEX1[6:0] = seg5;

4'h6: HEX1[6:0] = seg6;

4'h7: HEX1[6:0] = seg7;

4'h8: HEX1[6:0] = seg8;

4'h9: HEX1[6:0] = seg9;

default:HEX1[6:0] = seg0; endcase

case(bai)

4'h0: HEX2[6:0] = seg0; 4'h1: HEX2[6:0] = seg1; 4'h2: HEX2[6:0] = seg2; 4'h3: HEX2[6:0] = seg3; 4'h4: HEX2[6:0] = seg4; 4'h5: HEX2[6:0] = seg5; 4'h6: HEX2[6:0] = seg6; 4'h7: HEX2[6:0] = seg7; 4'h8: HEX2[6:0] = seg8; 4'h9: HEX2[6:0] = seg9; default:HEX2[6:0] = seg0; endcase

end

输出距离波形仿真图

五.结束语

两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。

课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。

在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。

在此感谢老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次课程设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。

同时感谢对我帮助过的同学们和研究生,谢谢你们对我的帮助和支持,让我感受到同学的友谊。

六参考文献

【1】夏宇闻.《verilog数字系统设计教程》【第2版】.北京:北京航空航天大学出版社.2008.2.4

【2】刘宝琴.《数字电路与系统》.北京:北京清华大学出版社,1993

七附件

7.1完整程序代码

module top(clk_in,out,in,HEX2,HEX1,HEX0);

input clk_in,in;

output out;

output[6:0] HEX0,HEX1,HEX2;

reg clk_out,clk_out1,out,clk_out2;

reg [11:0]cnt,cnt1,cnt2;

reg[3:0] ge,shi,bai,ge0,shi0,bai0;

reg[6:0] HEX0,HEX1,HEX2;

reg[1:0] state;

parameter T =1250,

seg0= 7'b1000000,

seg1= 7'b1111001,

seg2= 7'b0100100,

seg3= 7'b0110000,

seg4= 7'b0011001,

seg5= 7'b0010010,

seg6= 7'b0000010,

seg7= 7'b1111000,

seg8= 7'b0000000,

seg9= 7'b0010000,

s0=2'b00,

s1=2'b01,

s2=2'b10;

initial

begin

clk_out=0;

clk_out1=0;

clk_out2=0;

out=0;

cnt=0;

cnt1=0;

cnt2=0;

ge=0;

shi=0;

bai=0;

ge0=0;

shi0=0;

bai0=0;

end

always @(posedge clk_in )

begin

if(cnt == T-1)

cnt <= 0;

else

cnt <= cnt+1'b1;

end

always @(posedge clk_in)

begin

if(cnt < T/2)

clk_out <= 0;

else

clk_out <= 1'b1;

end

always @(posedge clk_out )

begin

if(cnt1 ==2352)

cnt1 <= 0;

else

cnt1 <= cnt1+1'b1;

end

always @(posedge clk_out)

begin

if(cnt1 <10)

clk_out1 <=1;

else

clk_out1 <= 1'b0;

end

always @(posedge clk_in )

begin

if(cnt ==2940)

cnt2 <= 0;

else

cnt2 <= cnt+1'b1;

end

always @(posedge clk_in)

begin

if(cnt <1470)

clk_out2 <= 0;

else

clk_out2 <= 1'b1;

end

always @(negedge clk_in)

out<=clk_out&clk_out1;

always @(posedge clk_out2 )

begin

case(state)

s0:if(clk_out1)

begin

state<=s1;

ge0<=ge0+1;

shi0<=0;

bai0<=0;

end

else

begin

state<=s0;

ge0<=ge0;

end

s1: if(shi0==5)

state<=s2;

else

begin

ge0<=ge0+1;

if(ge0==9)

begin

ge0<=0;

shi0<=shi0+1;

if(shi0==9)

begin

shi0<=0;

bai0<=bai0+1;

end

end

end

s2: if(!in)

begin

state<=s0;

ge<=ge0;

shi<=shi0;

bai<=bai0;

end

else

begin

ge0<=ge0+1;

if(ge0==9)

begin

ge0<=0;

shi0<=shi0+1;

if(shi0==9)

begin

shi0<=0;

bai0<=bai0+1;

end

end

end

default:state<=s0;

endcase

end

always @(clk_in)

begin

case(ge)

4'h0: HEX0[6:0] = seg0;

4'h1: HEX0[6:0] = seg1;

4'h2: HEX0[6:0] = seg2;

4'h3: HEX0[6:0] = seg3;

4'h4: HEX0[6:0] = seg4;

4'h5: HEX0[6:0] = seg5;

4'h6: HEX0[6:0] = seg6;

4'h7: HEX0[6:0] = seg7;

4'h8: HEX0[6:0] = seg8;

4'h9: HEX0[6:0] = seg9;

4'ha: HEX0[6:0] = sega;

4'hb: HEX0[6:0] = segb;

4'hc: HEX0[6:0] = segc;

4'hd: HEX0[6:0] = segd;

4'he: HEX0[6:0] = sege;

4'hf: HEX0[6:0] = segf;

default:HEX0[6:0] = seg0;

endcase

case(shi)

4'h0: HEX1[6:0] = seg0;

基于单片机的超声波测距系统设计实验报告 - 重

指导教师评定成绩: 审定成绩: 自动化学院 计算机控制技术课程设计报告设计题目:基于单片机的超声波测距系统设计 单位(二级学院): 学生姓名: 专业: 班级: 学号: 指导教师: 负责项目: 设计时间:二〇一四年五月 自动化学院制

目录 一、设计题目 (1) 基于51单片机的超声波测距系统设计 (1) 设计要求 (1) 摘要 (2) 二、设计报告正文 (3) 2.1 超声波测距原理 (3) 2.2系统总体方案设计 (4) 2.3主要元件选型及其结构 (5) 2.4硬件实现及单元电路设计 (9) 2.5系统的软件设计 (13) 三、设计总结 (17) 四、参考文献 (17) 五、附录 (18) 附录一:总体电路图 (18) 附录二:系统源代码 (18)

一、设计题目 基于51单片机的超声波测距系统设计 设计要求 1、以51系列单片机为核心,控制超声波测距系统; 2、测量范围为:2cm~4m,测量精度:1cm; 3、通过键盘电路设置报警距离,测出的距离通过显示电路显示出来; 4、当所测距离小于报警距离时,声光报警装置报警加以提示; 5、设计出相应的电子电路和控制软件流程及源代码,并制作实物。

摘要 超声波具有传播距离远、能量耗散少、指向性强等特点,在实际应用中常利用这些特点进行距离测量。超声波测距具有非接触式、测量快速、计算简单、应用性强的特点,在汽车倒车雷达系统、液位测量等方面应用广泛。本次课设利用超声波传播中距离与时间的关系为基本原理,以STC89C52单片机为核心进行控制及数据处理,通过外围电源、显示、键盘、声光报警等电路实现系统供电、测距显示、报警值设置及报警提示的功能。软件部分采用了模块化的设计,由系统主程序及各功能部分的子程序组成。超声波回波信号输入单片机,经单片机综合分析处理后实现其预定功能。 关键词:STC89C52单片机; HC-SR04;超声波测距

数电实验报告2.1—基于Verilog HDL显示译码器设计

<基于Verilog HDL显示译码器设计>实验报告 学生姓名: 班级学号: 指导老师:

<实验报告内容> 一、实验名称:基于Verilog HDL 显示译码器设计 二、实验学时:4学时 三、实验目的:进一步掌握QuartusII 软件逻辑电路设计环境及Verilog HDL 的基本语法,熟悉设计流程及思路。掌握显示译码器的工作原理及应用。(提示:本实验将涉及到verilog 的条件语句(如if …else, case ….end case, for ….等)、赋值语句(如assign 等)和二进制变量位宽的定义等内容,请大家实验前做好本部分预习和自学,可参考本课本第九章内容,也可自行查找有关Verilog 设计基础的相关内容,推荐参考书:北京航空航天出版社,夏宇闻编著 )。通过对所设计逻辑电路功能仿真,分析所设计电路逻辑功能是否正确,掌握逻辑功能仿真的方法。 四、实验内容:基于verilog 的显示译码器逻辑设计及功能仿真 五、实验原理:(1)半导体发光二极管(LED )数码显示器:半导体发光二极管数码显示器由7(或8)个LED 排成“日”字形,称为七段(或八段),封装成数码管,如错误!未找到引用源。所示。LED 数码管内部有共阴极和共阳极两种接法。如错误!未找到引用源。。 (2 )常用显示译码器管脚功能(74LS148):LCD —七段显示译码器:介绍常用的74LS148七段显示译码器, 图 3为74LS48 74LS48 (a ) 图 1 图 2 CC f g a b c d e BI 7123456

图 3 (3)74LS48的逻辑功能:如表1: 表1 其译码器输出(Ya~Yg)是高电平有效,适用于驱动共阴极LED数码管,显示的字形表中所示。因其译码器输出端的内部有上拉电阻(是2K的限流电阻),因此在与LED管连接时无需再外接限流电阻。 具体功能介绍及内部设计图,请自行上网查阅74LS48的DATASHEET。 六、实验步骤: 1.复习QuartusII软件逻辑电路设计环境及Verilog HDL的基本语法,熟悉设计流程及思路。 2.做好预习和自习,查找相关资料。 3.设计出文本输入并进行功能仿真。

基于51单片机超声波测距仪设计【开题报告】

毕业论文开题报告 电子信息工程 基于51单片机超声波测距仪设计 一、课题研究意义及现状 随着社会的发展,传统的测距方法在很多场合已无法满足人们的需求。例如在井深、液位、管道长度测量等场合。传统的测距方法根本无法完成测量任务。还有在很多要求实时测距的情况下。传统的测距方法也不能很好地完成测量任务。于是一种新的测距方法——超声波测距应运而生。超声波测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。超声测距是一种非接触式的检测方式,它不受光线、被测对象颜色等影响。超声波传感器结构简单、体积小、信号处理可靠,所以检测比较迅速、方便、计算简单、易于做到实时控制。在移动机器人、汽车安全、海洋测量等上得到了广泛的应用。因此,本课题的研究是非常有实用和商业价值。 随着科学技术的快速发展,超声波测距仪的应用将会越来越广,这是一个蓬勃发展而又有无限前景的技术及产业领域。未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得到解决。超声波测距仪将其通过51单片机来实现,成本低、精度高、操作简单、工作稳定可靠,非常适合于短距离测量定位。51单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用它的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统,有很大的市场开发潜力。 二、课题研究的主要内容和预期目标 本课题主要设计一种基于单片机的超声测距系统。该系统以超声波的传播速度为确定条件,利用发射超声波与反射回波时间差来测量待测距离。课题主要内容包括硬件设计和软件设计。硬件设计主要包括单片机系统,超声波发射电路、超声波检测接收电路、数码管显示电路等。软件部分拟采用单片机C语言编程,便于维护和修改,主要是利用中断完成信号发射和接受中间所耗时间的计算,并进行相关的数据处理以得到准确的距离。本课题要求测量精确、可靠、显示正确。 三、课题研究的方法及措施 先通过上网、图书馆等各种途径,搜索与本课题相关的资料进行大量的阅读,从而从整体上对这个课题进行认识。然后根据查阅的资料作出总体方案的设计框图以及确定本设计的实现方法。本设计总体框图如下:

超声波测距仪硬件电路的设计

超声波测距仪电路设计实验报告 轮机系楼宇071 周钰泉2007212117 实验目的:了解超声波测距仪的原理,掌握焊接方法,掌握电路串接方法,熟悉电路元件。 实验设备及器材:电烙铁,锡线,电路元件 实验步骤:1,学习keil软件编写程序2、焊接电路板3、运行调试 超声波测距程序: #include unsigned char code dispbitcode[]={0x31,0x32,0x34,0x38,0x30,0x30, 0x30,0x30}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x77,0x7c,0x 39}; unsigned char dispbuf[8]={10,10,10,10,10,10,0,0}; unsigned char dispcount; unsigned char getdata; unsigned int temp; unsigned int temp1;

unsigned char i; sbit ST=P3^0; sbit OE=P3^1; sbit EOC=P3^4; sbit CLK=P3^5; sbit M1=P3^6; sbit M2=P3^7; sbit SPK=P2^6; sbit LA=P3^3; sbit LB=P3^2; sbit LC=P2^7; sbit K1=P2^4; sbit K2=P2^5; bit wd; bit yw; bit shuid; bit shuig; unsigned int cnta; unsigned int cntb; bit alarmflag; void delay10ms(void) { unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--); } void main(void) { M1=0; M2=0; yw=1; wd=0; SPK=0; ST=0; OE=0; TMOD=0x12; TH0=0x216; TL0=0x216; TH1=(65536-500)/256; TL1=(65536-500)%256; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; ST=1; ST=0; while(1) { if(K1==0) { delay10ms(); if(K1==0) { yw=1; wd=0; } } else if(K2==0) { delay10ms(); if(K2==0) { wd=1; yw=0; } } else if(LC==1) { delay10ms(); if(LC==1) { M1=0; M2=1; temp1=13; shuid=0; shuig=1; LB=0; } } else if((LC==0) && (LB==1)) { delay10ms(); if((LC==0) && (LB==1)) { M1=0; M2=0; temp1=12; shuig=0; shuid=0; LB=0; }

Verilog HDL实验报告

HDL实验报告 专业电子科学与技术 姓名 学号 指导老师

1 实验一Modelsim仿真软件的使用 1.1 实验目的 (1)熟悉Modelsim 软件; (2)掌握Modelsim 软件的编译、仿真方法; (3)熟练运用Modelsim 软件进行HDL 程序设计开发。 1.2 实验步骤 (1)学习使用Modelsim软件; (2)分析原理及功能; (3)用Verilog HDL编写程序; (4)编写测试程序进行仿真; (4)观察波形,分析仿真结果是否正确。 1.3 实验内容 用Verilog HDL 程序实现一个异或门,Modelsim 仿真,观察效果。 1.4.1 程序 module my_xor(ina,inb,out); input ina,inb; output out; assign out=ina^inb; endmodule module t_xor; reg ina,inb; wire out; initial begin ina=1'b0; forever #20 ina=~ina; end initial begin inb=1'b0; forever #10 inb=~inb; end my_xor tt(.ina(ina),.inb(inb),.out(out)); endmodule

2 实验二简单组合电路设计 2.1 实验目的 (1)掌握基于Modelsim 的数字电路设计方法; (2)熟练掌握HDL 程序的不同实现方法 2.2 实验步骤 (1)分析原理及功能; (2)根据原理用Verilog HDL编写程序; (3)编写测试程序进行仿真; (4)观察波形,分析仿真结果是否正确。 2.3 实验内容 设计一个三人表决器(高电平表示通过) ,实验内容如下: (1)三个人,一个主裁判,两个副裁判; (2)规则:只要主裁判同意,输出结果为通过;否则,按少数服从多数原则决定是否通过。使用Verilog HDL 程序实现上述实验内容,并使用modelsim 仿真(要求:至少使用两种方法实现上述实验内容和testbench)。 2.4.1 程序 方法1: module voter(v0,v1,v2,y); input v0,v1,v2; output y; assign y=v0|(v1&v2); endmodule 方法2: module voter(v0,v1,v2,y); input v0,v1,v2; output reg y; always @(v0,v1,v2) begin if(v0) y=1;

PLC超声波测距实验报告082039140程稳

利用plc的高速计数模块进行超声波测距实验 ―――――微型控制计算机暑期设计实验报告 082039140程稳 利用51单片机来驱动超声波模块测距,是一件很容易的事,只需要结合定时中断和外部中断,利用12M或更高的晶振频率即可精确获取从发射到接收到超声波之间的时间,平均1ms对应 3.4cm的行程,本GE比赛设计需要物位测量的最大距离是30cm,即需要30*2/3.4=17.64ms,而GE PAC RX3i的PME软件梯形图程序得扫描周期2ms以上,就算是最快的定时节点也有1ms,所以若直接用PLC的普通离散量输入模块IC694MDL654输入节点来测量接收到超声波回波的时间的误差为1ms,误差距离3.4/2=1.7cm,结果自然不理想,更严重的问题在于PLC该模块无硬件中断响应功能,是不能测电平宽度的。总之PLC的IO口工作在低速模式下是难以胜任高速测量任务的,但可喜的是GE PLC 的高速计数模块HSC304能处理2MHZ的信号,但仍无硬件中断功能。于是想能否干脆把单片机测出的电平时间数据通过串口发送给PLC,我也试着这样连线测试,不过PLC串口的使用不像单片机这么简单,没有相关资料,PLC内部寄存器找不到PLC从单片机接收的数据。于是仍决定放弃此方案,回到高速计数模块。再认真阅读此模块配置信息和实验调试后,发现其可以测量出外部信号频率,于是想既然PLC无法直接测电平宽度,那干嘛不测量频率,有了频率自然有周期,有周期自然有电平宽度!

利用plc的高速计数模块检测超声波测距仪的信号接收端的频率,正常情况下应使用频率直接求得周期接而来计算时间,但由于实际测得这样根本很难实现,所以直接测频率,并利用示波器查看该频率的波形,并修改程序使得在所测距离变化的情况下,一周期内的低电平保持不变(高电平所持续的时间表示超声波从发出到接收到所经历的时间,低电平是延时,为了使得波形正常),然后测出频率及其所对应的距离。 以下是用虚拟示波器测出的超声波模块在不同距离测量回波接收脚电压波形:

北航verilog实验报告(全)

目录 实验一 (2) 实验二 (9) 实验三 (21) 实验四 (44)

实验一 实验目的:熟悉硬件开发流程,掌握Modelsim设计与仿真环境,学会简单组合逻辑电路、简单时序逻辑电路设计,不要求掌握综合和综合后仿真。 实验内容:必做实验:练习一、简单的组合逻辑设计 练习二、简单分频时序逻辑电路的设计 选做实验:选做一、练习一的练习题 选做二、7段数码管译码电路 练习一、简单的组合逻辑设计 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。 实验代码: 模块源代码: module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule 测试模块源代码: `timescale 1ns/1ns `include "./compare.v" module t; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1;

#100 a=1;b=0; #100 a=0;b=0; #100 $stop; end compare m(.equal(equal),.a(a),.b(b)); endmodule 实验波形 练习二、简单分频时序逻辑电路的设计 用always块和@(posedge clk)或@(negedge clk)的结构表述一个1/2分频器的可综合模型,观察时序仿真结果。 实验代码: 模块源代码: module halfclk(reset,clkin,clkout); input clkin,reset; output clkout; reg clkout; always@(posedge clkin) begin if(!reset) clkout=0; else clkout=~clkout; end endmodule 测试模块源代码: `timescale 1ns/100ps `define clkcycle 50 module tt; reg clkin,reset; wire clkout;

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

一、实验目的 1.了解超声波测距原理; 2.根据超声波测距原理,设计超声波测距器的硬件结构电路; 3.对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用 超声波方法测量物体间的距离; 4.以数字的形式显示所测量的距离; 5.用蜂鸣器和发光二极管实现报警功能。 二、实验容 1.认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系 统框图; 2.决定各项参数所需要的硬件设施,完成电路的理论分析和电路模型构造。 3.对各单元模块进行调试与验证; 4.对单元模块进行整合,整体调试; 5.完成原理图设计和硬件制作; 6.编写程序和整体调试电路; 7.写出实验报告并交于老师验收。 三、实验原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理,单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示。 (一)超声波模块原理: 超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图1。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

开题报告书—泊车用超声波测距仪的研制

- - -.. 毕业设计(论文) 开题报告 题目泊车用超声波测距仪的研制(软、硬件)

毕业设计(论文)开题报告学生:班级:电子信息工程(2)班

一、研究背景 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单。可用于如汽车倒车提醒、液位、井深、管道长度的测量等场合,也可应用于航海、宇航、石油化工等工业领域。在泊车时可用于倒车,有效避免由于倒车造成的经济损失和人身安全问题。因此

研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。 超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因素的影响,对环境有一定的适应能力,且操作简单、测量精度高等优点而被广泛应用。然而超声波测距在实际应用中也有很多局限性。由于超声波在传播过程中,声压会随着距离的增大而呈指数规律衰减,远目标的回波信号幅度小、信噪低,用固定阀值的比较器检波回波,可能导致越过门槛的时间前后移动,从而影响计时的准确性,这必然会影响到检测的准确性。以及超声波脉冲在空气中传播本省有多重的反射路径,均导致回波信号被展宽,也使侧俩个产生较大的误差,影响了测距的分辨率。 二、主要内容 本课题采用单片机控制,超声波测量距离,最终显示距离并声光报警。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路、超声波接收电路和声光报警电路等模块。单片机输出超声波换能器所需的方波信号,并监测超声波接收电路输出的返回信号。通过硬件和软件实现各个功能模块。可以有效地解决汽车倒车时避开行人和建筑物等问题,保障人身的安全。 设计要求: 1.两路收发同体的空气超声探头,实现汽车尾部左后和右后1.5米内的障碍物探测。 2.单片机组成的控制电路和超声波发射接收电路 3.距离显示电路和声光报警电路 4.探测距离0.25m—1.5m

verilog hdl 实验报告

Verilog HDL数字系统设计 实验报告汇总 任课教师 实验者姓名 学号 实验指导教师

姓名学号 时间地点 实验题目阻塞赋值与非阻塞赋值的区别 一.实验目的与要求 (1)通过实验,掌握阻塞赋值与非阻塞赋值的概念与区别; (2)了解非阻塞赋值和阻塞赋值的不同使用场合; (3)学习测试模块的编写,综合和不同层次的仿真。 二.实验环境 仿真软件: modlsim6.2SE 三.实验内容 阻塞赋值与非阻塞赋值,在教材中已经了解了他们之间在语法上的区别以及综合后所得到的

电路结构上的区别。在always块中,阻塞赋值可以理解为赋值语句是并发执行的。时序逻辑设计中,通常都使用非阻塞赋值语句,而在实现组合逻辑的assign结构中,或者always快结构中都必须采用阻塞赋值语句。 四.系统框图 五.实验波形图 六.实验体会 (1)一开始使用modelsimSE6.2时候不知道建立工作区的方法。后面请教了毕老师才知道如何来建立工作区。 (2)编译时候错误看不懂,细心找才发现‘ ` 两个符号有区别 (3)波形找不到,后来发现时没有放大。 七.代码附录: 源代码:

// ---------- 模块源代码:---------------------- // ------------- blocking.v --------------- module blocking(clk,a,b,c); output [3:0] b,c; input [3:0] a; input clk; reg [3:0] b,c; always @(posedge clk) begin b = a; c = b; $display("Blocking: a = %d, b = %d, c = %d ",a,b,c); end endmodule //------------- non_blocking.v ------------------- module non_blocking(clk,a,b,c); output [3:0] b,c; input [3:0] a; input clk; reg [3:0] b,c; always @(posedge clk) begin b <= a; c <= b; $display("Non_Blocking: a = %d, b = %d, c = %d ",a,b,c); end endmodule 测试模块: // ---------- 测试模块源代码:-------------------------- //------------- compareTop.v -----------------------------

超声波测距实验报告

电子信息系统综合设计报告 超声波测距仪

目录 摘要 (3) 第一章绪论 (3) 1.1 设计要求 (3) 1.2 理论基础 (3) 1.3 系统概述 (4) 第二章方案论证 (4) 2.1 系统控制模块 (5) 2.2距离测量模块 (5) 2.3 温度测量模块 (5) 2.4 实时显示模块 (5) 2.5 蜂鸣报警模块 (6) 第三章硬件电路设计 (6) 3.1 超声波收发电路 (6) 3.2 温度测量电路 (7) 3.3 显示电路 (8) 3.4 蜂鸣器报警电路 (9) 第四章软件设计 (10) 第五章调试过程中遇到的问题及解决 (11) 5.1 画PCB及制作 (11) 5.2 焊接问题及解决 (11) 5.3 软件调试 (11) 实验总结 (13) 附件 (14) 元器件清单 (14) HC-SR04超声波测距模块说明书 (15) 电路原理图 (17) PCB图 (17) 程序 (18)

摘要 该系统是一个以单片机技术为核心,实现实时测量并显示距离的超声波测距系统。系统主要由超声波收发模块、温度补偿电路、LED显示电路、CPU处理电路、蜂鸣器报警电路等5部分组成。系统测量距离的原理是先通过单片机发出40KHz 方波串,然后检测超声波接收端是否接收到遇到障碍物反射的回波,同时测温装置检测环境温度。单片机利用收到回波所用的时间和温度补偿得到的声速计算出距离,显示当前距离与温度,按照不同阈值进行蜂鸣报警。由于超声波检测具有迅速、方便、计算简单、易于做到实时控制的特点,并且在测量精度方面能达到工业实用的要求,因此在生产生活中得到广泛的应用,例如超声波探伤、液位测量、汽车倒车雷达等。 关键词:超声波测距温度测量单片机 LED数码管显示蜂鸣报警 第一章绪论 1.1设计要求 设计一个超声波测距仪,实现以下功能: (1)测量距离要求不低于2米; (2)测量精度±1cm; (3)超限蜂鸣器或语音报警。 1.2理论基础 一、超声波传感器基础知识 超声波传感器是利用晶体的压电效应和电致伸缩效应,将机械能与电能相互转换,并利用波的特性,实现对各种参量的测量。 超声波的传播速度与介质的密度和弹性特性有关,与环境条件也有关: 在气体中,超声波的传播速度与气体种类、压力及温度有关,在空气中传播速度为C=331.5+0.607t/0C (m/s) 式中,t为环境温度,单位为0C. 二、压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 三、超声波测距原理 由于超声波指向性强,能量消耗缓慢,在空气中传播的距离较远,因而超声波

超声波测距开题报告

毕业设计(论文)开题报告 题目名称基于单片机的超声波测距仪 学生姓名专业班级学号 一、选题的目的和意义: 超声波测距是一种利用声波特性、电子计数、光电开关相结合来实现非接触式距离测量的方法。由于超声波指向性好,能力消耗缓慢,在介质中传播的距离较远,因而超声波经常被用于距离的测量,利用超声波检测距离设计比较简单,计算处理也比较简单,并且在测量精度方面也能达到日常使用要求。超声波是一种频率在20khz以上的声波,作为一种特殊的声波,同样具有声波传输的基本物理特性:反射、折射、干涉、衍射和散射,与物理联系紧密,应用灵活。并且更适合于高温、高粉尘、高湿度和强电磁干扰等恶劣环境下工作。无论从精度还是可靠性方面,超声波测距都做得比较好。利用超声波测距往往比较迅速、方便、计算简单、易于做到实时控制。具有广泛的应用前景。 二、研究概况及发展趋势综述 历史上使用超声波来测量距离是从第二次世界大战时海军的声纳技术的发展开始。声纳是一种利用声波在水下测定目标距离和运动速度的仪器。经过几个世纪,科 学家们对此反复研究,最终发现了超声波的原理。 超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉 识别等方面。超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外 界因素影响,对环境有一定的适应能力,且操作简单、测量精度高等优点而被广泛应用。这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器 腐蚀,触电接触不良造成的误测等。此外该技术对被测元件无磨损,使测量仪器牢固 耐用,使用寿命加长,而且还降低了能量耗损,节省人力和劳动的强度。因此,利用 超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业 实用的要求。 然而超声波测距在实际应用也有很多局限性。由于超声波在传播过程中,声压会 随距离的增大而呈指数规律衰减,远目标的回波信号幅度小、信噪比低,用固定阀值 的比较器检测回波,可能导致越过门槛的时间前后移动,从而影响计时的准确性,这 必然会影响到测距的准确度。另外就是构成超声波传感器的压电陶瓷片在压电的双向 转换过程中,存在惯性、滞后等现象,以及超声波脉冲在空气中传播本身及多重的反 射路径,均导致回波信号被展宽,也使测量产生较大的误差,影响了测距的分辨率。其他如温度,风速等也会对测量造成一定的影响。 计量学在制造业中越来越重要。直接在机器上测量尤其能推动制造业的发展。目 前为止大部分还是采用视觉的或触觉的测量方法。但是墙的厚度就不能用这些来测量,因此德国人把超声系统结合到机器设计出了测距方法。随着超声波的发展,早在2000年时英国人就设计出了可观察、识别并测距的超声波集成系统。

stm32超声波测距汇总

嵌入式系统及应用开放性实验报告 Stm32 HC-SR04超声波测距

第一章绪论 1.1STM32超声波测距系统 1.1.1 HC-SR04超声波测距模块简介 HC-SR04 超声波测距模块可提供2cm-400cm 的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。 使用电压:DC---5V 静态电流:小于2mA 电平输出:高5V 低0V 感应角度:不大于15度 探测距离:2cm-450cm 高精度:可达3mm 1.1.2 HC-SR04超声波测距模块原理 采用IO 口TRIG 触发测距,给TRIG至少10us 的高电平信号; 模块自动发送8个40khz 的方波,自动检测是否有信号返回; 有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超 声波从发射到返回的时间。 测试距离=(高电平时间*声速(340M/S))/2; T(℃)={(V25-Vsense)/Avg_Slope}+25 V25=Vsense 在25 度时的数值(典型值为: 1.43)。 Avg_Slope=温度与Vsense 曲线的平均斜率(单位为mv/℃或uv/℃)(典型值为4.3Mv/℃)。 利用以上公式,我们就可以方便的计算出当前物体超声波模块之间的距离。 程序中使用: 测试距离=高电平时间*声速(340M/S))/2 这个公式 1.2 设计要求 使用ARM开发板上硬件资源与超声波模块结合,编程实现实时距离显示功能,通过数码管实时显示距离,并在距离小于设定报警距离时使用蜂鸣器报警。1.3 总体设计方案及框图

1.3.1 距离测量及获取方法 通过设置定时器,开启中断,读取ECHO 输出高电平的持续时间,计算结果 作为当前距离。1.3.2 总体设计方案 实时距离: 本超声波测距系统可实现对距离的实时测量,并不断显示在数码 管上 保持距离: 用户可通过按键使得当前距离值在数码管保持, 也可再次返回对 距离的实时测量,此模式下距离小于报警值不会报警,仅为显示模式。 两种模式相互转换,并且可以在距离保持状态时通过按键进入修改报警距离模式,如果实测距离小于下限值,蜂鸣器报警,当距离大于下限值时,报警自动停止。 1.3.3 程序框图 K5 按下 K6按下 否 是 K7按下 是 否 否 超声波测距数码管显示距离K4是否按下 显示当前距离K7是否按下 开始初始化 数码管及按键扫描 SV++ SV-- K1是否按下

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

超声波测距实验报告

目录 1、课题设计的目的和意义 (3) 2、课题要求 (3) 2.1、基本功能要求 (3) 2.2、提高要求 (4) 3、重要器件功能介绍 (4) 3.1、CX20106A红外线发射接收专用芯片 (4) 3.2、AT89C51系列单片机的功能特点 (5) 3.3、ISD1700优质语音录放电路 (6) 4、超声波测距原理 (8) 4.1、超声波测距原理图 (8) 4.2、超声波测距的基本原理 (9) 5、硬件系统设计 (10) 5.1、超声波发射单元 (10) 5.2、超声波接收单元 (11)

5.3、显示单元 (11) 5.4、语音单元 (12) 5.5、硬件设计中遇到的难题: (12) 6、系统软件设计 (14) 7、调试与分析 (15) 7.1调试 (15) 7.2误差分析 (15) 8、总结 (16) 9、附件 (17) 9.1、总电路 (17) 9.2、主要程序 (18) 10、参考文献 (22)

1课题设计的目的及意义 随着科学技术的快速发展,超声波在测距仪中的应用越来越广,但就目前技术水平而言,人们可以利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距作为一种新型的非常重要有用的工具在各方面都有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。如声纳的发展趋势:研究具体的高定位精度的被动测距声纳,以满足军事和渔业等的发展需求,实现远程的被动探测和识别。毋庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。 超声波测距在某些场合有着显著的优点,因为这种方法是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,因此它是一种非接触式的测量,所以他就能够在某些场合或环境比较恶劣的环境下使用。比如测有毒或者有腐蚀性化学物质的液面高度或者高速公路上快速行驶汽车之间的距离。 随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最注重发展到具有创造力。在新的时代,测距仪将发挥更大的作用。 2课题要求 以单片机AT89C51为中心控制单元,配以超声波发射、接收装置,实现超声波发射及接收其遇到障碍物发生反射形成的回波信号,并根据超声波在介质中的传播速度及超声波从发射到接收到回波的时间,计算出发射点距障碍物的距离,设计出一套基于单片机的脉冲反射式超声波测距系统,利用单片机进行操作控制,用数码管作输出显示,设计发射、接收、检测、显示硬件电路和测距系统软件。

超声波测距仪的设计开题报告

1 课题来源及研究的目的及意义 超声波是一种频率在20kHz以上的机械波,在空气中的传播速度约为340m/s(20℃)。由于超声波测距是一种非接触检测技术,不受光线、被测对象颜色的影响,比其他仪器更卫生,具有不污染、高可靠、长寿命等特点,被广泛应用于纸业、矿业、电厂、化工业、污水处理厂、食品、水文、等行业中,可在不同环境中进行距离的准确度在线标定,可直接用于水酒精、糖等液位控制,能达到工业实用的指标要求。还可以用于移动机器人的视觉系统中,这样可使机器人自动躲避障碍物行走,及时获得障碍物的位置信息,同时超声波测距系统具有以上的这些特点,在汽车倒车雷达的研制方面也得到了广泛应用[1]。 超声波测距仪利用超声波收发探头测量仪器到墙面或其他固定物体的距离,并通过液晶屏显示出来,在实现功能的基础上,尽可能提高测量精度。测量精度要达到分米级。 2 国内外在该方向的研究现状及分析 目前国际国内,在超声波测距方面的研究方向和水平的不同,主要体现在对测距原理、超声波信号处理方法和超声波测距处理器的选用上。常见的超声波测距原理分为渡越时间法和相位差法两种。信号的处理方法大致分为阈值检验法、互相关延时估计法、伪随机码扩频测距法和最小均方法四种。在处理器方面大多以单片机为主,其中以51系列应用最为广泛,采用运算速度更快,效率更高dsp芯片作为处理器,也正成为一个非常活跃的研究方向。目前已研制的超声波测距仪中,量程一般为3-12m,美国AIRMAR公司生产的airducer AR30超声波传感器的作用距离可达30m,但价格昂贵,准确度方面已控制在测量误差的0.4%左右,与真值的差距在厘米级的范围内,若采用互相关或伪随机法,最高可控制在0.05m内,在提高精确度方面,超声波测距还有很大的发展潜力和上升空间[2]。 3 主要研究内容 设计出以单片机为核心控制声波测距仪系统。 (1)研究并总结超声波测距仪设计的基本方法及研究现状; (2)掌握以AT89S51芯片为核心的单片机系统的使用方法; (3)研究74LS04组成的超声波发射电路、声波处理模块、液晶显示等器件组成; (4)研究依据实际的测量精度要求添加温度补偿电路的方法。

基于单片机的超声波测距仪设计

基于单片机的超声波测距仪设计

基于单片机的超声波测距仪设计 1总体设计方案介绍 1.1超声波测距原理 发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v 与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。 表1-1 超声波波速与温度的关系表 表1-1 1.2超声波测距仪原理框图如下图 单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED

显示。 图1-1 超声波测距仪原理框图 2 系统的硬件结构设计 硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,段码用74LS244驱动,位码用PNP三极管8550驱动。 2.1 51系列单片机的功能特点及测距原理 2.1.1 51系列单片机的功能特点 5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的工/O端I:IP0,

实验六-数字频率计的Verilog-HDL语言实现

五邑大学实验报告 实验课程名称 ) 数字频率计的Verilog HDL语言实现 院系名称:信息工程学院 专业名称:通信工程(物联网工程) 实验项目名称:EDA实验 班级: 110711 学号: 。 报告人:冯剑波

实验六 数字频率计的Verilog HDL 语言实现 一、实验目的: 1、掌握较复杂数字电路或系统的纯Verilog HDL 实现方法; 2、体会纯Verilog HDL 语言输入设计与原理图输入设计的差别。 二、实验原理: 【 数字频率计是用来测量输入信号的频率并显示测量结果的系统。一般基准时钟的高电平的持续时间为s T 10 ,若在这0T 内被测信号的周期数为N 则被测信号的频率就是N ,选择不同的0T ,可以得到不同的测量精度。一般0T 越大,测量精度越高,但一次的测量时间及频率计所需的硬件资源也增加。 三、设计任务与要求: 1、设计一个6位频率计,测量范围从1Hz 到99 99 99Hz ,测量结果用6个数码管显示,基准时钟频率为1Hz ; 2、只显示测量结果,中间计数过程不显示;结果更新时间2秒一次; 3、频率计只设一个复位键,按下该键(reset=0)系统复位,释放该键(reset=1)系统工作,测量并显示结果。 4、显示用静态方式; 5、用Verilog HDL 实现上述要求的频率计。 四、设计源程序及注释与仿真结果 设计源程序: module pinlvji(oHEX0,oHEX1,oHEX2,oHEX3,oHEX4,oHEX5,clk_50M,clk_1Hz,reset,signal_out); @ input clk_50M,reset; //50MHz 时钟输入、复位 output[6:0] oHEX0,oHEX1,oHEX2,oHEX3,oHEX4,oHEX5; //数码管0-5,分别显示个、十、百、千、万、十万位的数字 output reg clk_1Hz; output reg signal_out; reg signal_in; reg[29:0] cnt; reg[29:0] cnt1; reg count_en; //计数允许,count_en=1时计数,下降沿到来时锁存 reg load; reg[3:0] ge,shi,bai,qian,wan,shiwan; reg cout1,cout2,cout3,cout4,cout5; reg[3:0] q0,q1,q2,q3,q4,q5; wire clr; always @(posedge clk_50M) //改变Hz 的范围,自己设定的频率1Hz-999999Hz begin

相关文档
相关文档 最新文档