图1-5接收电路超声波探头接收到超声波后,通过声电转换,产生一正弦信号,其频率为传感器的中心频率,即40kHz。该信号通过C1高通滤波后经LM741放大,最后经二极管整形后输出到单片机中断口。LM741是一单运放集成芯片,图1-6为LM741管脚图。
图1-6LM741管脚图1.2.4显示模块的设计
LED(Light-EmittingDiode,发光二极管)有七段和八段之分,也有共阴和共阳两种。
LED数码管结构简单,价格便宜。图1-7示出了八段LED数码显示管的结构和原理图。图1-7(a)为八段共阴数码显示管结构图,图1-7(b)是它的原理图,图1-7(c)为八段共阳LED显示管原理图。八段LED显示管由八只发光二极管组成,编号是a、b、c、d、e、f、g和SP,分别与同名管脚相连。七段LED显示管比八段LED少一只发光二极管SP,其他与八段相同。
6图1-7八段LED数码显示管原理和结构单片机对LED管的显示可以分为静态和动态两种。静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流地一遍一遍显示各自字符,人们由于视觉器官惰性,从而看到的是各LED似乎在同时显示不同字形。
为了减少硬件开销,提高系统可靠性并降低成本,单片机控制系统通常采用动态扫描显示。但是由于本系统所用的单片机引脚少,剩余引脚很多,而且也只需显示三位字符,所以,采用了静态的显示方式,且采用了软件译码,这样单片机引脚输出可直接接到LED显示管上。这样省去了外部复杂的译码电路。
1.3超声波测距系统的软件设计
单片机编程产生超声波,在系统发射超声波的同时利用定时器的计数功能开始计时,接收到回波后,接收电路输出端产生的负跳变在单片机的外部中断源输入口产生一个中断请求信号,响应外部中断请求,执行外部中断服务子程序,停止计时,读取时间差,计算距离,然后通过软件译码,将数据输出P0、P1和P2口显示。
程序流程图如图1-8,(a)为主程序流程图,(b)为定时中断子程序流程图,(c)为外部中断子程序流程图。
(a)(b)图1-8程序流程图(c)7用单片机编程产生40kHz方波,可用延时程序和循环语句实现。先定义一个延时函数delays(),然后可用for语句循环,并且循环一次同时改变方波输出口的电平高低,从而产生方波。部分程序如下:
voiddelays(){}voidmain(){
for(a=0;a<200;a++){
P36=!P36;delays();}}
单片机每隔一段时间产生一串40kHz方波,同时定时器开始计时,当收到回波,产生中断信号后,单片机执行中断程序。在中断程序中,先让定时器停止计数,然后读取时间,通过时间计算出所测距离,输出结果。
中断程序如下:
voidintersvro(void)interrupt0using1{
uintbwei,shwei,gwei;ucharDH,DL;ulongCOUNT;ulongnum;TR0=0;DH=TH0;DL=TL0;
COUNT=TH0*256+TL0;num=(344*COUNT)/20000;bwei=num/100;
gwei=(num-bwei*100)/10;shwei=num;P1=tab[bwei];P0=tab[shwei];P2=tab[gwei];TH0=0;
8//延时函数
//产生100个40KHz的方波//每循环一次,输出引脚取反
//INTO中断服务程序
//停止计数
//计算距离//取百位//取十位//取个位//输出百位//输出十位//输出个位
TL0=0;}
本系统的LED显示采用了静态显示方式,并用单片机内部软件译码。这样简单方便,省去了复杂的外部译码电路。
软件译码只需要定义一个数组便可,程序语句如下:uchar
tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
这是共阳LED显示从0到9的字形码。
data
1.4本章小结
本章是该课题的重点,全面介绍了超声波测距系统的原理和设计思路,给出了硬件电路和软件的设计。在硬件电路的设计中,分别详细介绍了发射电路,接收电路及显示模块的设计方法。软件编程部分,给出了整个程序的思路以及程序流程图。
9二绪论2.1课题背景,目的和意义
传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,其中,超声波传感器在测量方面有着广泛、普遍的应用。利用单片机控制超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且测量精度较高。
超声波测距系统主要应用于汽车的倒车雷达、机器人自动避障行走、建筑施工工地以及一些工业现场例如:液位、井深、管道长度等场合。因此研究超声波测距系统的原理有着很大的现实意义。对本课题的研究与设计,还能进一步提高自己的电路设计水平,深入对单片机的理解和应用。
2.2两种常用的超声波测距方案
2.2.1基于单片机的超声波测距系统
基于单片机的超声波测距系统,是利用单片机编程产生频率为40kHz的方波,经过发射驱动电路放大,使超声波传感器发射端震荡,发射超声波。超声波波经反射物反射回来后,由传感器接收端接收,再经接收电路放大、整形,控制单片机中断口。其系统框图如图2-1所示。
图2-1基于单片机的超声波测距系统框图这种以单片机为核心的超声波测距系统通过单片机记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,在单片机的外部中断源输入口产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离,结果输出给LED显示
[1]
。
利用单片机准确计时,测距精度高,而且单片机控制方便,计算简单。许多
超声波测距系统都采用这种设计方法。
10