数字超声波倒车测距仪设计-毕业设计(共29页).doc

上传人:飞****2 文档编号:14290962 上传时间:2022-05-03 格式:DOC 页数:29 大小:524KB
返回 下载 相关 举报
数字超声波倒车测距仪设计-毕业设计(共29页).doc_第1页
第1页 / 共29页
数字超声波倒车测距仪设计-毕业设计(共29页).doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《数字超声波倒车测距仪设计-毕业设计(共29页).doc》由会员分享,可在线阅读,更多相关《数字超声波倒车测距仪设计-毕业设计(共29页).doc(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上数字超声波倒车测距仪设计 学生:XX 指导教师:XX内容摘要:在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。它是一种集计数和多中接口于一体的微控制器。而52单片机是个单片机中最为典型和最有代表性的一种。 本设计主要应用AT89C52作为控制核心,与显示器,驱动电路等相结合的系统。基于单片机设计。利用单片机AT89C52作为报警装置的控制器,能充分发挥AT89C52的数据处理和实时控制功能而设计的数字超声波倒车测距仪。使系统工作于最佳状态,提高系统的灵敏度。其优点是体积小、使用方便

2、、硬件电路简单,软件功能完善,控制系统可靠,具有一定的使用和参考价值。若将安全距离设为0.5m,就可作为汽车倒车报警器,提高汽车倒车时的安全性。 该数字超声波倒车测距仪利用超声波实现对汽车的测距。利用单片机的实时控制和数据处理功能完成系统的控制。文章给出了测距仪的硬件电路原理及软件设计。关键词:AT89C52 超声波 测距仪专心-专注-专业The design of Digital ultrasonic Reverse rangefinderAbstract: In the application system of single-chip microcomputer of real-time

3、 detection and automatic control, the single-chip microcomputer always be used as a core components. The single-chip microcomputer is a microcomputer which collect all the important computer components to a chip.It is a kind of micro controller which contains count and varieties of interface. Howeve

4、r, the 52 single-chip is the most typical and representative one of all the single-chip.This design is mainly taking AT89C52 as the control core, it is a system of connecting monitor, drive circuit etc. According to the design of the single-chip, using AT89C52 as the controller of alarm device will

5、fully develop the function of data processing and real-time control of AT89C52. This kind of single-chip ensures the best condition and arises the sensitivity of the system. The merit of this single-chip is the small volume, convenience, simple hardware circuit, perfect software functions, the Contr

6、ol system is reliable,as well as the value of using and reference. If the safety distance is 0.5m, the single-chip may be setted as the reverse alarm and the safety will be improved. This digital ultrasonic reverse rangefinder uses ultrasonics to finish the test of the distance of vehicles. Completi

7、ng the control of the system with real-time detection and the function of data processing. This essay is mainly talking about the hardware circuit principle and the software design of rangefinder.Keywords: AT89C52 ultrasonic rangefind目 录数字超声波倒车测距仪设计前言 人们能听到声音是由于物体振动产生的,它的频率在20HZ-20KHZ范围内,超过20KHz称为超声

8、波,低于20Hz的称为次声波。常用的超声波频率为几十KHz几十MHz。由于超声波指向性强,因而常于距离的测量。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人,汽车安全,海洋测量等上得到了广泛的应用。本设计提供一种液晶显示测距装置,该装置利用了发射接收一体化的超声波传感器和微处理器。采用超声波传感器分时工作于发射和接收,利用声波在空气中的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物到超声波测距器之间的距离。距离是在不同的场合和控制中需要检测的一个参数,所以,测距就成为数据采集中要解决的一个问题。尽管测距有多种方式,

9、比如,激光测距,微波测距,红外线测距和超声波测距等。但是,超声波测距不失为一种简单可行的方法。虽然超声波测距电路多种多样,甚至已有专用超声波测距集成电路。但是,有的电路复杂,技术难度大,有的调试困难,有的元件不易购买。本文介绍的电路,成本低廉,性能可靠,所用元件易购,并且利用测距原理,结合单片机的数据处理,使测量精度提高,电路实现容易,无须调试,工作稳定可靠。1 数字超声波倒车测距仪 超声波倒车测距仪俗称倒车雷达又称泊车辅助系统,一般由超声波传感器(俗称探头)、控制器和显示器等部分组成,现在市场上的倒车雷达大多采用超声波测距原理,驾驶者在倒车时,启动倒车雷达,在控制器的控制下,由装置于汽车车尾

10、保险杠上的探头发送超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经过控制器进行数据处理,判断障碍物的位置,由显示器显示距离并发出警示信号,得到及时警示,从而使驾驶者倒车时做到心中有数,使倒车变得更轻松。介绍1.1 数字超声波倒车测距仪功能分析这部分阐述了数字超声波倒车测距仪的各种动作功能和控制要求,给出了完整的数字超声波倒车测距仪操作规程,并介绍了数字超声波倒车测距仪运行系统种所包括的人工操作步骤。1.1.1 数字超声波倒车测距仪的基本功能在进行程序编写之前,首先要做的工作是数字超声波倒车测距仪本身所具备的功能及在进行某种操作后所具有的状态。数字超声波倒车测距仪的基本功能就是对汽车尾

11、部到静止物体的距离进行运算,并根据所测距离数值判断是否能够顺利完成车辆的倒车,并作出相应的反应。数字超声波倒车测距仪的工作框图如图1.1.1-1所示:AT89C52单片机超声波发射头放大电路超声波接收头放大电路LCD显示键盘图1.1.1-1 超声波倒车测距仪工作框图1.2 控制器的选型与工作原理当某一个控制任务决定由控制器来完成后,选择控制器就成为最重要的事情。一方面要选择多大容量的控制器 ,另一方面是选择什么公司的单片机及外设。对第一个问题,首先要对控制任务进行详细的分析,把所有的I/O口找出来,包括每个端口的具体功能。1.2.1 AT89C52的硬件结构图XTAL1RESETEAPSTNA

12、LEXTAL2CPU(运算器)(控制器)程序存储器4Kb Flash ROM数据存储器RAM特殊功能寄存器SFRP0P2看门狗定时器串行口定时器/计数器 16位 2个中断系统P1P3图1.2.1-1 AT89C52硬件结构图1.2.2 AT89C52各部分的作用与工作原理 1.2.2.1 中央处理器 CPU是由控制器和运算器组成的。运算器也称为算术逻辑单元,它的功能就是进行算术运算和逻辑运算。控制器的作用是控制整个计算机的各个部件有条不紊地工作,其基本功能是从内存中取指令和执行指令。他的重要功能如下: 为一般控制应用的 8 位单芯片; 晶片内部具时钟振荡器(传统最高工作频率可至 12MHz);

13、 内部程式存储器(ROM)为 4KB; 内部数据存储器(RAM)为 128B; 外部程序存储器可扩充至 64KB; 外部数据存储器可扩充至 64KB; 32 条双向输入输出线,且每条均可以单独做 I/O 的控制; 5 个中断向量源; 2 组独立的 16 位定时器; 1 个全多工串行通信端口; 8751 及 8752 单芯片具有数据保密的功能; 单芯片提供位逻辑运算指令。1.2.2.2 存储器AT89C52的存储器分为两大部分一大部分是程序存储器,用来存放系统管理程序、监控程序及其系统内部数据;二大部分是数据存储器,用于存放中间运算结果、数据暂存和缓冲、标志位。1.2.2.3 I/O口介绍图1.

14、2.2.3-1 AT89C52管脚图 VCC: 电源 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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为

15、输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。在flash编程和校验时,P1口接收低8位地址字节。具体如下所示:P1端口第二功能:P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用) P2 口:P2 口是一个具有

