基于AT89S52单片机的测距系统设计—毕业设计论文

上传人:痛*** 文档编号:78734582 上传时间:2022-04-22 格式:DOC 页数:52 大小:7.37MB
返回 下载 相关 举报
基于AT89S52单片机的测距系统设计—毕业设计论文_第1页
第1页 / 共52页
基于AT89S52单片机的测距系统设计—毕业设计论文_第2页
第2页 / 共52页
基于AT89S52单片机的测距系统设计—毕业设计论文_第3页
第3页 / 共52页
点击查看更多>>
资源描述
ANYANG INSTITUTE OF TECHNOLOGY本 科 毕 业 论 文 基于AT89S52单片机的测距系统设计The Design of Ranging System Based on AT89S52 MCU 院(部)名称: 电子信息与电气工程学院 专业班级: 通信工程2009级1班 学生姓名: 学 号: 指导教师姓名: 指导教师职称: 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录摘要IAbstractII引言1第一章 总体方案设计31.1 超声波测距系统的设计要求31.2 超声波测距系统设计方案的选择与论证31.2.1 主控芯片选型31.2.2 超声波测距实现方案31.2.3 测量数据显示实现方案31.2.4 无线收发实现方案41.3 设计总体结构框图41.4 本章小结4第二章 硬件电路设计52.1 单片机系统设计52.1.1 CPU的介绍52.1.2 复位电路的设计82.1.3 时钟电路设计92.2 超声波收发电路的设计92.2.1 US-020超声波测距模块简介102.3 LCD显示电路的设计112.4 无线收发模块的设计142.5 报警电路的设计192.6 电源的设计202.7 本章小结21第三章 软件设计223.1 主单片机系统软件设计223.1.1 主单片机程序流程图223.1.2 子程序流程图223.2 从单片机系统软件设计243.2.1 从单片机程序流程图243.2.2 子程序流程图253.3 本章小结28第四章 实物焊接与系统调试294.1 电路板设计软件介绍294.2 PCB板制作294.3 实物焊接294.4 硬件电路调试304.5 程序烧录及调试304.6 本章小结30结论32致谢33参考文献34附录A 硬件设计电路图35附录B PCB布线图36附录C 实物图37附录D 系统程序38基于AT89S52单片机的测距系统设计摘要:近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。本文着重介绍了一种基于AT89S52单片机的超声波测距系统的硬件电路组成、软件设计及主要功能。该超声波测距系统以AT89S52单片机为核心,包括主单片机测距部分和从单片机显示、报警部分。主单片机采用超声波测距模块US020来测得距离障碍物的往返时间,经由单片机进行计算处理后,通过无线发射模块NRF905将数据发射出去;从单片机通过无线接收模块接收数据并处理,最后由LCD显示测量距离值,并且当测量距离值小于报警值时,通过单片机控制蜂鸣器发出报警。本系统设计简单、使用方便可靠,可应用到汽车倒车雷达系统,将减少驾驶员的负担和判断错误,对于社会公共交通安全起到重要作用。关键词:AT89S52;超声波;测距;LCD显示;无线收发The Design of Ranging System Based on AT89S52 MCUAbstract:In recent years, with the development of the electronic measurement technology, using ultrasound to make accurate measurement has become possible. With the constant improvement of the level of science and technology, ultrasonic ranging technology is widely used in Peoples Daily work and life.This paper introduces a kind of ultrasonic ranging system based on AT89S52 single chip microcomputer of hardware circuit, software design and main functions. The ultrasonic ranging system AT89S52 microcontroller as the core, including the main MCU ranging from single-chip display, alarm and part. Master microcontroller US020 ultrasonic ranging module is used to measure distance obstacle round-trip time, after processed by single chip microcomputer to calculate, through wireless data transmitting modules NRF905 will launch out; From the microcontroller, through the wireless receiving module receives data and processing, finally the distance value is measured by the LCD display, and when measuring distance value is less than the alarm value, through the single-chip microcomputer control buzzer alarm. This system design simple, convenient and reliable use, this design can be applied to the car reversing radar system, will reduce the burden of the driver and misjudgment, playing an important role to social public transport safety.Key words: AT89S52;Ultrasound;Ranging; LCD display; Wireless transceiverII引 言传感器技术是现代信息技术的主要内容之一。信息技术包括计算机技术、通信技术和传感器技术,计算机技术相当于人的大脑,通信相当于人的神经,而传感器就相当于人的感官。比如温度传感器、光电传感器、湿度传感器、超声波传感器、红外传感器、压力传感器等等,超声波测距作为一种典型的非接触测量方法,在很多场合,诸如工业自动控制,建筑工程测量和机器人视觉识别等方面得到广泛的应用。和其他方法相比,如激光测距、微波测距等,由于声波在空气中传播速度远远小于光线和无线电波的传播速度,对于时间测量精度的要求远小于激光测距、微波测距等系统,因而超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响,超声波传感器在测量方面有着广泛、普遍的应用。近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能。随着经济发展,电子测量技术应用越来越广泛,而超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减等。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声波在特殊环境下测距有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。本设计是一个基于单片机AT89S52和外围电路的超声波测距系统设计,利用测量超声波遇到障碍物的往返时间从而测得实际距离。通过本设计的研究,将所学到的知识用在实践中并有所创新和进步。第一章 总体方案设计1.1 超声波测距系统的设计要求本设计要求能测得离障碍物的具体距离数值,测量范围为:0.05m5.00m,其中要求测距精度为0.01m,由于超声波测距模块US020自带温度补偿功能,所以在测距时能实现温度补偿,并且能够无线传输功能,能够在LCD1602上实时显示测量的距离数值,在超出测量范围后通过蜂鸣器发出报警。1.2 超声波测距系统设计方案的选择与论证1.2.1 主控芯片选型目前市场上的单片机种类繁多,每种单片机都各有其特色。51系列8位单片机以其低功耗、廉价、性能稳定的特点在目前乃至今后很长的一段时间内将占有大量市场。经过查找的资料收集整理可知,AT89S52其体积小、成本低、功能丰富且实现方便1。综合考虑各方面的因素,本设计选择了Atmel公司生产的AT89S52作为主控芯片。1.2.2 超声波测距实现方案方案一:通过单片机P1.0端口编程输出40KHz左右的方波脉冲信号,加上功率放大电路驱动超声波发射探头UCM40T发射超声波距离足够远。再通过单片机P1.1端口接收发射回来的超声波,由于接收探头传来的超声波回波很微弱,又存在着较强的噪声,所以通过CX20106A集成电路对接收探头接收到的信号进行放大、滤波,最后信号送入单片机进行处理3。由于该方案设计复杂,而且测量效果误差较大,所以不采用此方案。方案二:采用US020超声波测距模块实现测距功能,该模块支持GPIO(通用输入/输出)通信模式,内带看门狗,工作稳定可靠,而且自带温度补偿功能,误差较小。因此本设计采用了US020超声波测距模块。1.2.3 测量数据显示实现方案方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如果用来显示数字则会显得十分浪费,成本较高,所以不采用此种显示方案。方案二:采用LCD1602显示,由于LCD1602具有显示质量高、体积小、重量轻、功耗低、能够显示两行的数据。符合本设计的设计要求,简单易实现,因此采用LCD1602进行测量数据显示。1.2.4 无线收发实现方案由于本设计要求实现无线收发功能,在查找相关资料后,NRF905无线芯片是挪威NORDIC公司出品的低于1GHz无线数据传输芯片,主要工作于433MHz、868MHz和915MHz的ISM频段。芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。非常适合于低功耗、低成本的系统设计。因此采用了NRF905无线芯片来实现收发功能。1.3 设计总体结构框图本系统采用两片AT89S52单片机作为主控单元,主AT89S52通过测量输出脉冲宽度(即发射与接收超声波的时间间隔)结合环境温度来计算距障碍物的距离,并将计算的距离以无线方式发送给从单片机,从单片机通过无线方式接收到距离数据,通过LCD1602液晶显示器实时显示测量结果。其总体结构框图如图1.1所示。超声波接收超声波发射AT89S52AT89S52无线发射模块无线接收模块显示模块报警模块图1.1 超声波测距系统总体结构框图1.4 本章小结本章主要介绍了超声波测距系统的设计方案,主要以AT89S52单片机为核心,并配有超声波测距电路、显示电路、无线收发电路和控制电路组成,能够根据需求测得障碍物的距离。第二章 硬件电路设计2.1 单片机系统设计2.1.1 CPU的介绍AT89S52是一种带8K字节闪烁可编程可擦除只读存储(FPEROMFalshProgrammable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S52是一种高效微控制器,AT89S52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案2。外形及引脚排列如图2.1所示。1.主要特性(1) 与MCS-51 兼容;(2) 8K字节可编程闪烁存储器;(3) 寿命:1000写/擦循环;(4) 数据保留时间:10年;(5) 全静态工作:0Hz-33Hz;(6) 三级程序存储器锁定;(7) 看门狗定时器;(8) 32可编程I/O线;(9) 三个16位定时器/计数器;(10) 8个中断源;(11) 全双工UART串行通道; (12) 低功耗的闲置和掉电模式;(13) 双数据指针。2.管脚说明图2.1 AT89S52引脚图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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下所示。 在flash编程和校验时,P1口接收低8位地址字节。 P1口引脚号的第二功能如下所示。P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2口:P2口是一个具有内部上拉电阻的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 口,P3 输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收/输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表2.1所示。表2.1 P3口的一些特殊功能口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4.芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦除操作中,代码阵列全被写“1”,且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止56。2.1.2 复位电路的设计复位是单片机的初始化操作,只需给MCS-51的复位引脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使MCS-51复位。复位时,PC初始化为0000H,使MCS-51单片机从0000H单元开始执行程序。除了进入系统的正常初始化外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键使RST引脚为高电平使MCS-51重新启动。复位电路通常采用上电自动复位和按键手动复位两种方式。按键手动复位有电平方式和脉冲方式两种。本设计采用按键电平复位电路。该复位电路是通过RST端经电阻与电源VCC接通而实现的,复位电路图如图2.2所示。图2.2 复位电路2.1.3 时钟电路设计时钟电路用于产生MCS-51单片机工作时所需要的时钟控制信号8。MCS-51单片机的内部电路在时钟信号控制下,严格地按时序执行指令进行工作。而时序所研究的是指令执行中各个信号在时间上的关系,本设计时钟电路图如图2.3所示。图2.3 时钟电路2.2 超声波收发电路的设计本设计采用US-020超声波测距模块进行距离测量,US-020包括4个Pin接口,其中2号Trig端口和3号Echo端口连接单片机AT89S52的P1.0和P1.1进行通信和数据传输。当开始测距时,单片机通过P1.0向Trig端口输入一个10uS以上的高电平,可触发模块测距。当测距结束时,3号Echo端口会输出一个高电平,电平宽度为超声波往返时间之和。根据这个时间可以计算出障碍物的距离。2.2.1 US-020超声波测距模块简介1.US-020超声波测距模块概述US-020 超声波测距模块可实现2cm7m 的非接触测距功能,供电电压为5V,静态功耗低于3mA,支持GPIO(通用输入/输出)通信模式,内带看门狗,工作稳定可靠9。2.主要技术参数如表2.2所示表2.2 US-020模块参数电气参数US-020超声波测距模块工作电压DC 5V静态电流3mA工作温度0+70度输出方式GPIO感应角度小于15度探测距离2cm-700cm探测精度0.3cm+1%3.接口说明本模块有4Pin接口,4pin接口为2.54mm间距的弯排针,如图2.4所示。图2.4 4pin接口从左到右依次编号1,2,3,4。它们的定义如下:1号pin:接VCC电源(直流5V)。2号pin:接外部电路的Trig端,向此管脚输入一个10uS以上的高电平,可触发模块测距。3号pin:接外部电路的Echo端,当测距结束时,此管脚会输出一个高电平,电平宽度为超声波往返时间之和。4号pin:接外部电路的地。4.测距工作原理模块测距的时序如图2.5所示。图2.5 US-020测距时序图图2.5 表明:只需要在Trig 管脚输入一个10uS 以上的高电平,系统便可发出8 个40KHz 的超声波脉冲,然后检测回波信号。当检测到回波信号后,通过Echo 管脚输出。根据Echo 管脚输出高电平的持续时间可以计算距离值。即距离值为:(高电平时间*340m/s)/21315。超声波测距模块US020与单片机的具体连接电路图如图2.6所示。图2.6 超声波测距电路2.3 LCD显示电路的设计LCD1602液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,它显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。设计采用LCD1602液晶可以实时显示测量距离,它与单片机P0和P2口相连接,单片机根据所测得的距离数据通过编程在LCD1602实时显示,随着测量距离的改变, LCD1602显示测得的距离数值也会随着改变,与单片机的电路连接图如图2.7所示。图2.7 LCD显示电路其中各引脚功能说明如表2.3所示表2.3 引脚功能说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1 脚:VSS 为地电源。第2 脚:VDD 接5V 正电源。第3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度。第4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W 共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,当RS 为高电平R/W 为低电平时可以写入数据。第6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。第714 脚:D0D7 为8 位双向数据线。第15 脚:背光源正极。第16 脚:背光源负极。1602LCD的指令说明及时序1602LCD液晶模块内部的控制器共有11条控制指令,如表2.4所示。表2.4 指令说明序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存储器地址0001字符发生存储器地址8置数据存储器地址001显示数据存储器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1 为高电平、0 为低电平)指令1:清显示,指令码01H,光标复位到地址00H 位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效6,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4 位总线,低电平时为8 位总线N;低电平时为单行显示,高电平时双行显示F;低电平时显示5x7 的点阵字符,高电平时显示5x10 的点阵字符。指令7:字符发生器RAM 地址设置。指令8:DDRAM 地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。2.4 无线收发模块的设计本设计要求实现无线收发功能,结合各方面资料,最后选用了Nordic公司生产的无线射频模块NRF905。NRF905是单片射频收发芯片,工作于433MHz的ISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以10dBm 的功率发射时,工作电流仅有 30mA,接收时工作电流只有 12.5mA,多种低功率工作模式,待机模式下电流仅为12.5uA,节能设计更方便。其 Shock Burst技术可在通讯时自动生成前导码和CRC校验位。NF905适用于多种无线通信的场合,如无线数据传输系统、报警及安全系统、家庭自动化、遥感监测、无线门禁系统等。具体参数和功能说明如下。1.接口电路管脚说明,图2.8为NRF905管脚图。图2.8 NRF905管脚图NRF905各引脚说明及功能如表2.5所示。表2.5 NRF905引脚功能说明管脚名称管脚功能说明1VCC电源电源+1.93.6V DC2TX_EN数字输入TX_EN=1 TX模式;TX_EN=0 RX模式3TRX_CE数字输入使能芯片发射或接收4PWR_UP数字输入芯片上电5uCLK时钟输出本模块该脚废弃不用,向后兼容6CD数字输出载波检测7AM数字输出地址匹配8DR数字输出接收或发射数据完成9MISOSPI接口SPI输出10MOSISPI接口SPI输入11SCKSPI时钟SPI时钟12CSNSPI使能SPI使能13GND地接地14GND地接地说明(1)VCC脚接电压范围为3V3.6V之间,不能在这个区间之外,超过3.6V将会烧毁模块。推荐电压3.3V作业。(2)除电源VCC和接地端,其余脚都可以直接和普通的5V单片机IO口直接相连,无需电平转换。当然对3V左右的单片机更加适用了。(3)硬件上面没有SPI的单片机也可以控制本模块,用普通单片机IO口模拟SPI不需要单片机SPI模块介入,只需添加代码模拟SPI时序即可。(4)13脚、14脚为接地脚,需要和母板的逻辑地连接起来。(5)排针间距为100mil,标准DIP插针,如果需要其他封装接口,比如密脚插针,或者其他形式的接口,可以联系公司定做。(6)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。(7)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块!如果是3.3V的,可以直接和NRF905模块的IO口线连接。2.模块引脚和电气参数说明NRF905单片机无线收发器工作在433/868/915MHz的ISM频段,由一个完全集成的频率调制器、一个带解调的接收器、一个功率放大器、一个晶体振荡器和一个调节器组成。Shock Burst 工作模式的特点是自动产生前导码和CRC,可以容易通过SPI接口进行编程配置,电流消耗很低,在发射功率为+10dBm时发射电流为30mA接收电流为12.5mA,进入POWERDOWN模式可以很容易实现节电。表2.6 NRF905模块性能参考数据参数数值单位最低工作电压3.0V最大发射功率10dBm最大数据传输率曼切斯特编码50Kbps输出功率为-10dBm时工作电流9mA接收模式时工作电流12.5mA典型灵敏度-100dBmPOWERDOWN模式时工作电流2.5uA3.工作方式NRF905工作模式由TRX_CE、TX_EN、PWR_UP的设置来设定,表2.7为工作模式说明。表2.7 工作模式PWR_UPTRX_CETX_EN工作模式0XX掉电和SPI编程10XStandby 和SPI编程110Shock Burst RX111Shock Burst TXNRF905一共有四种工作模式,其中有两种活动RX/TX模式和两种节电模式,其中活动模式为Shock Burst RX和Shock Burst TX;节电模式为掉电和SPI编程、Standby 和SPI编程。4.ShockBurst 模式Shock Burst TM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器进入,但高速发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有告诉信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高,Shock Burst TM技术同时也缩小了整个系统的平均工作电流。在Shock Burst TM收发模式下,RF905自动处理字头的CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,当发送过程完成后,DR引脚通知微处理器数据发射完毕。(1)Shock Burst TX 发送流程典型的NRF905发送流程分以下几个步骤: 当微控制器有数据要发射时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给NRF905,SPI接口的速率在通信协议和器件配置时确定; 微控制器置高TRX_CE和TX_EN,激发NRF905的Shock Burst TM发送模式; NRF905的Shock Burst TM发送:射频寄存器自动开启;数据打包(加字头和CRC校验码);发送数据包;当数据发送完成,数据准备好引脚被置高; AUTO_RETRAN被置高,NRF905不断重发,直到TRX_CE被置低; 当TRX_CE被置低,NRF905发送过程完成,自动进入空闲模式,注意:Shock Burst TM工作模式保证,一旦发送数据的过程开始无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完,只有在前一个数据包被发送完毕,NRF905才能接收下一个发送数据包。(2)Shock Burst RX 接收流程典型的NRF905接收流程分以下几个步骤: 当TRX_CE为高、TX_EN为低时,NRF905进入Shock Burst TM接收模式; 650us后,NRF905不断检测,等待接收数据; 当NRF905检测到同一频段的载波时,载波检测引脚被置高; 当接收到一个相当匹配的地址,AM引脚被置高; 当一个正确的数据包接收完毕,NRF905自动移去字头、地址和CRC校验位,然后把DR引脚置高; 微控制器把TRX_CE置低,NRF905进入空闲模式; 微控制器通过SPI口,以一定的速率把数据移到微控制器内; 当所有的数据接收完毕,NRF905把DR引脚和AM引脚置低; NRF905此时可以进入Shock Burst TM接收模式、Shock Burst TM发送模式或关机模式。当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,NRF905立即把其工作模式改变,数据包则丢失。当微处理器接到AM引脚的信号之后,其就知道NRF905正在接收数据包,其可以决定是让NRF905继续接收该数据包还是进入另一个工作模式。NRF905的节能模式包括关机模式和节能模式。在关机模式,NRF905的工作电流最小,一般为2.5uA。进入关机模式后,NRF905保持配置字中的内容,但不会接收或发送任何数据。空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,NRF905内部的部分晶体振荡器处于工作状态。5.配置NRF905模块所有配置字都是通过SPI接口送给NRF905。SIP接口的工作方式可通过SPI指令进行设置。当NRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。(1)SPI接口寄存器配置SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。SPI接口由5个内部寄存器组成执行寄存器的回读模式来确认寄存器的内容。(2)SPI指令设置当CSN为低时,SPI接口开始等待一条指令,任何一条新指令均由CSN的由高到低的转换开始。用于SPI接口的有用命令见下表2.8所示。表2.8 SPI串行接口指令设置SPI串行接口指令指令名称指令格式操作W_CONFIG(WC)0000AAAA写配置寄存器AAAA指出写操作的开始字节字节数量取决于AAAA指出的开始地址R_CONFIG(RC)0001AAAA读配置寄存器AAAA指出写操作的开始字节字节数量取决于AAAA指出的开始地址W_TX_PAYLOA D(WTP)00100000写TX有效数据1-32字节读操作全 部从字节0开始R_TX_PAYLOA D(RTP)00100001读TX有效数据1-32字节读操作全 部从字节0开始W_TX_ADDRES S(WTA)00100010写TX地址1-4字节写操作全部从字节0开始R_TX_ADDRES S(RTA)00100011读TX地址1-4字节写操作全部从字节0开始R_RX_PAYLOA D(RRP)00100100读RX有效数据1-32字节读操作全部从字节0开始CHANNEL_CON FIG(CC)1000pphccccccccc快速设置配置寄存器中CH_NOHFREQ_PLL和PA_PWR的专用命令CH_NO=cccccccccHFREQ_PLL=hPA_PWR=pp通过对NRF905的工作原理的研究,参考NRF905模块的无线收发流程及部分指令说明,最后确定和单片机连接构成无线收发电路,电路图如图2.9所示。图2.9 无线收发电路2.5 报警电路的设计由于当测量范围超过设计范围时,本系统不能实现测量功能,所以设计一个报警功能,当超过测距范围时,系统会通过蜂鸣器发生报警。本设计采用一个蜂鸣器来实现报警功能,由P2.4输出一定频率的信号,在连接到蜂鸣器之前,经过一个三极管8050的放大。报警电路的连线,如图2.10所示。图2.10 报警电路2.6 电源的设计整个系统分为两部分,第一部分主要由控制模块、超声波测距模块、无线传输模块组成;第二部分主要由控制模块、显示模块、报警模块、无线接收模块组成。由于无线收发模块需要的电源电压是3.3V电源,所以本设计采用USB提供5V电源,通过AMS117 -3.3芯片将5V电源稳压到3.3V供电。电路图如图2.11所示15。图2.11 电源电路2.7 本章小结 本章是超声波测距系统的硬件电路设计部分,主要有单片机系统及显示电路、超声波收发模块、无线收发模块、报警模块、LCD显示模块的设计。通过查阅大量的资料,设计出的硬件电路基本符合工作要求。第三章 软件设计如果说硬件设计是骨骼,那么软件设计可以算作是整个电路系统的血肉。只有在软件指令的指挥下才能使单片机系统正常工作。对于单片机的软件编写,实际上就如同编写PC机的操作系统,都要涉及中断、定时器,及其他外围设备驱动程序编写。当然单片机的软件设计复杂度比PC底层软件编写复杂度低的多。本系统的软件设计包括主单片机系统软件设计和从单片机系统软件设计。3.1 主单片机系统软件设计本设计的主单片机系统主要实现的功能是测量障碍物的距离和处理数据进行无线发射,在软件设计中包括超声波测距子程序和无线发射子程序。程序流程图,就如同程序设计的一个向导,是程序员的设计思路,他能从整体上指导程序员,如何去编写程序,便于及时纠正程序中的不足。以下主要介绍主程序流程图,及相应功能子程序流程图16。3.1.1 主单片机程序流程图主程序流程图是系统工作流程最明确的介绍,包括初始化、超声波测距、距离计算和无线发射等过程。具体流程图如图3.1所示。图3.1 主单片机程序流程框图3.1.2 子程序流程图1.超声波测距流程图本设计采用超声波测距模块US020实现测距功能,单片机通过P1.0向该模块的Trig端口输入一个大于10uS的高电平来触发测距模块工作,当测距结束时Echo端会输出一个高电平,高电平的宽度即为往返时间之和,根据这个时间可测得实际距离。超声波测距流程图如图3.2所示。图3.2 超声波测距流程图2.无线发射流程图设计中选用了Nordic公司生产的无线射频模块NRF905,NRF905的发射步骤为:当微控制器有数据要发射时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给NRF905,SPI接口的速率在通信协议和器件配置时确定;微控制器置高TRX_CE和TX_EN,激发NRF905的Shock Burst TM发送模式;NRF905的Shock Burst TM发送:(1)射频寄存器自动开启;(2)数据打包(加字头和CRC校验码);(3)发送数据包;(4)当数据发送完成,数据准备好引脚被置高;AUTO_RETRAN被置高,NRF905不断重发,直到TRX_CE被置低;当TRX_CE被置低,NRF905发送过程完成,自动进入空闲模式,注意:Shock Burst TM工作模式保证,一旦发送数据的过程开始无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完,只有在前一个数据包被发送完毕,NRF905才能接收下一个发送数据包。无线发射程序流程图如图3.3所示。图3.3 无线发射流程图3.2 从单片机系统软件设计从单片机系统主要实现无线接收、LCD显示和报警功能,根据这些功能在软件设计中设计了各个功能的子程序。3.2.1 从单片机程序流程图一个完整的单片机程序流程图可以清晰地表达该系统的工作顺序和整体框架,这样看起来构思简明、易懂,给程序编写做了一个良好的铺垫。本设计从单片机的程序流程图如图3.4所示。图3.4 从单片机程序流程框图3.2.2 子程序流程图1.无线接收流程图NRF905模块的接收步骤为:当TRX_CE为高、TX_EN为低时,NRF905进入Shock Burst TM接收模式;650us后,NRF905不断检测,等待接收数据;当NRF905检测到同一频段的载波时,载波检测引脚被置高;当接收到一个相当匹配的地址,AM引脚被置高;当一个正确的数据包接收完毕,NRF905自动移去字头、地址和CRC校验位,然后把DR引脚置高;微控制器把TRX_CE置低,NRF905进入空闲模式;微控制器通过SPI口,以一定的速率把数据移到微控制器内;当所有的数据接收完毕,NRF905把DR引脚和AM引脚置低;NRF905此时可以进入Shock Burst TM接收模式、Shock Burst TM发送模式或关机模式。无线接收程序流程图如图3.5所示。图3.5 无线接收流程图2.液晶显示程序流程图LCD1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。其中液晶显示的流程图如图3.6所示。图3.6 液晶显示流程图3.报警程序流程图本设计中当测距范围超出量程时不能正常工作,因此设计一个报警功能,在软件设计时设计一个报警子程序。报警流程图如图3.7 所示。图3.7 报警流程图3.3 本章小结本章是超声波测距系统的软件程序设计部分,通过设计各个部分的子程序,可以很好地实现设计的功能要求。第四章 实物焊接与系统调试完成硬件电路设计与软件程序设计后就要进行系统的调试工作,其中包括了PCB制板、实物焊接、硬件电路调试、程序烧录及调试。4.1 电路板设计软件介绍Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。本设计的硬件电路部分就是在Altium Designer 9中完成的。4.2 PCB板制作通过Altium Designer软件制作PCB板,其中要注意到电路板的制作规则、元器件的选择、元器件的布局和元器件的连线。且制作板时不能出现差错,否则会导致制作的PCB板不能使用。在制板时回出现一些常见的错误,例如元器件封装的错误选择。连线很讲究原则和技巧,走线应尽量美观、简洁。一些设计人员在初期使用Altium Designer进行设计
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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