基于超声波检测的倒车雷达的设计内容摘要:
所示。 下面介绍 89C52 的主要管脚功能如下: VCC( 40) :电源 +5V; VSS( 20) :接地; P0 口 ( 3239) :双向 I/O 口,既可作低 8 位地址和 8 位数据总线使用,也可作普通 I/O 口; P3 口( 1017):多用途端口,既可作普通 I/O 口,也可按每位定义的第二功能操作; P2 口( 2128):既可作高 8 位地址总线,也可作普通 I/O口; P1 口( 18): 准双向通用 I/O 口;RST( 9) :复位信号输入 端; ALE/PROG:地址锁存信号输出端; PSEN:内外程序存储器选择线; XTAL1( 19) 和 XTAL2( 18) :外接石英晶体振荡器。 由于本课题的需要用到单片机内部的计数器和定时器,所以在这里有必要介绍定时器 /计数器的工作原理。 首先,先看看定时器 /计数器的结构图: 沈阳航空工业学院毕业设计(论文) 10 图 定时器 /计数器的结构原理图 从上面定时器 /计数器的结构图中可以看出, 16 位的定时 /计数器分别由两个 8位专用寄存器组成,即: T0 由 TH0 和 TL0 构成; T1 由 TH1 和 TL1 构成。 其访问地址依次为 8AH8DH。 每个寄存器均可单独访问。 这些寄存器是用于存放定时或计数初值的。 此外,其内部还有一个 8 位的定时器方式寄存器 TMOD 和一个 8 位的定时控制寄存器 TCON。 这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。 TMOD 主要是用于选定定时器的工作方式; TCON 主要是用于控制定时器的启动停止,此外 TCON 还可以保存 T0、 T1 的溢出和中断标志。 当定时器工作在计数方式时,外部事件通过引脚 T0( ) 或 T1( ) 输入。 当定时器 /计数器为计数工作方式时,通过引脚 T0和 T1对外部信号计数,外部脉冲的上升沿 将触发计数。 计数器在每个机器周期的 S5P2期间采样引脚输入电平。 若一个机器周期采样值为 0,下一个机器周期采样值为 1,则计数器加 1。 此后的机器周期 S3P1期间,新的计数值装入计数器。 所以检测一个由 0至 1的跳变需要两个机器周期,由于本课题所利用的是计数器 T0、定时器 T1,并且是工作在工作方式 1。 所以以下重点介绍工作方式 1的特点。 工作方式 1是 16位的计数器,由 TLX作为高 8位和 THX作为低八位由于计数器为16位,其计数范围最大。 当启动 TX前, TLX和 THX装入计数初值,当 TLX计满后,向 THX进位,当计数器计数 达到 0FFFF后,再计一个数,则计数器产生溢出中断,向 CPU请求中断,在中断程序时 THX和 TLX需重新装入初值,以便中断返回后重新开始计数。 所以,工作方式 1是一种需重装初值的计数器。 由于这种方式,计数范围大, 所以 在计较大数据时可采用这种工作方式。 鉴于本课题的实际情况在此课题 T0 用来 计时 , 当 INT0 引脚出现低电平时,立沈阳航空工业学院毕业设计(论文) 11 即进入中断函数。 进入中断后就立即关闭计时器 T0 停止计时, 可以用来实现等待计时功能。 单片机外围电路的设计 由单片机硬件设计原理可知:( 1)尽可能采用功能强的芯片,以简化电路;( 2)留 有余地 , 在设计硬件电路时,要考虑到将来修改、扩展的方便。 89C52 的时钟可以两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另一种方式为外部方式。 本系统采用内部时钟电路。 下面介绍内部时钟方式。 内部有一个用于构成震荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。 图 是 89C52 片内振荡器电路。 89C52 虽然有内部振荡电路,但要形成时钟,必须外接元件,图 是内部时钟方式的电路。 外接 晶体(在频率稳定性不高,而尽可能要求廉价时,可选用陶瓷谐振器)以及电容 CX1和 CX2 构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡频率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。 晶体可在 ~ 12MHz 之间任选,电容 CX1 和 CX2 的典型值在 20pF~ 100pF 之间选择,但在 60pF~ 70pF 时振荡器有较高的频率稳定性。 典型值通常选择为 30pF 左右。 外接陶瓷谐振器时, CX1 和 CX2 的典型值约为 47pF。 在设计印刷电路板时,晶体或陶瓷振荡器和电 容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作。 为了提高温度稳定性,应采用温度稳定性能好的 NPO 高频电容。 图 89C52片内振荡器电路图 图 沈阳航空工业学院毕业设计(论文) 12 89C52 的复位输入引脚 RET(即 RESET)为 89C52 提供了初始化的手段。 有了它可以使程序从指定处开始执行,即从程序存储器中的 0000H 地址单元开始执行程序。 在 89C52 的时钟电路工作后,只要在 RET 引脚上出现两个机器周期 以上的高电平时,单片机内部则初始复位。 只要 RET 保持高电平,则 89C52 循环复位。 只有当 RET 由高电平变成低电平以后, 89C52 才从 0000H 地址开始执行程序。 本系统的复位电路是采用按键复位的电路,如图 所示,是常用复位电路之一。 当 89C52 的 ALE 及 PSEN 两引脚输出高电平, RET 引脚高电平到时,单片机复位。 通过按动按钮产生高电平复位称手动复位。 上电时,刚接通电源,电容 C 相当于瞬间短路, +5V 立即加到 RET/VPD 端,该高电平使 89C52 全机自动复位,这就是上电复位;若运行过程中需要程序从头执行,只 需按动按钮即可。 按下按钮,则直接把 +5V 加到了 RET/VPD 端从而复位称为手动复位。 复位后, P0 到 P3 并行I/O 口全为高电平,其它寄存器全部清零,只有 SBUF 寄存器状态不确定。 V c cG N D3.3uF10KR S TR E S E T 图 按键电平复位电 路 总线驱动器 74LS245 74LS245 是我们常用的芯片,用来驱动 LED 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。 74LS245 还具有双向三态功能,既可以输出,也可以输入数据。 当片选端 /CE 低电平有效时, DIR=“0”,信号由 B 向 A 传输; DIR=“1”,信号由 A 向 B 传输;当 /CE 为高电平时, A、 B 均为高阻态。 沈阳航空工业学院毕业设计(论文) 13 图 74LS245引脚图 显示电路的设计 本设计中采用 LED 共 阴 极 4 封装型显示器显示。 LED 显示器是单片机应用系统常用的输出器件。 它是由若干个发光二极管组成,当发光二极管导通时,相应的一个点或一个笔画点亮。 控制不同的组合的二极管导通就能显示出各种字符。 共 阴 极显示器的发光二极管的 阴极连接在一起,当公共阴 极接 地 时,当某个发光二极管的 阳极 阴极 接高 电平时,发光二极管被点亮,相应的 段被显示。 通常将控制发光二极管发光的 8 位字节数据编码称为 LED 显示的段选码,要构成多位 LED显示时,除需要段选线外,还需要位选线,以确定段选码对应的显示位,位选线控制第几个 LED 显示,段选线则控制显示字形。 本设计采用 一 个 4 位 LED 动态显示,在位选线和段选线的共同作用下,可以使显示器显示各自的字符,当然这些字符不是同时显示的,但由于人眼存在视觉暂留,加上发光二极管的余辉效应,由于扫描的速度足够快,每位显示的间隔时间足够短,就可以给人同时显示的感觉,而不会有闪烁感。 犹如同时显示一样。 段选码用 74LS245 来 驱动。 通过软件编程,先把所要显示的数据放入存储单元,然后把数据送入段选通对应的地址,再选通某一个 LED,逐步完成 4 个 LED 的显示。 单片机采用 89C51 或其兼容系列。 采用 12MHz 高精度的晶振,以获得较稳定的时钟频率,减小测量误差。 单片机用 端口输出超声波换能器所需的 40KHz方波 信号,利用外中断 0 口监测超声波接收电路输出的返回信号。 显示电路采用简单实用的 4 位共阴 LED 数码管,段码用 74LS245 驱动。 单片机系统及显示电路如图 所示。 沈阳航空工业学院毕业设计(论文) 14 11 9A 1A 2A 3A 4A 5A 6A 7A 8B 1B 2B 3B 4B 5B 6B 7B 8ABCDEFGD PD I G 2D I G 3D I G 4D I G 1P 2 7P 2 6P 2 5P 2 4P 0 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 77 4 L S 2 4 5V c c 图 显示电路 报警电路的设计 图 示是蜂鸣器报警电路图,三极管 9012 驱动蜂鸣器,电阻 R31 是起限制电流的作用。 当 输出低电平时,蜂鸣器处于工作状态,发出报警声。 图 蜂鸣器报警电路图 沈阳航空工业学院毕业设计(论文) 15 第 4 章 倒车雷达 的软件系统设计 研制一台智能仪器是一个复杂的过程,这一过程包括分析仪表的功能要求和拟定总体设计方案,确定硬件结构和软件算法,研制逻辑电路和编制程序,以及仪表的调试和性能的测试等等。 软件的设计应遵循结构化设计原则,在总体概况设计的基础上进行具体的详细设计,功能分 解,模块划分,细化软件层次,优化软件结构,以达到 模块功能的独立性,执行的高效性。 总之,设计的程序应该达到可读性、可理解性、可维护性、有效性、 可修改性。 倒车雷达的软件设计方案 在单片机系统的程序的设计开发中,单片机就如同整个系统的交通中枢,而程序就是组成交通中枢的条条大道,各个部分的模块化的程序就是整个系统的组成成份。 软件编写的好坏,语句运用的是否简洁 直接关系单片机的工作效率。 在各个模块化的程序中尽量用最少的语句做 最多的事情,不让语句出现歧义,这样就可以使整个程序可以在系统中更好的运行,使单 片机工作效 率大大的提高。 下面就对本次毕业设计的软件部分作些介绍。 子程序包括:中断子程序、显示子程序、延时子程序、距离计算子程序、报警子程序。 由于要实现很多功能,所以采用模块化设计,下面就其主要部分分别分析。 中断子程序是将 T1 中断,发生超声波信号,同时启动 T0 进行计数。 超声波信号发送完毕后,调用延时程序, 避开发射 后的超声波信号直接被接收电路所接收。 然后 开启接收回波中断。 显示子程序是将数据处理的结果送显示器显示。 延时子程序是实现所需功能的选择。 距离计算子 程序是将 单片机定时器计入的时间与超声波传播的速度相乘,就得到 要送显示的距离值。 沈阳航空工业学院毕业设计(论文) 16 主程序 设计 主程序首先是对系统环境初始化,设置定时器 T0 工作模式为 16 位定时计数器模式,置位总中断允许位 EA 并给显示端口 P0 和 P2 清 0。 然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声 波 从发射器直接传送到接收器引起的直射波 触发,需要延时约 0. l ms(这也就是超声波测距器会有一个最小可测距离的原因 )后,才打开外中断 0 接收返回的超声波信号。 由于采用的是 12MHz 的晶振,计数器每计一个数就是 1μ s,当主程序检测到接收成功的标志位后,将计数器 T0 中的数 (即超声波来回 所用的时间 )按式 (4- 1)计算,即可得被测物体与测距器之间的距离,设计时取 20℃时的声速为 344m/ s 则有 : D=(c t)/ 2=172TO/ 10 000 cm (41) 其中 TO 为计数器 T0 的计数值。 测出距离后结果将以十进制 BCD 码方式送往LED 显示,然后再发超声波脉冲重复测量过程。 图 为主程序流程图。 单片机初始化 发送超 声波脉冲 开始 时差测量子程序 距离计算子程序 定时中断子程序 报警子程序 显示距离 N Y 有回波吗。 图 主程序流程图 沈阳航空工业学院毕业设计(论文) 17 时差测量子程序 超声波发生子程序的作用是通过 P1. 0 端口发送 2 个 左右超声波脉冲信号 (频率约 40KHz 的方波 ),脉冲宽度为 12μ s 左右,同时把计数器 T0 打开进行计时。 超声波发生子程序较简单,但要求程序运行时间准确,所以采用汇编语言编程。 超声波 倒车雷达 主程序利用外中断 0 检测返回超声波信号,一旦接收到返回超声波信号(即 INT0 引脚出现低电平 ),立即进入中断程序。 进入该中断后就立即关闭计时器T0 停止计时,并将测距成功标志字赋值 1。 如果当计时器溢出时还未检测到超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志宇赋值 2 以表示本次。基于超声波检测的倒车雷达的设计
相关推荐
析。 它是衡量一个优秀的数据库的重要标准(有时甚至是唯一标准)。 宏( Macro) ——— 为了响应已定义的事件,需要让 Access 去执行一个或多 第 6 页 共 28 页 个操作,而宏就是对这些操作的结构化的定义对象。 它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。 既宏相当于 DOS中的批处理,用来自动执行一系列操作。 Access 列出了一些常用的操作供用户选择
7]将不透水面定义为“任何阻挡水分流入土壤的物质”,不仅包括人工建筑物,还包括自然产生的物质(如坚硬的裸露基岩)。 目前,大部分研究者都将道路、停车场及建筑物等研究对象作为城市不透水面。 研究方法 人工解译法 人工解译方法是利用人的主观想法对研究区的地物进行目视判读,通过自己的先验知识来判读和分析地物的大小、形状、纹理、色调、阴影等信息。 从而获得不透水面的信息 [8]。 尽管该方法可操作性强
接之各点开关或传感器状态( 1 或 0 代表开或关),并将其状态写入内存中对应之位置 Xn。 步骤二“程式执行”:将阶梯图程式逐行取入 CPU 中运算,若程式执行中需要输入接点状态, CPU 直接自内存中查询取出。 输出线圈之运算结果则存入内存中对应之位置,暂不反应至输出端 Yn。 步骤三“输出状态更新”:将 步骤二中之输出状态更新至 PLC 输出部接点,并且重回步骤一。 此三步骤称为 PLC
的硬件主要由存储器、通信接口、 CPU、输出 /输入单元、扩展接口 等几部分组成。 其中, CPU 为 PLC 的控制中心通常有三类: 1) 单片微处理器(如 803 8096 等)、 2) 通用微处理器(如 Z80、 808 80286 等)、 3) 位片式微处理器 (如 AMD29W 等 );输入单元/输出单元则是 CPU 与现场输入 /输出设备之间的接口电路;通信接口 的主要用途是连接
研究。 程序开发软件 keil Keil C51 是 美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比, C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部分组合在一起。