|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要:目前国内超声波测距器的设计大多采用汇编语言设计。由于单片机应用系统的日趋复杂,要求所写# q7 V8 u# q" _3 I
的代码规范化,模块化,并便于多人以软件工程的形式进行协同开发,汇编语言作为传统的单片机应用系统的编程4 y3 b% Z: E2 ?1 \, c, r5 G
语言,已经不能满足这样的实际需要了,而C语言以其结构化和能产生高效代码满足了这样的需求,成为电子工程8 d4 A3 |$ d* m& I- X
师进行单片机系统编程时的首先编程语言。本设计就是一种基于AT89C52单片机、采用C语言和汇编语言混合编
& m3 }& X j% y程来实现的超声波测距器。该文较详细地论述了采用单片机技术研制而成的泊车用超声波测距仪的基本原理,测
6 ~7 Q# f+ ^! g% w; N' U8 _量计算方法,实现方案。使用它,可以极大的提高泊车时的安全性。.
9 A$ h0 N+ \2 n; j- u8 M关键词:单片机AT89C52;超声波传感器;测距
) J" ^4 ], d' S+ T. F1 H3 K0引言: E8 J0 Q h4 E% o
目前国内超声波测距器的设计大多采用汇编语言设计。由于单片机应用系统的日趋复杂,要求所写
& r2 R& } [: }$ Y3 X" `* H的代码规范化,模块化,并便于多人以软件工程的形式进行协同开发,汇编语言作为传统的单片机应用系. Z! G1 `& y. U2 A* d
统的编程语言,已经不能满足这样的实际需要了,而C语言以其结构化和能产生高效代码满足了这样的需( Z& H5 _; ?6 q# ]
求,成为电子工程师进行单片机系统编程时的首先编程语言。在本设计中,由于C语言程序有利于实现较
) q) H# g7 Y S+ X: q8 f复杂的算法,汇编语言程序具有较高的效率并且容易精确计算程序运行的时间,而超声波测距器的程序既, m( D1 o. A% d3 l" ^& w7 ]
有较复杂的距离计算又要求精确计算超声波测距时程序运行的时间,所以本设计采用C语言和汇编语言. f6 E& u/ j" E1 P" f
混合编程来实现。本文论述的是一种基于AT89C52单片机的超声波测距器,可用于汽车倒车等场合"。% t8 F8 c' f0 z# A; D6 }
1设计要求, h/ ]6 \% n1 }1 S( A. w
设计-一个超声波测距器,可以应用于汽车倒车建筑施工工地以及--些工业现场的位置监控,也可用
6 H' ]; k$ n3 j; O& f) ?于如液位井深、管道长度的测量等场合。要求测量范围在0.10-5.00m,测量精度1cm,测量时与被测物% J3 M* n( g) g. D& E! T/ A
体无直接接触,能够清晰稳定地显示测量结果。" b: S: Q8 h; G! p/ k# z
2设计思路
5 @, t) M$ B- x. G% e9 _2.1超声波及 其测距原理
/ _$ n }. Q! g' G$ D% y# i超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波。
6 Y& O" [4 F* ]( j0 E完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送
0 g i7 a2 S$ ?器和接收器,但-一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应
8 p% i. o% i$ G. r5 O0 ]& S( a的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换为超声波,发射超声波;而在收到回+ Q1 {- w6 h4 U' O% j* f
波的时候,则将超声振动转换成电信号。
9 l: J+ R$ {1 ?9 {1 Z超声波测距的原理一般采用渡越时间法T0F( time of flight)。首先测出超声波从发射到遇到障碍物返 W. c2 h* Y* x
回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。测量距离的方法有很多0 B* v. m( }1 o8 L5 z
种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波
% G# Y T6 N# n
; w8 ~8 W; L$ ?3 ]1 k
: R4 n2 H& i# L. |( Q& Y8 p6 K# Z, n$ U
附件下载:
( }, A( T1 L6 _9 @# a7 e" A4 E: a( _; ?/ I9 O
|
|