16、内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O

17、口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89C52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。P3端口第二功能:P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通) RST: 复位输入。晶振工作时,

18、RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一

19、位置 “1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89C52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。 XT

20、AL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。1.2.2.3 系统的基本工作原理系统的工作是由软件和硬件的配合过程。先由AT89C52单片机使NE555使能端置1,继而NE555送出40kHz频率的方波信号经过压电换能器(超声波发射头)将信号发射出去及发射超声波,同时该时刻启动定时器开时计时。该信号遇到障碍物反射回来在此称为回波。同时,压电换能器(超声波接收头)将接收的回波及接收超声波,通过信号处理的检波放大,及通过三级放大后再送到比较器进行比较输出比较电压, 输出电压经过三极管以后,使之电压与AT89C52的I/O口相匹配最后送至微机处理。最后进

21、行LCD液晶显示。数字超声波倒车测距仪的工作框图如图1.1.1-1所示。2 系统硬件电路设计2.1 单片机的最小系统单片机正常工作时,都需要有一个时钟电路,和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图2.1-1所示。图2.1-1 AT89C52最小系统2.2 时钟电路计算机工作时,是在统一的时钟脉冲控制下一拍一拍的进行的,这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序。为了保证各部件间的同步工作。单片机内部电路就在惟一的时钟信号控制下严格的按时序进行工作。要给单片机提供时序要有相关的硬件电路,即

