汽车防碰撞电路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汽车倒车防碰撞电路设计
[摘要] 本论文介绍的是利用超声波测距法设计的一种倒车防撞报警系统。
本设计是基于STC89C52单片机最小系统作为控制核心,由超声波模块,电机驱动模块,电源模块和报警显示模块等几个模块所组成的汽车倒车防碰撞电路系统。
主要利用超声波的特性,将超声波测距系统和STC89C52单片机结合于一体,设计出一种基于STC89C52单片机的汽车倒车防碰撞报警系统。
该系统采用软、硬件结合的方法,具有模块化和易操作的特点。
[关键字]单片机超声波STC89C52
引言
随着国民经济和科学技术的快速发展,我国汽车的拥有量在大幅增加,其数量已经跻身到世界各国的前列,与此同时也造成道路拥堵,交通事故频发,给人们的生命和财产安全带来了巨大的损失。
安全驾驶已然成为大家关注的焦点,其中汽车防碰撞系统的设计和需求显得非常重要和迫切。
针对这种情况,设计一种响应快、可靠性高,稳定性强且较为经济的汽车防碰撞报警系统势在必行。
所谓的汽车倒车防碰撞报警系统即是俗称的倒车雷达,是汽车泊车辅助装置。
在汽车倒车时,倒车雷达采用超声波测距原理探测汽车尾部离障碍物的距离。
当汽车尾部离障碍物的距离达到探测的报警范围时,倒车雷达通过一些人性化的提示来给驾驶员发出预警,以警示驾驶员,辅助驾驶员安全倒车,为驾驶员的倒车安全提供保证和方便。
汽车倒车雷达预警系统的运用可极大地减轻驾驶者的体力、脑力劳动强度,降低倒车难度,避免驾驶员因方向感不强、判断和操作失误而引起的事故,同时它将对提高汽车智能化水平和最终实现汽车无人驾驶产生积极的意义。
因此有市场需求的产品,必然会带动产品的开发设计,现在市场上的的倒车雷达种类较多。
几乎道路上的所有的中高档小轿车都配置有各种倒车雷达。
需求的提高必然会迫使产品的技术不断更新。
本设计是一种基于单片机控制的倒车防碰撞系统,该系统采用通用型单片机作为核心控制器,方便系统功能扩展。
系统电路主要采用集成器件构成,外围元件少,电路简洁、调试方便、成本低,利于商品化生产。
在此设计过程中将研究的主要方向集中到超声波测距的应用和如何使用单片机来控制整个系统。
超声波在现在的科学技术中的应用也是很广泛的。
超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射,折射,干涉,衍射,散射。
与物理紧密联系,应用灵活。
并且更适合与高温,高粉尘,高湿度和高强电磁干扰等恶劣环境下工作。
超声波可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点。
超声波测距是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,对被测目标无损害,而且超声波传播速度在相当大范围内与频率无关。
超声波的这些独特优点越来越受到人们的重视。
因此,本次设计所要研究的几个方面是很有意义的。
既能把以前所学习的电子电路技术回顾,又能使用单片机的控制理论来讲这些模块综合到一起,使它们能够完成特定的功能,最有趣的是学习了超声波测距这种传感技术。
我觉得能够运用目前所学到的知识来解决一些问题就是这次课程设计意义的所在。
1系统总体设计
1.1 设计要求及主要功能
设计要求是设计一种能自动探测汽车与物体距离,在距离小于设定值能够报警的防撞电路。
电路主要以超声波传感器、信号接收处理电路、单片机控制电路、报警电路等组成。
主要功能是所设计的智能避障小车,它是以STC89C52作为主控制器,用超声波模块来测量小车与障碍物之间的距离,并将信号发给主控制器。
用L298N芯片驱动直流电机,执行主控制器命令,控制小车的前进,并用LED灯和蜂鸣器报告检测出前方有障碍物。
在小车的行进过程中按照超声波测距模块的测量范围在四位数码管上相应的显示出小车与障碍物之间的距离。
并且当其测量距离小于预设报警值时,蜂鸣器会发出警报,小车停止前进。
1.2 系统功能模块定义
根据设计要求,我按照由主及次的原则大致勾勒出该设计的结构图,需要如下所示的几个模块:
1.3 总体方案
本次设计的防碰撞小车,设计思路如下:
采用与MCS 系列完全兼容的STC89C52芯片,它是一种低功耗、高性能、COMS 微处理器。
片内具有8k字节的在线可重复编程快擦快写Flash 存储器,256×8位内RAM ,STC89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
驱动采用L298N 这款芯片,主要的特点是功率强大,可以加载高达46V 的电压,并且提供两组IN 口便于对两个轮子进行PMW 速度调制控制。
超声波模块采用计时器中断计时的方法,算法简单有效,并且程序中采取超时控制防止出现无限大的数据,在允许的测量范围内以增加测量的精确度。
电源模块采用六节干电池 (9V) 串联做电源,利用LM2940芯片转换成5V 稳定电压为小车的各个模块供电。
功率上达到设计要求,并且是很好的稳定的直流电源,避免了电网电源转化时出现的电流不稳定现象,一定程度上降低了电路的复杂程度。
LED 与蜂鸣器的设计发挥了安全的报警作用,有较强的实用性,为系统人性化设计增添了色彩。
具体实施办法如下:
(1) 在小车前进过程中STC89C52芯片向超声波传感器模块Trig 口发送长度大于10us 的脉冲信号,使超声波发射电路工作向前方发送超声波进行测量,此时STC89C52芯片中定时计数器开始计时;当超声波遇到障碍物反射被,超声波接收电路收到反射波时,将测得的高电平信号通过Echo 口传给主控制器,只有出现低电平时,计数器开始中断计时STC89C52根据时间差值检测法公式: S =T *1.7/10 (cm) 计算出距离。
(2) 主控芯片STC89C52根据设定的报警距离判断前方是否出现了障碍物,如果判断是,则驱动蜂鸣器报警,小车停止前进。
(3) 利用主控芯片分别对两个直流电机发送连续的具有一定占空比的矩形脉冲进行PWM 小车速度调制,在没有障碍物的情况下,车轮直流电机收到一定的脉冲宽度则小车走的是匀速直线运动;当STC89C52芯片判断出有障碍物时,则小车得到脉冲宽度为零的PWM ,从而达到避障的目的。
2 系统硬件单元设计
2.1 主控单元电路设计 2.1.1 主控芯片介绍
本次的设计采用的是STC89C52单片机,它是40个引脚的双列直插式封装形式,各个引脚功能说明如图2.1所示。
51单片机 最小系统
超声波测距
模块
数码管显示 模块
蜂鸣器 报警模块
直流电机 驱动模块
电源模块
电源模块
图2.1 STC89C52芯片管脚图
VCC:电源,接+5V
GND:接地
P0口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。
对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL 逻辑电平。
对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
RST:复位输入。
晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST 脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE 将被微弱拉高。
这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。
定时/计数器:
(1)MCS-51系列中51子系列有两个16位的可编程定时/计数器:定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。
(2)每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。
(3)每个定时/计数器都有多种工作方式,其中T0有四种工作方式;T1有三种工作方式,T2有三种工作方式。
通过编程设置其方式寄存器TMOD 可设定定时器工作于某种方式,方式寄存器TMOD 格式见表2.1所示。
表2.1 定时/计数器的方式寄存器TMOD
GA TE
C/T
M1 M2 GA TE
C/T
M1 M2
门 控 开/关
计数/定时
方式选择 门 控 开/关
计数/定时
方式选择
T1 T0
GATE :门控信号。
GA TE=0,TRx=1时即可启动定时器/计数器工作,是一种自启动的方式;GA TE=1,TRx=1,INTx =1时才可启动定时器/计数器工作。
即是INTx 引脚加高电平启动,是一种外启动方式。
C/T :定时或计数方式选择位,当C/T =1时工作于计数方式;当C/T =0时工作于定时方式。
M1、M0:为工作方式选择位,定时器/计数器的四种工作方式由M1M0设定。
(4)每一个定时/计数器定时计数时间到时产生溢出,使控制寄存器TCON 中相应的溢出位置位,溢出可通过查询或中断方式处理:
TF1:定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由硬件使它置位,如中断允许则触发T1中断。
进入中断处理后由内部硬件电路自动清除。
TR1:定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时启动;TR1=0时停止。
TF0:定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。
进入中断处理后由内部硬件电路自动清除。
TR0:定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;TR0=0时停止。
中断:
STC89C52有6个中断源:两个外部中断(0INT 和1INT ),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。
IE 还包括一个中断允许总控制位EA ,它能一次禁止所有中断。
2.1.2 最小系统电路设计
(1) 整体电路设计
该设计的整体电路图见论文后面的附录。
(2) 复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般电路正常工作需要供电电源为5V±5%,即 4.75~5.25V 。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC 超过4.75V 低于5.25V 以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
复位电路图见下图2.2所示。
图2.2 复位电路图
图2.3振荡电路图
(3)振荡电路
晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就波振荡电路,由于晶振等效为电感频率范围很窄所以即使其它参数元件很大,这个震荡器的频率也不会有很大变化。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。
振荡电路图见图2.3。
2.1.3 电源电路
稳压电源是单片机控制系统的重要组成部分,它不仅为测控系统提供多路电源电压,还直接影响到系统的技术指标和抗干扰性能。
近年来,传统的线性稳压电源正逐步被高有效率的开关电源所取代,特别是单片机开关电源的迅速推广应用,为设计新型、高效、节能电源创造了良好的条件。
本设计采用的是6节1.5V的干电池串联组成电源,然后使用LM2940稳压芯片转换为单片机的使用电压。
图2.4电源电路图
2.2 超声波测距单元设计
2.2.1 设计要求
本次设计的测距单元电路主要采用超声波传感器模块HC-SR04,达到基本的测距功能。
该模块可提供2--400cm的非接触式距离感测功能,测距精度高达3mm;模块包括超声波发射器,接收器与控制电路。
2.2.2 超声波测距的基本原理
超声波是高于听觉频率阈值的机械波,其频率在104Hz~1012Hz 之间。
超声波具有直线传播特性,频率越高,反射能力越强,而绕射能力越弱,表现出更强的方向性。
利用超声波的这种特性,采用时间差值检测法(常称渡越时间检测法)进行距离的测量。
其工作原理是:声波发射探头向介质发射超声波,声波遇到目标后有反射回波作用到接收探头,测量发射时刻与接收时刻的时间差T,然后根据以下公式计算距离S:S=CT/2
其中C 为超声波在介质中的传播速度(m/s)。
由于超声波在空气中传播速度与温度有关。
如果环境温度变化显著,必须考虑温度补偿的问题。
空气中的声速C 与温度T(单位:°C)的关系可以表示为:C≈331.45+0.607T
2.2.3 超声波收发电路
(1)超声波发射电路:
经实验测量当加在40KHz 超声波探头的激励电流大于30mA 时,测量距离将不在增加,只有通过升压的办法来加大激励能量。
驱动电路采用通用的升压芯mc34063 将5V 电压升压到40V,然后作为驱动三极管的电源电压。
由STC89C52 单片机产生的10个脉冲信号送入三极管Q1 基极,经Q1、Q2 功率放大,最后驱动发射超声波探头工作。
发射电路如图2.5所示。
图2.5 超声波发射电路
(2)超声波接收电路:
超声波在空气中传播,遇到目标物体反射的回波信号,加到超声波接收探头上,由于压电效应产生微弱电压信号,输出的这种回波信号是mV 级甚至更低的电压信号,必须要经过放大电路的信号放大才能进行进一步处理。
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路如图2.6所示。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
图2.6 超声波接收电路
2.2.4 模块端口功能介绍
VCC接5V电源。
GND接地。
TRIG触发控制信号。
ECHO回响信号输出。
在操作中采用IO口的TRIG触发测距,提供至少10us的高电平信号。
该模块自动发送8个40khz 的方波,自动检测是否有信号返回。
若有信号返回,则通过ECHO引脚输出一个高电平,高电平持续的时间便是超声波从发射到返回的时间。
2.3 小车电机驱动模块设计
2.3.1 驱动控制芯片的介绍
(1)主要特性:
L298N是SGS公司生产的一种高电压、大电流电机驱动芯片。
该芯片的主要特点是工作电压高,最高工作电压可达46V,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
L298N内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
(2)引脚排列及功能:
L298N采用15脚Multiwatt塑料封装,通过散热片可用螺钉固定在散热器上。
内部包含:两个H桥的高电压大电流全桥式驱动器A与B(每个全桥由4只PNP型三极管构成);逻辑电路供电稳压器;逻辑控制电路等。
引脚排列如图2.7所示。
图2.7 L298N引脚图
2.3.2 驱动电路的设计
小车驱动电路是由L298N芯片和74HC04反相器组成,L298N的IN1和IN2口分别接反相器的正反相得引脚,然后接到主控芯片的P35,P36口,IN3和IN4接法一致;ENABLE脚是使能端,用于接收主控芯片输出的PWM信号,控制小车的速度;OUT口接直流电机,是L298处理过的信号电流,驱动轮子转动;SENGSING口和GND口是接地,Vs和Vss是电源接口,是小车运动的能量
源。
驱动电路图如图2.8所示。
用L298驱动两台直流减速电机的电路。
引脚6,9可用于PWM控制。
本设计项目只要求直行前进,则将5,10和7,12两对引脚分别接高电平和低电平,仅用单片机的两个端口给出PWM信号控制6,11即可实现直行、转弯、加减速等动作。
电机的速度通过PWM ( 脉冲宽度调制)来调节。
对直流电动机电压的控制和驱动中,L298N在使用上可分为两种方式:线性放大驱动方式和开关驱动方式。
在线性放大驱动方式中,半导体功率器件L298N工作在线性区。
那么采用PWM脉宽调制的优点就是:控制原理简单,输出波动小,线性好,对邻近电路干扰小。
当然也存在缺点,例如:功率芯片工作在线性区会发生功率低和散热问题严重。
图2.8 驱动电路图
2.3.3 小车PWM速度调节
PWM( Pulse Width Modulation )是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”。
如图2.9所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。
只要按一定规律,改变通、断电的时间,即可让电机转速得设电机始终接通电源时,电机转速最大为,则电机的平均速度为50%,最大速度100%,最小速度0。
在本次设计中为了能使超声波模块更加精确的测距,我选择了较小的占空比来降慢速度。
图2.9 PWM方波
2.4 报警显示模块设计
2.4.1 报警电路
小车所使用的报警器是蜂鸣器。
当小车离障碍物之间的距离小于预警值时,蜂鸣器会发出声音报警。
蜂鸣器会一直报警直到小车与障碍物之间的距离大于预警值。
下图2.10即为小车的报警电路设计图。
图2.10 蜂鸣器报警电路
2.4.2 显示单元电路
显示单元能够直观的看出小车与障碍物之间的距离,包括行进过程中和报警停车的位置与障碍物之间的距离。
现有以下三种方案:
方案1:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案2:1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
1602的驱动电路带有11条指令,可以很方便的控制液晶的现实效果如:清屏、左移右移、光标显示。
但是对于只显示三位温度值显得浪费,又考虑到其价格较高,运用起来的复杂性,所以也不用此来显示。
方案3:数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。
要使数码管正常显示就得有驱动电路驱动相应的段码,数码管的现实方式可分为静态显示和动态显示,静态显示方式只适合显示单个的数字,因此本设计应采用动态显示方式。
由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用系统资源虽然大,但是在显示的个数和字型有限情况下可以充分利用其优良特性,且相对于整个系统来说,单片机的系统资源利用不多,所以可以应用数码管显示。
综合比较上述三种方案,结合实际的测量范围我采用数码管显示来组成本设计的显示模块。
驱动电路如下图2.11所示:
图2.11 数码管显示电路
上图电路由74LS245和四位一体数码管组成,然后它的引脚统一由主控单元控制。
下面分别介绍一下他们的特性及用法。
74LS245:三态输出的总线收发器。
用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端CE低电平有效时,DIR=“0”,信号由B 向A 传输,此为接收状态;DIR=“1”,信号由A 向B 传输,此为发送状态。
当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD且PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
数码管:数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。
按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到电流约10mA左右的电压端,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
本设计我选用的是四位一体共阴极数码管来显示。
3 系统软件单元设计
3.1 软件实施流程图
主要完成超声波的产生、计时、计算以及结果显示的功能,它包括主程序、计算子程序、数码显示子程序、外部中断子程序以及定时中断子程序。
主程序主要完成寄存器、变量等的初始化、超声波的出发以及部分子程序的调用。
中断子程序是用来响应回波信号,当有回波信号时,立即停止计时,然后转入计算程序。
程序流程图如图3.1所示。