毕业设计
课题名称:基于AT89C51的倒车测距报警器的设计
基于AT89C51的倒车测距报警器的设计
[摘 要]超声波测距在倒车雷达、液面高度测量等场合有着广泛的应用。本文根据超声波测距离原理,设计了一个简易的超声波倒车测距报警系统。系统主要由控制器模块、超声波收发模块、距离显示模块、声音提示模块、电源模块构成。控制器通过定时器产生周期的脉冲方波信号,经电声转换电路后发出超声波,同时打开定时器计时。声电转换电路将超声波的回波信号转换为电平送单片机中断,根据定时器计得的收发时间差计算障碍物的距离。本设计分析了超声波测距原理,给出了系统的总体设计方案,完成了具体硬件电路图设计以及软件程序设计,最后对系统进行了测试。测试数据表明系统具有较高的精度,较低成本的优点,因此具有一定的实际应用价值。
[关键词]AT89C51;超声波测距;LED数码管显示
Design of the ranging reversing alarm Based on AT89C51
LiWei
0902 electricity technique
Abstract: There is a wide range of occasions where ultrasonic ranging can be applied, such as in reversing car and liquid level measurement. Based on the ultrasonic distance measurement principle, this paper aims at designing a simple ultrasonic reversing ranging alarm system. The system mainly includes the controller module, ultrasonic receiving module, display module, the voice prompt distance module and power supply module. The controller module generates periodic pulse square wave signal through the timer. Then the conversion circuit emits ultrasonic waves and the timer is opened at the same time. The seismoelectric conversion circuit of the ultrasonic echo signal is converted to a voltage, which is sent to the SCM interrupt port. The SCM calculates the distance of the obstacle according to measured transceiver time difference. This paper analyzes the ultrasonic ranging principle, gives the overall design of the system and completes the concrete hardware circuit design, software program design and the final test of the system. The test data show that the system has higher accuracy together with its low cost. The utility model has a certain practical value.
Key words: AT89C51;Ultrasonic Ranging;LED display
目 录
第一章 绪 论..................................................... 1
1.1 课题研究背景 ............................................... 1 1.2 超声波测距发展历程 ......................................... 1 1.3 超声波测距研究现状 ......................................... 2 1.4 课题主要任务 ............................................... 2 第二章 系统总体设计................................................ 3
2.1 设计方案论证 ............................................... 3
2.1.1 控制模块............................................... 3 2.1.2 测距模块............................................... 3 2.2 系统总体设计方案 ........................................... 4 第三章 系统硬件电路设计............................................ 6
3.1 系统主控电路设计 ........................................... 6
3.1.1单片机AT89C51简介 ..................................... 6 3.1.2 时钟电路............................................... 9 3.1.3 复位电路............................................... 9
3.2 超声波发射与接收电路的设计 ................................ 10
3.2.1 超声波发射电路的设计.................................. 10 3.2.2 超声波接收电路的设计.................................. 10 3.3 测距显示电路的设计 ........................................ 11
3.3.1 LED数码管简介 ....................................... 11 3.3.2 LED数码管显示电路的设计 ............................. 11 3.4 报警电路的设计 ............................................ 12 3.5 系统硬件电路原理图 ......................................... 13 第四章 系统软件程序设计........................................... 14
4.1 系统主程序设计 ............................................ 14 4.2 系统子程序设计 ............................................ 14
4.2.1 定时器中断服务子程序.................................. 14 4.2.2 数码管显示与计算程序.................................. 17 4.2.3 报警程序设计.......................................... 19 4.3 软件程序的编译调试 ........................................ 19
4.3.1 Keil uVision软件简介 ................................. 19 4.3.2 搭建软件开发工作环境.................................. 20 4.3.3 程序编写与编译........................................ 22
第五章 实物制作及系统测试......................................... 24
5.1 实物制作 .................................................. 24
5.1.1 PCB板的制作 .......................................... 24 5.1.2 元器件的安装及焊接.................................... 24 5.3 系统测试 .................................................. 25 结束语............................................................. 27 致 谢............................................................. 28 参考文献........................................................... 29 附录A 系统硬件电路原理图 .......................................... 30 附录B 系统PCB图 .................................................. 31 附录C 系统实物图 .................................................. 32
扬州工业职业技术学院毕业设计
第一章 绪 论
1.1 课题研究背景
随着我国经济的飞速发展,交通运输车辆的不断增多,由此产生的交通问
题越来越成为人们关注的问题。其中倒车事故由于发生的频率极高,已引起了社会和交通部门的高度重视。倒车事故发生的原因是多方面的,倒车镜有死角,驾车者目测距离有误差,视线模糊等原因造成倒车时的事故率远大于汽车前进时的事故率,尤其是非职业驾驶员以及女性更为突出。而倒车事故给车主带来许多麻烦,例如撞上别人的车、消防水笼头,如果伤及儿童更是不堪设想,有鉴于此,汽车高科技产品家族中,专为汽车倒车泊位设置的“倒车雷达”应运而生,倒车雷达的加装可以解决驾驶人员的后顾之忧,大大降低倒车事故的发生。
汽车倒车雷达全称为“倒车防撞雷达”,也叫“泊车辅助装置”,是汽车泊车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除驾驶员泊车和起动车辆时因前后左右探视所引起的困扰,并帮助驾驶员克服视野死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达的原理与普通雷达一样,是根据蝙蝠在黑夜里高速飞行而不会与任何障碍物相撞的原理设计开发的。通过感应装置发出超声波,然后通过反射回来的超声波来判断前方是否有障碍物,以及障碍物的距离、大小、方向、形状等。只不过由于倒车雷达体积大小及实用性的限制,目前其主要功能仅为判断障碍物与车的距离,并做出提示。 1.2 超声波测距发展历程
自19世纪末到20世纪初,在物理学上发现了压电效应和反压电效应之后,人们解决了利用电子技术产生超声波的方法,从此迅速揭开了发展与推广超声技术的历史进程。
1993年,徕卡测量系统在法国Batimat展出世界第一台手持式激光测距仪,徕卡第一代迪士通以其坚固耐用,可靠精密的特性引起了人们的关注。随后徕卡在1998年推出迪士通第二代basic、1999年推出迪士通第三代classic、2001年推出四款第四代、2002年推出classic5、lite5第五代测距产品,测量距离范围在0.2-200m之间,单次测量时间不到1秒,作为职场的领跑者,徕卡测量系统的发展历程见证了超声波测距技术的发展过程。
- 1 -
扬州工业职业技术学院毕业设计
1.3 超声波测距研究现状
目前,在国际和国内上,在超声测距方面的研究方向的不同和研究水平的高低,主要体现在测距原理上。随着电子技术的发展,出现了微波雷达测距、CCD测距、激光测距和超声波测距等多种形式的测距方法,前几种测距法由于技术难度大、成本高等因素,主要用于军事工业方面。而超声波测距则由于其技术难度较低,成本低廉等特点,在一般测量领域应用广泛。如汽车倒车雷达,目前的汽车倒车雷达主要是具有蜂鸣器的语音报警以及距离显示为主的汽车安全系统。这些系统主要采用的是以单片机为控制核心的智能超声波测距传感器和蜂鸣器报警系统,这种汽车安全辅助系统便宜耐用,而且达到了汽车电子系统网络化的发展需求。
1.4 课题主要任务
本课题主要是利用单片机AT89C51设计一款简易的倒车测距报警器,应用
于汽车倒车位置监控与报警。在汽车倒车时,系统能实时显示汽车尾部与障碍物之间的距离,以便司机及时掌握倒车时车尾状况,做出正确的判断。当车尾与障碍物距离等于或小于50cm时,系统触发蜂鸣器报警电路进行报警提示,提醒司机及时停车。
结合本课题的主要任务,提出系统总体设计方案,完成系统硬件电路图的绘制,软件程序设计以及实物的制作,最后能够完成测试运行。
- 2 -
扬州工业职业技术学院毕业设计
第二章 系统总体设计
本课题主要任务是设计一款简易的倒车测距报警器,应用于汽车倒车位置监控与报警。该报警器主要包括控制模块、测距模块、声音模块、距离显示模块、电源模块五个部分,控制模块和测距模块是本设计的核心,下面我们将从这两个个方面对系统方案进行论证与选择。 2.1 设计方案论证 2.1.1 控制模块
随着自动化技术的不断发展,在自动控制系统的设计过程中都会面临核心控制元件选择的困惑,对于绝大部分的控制任务来说。无论是采用单片机还是PLC都能完成方案设计,但最终选择还是要根据实际任务需求来定。
(1)可编程逻辑控制器(PLC)
PLC发展初期主要用于开关量的逻辑控制,随着PLC技术的进步,它的应用领域在扩大,不仅可以用于开关量控制,还可用于模拟量及数字量的而控制,可采集与存储数据,并进行联网、通讯等,如今,PLC已成为工业控制中核心元器件之一。其主要优点是功能完善,稳定性高抗干扰能力强,扩展性好,硬件维护方便,编程简单。缺点是价格较高,体积较大。
(2)单片机
单片机与PLC本质是相同的,它们的发展都是基于微处理技术,而PLC实际上是建立在单片机之上的一种产品,而单片机实际上是一个集成电路,体积相对较小,成本低,经济实惠,但利用单片机实现的主控板受软件布局、环境温度、制板工艺等影响,稳定性和抗干扰性相对较弱。
对比这两种核心控制元件,两者各有优缺点,根据本课题设计任务,汽车倒车报警装置体积要小,这样便于携带、安装、不占用汽车空间,显然由于PLC体积大的特点而不符合设计要求,因此本设计采用AT89C51单片机作为核心控制元件。
2.1.2 测距模块
(1)激光测距
激光由于其本质性的成因使得激光具有亮度高、单色性好、方向性好、传光性好等特点,而激光测距则利用激光的方向性强和传光性好的特点,用脉冲激光
- 3 -
扬州工业职业技术学院毕业设计
器向目标发射一列很窄的光脉冲(脉冲宽度小于50ns),光达到目标表面后部分被反射,通过测量光脉冲从发射到返回接收机的时间,可算出测距地点与目标之间的距离。 假设所测距离为h,光脉冲往返时间为t,光在空中的的传播速度为c,则: h=ct/2,脉冲激光测距最大测距也能达到30000m以上,其测距精度一般为5米,.最高的可达0.15m。由于激光对人体存在安全问题,而且制作的难度大成本也比较高,主要在军事上用于对各种非合作目标的测距,也可在气象上用于测定能见度和云层高度.以及应用在对人造卫星的精密距离测量等领域。
(2)红外线测距
红外线测距原理是红外光遇到障碍物会反射回来,而反射回来红光的强弱由距离而定,距离越远,红光强度越弱,根据这个特点能够进行障碍物距离远近的测量。其优点是成本低廉,使用安全,制作简单,缺点就是测量精度低,方向性也差,测量距离近。
(3)超声波测距
超声波是一种超出人类听觉极限的声波即其振动频率高于16kHz的机械波。超声波测距就是将电压和超声波之间的互相转换,发射超声波的探头将电压转化的超声波发射出去,当接收超声波时,超声波接收探头将超声波转化的电压回送到控制芯片。超声波具有振动频率高、波长短、绕射现象小而且方向性好还能够为反射线定向传播等优点,在中、长距离测量时,超声波测量的精度和方向性都要大大优于红外线测量。从安全性,成本、方向性等方面综合考虑,超声波传感器更适合设计要求。
根据对以上三种测距方法的比较,很明显激光传感器是比较理想的选择,但是它的价格却比较高,而且安全度不够高。因此在一般测距中不具有普遍适用性,而超声波测距具有较强的抗干扰能力和较短的响应时间,在精度和方向性上都优于红外测距,因此本方案的距离测量部件选用超声波测距模块。 2.2 系统总体设计方案
根据方案的论证与选择,本设计以单片机AT89C51为控制核心,外围配置
超声波发射接收模块、声音提示模块、距离显示模块、电源模块四部分。系统总体设计方框图如图2-1所示。
- 4 -
扬州工业职业技术学院毕业设计
超声波驱动模块/电声换能信号调理距离显示模块超声波接收模块/声电换能障碍物信号调理控制器MCU时钟电路声音提示模块复位电路电源模块图2-1 系统总体设计方框图
其中,超声波发射模块选用软件发生超声波法,利用软件产生40kHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。超声波接收模块包括超声波接收探头、信号放大电路及波形变换电路三部分。探头变换后的正弦波电信号经放大电路放大并进行波形变换。声音提示模块采用蜂鸣器报警电路,倒车时,车尾与障碍物之间距离小于所设定的安全值时,发出蜂鸣声提醒驾驶员。鉴于LED数码管显示简洁、价格便宜等特点,距离显示模块采用4位LED数码管动态显示。
- 5 -
扬州工业职业技术学院毕业设计
第三章 系统硬件电路设计
根据系统总体设计方案,系统以单片机AT89C51为控制器,时钟电路、手动复位电路、电源和控制器一起构成主控电路。利用单片机的定时器产生超声波的周期方波信号,经单片机P1.0口输出,通过信号调理和换能电路后发出超声波。利用单片机中断口P3.2接收回波信号,计算时间差并换算距离信息。距离显示电路采用4位LED数码管显示,单片机的P2口的高四位提供数码管的位选信号,P0口作为数码管的段码;声音提示电路采用蜂鸣器报警,由单片机的P3.4驱动蜂鸣器报警电路发出提示声音。 3.1 系统主控电路设计
该系统以AT89C51为核心,配置时钟电路、复位电路以及电源电路,构成系统主控电路。具体主控电路如图3-1所示。
图3-1系统主控电路图
3.1.1单片机AT89C51简介
AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。AT89C51具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、
- 6 -
扬州工业职业技术学院毕业设计
定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护外围硬件电路。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其芯片引脚示意图如图3-2所示。
图3-2 AT89C51引脚示意图
主要引脚功能介绍如下:
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输
- 7 -
扬州工业职业技术学院毕业设计
出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,具体功能如表3-1所示。
表3-1 P3口引脚功能表
P3口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行口输入) TXD(串行口输出) INT0(外部中断0输入) INT1(外部中断1输入) T0(定时器0外部脉冲输入) T1(定时器1外部脉冲输入) WR(外部数据存储器写脉冲输出) RD(外部数据存储器读脉冲输出) P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
- 8 -
扬州工业职业技术学院毕业设计
3.1.2 时钟电路
单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。本系统采用内部振荡方式,在AT89C51引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。具体系统时钟电路如图3-3所示。
图3-3 时钟电路
3.1.3 复位电路
复位电路有上电复位和手动复位两种。本系统采用手动复位方式,具体电路如图3-4所示。系统上电时, RC电路开始充电,因为电容电压不能突变,使RST端的电位接近Vcc,以后RST端的电位将随电容充电而逐渐下降。只要RST端出现的正脉冲时间保持在10ms以上,就能使单片机有效地复位。工作过程中,需要手动复位时,按下按钮时,电容瞬间完成放电,Vcc的+5V电平就会直接加到RST端,完成系统复位。
图3-4 复位电路图
- 9 -
扬州工业职业技术学院毕业设计
3.2 超声波发射与接收电路的设计 3.2.1 超声波发射电路的设计
超声波发射电路主要由74LS04和超声波换能器构成,单片机P1.0端口输出40KHz方波信号一路经一级反向器后送到超声波换能器的第一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端可以提高发射强度。具体电路图如图3-5所示。
VCC+5U4AP1.0174LS045U4D974LS041174LS04874LS04U4E101KR11SPEAKER2374LS04U4C6U4B41KR10TCT40-10F1 图3-5 超声波发射电路
3.2.2 超声波接收电路的设计
超声波接收电路主要由CX20106A和超声波换能器构成,CX20106A是一款红外的专用芯片,考虑到红外遥控常用的载波频38K与测距的超声波频率40KHz较为接近,故利用它制作超声波检测接收电路,具体电路图如图3-6所示。
VCC220KR1210KR13U58P3.2723465R1CX20160ATCT40-10S1C40.056uF10R14+C51uF+C63.3uFC7330PF 图3-6 超声波接收电路
- 10 -
扬州工业职业技术学院毕业设计
3.3 测距显示电路的设计 3.3.1 LED数码管简介
LED数码显示管有两种,一种是共阳极数码管,其内部是由八个阳极相连接的二极管组成;另一种是共阴极数码管,其内部是由八个阳极相连接的二极管组成。共阴极LED数码显示块的发光二极管阴极连接在一起,形成该模块的公共端(通常称为位选端),因此称为共阴极LED数码显示器,8个数码管的另一端通常称为段选段,当显示器的公共端接低电平,某个发光二极管的阳极接高电平时,该发光二极管被点亮;共阳极LED数码显示块的发光二极管阳极连接在一起,形成该模块的公共端,因此称为共阳极LED数码显示器,8个数码管的另一端通常称为段选段,当显示器的公共端接高电平,某个发光二极管的阳极接低电平时,该发光二极管被点亮。二者原理不同但功能相同。LED数码管外形结构图如图3-7所示。
图3-7 LED外形结构图
3.3.2 LED数码管显示电路的设计
LED数码管显示方式有静态显示和动态显示两种。其中,静态显示就是显示驱动电路具有锁存功能,单片机将所要显示的数据送出后就不再控制LED,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,该接口用于笔划段字型代码。这样单片机只要把显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机再发送新的数据。
另一种方法就是动态扫描显示。由于单片机本身具有较强的逻辑控制能力,所以采用动态扫描软件译码并不复杂。而且软件译码其译码逻辑可随意编程设定,不受硬件译码逻辑限制。采用动态扫描软件译码的方式能大大简化硬件电路结构,降低系统成本。它用分时的方法轮流控制各个显示器的公共端,使各个显
- 11 -
扬州工业职业技术学院毕业设计
示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及二极管的余辉效应,给人的印象就是一组稳定的显示数据。
本系统显示电路采用4位共阳极LED数码管动态显示方式,位码用PNP三极管驱动,具体电路图如图3-8所示。
[P00..P07]VCCRP1P00P01P02P03P04P05P06P071234567810k161514131211109L1P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomL2P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomL3P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomL4P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcom999P1P2P39P49012R14.7kVCC9012R24.7k9012R34.7k9012R44.7kP27P26P25P24
图3-8 测距显示电路图
3.4 报警电路的设计
在单片机应用系统中,最常见的发声器件就是蜂鸣器。蜂鸣器一般用于一些要求不高的声音报警及发出按键操作提示音等。
有源蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音,使用起来比扬声器简单。
蜂鸣器是感性负载,一般不建议用单片机的 I/O 口直接对其进行操作,需要加一只驱动三极管。系统声音提示电路图如图3-9所示。三极管为PNP型,要使蜂鸣器发声,只要将单片机 P3.4 口置为低电平就可以了。
图3-9 声音提示电路图
- 12 -
扬州工业职业技术学院毕业设计
3.5 系统硬件电路原理图
根据对系统的控制模块、测距模块、报警模块、显示模块的设计与调试,系统硬件电路原理图如图3-10所示。
U1AR51kLS14SPEAKERSN74LS04U1DR6VCC1kSN74LS04SN74LS04VCCP10C2330pFC33.3uFR8643221U1CSN74LS04U1B365SN74LS04U1E91011[P00..P07]VCCU31234567891011121314151617181920P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RESETP0.7P3.0/RXDEA/VPPP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WRP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.0AT89C5130pFGNDVCC4039383736353433323130292827262524232221P00P01P02P03P04P05P06P07VCCP00P01P02P03P04P05P06P071234567810kRP2161514131211109L5P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcom8L6P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomL7P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomL8P00P01P02P03P04P05P06P0712345678DPYaabcfbgdeecdfdpgdpcomC41uFS1+C510uFLS2C10.056uF1SPEAKER643210U215877R1110KR10CX2016010kP32P34999P27P26P25P24P5P6P79P85R12220kU4BELLVCC89012R144.7kVCC9012R154.7k9012R164.7k9012R174.7kR71KR13Q1Q2N3904100Y2C612MHz30pFC7P27P26P25P24
图3-10 系统硬件电路原理图
- 13 -
扬州工业职业技术学院毕业设计
第四章 系统软件程序设计
4.1 系统主程序设计
本系统硬件电路设计以单片机AT89C51为核心。程序设计采用模块化设计方法,整个软件程序设计由主程序、超声波发射子程序、定时器中断服务子程序、显示子程序等模块组成。该系统的主程序处于键控循环工作方式,当按下电源按键时,主程序开始调用发射子程序、查询接收子程序、定时器中断服务子程序,并把测量结果用显示子程序在数码管上显示出来。虽然用一个单独计时器电路也可以测量超声波的传输时间,但利用AT89C51单片机可以简化设计,便于操作和直观读数。系统主程序设计流程图如图4-1所示。
开 始 系统初始化 发送40KHz的方波信号 延 时 启动定时器及外部中断 调用显示程序 图4-1 系统主程序设计流程图
4.2 系统子程序设计
系统子程序设计主要涉及到超声波发射、接收子程序设计、定时器中断服务子程序设计以及LED数码管显示子程序设计。 4.2.1 定时器中断服务子程序
定时器中断服务子程序设计流程图如图4-2所示。
- 14 -
扬州工业职业技术学院毕业设计
外部中断入口 关外部中断 关定时器中断 读取时间值 计算距离 结果输出 开外部中断 返 回 图4-2 定时器中断服务子程序设计流程图
程序如下:
void zhongduan0( ) interrupt 1 //T0中断用来计数器溢出,超过测距范围 {
flag=1; }
void zhongduan1( ) interrupt 2 //T1中断用来扫描数码管 {
TH1=0xf8; //2ms定时 TL1=0x30; Display(); timer++;
if(timer>=400) //800ms 启动一次模块 {
- 15 -
//中断溢出标志
扬州工业职业技术学院毕业设计
timer=0; TX=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; }
}
void main( void {
TMOD=0x11;
TH0=0;
) //设T0为方式1,GATE=1;- 16 -
扬州工业职业技术学院毕业设计
TL0=0; TH1=0xf8; TL1=0x30;
ET0=1; //允许T0中断 ET1=1; TR1=1; EA=1;
//允许T1中断 //开启定时器 //开启总中断 //2ms定时
while(1)
{
while(!RX); TR0=1;
//当RX为零时等待 //开启计数 //当RX为1计数并等待
//关闭计数
while(RX); TR0=0;
Conut(); } }
//计算
4.2.2 数码管显示与计算程序
超声波测距时由安装在同一位置的超声波发射器和接收器完成超声波的发射与接收,由定时器计时。首先由发射器向特定方向发射超声波并同时启动定时器计时,超声波在介质传播途中一旦遇到障碍物后就被反射回来,当接收器接收到反射波后立即停止计时。此时,定时器就记录下了超声波自发射点至障碍物之间往返传播经历的时间t(s)。由于常温下超声波在空气中的传播速度约为340m/s,所以发射点距障碍物之间的距离为: S=340t/2=170 t
由于单片机内部定时器的计时实际上是对内部固定频率的机器周期T的计数,设计中时钟频率fosc取12MHz,设计数值N,则 T=12/fosc=1μs,t=N×T=N×10-6(s) S=170×N×T=170×N/10-6(m)
或S=17×N/10-3(cm)
- 17 -
扬州工业职业技术学院毕业设计
致 谢
在毕业设计完成之际,我心中洋溢着成功的喜悦,但更多的是对老师和同学的感激,正是在他们的帮助和鼓励下,我的毕业设计才得以顺利完成。
本毕业设计是在两位老师的悉心指导下完成的,老师们不仅对我的专科生学业给予了无微不至的关怀和培养,更重要的是,对本设计的研究和顺利完成倾注了大量的心血。在此,我向老师们表示深深的敬意和衷心的感谢!同时也要感谢图书馆这个知识的海洋,它给我提供了丰富的参考资料,以保证我在遇到疑难问题时得以及时查阅书籍,从而顺利地解决问题。
在毕业论文的写作期间,我积极与其他同学进行讨论和交流,正是他们给了我自始至终的支持和鼓励,为我提供了不可或缺的帮助。在这里,我向他们道一声诚挚的感谢!最后,还要感谢在学习上、生活上,关心我、帮助我的老师、同学以及广大的亲朋好友们。
- 28 -
扬州工业职业技术学院毕业设计
参考文献
[1]王迎旭.单片机原理及及应用.北京:机械工业出版社,2001. [2]路锦正等.超声波测距仪的设计[J].传感器技术,2002,21(8).
[3]张利红等.一种低成本超声波测距仪的设计[J].化工自动化及仪表,2010,37(8).
[4]余发山.单片机原理及应用技术.北京:中国矿业大学出版社,2003.
[5] 鞠永胜. 基于嵌入式系统汽车倒车雷达的设计与实现[D]. 山东:山东大学,2010.
[6]赵晓安主编.MCS-51单片机原理及应用.天津:天津大学出版社,2001. [7] 陆冬妹. 基于温度补偿的超声波倒车测距系统的设计[J]. 齐齐哈尔大学学报,2011,27(2).
[8] 沈燕等.基于单片机的超声波测距仪设计[J].现代电子技术,2012,35(7). [9] 梁小流,陈炳森,梁建和. 基于89S52汽车防撞雷达系统设计[J]. 机电工程技术,2011,10(4):49~51.
[10]夏路易,石宗义.电路原理图与电路板设计教程——Protel99SE.北京:希望电子出版社,2002.
[11]时德刚等. 超声波测距仪的研究[J] .计算机测量与控制,2002,10(7). [12]李军.超声测距模块HC-SR04的超声波测距仪设计[J],2011,11(10) . [
- 29 -
R52U1CSN74LS04U1B4SPEAKER3SN74LS046511kLS1扬州工业职业技术学院毕业设计
SN74LS04U1DU1E91011R68VCCSN74LS04VCCP10C2330pFR8+C510uFC33.3uFC41uFS112345678910111213141516171819207R1110KR10CX2016010kP32P34VCCC6R71KR13Q1Q2N3904VCC100Y212MHz30pFC730pFGNDU3P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RESETP0.7P3.0/RXDEA/VPPP3.1/TXDALE/PROGP3.2/INT0PSENP3.3/INT1P2.7P3.4/T0P2.6P3.5/T1P2.5P3.6/WRP2.4P3.7/RDP2.3XTAL2P2.2XTAL1P2.1GNDP2.0AT89C51SN74LS041k[P00..P07]VCCVCC4039383736353433323130292827262524232221P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P071234567810kRP2161514131211109P00P01P02P03P04P05P06P0712345678L5DPYaabcfbgdeecdfdpgdpP00P01P02P03P04P05P06P0712345678LS2C10.056u1F10U2comcomcom1758SPEAKER999附录A 系统硬件电路原理图
P27P26P25P24P5P6P79comL6DPYaabcfbgdeecdfdpgdpP00P01P02P03P04P05P06P0712345678L7DPYaabcfbgdeecdfdpgdpP00P01P02P03P04P05P06P0712345678L8DPYaabcfbgdeecdfdpgdp 34322R12220kU1A6P8589012R144.7kVCC901290129012R154.7kR164.7kR174.7kU4BELLP27P26P25P24- 30 -
64扬州工业职业技术学院毕业设计
附录B 系统PCB图
- 31 -
扬州工业职业技术学院毕业设计
附录C 系统实物图
- 32 -