22、振荡器和时钟电路。因此选择了内部时钟方式。利用蕊片内部的振荡器,然后在引脚XTAL1和XTAL两端跨接晶体或陶瓷谐振器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路如图1所示,外接晶振时,C1和C2值通常选择为30PF左右。C1,C2对频率有微调作用。晶体的频率范围可在1.212MHZ之间选择。在实际连接中,为了减少寄生电容,更好地保证振荡器稳定。可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。2.3 复位电路复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的

23、操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路来实现。2.4 多谐振荡器采用NE555 构成多谐振荡器可以实现占空比的调节。并且电路设计简单,占用面积小。由单片机AT89C52的P2.3口发出同步脉冲信号,该同步脉冲启动多谐振荡器,使其输出40KHz的高频电压信号,经过整形直接加至超声波换能器探头。根据逆压电效应, 产生振动频率为40KHz的超声波。如图2.3-1所示:图2.4-1 多谐振荡器和超声波发射电路接通电源后,电容C被充电,VC上升,当VC上升到2/3VCC时,触发器被复位,同时放电BJT T导通,此时Vo为低电平,电容C通过R2和T放电,使VC下降。当VC下降到

24、1/3VCC时,触发器又被置位,Vo翻转为高电平。电容器C放电所需的时间为: (2.4-1) 当C放电结束时,T截止,VCC将能过R1,R2向电容器充电,VC由1/3VCC上升到2/3VCC所需的时间为: (2.4-2)当VC上升到2/3VCC时,触发器又发生翻转,如此周而复始,在输出端就得到一个周期性的方波,其频率为: (2.4-3)由于NE555内部的比较器的灵敏度较高,而且采用差分电路形式,它的振荡频率受电源电压的温度变化的影响很小。图2.4-2 NE555的工作波形图从NE555的工作波形图,可看出占空比是固定不变的。为了调解的方便,我把R1和R2都换成了电位器,就形成了占空比可调的电

25、位器。使的超声波的发射电路更加具有高效性。也能满足波尽可能的减小失真。从面达到测距更长的效果。2.5 超声波传感器从图2.4-1超声波的发射电路上看还有一个超声波传感器。它具有把电信号转化为机械信号,同时又能把机械信号转化为电信号的功能。在设计中选择了压电式超声波发声器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构中,它有两个压电晶片和一个共振板。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片

26、将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。本文所采用的超声波传感器是T/R-40-16(其中T表示发送,R表示接收,40表示频率为40KHZ,16表示其外径尺寸,以毫米计)。2.6 超声波接收电路超声波接收电路包括由MC3403构成的三级回波放大电路以及LM358电压比较整形电路两部分,与超声波接收传感器T-40-16配合使用,实现超声波的接收功能。图2.6-1 超声波接收电路2.7 放大电路及参数设定当测量距离较大时,超声波的回波较弱,这时候就需要将信号放大,否则

