基于51单片机的超声波智能避障小车论文内容摘要:

] 因此,本次设计选择了 STC 公司的生产的 STC89C52 单片机。 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,是带 8K 字节闪烁可编程可檫除只读存储器。 一个芯片上拥有 8 位 CPU,并且在系统可编程 Flash。 STC89C52 提供给为众多嵌入式控制应用系统高灵活、超有效的解决方案。 STC89C52 具有以下标准功 8k 字节 Flash, 512字节 RAM, 32 位 I/O 口线,看门 狗定时器,内置 4KB EEPROM,两个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口。 此外,空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 电源模块 采用 5 伏直流电源作为供电模块。 电机驱动模块 基于 51 单片机的超声波智能避障小车 6 L298N 的两个 H 桥的控制方式相同高电平有效。 直流电机 采用两个直流电动机,直流电动机的控制方法比异步电动 机简单,只需给电机两条控制线加上适当的电压就能使电机旋转,在正常工作电压范围,电压越高直流电机转速越高。 直流电动机的参数: 额定功率为 ,额定电压为 5V,额定电流为。 超声波避障模块 首先利用单片机输出一个 40kHz 的触发信号,把触发信号通过 TRIG 管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过 ECHO 脚反馈给单片机 ,此时单片机就立即停止计时。 时序图如图 所示。 由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离,即: S=VT/2,通过单片机来算出距离。 基于 51 单片机的超声波智能避障小车 7 3 系统的软件设计 一个单片机应用系统,硬件电路设计完后,便是软件编写及仿真调试。 软件工具的简单介绍 单片机开发中除必要的硬件外,同样离不开软件。 在系统软件设计过程中,涉及到Keil 软件编译程序、 STC_ISP_V480 下载程序软件、 Protues 仿真软件 ,下面对 用到软件做一简单的介绍。 C51 编译器的简介 C 语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了,机器汇编是通过汇编软件将源程序变为机器码,用于 MCS51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展, Keil 软件是目前最流行开发 MCS51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包 括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。 运行 Keil 软件需要 Pentium 或以上的 CPU, 16MB 或更多 RAM、 20M 以上空闲的硬盘空间、 WIN9 NT、 WIN20 WINXP 等操作系统。 Keil C51 单片机软件开发系统可用于编辑 C 或汇编源文件。 然后分别由 C51 编译器编译生成目标文件( .OBJ)。 目标文件与库文件一起经 LIB51 连接定位生成绝对目标图 超声波模块时序图 基于 51 单片机的超声波智能避障小车 8 文件( .ABS)。 ABS 文件由 OH51 转换成标准 的 Hex 文件,由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。 STC_ISP_V394 编程器的简介 在运行 STC_ISP_V394 下载软件之前,应该先给出 ISP 的 C 程序源代码 意的是 :此程序是在 KeilC 中要建立工程文件 ,包含 函数 ,并且在 和 中都要保留 STC 的定义 .传入用户代码时 ,需要与计算机进行通信 ,一般采用 RS232 串行通信 ,数据协议采用简单协议。 protues 的简介 Protues 软件是英国 Lab center electronics 公司出版的 EDA 工具软件。 它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。 Protues 软件具有功能是原理布图、 PCB 自动或人工布线、 SPICE 电路仿真。 支持当前的主流单片机,如 51 系列、 AVR 系列、 PIC12 系列、 PIC16 系列、 PIC18系列、 Z80 系列、 HC11 系列、 68000 系列等。 软件仿真功能如下: 1)提供软件调试功能 2)提供丰富的外围接口器件及其仿真 RAM, ROM,键盘,马达, LED, LCD, AD/DA,部分 SPI 器件,部分 IIC 器件。 3)提 供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。 4)具有强大的原理图绘制功能。 电路功能仿真特点在 PROTUES 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可 以在 PROTUES 的原理图中看到模拟的实物运行状态和过程。 PROTUES 是单片机课堂教学的先进助手。 PROTUES 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统 的单片机实验硬件高度对应。 这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 由于 PROTUES 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表。 随着科技的发展, “计算机仿真技术 ”已成为许多设计部门重要的前期设计手段。 它具有设计灵活,结果、过程的统一的特点。 可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。 相信在单片机开发应用中 PROTUES 也能获得愈来愈 广泛的应用。 目前, 52 系列单片机使用的编程语言主要有汇编语言和 C 语言这两种。 最接近机器的语言是汇编语言,常用来编制与系统硬件相关的程序,如访问 I/O 口、中断处理程序等,它是一种最快而又最有效的语言 ,然而汇编语言程序的可读性和可移植性较差,采用汇编语言编写单片机应用系统的周期长 [6]。 在程序设计过程中 C 语言编程设计思想被称为模块化程序设计思想。 有的时候为了有效地完成任务,把所要完成的任务分割成若干个相互独立但相互又仍然有所联系的模块,这些模块使得任务变得相对简单,对外的数据交换相对简单、容易编 写、容易检测,容易阅读和维护。 用 C 语言来编写目标系统软件会大大的缩短开发周期,增加软件的可读性,可以直接操作计算机硬件。 基于 51 单片机的超声波智能避障小车 9 本设计采用 C 语言来编译程序。 模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。 因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。