27、其转换成电信号的幅值也会比较小。在设计中,采用三级放大电路,将信号最大能放大50万倍。其中运算放大器IC3A、IC3B放大倍数为100倍,IC3C放大倍数为可调的。根据公式Au=R6/R4(以第一级放大电路为例),可以求得各放大电路的参数。计算后,取值如下,R3=10K,R4=10K,R6=1M,R7=1M。第三给放大是可调的Au=Rx/R2。其中R2=10K。Rx为500K可调的滑动变阻器。所以放大倍数是在(050)之间。从图3。5中,可以看到各个运放的基准电压都是可调的。这样更有利于达到自己想要的理想结果。超声波接收头接收到的40 kHz反射波交流信号。电容C5、C9、C12的作用为滤掉直

28、流信号,对电容的大小无特别要求,所以一律选为1000PF。其中的放大电路是由MC3403构成的。MC3403是四低功耗运算放大器。MC3403的引脚结构如图2.7-1所示:图2.7-1 MC3403的引脚结构2.8 电压比较电路及参数设计电压比较器的功能是比较两个电压值的大小,例如,将一个信号电压和另一个参考电压进行比较,在和时,电压比较器输出两个不同的电平,即高电平和低电平。比较器的输出通常只有高电平和低电平两个稳定状态,因此它相当于一个受输入信号控制的开关,当输入电压经过阈值时开关动作,使输出从一个电平跳转到另一个电平。系统中,比较器的作用是将信号电压与设定的基准电压相比较,当信号电压大于

29、基准电压时,比较器输出正脉冲,导通,P2.5接收负脉冲信号,单片机CPU发出中断,记录发射信号与接受信号之间的时间,并计算距离。在比较器的设计中要考虑两点因素:第一,要使导通;第二,要使经过三极管以后的电压与AT89C52的P2.5口相匹配。为了在实际应用时能得到合适的参数,将设计为最大阻值为5.1 k的电阻,这样,的阻值便可得到满足上述条件的电压信号。用做电压比较器的的LM358,从图2.8-1可以看出比较器的的基准电压是可调的,因为从超声波接收的信号,要求有很高的灵敏度和精度,从放大电路出来的电压变化是非常微妙的,必须配和可调的基准电压采能满足进行比较达到达到设计中的需要。LM358内部包

30、括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358的引脚结构图:图2.8-1 LM358的引脚结构2.9 AT89C52和LCD显示器模块的硬件接口AT89C52和JM12864J的硬件接口连线如图2.9-1所示。在图中看出,LCD显示器模块的能动信号E是由AT89C52的P3.2控制。当P3.2电平由高到低产生一个下降沿脉冲,就产生能动信号E。AT89C52的P3端口的P3.0P3.5用于产

31、生控制信号,用于控制LCD显示模块的工作。其中P3.0用于产生数据指令标志信号RS;P3.1用于产生读写信号R/W;P3.3、P3.4用于产生选择信号CS1、CS2;P3.5用于产生复位信号RST。AT89C52的P1端口用于传送数据或指令,故P1.0P1.7和LCD显示器模块的DB0DB7相连。为使显示屏能具有满意的亮度,在+5V和-5V之间接一个电位器,用于调节VEE的电压。VEE的电压一般取0-5V。AT89C52和LCD显示器模块的硬件接口:图2.9-1 AT89C52和LCD显示器模块的硬件接口在JM12864J型LCD显示器模块就用中,有7种指令格式。这些指令用于对模块执行专门的控

32、制功能,为些指令及其功能分别说明如下。 表2.9-1 显示开关控制(DISPLAY ON/OFF)指令代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 0 0 1 1 1 1 1 DD=1:开显示(DISPLAY ON) 意即显示器可以进行各种显示操作D=0:关显示(DISPLAY OFF) 意即不能对显示器进行各种显示操作 表2.9-2 设置显示起始行(DISPLAY START LINE)指令代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 1 1 A5 A4 A3 A2 A1 A0 Z地址计数器是一个6位计数器。此计数器具备循环计数功能

33、,是用于显示行扫描同步的。当一行扫描完成,此地址计数器自动加1,指向下一行扫描。RST复位后Z地址计数器为0。显示起始行是由Z地址计数器控制的。A5A0 6位地址自动送入Z地址计数器,起始行的地址可以是063的任意一行。例如:选择A5A0是62,则起始行与DDRAM行的对应关系如下:DDRAM 行:62 63 0 1 2 3 28 29屏幕显示行: 1 2 3 4 5 6 31 32表2.9-3 设置页地址(SET PAGE “X ADDRESS”)指令代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 1 0 1 1 1 A2 A1 A0所谓页地址就是DDRAM的行地

34、址,8行为一页,模块共64行即8页,A2A0表示07页。读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。页地址与DDRAM的对应关系见DDRAM地址表。 表2.9-4 设置Y地址(SET Y ADDRESS)代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0形式 0 0 0 1 A5 A4 A3 A2 A1 A0此指令的作用是将A5A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。表2.9-5读状态(STATUS READ)代码R/W RSDB7DB6DB5DB4DB3DB2DB1D

35、B0形式 0 1 BUSY 0ON/OFFRET 0 0 0 0当R/W=1 RS=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7DB0)的相应位。BF: BF标志组件内部的工作情况。BF=1表示组件在进行内部操作,此时组件不接受外总指令和数据;BF=0时,组件为准备状态,随时可接受外总指令和数据。ON/OFF: 表示DFF触发器的状态,用于控制屏幕显示的开和关。RST: RST=1表示内部正在初始化,此时组件不接受任何指令和数据表2.9-6 写显示数据(WRITE DISPLAY DATE) 代码R/W RSDB7DB6DB5DB4DB3DB2DB1DB0形式 0 1 D7

36、D6 D5 D4 D3 D2 D1 D0D7D0为显示数据,此指令把D7D0写入相应的DDRAM单元,Y地址指针自动加1。表2.9-7 读显示数据(READ DISPLAY DATE) 代码R/WRSDB7DB6DB5DB4DB3DB2DB1DB0形式 1 1 D7 D6 D5 D4 D3 D2 D1 D0 此指令把DDRAM的内容D7D0读到数据总线DB7DB0,Y地址指针自动加1。3 系统软件设计系统软件部分包括主程序、中断子程序和其他子程序。主程序完成系统初始化后调用LCD液晶显示程序,再调用测距在内的各个子程序完成距离测量并显示输出。各子程序主要有:延时子程序、距离计算子程序及BCD码

37、转换子程序,压缩BCD码乘法子程序,压缩BCD码加子法程序等。3.1 超声波接收发射软件设计3.1.1 距离计算问题采用单片机来控制的超声波测距仪是先由单片机产生一个信号,经过信号线,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即: (3.1.1-1)超声波发射接收所测距离的软件设计中,让单片机省去了繁杂的除法计算。以170乘上超声波从发射到接

38、收的时间。即有压缩BCD码乘法进行计算。当然我们知道,定时器计数的最大值是65535us,如果以这个时间乘以170m距离能达到11.m。因此在设计中,考虑到用上了定时器0溢出标志TF0。当超声波从发射到接收的时间超过了65535us,就把TF0置1,然后软件将TF0清0,着开始计数。最后是把后来的计数时间乘以170。所得的结果加上11.N。N为TF1置1次数。即调用压缩BCD码加法。最后就进行解压缩进行显示。把所得的结果的每一位分配到不同的地址上。最后就根据地址确定位数了。3.1.2 串扰问题设计中,超声波发射极和接收极距离较近,这样,当发射极发射超声波后,有部分超声波没经过障碍物反射就直接绕

39、射到接收极上,这部分信号是无用的,会引起系统误测。设计中采用延时技术来解决这个问题,并设定延时时间为1 ms,即在发射极发射超声波1 ms内,没有启动定时器 ,接收电路对此期间接收到的任何信号不予理睬,1 ms后立即启动T0,这时接收到的信号才有效,并在接收到回波信号的同时,T0停。此时T0所记录的CPU发送脉冲信号的前沿到回波脉冲信号之间的时间才是需要的。3.1.3 程序流程图程序主流程图:YN程序初始化调用LCD显示按键等待返回测距初始化超声小波发射接收距离计算LCD显示开始结束图3.1.3-1 程序主流程图超声波发射接收程序流程图:TF0=0YNYNTF0=1发射超声波脉冲查询定时溢出有

40、回波吗?计算距离调用LCD液晶显示初始化按键等待计时器计时开始停止计时开始结束图3.1.3-2 超声波发射接收程序流程图3.2 LCD液晶显示器软件设计JM12864J有12864的点的显示阵列。可显示汉字(48个1616点阵汉字),也可显示数字(416个168点阵数字)。在软件编程必须要严格遵守点阵的坐标位置,否则就容易汉字数字的重叠,达不到理想的效果,出现一批乱码。在软件设计中,首先要写入全部字符。查要寻址的的二进制编码的坐标位置,定位好后,就写进二进制字符。紧接着就是内部写数据代码指针定位,再写入数据。每一次写字符时,都是写字符的上半部,接着再写字符的下半部。同时必须配合刷新程序,才能在

41、屏幕上显示清晰的效果,不会出现乱码。3.2.1 读/写时序利用AT89C52单片机可以实现对LCD显示器模块的读写操作,也就是把显示信息取出或写入到模块中的显示数据存储器DDRAM中读写有一定的时序要求。这时分别介绍其读时序和写时序。3.2.1.1 LCD显示模块读时序LCD显示器模块的读时序由信号E,R/W,CS,RS和DB0DB7组成。E是能动信号,R/W是读写信号,RS是显示/指令标志位,CS是选择信号,DB0DB7是数据信号。JM12864J的读时序如图4.3所示。从图中可以看出:R/W=1时,执行读操作,在E信号的上升沿开始执行读出,把JM12864J内的DDRAM内容读出到数据总线

42、DB0DB7上。这时如果RS=1,则读出的是显示数据:如果RS=0,则读出的是指令数据。CS2=1,CS1=0,读右半屏的内容:CS2=0,CS1=1,读左半屏的内容。图3.2.1.1 LCD显示模块读时序3.2.1.2 LCD显示模块写时序JM12864J的写时序如图4.4所示。写时序和读时序的区别在于R/W信号为低电平,即R/W=0。这时,必须先把写入的数据由外部单片机送入数据总线DB0DB7,然后在能动信号E的下降沿时,把数据从DB0DB7写入到模块的显示数据存储器DDRAM中。同样,在RS=1时,写入的是数据;RS=0时,写入的是指令。在CS2=1,CS1=0时,把数据写入右半屏;在C

43、S2=0,CS1=1时,把数据写入左半屏。图3.2.1.2 LCD显示模块写时序4 结束语首先感谢XX老师、XX老师对本次课程设计的大力支持和帮助,让我顺利的完成了本次设计,是两位老师的专业知识感染了我,使我能够用严谨的工作态度面对学习。在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路以及在设计过程中用到的知识我学得不是很扎实,还有资料的查找也是一大难题,这就要求我们在以后的学习和工作中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以

44、后的就业还是学习,都会起到很大的促进和帮助。不过本次设计中仍有不足之处,其中主要的不足之处就是回波的设计要求。其主要原因是设计条件不够。同时,通过课程毕业设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的工作中得以改进、提高。通过使用电路设计软件Altium Designer提高了工作效率。最后,感谢父母给予我的生命,感谢他们为我的付出!感谢老师们的无私奉献!附录:#include#include#define uchar unsigned char#define uint unsigned int#define ulong unsigned longuint c=340; /定义10度时声音的速度ulong l,time;char ii=1,k=80,aa;char t,ts,tg,lb,ls,lg,lsf,fh,cb,cs,cg;sbit RW=P21; /定义LCD读/写选择端sbit RS=P20;/定义LCD数据/命令选择端sbit E=P22; /定义LCD使能端sbit k3=P12;sbit k4=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com