基于单片机的智能小车控制系统(论文).doc_第1页
基于单片机的智能小车控制系统(论文).doc_第2页
基于单片机的智能小车控制系统(论文).doc_第3页
基于单片机的智能小车控制系统(论文).doc_第4页
基于单片机的智能小车控制系统(论文).doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专专 科科 毕毕 业业 设设 计计 论论 文文 题题 目目 基于单片机智能小车控制系统设计基于单片机智能小车控制系统设计 学生姓名学生姓名 X X X X X X 班班 级级 X X X X X X X X X X X X X X 学学 号号 X X X X 院院 系 系 电电 子子 工工 程程 学学 院院 专专 业业 应应 用用 电电 子子 技技 术术 指导教师指导教师 X X X X X X 职职 称称 X X X X X X 二 0XX 年 X 月 XX 日 成都工业学院专科毕业设计 论文 I 摘摘 要要 随着计算机 微电子 材料 机械 通信等技术的快速发展 车辆的智能化和机器 人的发展速度也越来越快 作为 21 世纪自动化领域内非常伟大的成就它已经和人们的生 产生活紧密的联系在了一起 智能车辆迅速成为世界车辆研究领域的热点和汽车工业新 的增长点 所以 智能化的车辆是未来人们生活重要的载体 因此有必要对智能车辆进 行研究 研制一种智能 高效的智能小车控制系统具有重要的实际意义和科学理论价值 本系统设计了一个能自动循迹的智能小车控制系统 以 STC89C52 单片机为控制核心 利 用红外无线遥控智能小车 利用超声波传感器检测道路上的障碍并提示 利用 LCD1602 显示小车的速度和路程 能实现小车自动根据地面实况前进倒退 转向行驶 超声波测 距提示障碍物 LCD1602 实时显示小车的速度和行驶的路程 具有高度的智能化 达到设 计目标 关键词 智能小车 STC89C52 单片机 超声波传感器 LCD1602 成都工业学院专科毕业设计 论文 II THE SMART CAR BASED ON MICROCONTROLLER ABSTRACTABSTRACT With the rapid development of computer microelectronics materials machinery communication and other technologies the intelligentization of vehicles and the development of robots are getting faster and faster As a very great achievement in the field of automation in the 21st century Close ties together Intelligent vehicles quickly become the world s automotive research hot spots and the new growth point of the automotive industry Therefore the study of intelligent vehicles are necessary Therefore the development of a smart intelligent car control system with high efficiency is of practical significance and scientific important theoretical value This paper introduces the design of a smart car control system that can automatic tracking Based on signle chip microcomputer AT89C51 To achieve infrared wireless remote control smart car the use of ultrasonic sensors to detect obstacles on the road and prompted the use of LCD1602 show car speed and distance The car can realize automatic based on the black line forward regression Steering Ultrasonic ranging prompting obstacles LCD1602 real time display of the speed of the car and drive away with a high degree of intelligence achieve the design goal KeyKey WordsWords Smart car AT89C51 MCU ultrasonic sensor LCD1602 成都工业学院专科毕业设计 论文 III 目 录 摘要 ABSTRACT 目录 第 1 章绪论 1 1 1课题的背景和意义 1 1 2课题的研究现状及发展趋势 1 第 2 章方案设计与论证 2 2 1主控系统 2 2 2电源模块 2 2 3电机驱动模块 2 2 3 1 电机模块选择与论证 2 2 3 2 电机驱动模块选泽与论证 3 2 4遥控模块 4 2 5显示模块 5 2 6壁障模块 5 第 3 章硬件设计 6 3 1总体设计 6 3 2驱动电路 6 3 3遥控电路 9 3 4显示电路 11 3 5避障电路 11 3 6主控电路 13 第 4 章软件设计 16 4 1主程序模块设计 16 成都工业学院专科毕业设计 论文 IV 4 1 1 主程序流程图 16 4 1 2 主程序的设计 17 4 2电机驱动程序的设计 19 4 2 1 电机驱动程序流程图 19 4 2 2 电机驱动程序的设计 20 4 3红外遥控程序的设计 21 4 3 1 遥控模块流程图 21 4 3 2 红外遥控程序的设计 22 4 4测距壁障模块程序的设计 23 4 4 1 超声波测距模块流程图 23 4 4 2 超声波测距模块程序的设计 23 4 5显示模块程序的设计 24 4 5 1 显示模块流程图 24 4 5 2 显示模块程序的设计 25 第 5 章软件仿真 28 5 1KEIL 软件 28 5 2PROUES 软件 28 第 6 章 实物安装与调试 30 6 1器件清单 30 6 2结果及分析 30 6 3使用指南 31 第 7 章 结束语 32 参考文献 33 致 谢 34 附录一 原理图 35 附录二 源程序 36 附录三 实物图 45 成都工业学院专科毕业设计 论文 第 1 页 第 1 章 绪论 1 1课题的背景和意义 智能作为现代社会的新产物 是以后的发展方向 他可以按照预先设定的模式在一 个特定的环境里自动的运作 无需人为管理 便可以完成预期所要达到的或是更高的目 标 本设计主要体现多功能小车的智能模式 设计中的理论方案 分析方法及特色与创 新点等可以为自动运输机器人 采矿勘探机器人 家用自动清洁机器人等自动半自动机 器人的设计与普及有一定的参考意义 同时小车可以作为玩具的发展对象 为中国玩具 市场技术含量的缺乏进行一定的弥补 实现经济收益 形成商业价值 超声波作为智能 车避障的一种重要手段 以其避障实现方便 计算简单 易于做到实时控制 测量精度 也能达到实用的要求 在未来汽车智能化进程中必将得到广泛应用 我国作为一个世界 大国 在高科技领域也必须占据一席之地 未来汽车的智能化是汽车产业发展必然的 在这种情况下研究超声波在智能车避障上的应用具有深远意义 这将对我国未来智能汽 车的研究在世界高科技领域占据领先地位具有重要作用 1 2课题的研究现状及发展趋势 智能小车的研究 开发和应用涉及传感技术 电气技术 电气控制技术 智能控制 等学科 智能控制技术是一门跨科学的综合性技术 当代研究十分活跃 应用日益广泛 的领域 1 众所周知机器人技术的发展是一个国家高科技水平和工业自动化程度的重要 标志和体现 因此目前世界各国都在开展对机器人技术的研究 机器人由于有很高的灵 活性 可以帮助人们提高生产率 改进产品质量等优点 在世界各地的生产生活领域得 到了广泛的应用 2 智能小车正是模仿机器人的一种尝试 它是一种以汽车电子为背景 涵盖多学科的科技创新性设计 现智能小车发展很快 从智能玩具到其它各行业都有实 质成果 其基本可实现循迹 避障 检测贴片 寻光入库 避崖等基本功能 这几届的 电子设计大赛智能小车又在向声控系统发展 成都工业学院专科毕业设计 论文 第 2 页 第 2 章 方案设计与论证 2 1 主控系统 本设计采用 STC89C52 单片机为主控芯片 通过电机驱动电路和超声波发射接收及液 晶实时显示小车与障碍物的距离红外遥控设计而成 采用模块化的设计方案 并且运用 红外遥控器控制小车的前进 后退 左右转和停止的功能 2 2 电源模块 本次设计采用了 7805 芯片 因为 7805 电源芯片的电路简单 实用 并且能够完全 满足智能避障小车和单片机控制系统和 L298N 直流电机驱动 芯片的供电 7805 芯片 的实物有 3 个引脚 分别为输入 IN 端 输出 OUT 端和接地 GND 端 一般情况下可以提供 1 5A 的电流 如果在散热足够的情况下可以提供 51 单片机主控模块和直流电机驱动等模 块的电压 根据 7805 电源芯片的情况再结合电机的工作电压 故选取了 12V 电源作为 7805 的输入电源 2 3 电机驱动模块 2 3 1电机模块选择与论证 方案一 使用步进电机作为智能小车系统的驱动电机 因为步进电机的转动角度可 以精确的定位 这样就可以比较精确的定位小车的前进距离和位置 但是由于步进电机 的输出力矩偏低 并且会随着电机转速的升高而下降 在达到较高的转速时其输出的力 矩会急剧下降 因此不适于小车等对速度有着一定要求的系统 经过综合分析比较决定 放弃此方案 成都工业学院专科毕业设计 论文 第 3 页 方案二 使用直流减速电机作为智能小车系统的驱动电机 直流减速电机的转动力 矩比较大 而且体积较小 重量也很轻 使用方便 另外小车电机内部还装有减速齿轮 组 所以并不需要去考虑调速的功能 可以很方便的通过单片机来控制直流减速电机的 正传 反转 停止操作 综合以上考虑选择方案二的直流减速电机作为整个智能小车的驱动电机 图 2 1 直流减速电机 2 3 2电机驱动模块选择与论证 方案一 采用继电器对电动机进行控制 通过切换电动机的开关来调整小车的速度 这个方案的优点是电路相对比较简单 但是它的缺点也比较多 如 继电器的响应时间偏 慢 寿命较短 容易损坏 可靠性也不是很高 故决定放弃此方案 方案二 采用专用的电机驱动芯片 L298N 来控制直流减速电机 L298N 芯片 如图 2 2 是一个具有高电压大电流的全桥驱动芯片 一片 L298N 芯片可以分别的控制两个直 流减速电机 在 6 46V 的电压下 可以提供 2A 的额定电流 额定功率 25W 并且具有过 热自动关断和电流反馈检测功能 安全可靠 该芯片是利用 TTL 电平进行控制的 通过 单片机的 IO 口输出高低电平来改变芯片控制端的输入电平 即可以实现对电机进行正转 反转和停止操作 另外为了保证 L298N 的正常工作 我还安装了 8 个续流二极管 1N4007 用该芯片作为电机驱动 驱动能力大 操作方便 稳定性好 性能优良 综合以上分析与论证我们选择方案二的驱动芯片 L298N 作为整个智能小车系统的电 机驱动电路 成都工业学院专科毕业设计 论文 第 4 页 图 2 2 L298N 2 4 遥控模块 本设计采用红外遥控来控制信号的传送 选择红外遥控装置作为小车的遥控控制器 红外遥控是通过遥控发射器内的编码芯片将按键信息调制成一串0和1的二进制代码 然 后通过红外线发出 最后被红外接收装置接收进行解码 再运用单片机对解码后的码信 息进行识别 然后再根据不同的码信息进行不同的控制操作 9 图 2 3 VS1838 封装 成都工业学院专科毕业设计 论文 第 5 页 2 5 显示模块 方案一 采用 LED 数码管显示 数码管使用简单 价格低廉 但一个数码管只能显 示一个数字 要显示多位数据时要使用多个数码管 这就增加了硬件电路的复杂度和额 外功耗 而且 LED 数码管也无法显示字符 由于我们计划要显示小车运行的速度和路程 LED 数码管没办法显示这么多的内容 因此考虑其它的方案 方案二 采用 LCD1602 液晶 如图 2 4 显示 LCD1602 液晶具有功耗低 显示内容 丰富清晰 显示信息量大 显示速度较快 界面友好 使用简单等特点而得到了广泛的 应用 并且外围电路也比较简单 因此我们选择此方案 通过以上方案论述我们选择方案二 显示小车与障碍物距离的任务 图 2 4 LCD1602 液晶显示器 2 6 避障模块 方案一 用漫反射式光电开关进行避障 光电开关的工作原理是根据光线发射头发 出的光束 被物体反射 其接收电路据此做出判断反应 物体对红外光由同步回路选通 而检测物体的有无 当有光线反射回来时 输出低电平 当没有光线反射回来时 输出 高电平 操作简单但是测量的距离不远 方案二 用超声波传感器进行测距避障 超声波传感器的原理是 超声波由压电陶 瓷超声波传感器发出后 遇到障碍物便反射回来 然后再被超声波传感器接收 超声波 传感器在避障的设计中被广泛应用 为了使用方便 便于操作和调试 采用集成超声波 测距模块 HC SR04 综合考虑本系统只需要检测障碍物 没有十分复杂的环境 为了使用的方便 便于 操作和调试 最终选择了方案二 成都工业学院专科毕业设计 论文 第 6 页 第 3 章 硬件设计 3 1 总体设计 智能小车采用前轮驱动 前轮左右两边各用一个电机驱动 通过电机驱动芯片 L298N 来控制前面两个轮子的转动与停止从而达到控制转向的目的 后轮是拖动轮 起支撑作 用 小车距离的检测通过超声波传感器 HC SR04 将检测到的数据传回单片机进行处理 小车的避障用超声波避障模块 HC SR04 将其置于车头 检测到障碍物时 小车做出 相应的反应 总体设计框图如图 3 1 键盘遥控 编码芯片 编码调制 红外发射 系统应答 a 遥控部分框图 b 小车部分框图 图 3 1 系统总体设计框图 3 2 驱动电路 电机驱动芯片采用 L298N 是一款承受高压大电流的全桥型直流 步进电压驱动器 如下图 3 2 STC89C52 电机驱动 模块 数据显示 模块 红外遥控模块 晶振模 块 超声避障 模块 成都工业学院专科毕业设计 论文 第 7 页 图 3 2 电机控制芯片 L298N 的引脚排列 其中 L298N 各引脚的编号与功能和内部逻辑如下表 3 1 和图 3 3 表 3 1 L298N 引脚编号与功能 引脚编号名称功能 1 电流传感器 A在该引脚和地之间接小阻值电阻可用来检测电流 2 输出引脚 1内置驱动器 A 的输出端 1 接至电机 A 3 输出引脚 2内置驱动器 A 的输出端 2 接至电机 A 4 电机电源端电机供电输入端 电压可达 46V 5 输入引脚 1内置驱动器 A 的逻辑控制输入端 1 6 使能端 A内置驱动器 A 的使能端 7 输入引脚 2内置驱动器 A 的逻辑控制输入端 2 8 逻辑地逻辑地 9 逻辑电源端逻辑控制电路的电源输入端为 5V 10 输入引脚 3内置驱动器 B 的逻辑控制输入端 1 11 使能端 B内置驱动器 B 的使能端 12 输入引脚 4内置驱动器 B 的逻辑控制输入端 2 13 输出引脚 3内置驱动器 B 的输出端 1 接至电机 B 14 输出引脚 4内置驱动器 B 的输出端 2 接至电机 B 15 电流传感器 B在该引脚和地之间接小阻值电阻可用来检测电流 成都工业学院专科毕业设计 论文 第 8 页 图 3 3 L298N 内部原理图 电机驱动 A B 的控制逻辑如下表所示 表 3 2 电机驱动 A B 的控制逻辑 输入信号 使能端 A B输入引脚 1 3输入引脚 2 4 电机运动方式 110 前进 101 后退 111 紧急停车 100 紧急停车 0XX 自由转动 L298N 可直接对电机进行控制 不需要隔离电路 通过单片机的 I O 输入改芯片控 制端的电平 即可以对电机进行正反转 停止的操作 操作非常方便 亦能满足直流减 速电机的大电流要求 调试时依照上表 用程序输入对应的码值 即可以实现对应的操 作 其驱动电路原理图如下图 3 4 所示 成都工业学院专科毕业设计 论文 第 9 页 图 3 4 L298N 驱动原理图 3 3 遥控电路 红外接收器也叫做一体化红外接收头 其内部是由红外监测二极管 放大器 限 副器 带通滤波器 积分电路 比较器等构成的 红外监测二极管接收到红外信号后 会把信号送到放大器和限幅器 限幅器把脉冲幅度控制在一定的水平 交流信号进 入带通滤波器 带通滤波器只允许 30khz 到 60khz 的负载波通过 然后脉冲信号再通 过解调电路和积分电路进入比较器 由比较器输出高低电平信号 还原出发射端的信 号波形 但为了提高接收的灵敏度输出的高低电平和发射端是反相的 红外接收头有 很多的种类 一般都有电源引脚 信号输出引脚和接地引脚 根据发射端调制载波的 不同应选用相应解调频率的接收头 本设计我们采用车载遥控发射器 一体化红外接 收头 1838 来解调 HT6221 编码芯片的编码 其实物图如图 3 5 所示 成都工业学院专科毕业设计 论文 第 10 页 图 3 5 1 1838 红外接收头 图 3 5 2 车载遥控发射器 由于红外接收头内部放大器也很大的增益 这样很会容易引起干扰 因此在接收头 的电源引脚上须加上大小在 22uf 以上的滤波电容 本设计的红外接收电路如图 3 6 所示 图 3 6 红外接收电路图 其中U6为1838红外接收头 电容C4为滤波电容 DOUT 是解调信号的输出端 直接与 单片机的P3 2引脚即INT0中断相连 8 解码的重点是怎样识别位0和位1 由于位0和位1的低电平脉宽相同但高电平脉宽不 一样 所以需要根据高电平的宽度区别位0和位1 如果从0 56ms低电平信号过后延时了 0 56ms以后如果能读到低电平信号说明该位为0反之则为1 为了可靠起见延时必须介于 0 56ms和1 12ms之间 否则如果该位为0读到的已是下一位的高电平 因此我们取其中间 值即 1 12ms 0 56ms 2 0 84ms 当按下遥控器的按键后 便有红外脉冲编码信号发出 经红外接收头接收解码后在 其输出端输出检波整形后的方波信号 然后直接输入至单片机外部中断进行码信息的识 别 单片机再调用相应子程序执行对应的操作 成都工业学院专科毕业设计 论文 第 11 页 3 4 显示电路 用 LCD1602 来显示数据 LCD 液晶具有功耗低 显示内容丰富 清晰 显示信息量大 显示速度较快等特点 其中用滑动变阻器 RV0 来调节显示器的背光亮度 电路原理图如 下图 3 7 图 3 7 显示电路原理图 3 5 避障电路 设计中采用超声波传感器进行测距避障 超声波传感器的原理是 超声波由压电陶 瓷超声波传感器发出后 遇到障碍物便反射回来 然后再被超声波传感器接收 超声波 传感器在避障的设计中被广泛应用 为了使用方便 便于操作和调试 采用集成超声波 测距模块 HC SR04 如图 3 8 成都工业学院专科毕业设计 论文 第 12 页 图 3 8 HC SR04 超声波测距模块 HC SR04 电气参数如表 3 3 所示 声波时序图如图 3 9 1 所示 超声波检测原理图如 图 3 9 2 所示 表 3 3 HC SR04 电气参数 图 3 9 1 超声波声波时序图 成都工业学院专科毕业设计 论文 第 13 页 图 3 9 2 超声波检测原理图 3 6 主控电路 单片机是控制单元的核心 起着控制小车所有运行状态的作用 单片机控制模块使 用的是 STC 公司生产的STC89C52RC 使用该芯片很容易实现对其它模块的控制 通过对 单片机STC89C52RC写入程序 可以方便的用软件来控制 成都工业学院专科毕业设计 论文 第 14 页 图 3 10 单片机最小系统 STC89C52RC单片机最小系统包括了晶振电路 电源电路以及复位电路 其中复位电 路的复位按键用于小车的复位 P1 3 P1 7 分别控制电机驱动 其它 P 口用外接控制小车 的各种控制开关 P0 口外接上拉电阻 可用于外接 LCD1602 STC89C52RC单片机介绍 STC89C52RC 是 STC 公司生产的一种低功耗 高性能 CMOS8 位微控制器 具有 8K 字 节系统可编程 Flash 存储器 STC89C52 使用经典的 MCS 51 内核 但做了很多的改进使得 芯片具有传统 51 单片机不具备的功能 在单芯片上 拥有灵巧的 8 位 CPU 和在系统可 编程 Flash 使得 STC89C52 为众多嵌入式控制应用系统提供高灵活 超有效的解决方案 主要特性如下 1 增强型 8051 单片机 6 时钟 机器周期和 12 时钟 机器周期可以任意选择 指令代码完全兼容传统 8051 2 工作频率范围 0 40MHz 相当于普通 8051 的 0 80MHz 实际工作频率可 达 48MHz 3 工作电压 5 5V 3 3V 5V 单片机 3 8V 2 0V 3V 单片机 成都工业学院专科毕业设计 论文 第 15 页 4 片上集成 512 字节 RAM 5 用户应用程序空间为 8K 字节 6 ISP 在系统可编程 IAP 在应用可编程 无需专用编程器 无需专用仿 真器 可通过串口 RxD P3 0 TxD P3 1 直接下载用户程序 数秒即可完 成一片 7 通用 I O 口 32 个 复位后为 P1 P2 P3 P4 是准双向口 弱上拉 P0 口是 漏极开路输出 作为总线扩展用时 不用加上拉电阻 作为 I O 口用时 需 加上拉电阻 8 具有看门狗功能 9 具有 EEPROM 功能 10 共 3 个 16 位定时器 计数器 即定时器 T0 T1 T2 11 外部中断 4 路 下降沿中断或低电平触发电路 Power Down 模式可由外部中 断低电平触发中断方式唤醒 12 通用异步串行口 UART 还可用定时器软件实现多个 UART 13 工作温度范围 40 85 工业级 0 75 商业级 14 PDIP 封装 STC89C52 单片机的引脚图如下图 3 10 图 3 11 STC89C52 引脚图 成都工业学院专科毕业设计 论文 第 16 页 第 4 章 软件设计 4 1主程序模块的设计 4 1 1主程序的流程图 本设计软件部分主要分为五大模块 分别为显示模块 超声波模块 电机驱动模块 红外遥控模块 主程序模块 其中定时器 0 用来计数器溢出 超出测量范围 T1 用于检 测脉宽信号 外部中断 0 用于红外遥控 在图 4 1 主程序流程图中 开始时先是单片机 的初始化 包括定时器初始化 外部中断的初始化 液晶的初始化 然后调用循迹子程 序 小车正常行驶 如果遇到了障碍则调用超声波模块子程序 判断前方 30cm 处是否有 障碍物 如果检测到左右障碍则小车后退到安全距离后 再次正常行驶 成都工业学院专科毕业设计 论文 第 17 页 Y 开关接通 N Y 开始 单片机初始化 调用显示子程序 调用测距子程序 调用红外遥控子程序 遥控信号 调用避障子程序 N 由键值改变小车状态 图 4 1 主程序流程图 4 1 2主程序的设计 void main EN1 EN2 1 使能左右电机 cmg88 关数码管 LCMInit LCM 初始化 delay 5 延时 DisplayListChar 0 0 Range 1602 第一行显示 range 数组的内容 DisplayListChar 0 1 table 1602 第二行显示 table 数组的内容 TMOD 0 x01 定时器 0 工作方式 1 16 位定时模式 TMOD 0 x20 定时器 1 工作方式 2 8 位自动重装 成都工业学院专科毕业设计 论文 第 18 页 TH1 0 x00 写 0 表示溢出一次时间是 256 个机器周 期 TL1 0 x00 ET1 1 开定时器 1 中断 TR1 1 启动定时器 1 IT0 1 设置外部中断 0 的跳转方式 EX0 1 启动外部中断 0 TH0 0 TL0 0 ET0 1 允许 T0 中断 EA 1 开总中断 while 1 StartModule 启动测距模块 while RX 等待 TR0 1 开启计数 while RX 计数并等待 TR0 0 关计数 Conut 计算距离 Avoid 避障 if IRok 判断脉宽是否检测完毕 IRcordpro 根据脉宽检测出 4 个字节的数据 IRok 0 重新等待脉宽检测 if IRpro ok 判断是否解码完成 switch IRcord 2 case 0 x18 forward 前进 delay 1000 break case 0 x52 backward 后退 delay 1000 break case 0 x08 left rapidly 左转 delay 1000 break case 0 x5A right rapidly 右转 delay 1000 break case 0 x1C stop 停止 delay 2000 break default break 成都工业学院专科毕业设计 论文 第 19 页 IRpro ok 0 delay 65 4 2电机驱动程序的设计 4 2 1电机驱动程序流程图 电机驱动子函数 默认前进 返回 正常前进检测到右障碍检测到左右障碍 调用右转子程 序 调用前进子程 序 调用左转子程 序 调用后退子程序 右电机停止 左电机正转 左右电机正转右电机正转 左电机停止 左右电机反转 小车右转小车前进小车左转 小车后退 检测到左障碍 图 4 2 电机驱动程序流程图 电机驱动程序流程图如上图 4 2 当接通电源开关时 小车则调用默认前行程序 正 常前行 超声波检测模块启用检测子程序 当检测到小车左侧有障碍物 则小车调用右 转子程序 使小车达到安全行驶距离 右转程序流程一样 不在赘述 如果小车检测到 左右障碍 这时小车会短时间停车 然后调用后退子程序 使小车后退到安全距离 再 次回到正常行驶状态 如果后退到一定距离还未达到安全行驶距离 则小车则会再次调 成都工业学院专科毕业设计 论文 第 20 页 用相应子程序使小车达到正常行驶的距离 4 2 2电机驱动程序的设计 include sbit IN1 P1 2 sbit IN2 P1 3 sbit IN3 P1 6 sbit IN4 P1 7 sbit EN1 P1 4 sbit EN2 P1 5 void delay unsigned int z unsigned int x y for x z x 0 x for y 114 y 0 y void main EN1 1 EN2 1 IN1 0 IN2 1 IN3 1 IN4 0 delay 3000 EN1 0 EN2 0 delay 3000 EN1 1 EN2 1 IN1 1 IN2 0 IN3 0 IN4 1 delay 3000 EN1 0 EN2 0 delay 3000 EN1 1 EN2 1 IN1 0 IN2 1 IN3 0 成都工业学院专科毕业设计 论文 第 21 页 IN4 0 delay 3000 EN1 0 EN2 0 delay 3000 EN1 1 EN2 1 IN1 1 IN2 1 IN3 1 IN4 0 delay 3000 EN1 0 EN2 0 while 1 4 34 3红外遥控程序的设计红外遥控程序的设计 4 3 1红外遥控模块流程图 红外遥控子函数 遥控信号 返回 发射前进信号发射左转信号发射后退信号 调用右转子程 序 调用前进子程 序 调用左转子程 序 调用后退子程序 右电机停止 左电机正转 左右电机正转右电机正转 左电机停止 左右电机反转 小车右转小车前进小车左转 小车后退 发射右转信号 发射停止信号 调用停止子程序 左右电机停转 小车停车 成都工业学院专科毕业设计 论文 第 22 页 图 4 3 红外遥控模块流程图 在图 4 3 红外遥控模块流程图中 通过遥控器发射控制信号 然后检测分析 P3 2 口 接收到的信号 从而控制小车的行驶状态 程序中为了缓和小车在行进中存在的惯性 所以每个状态切换时都会有一小段延时效果 4 3 2红外遥控子程序设计 void timer0 interrupt 1 flag 1 void StartModule TX 1 Delay10us 2 TX 0 void forward left motor go right motor go void backward left motor back right motor back void stop right motor stops left motor stops void left rapidly left motor back right motor go 成都工业学院专科毕业设计 论文 第 23 页 void right rapidly left motor go right motor back 4 4测距避障模块程序的设计 4 4 1测距模块流程图 N Y 测距子程序 计算与障碍物的距离 调用显示子程 序 返回 避障子程序 有障碍 后退 左转 前进 返回 发射超声波 接收返回超声波 图 4 4 测距模块流程图 测距模块流程图如图 4 4 开始时单片机先给超声波测距模块 Trig 端发送一个高电 平且这个高电平要持续 20us 然后再给 Trig 端发送一个低电平 即启动了超声波测距模 块 超声波测距模块会自动发送 8 个 40KHZ 的方波 等待是否有信号返回 如果有信号 返回会通过 IO 口超声波测距模块的 Echo 端输出一个高电平 高电平持续的时间就是超 声波从发射到返回的时间 测试距离 高电平时间 声速 340M S 2 单位为 mm 如果 距离小于 30cm 小车会后退并转向 成都工业学院专科毕业设计 论文 第 24 页 4 4 2测距模块程序设计 void Conut void time TH0 256 TL0 TH0 0 TL0 0 S float time 1 085 0 17 if S 7000 flag 1 flag 0 disbuff 0 10 disbuff 1 10 disbuff 2 10 disbuff 3 10 else disbuff 0 S 1000 disbuff 1 S 1000 100 disbuff 2 S 100 10 disbuff 3 S 10 4 5显示模块程序的设计 4 5 1显示模块流程图 成都工业学院专科毕业设计 论文 第 25 页 显示子函数 初始化 LCD1602 显示屏 液晶第一列显示 Range Finder 液晶第二列显示 Distance 000 0mm 结束 图 4 5 显示模块流程图 图 4 5 为显示模块流程图 先是初始化 LCD1602 然后在液晶的第一行显示 Range Finder 液晶第二列显示 Distance 000 0mm 然后在主程序不断的调用显示程序刷新 mm 前面的数字 4 5 2显示程序设计 unsigned char ReadStatusLCM void LCM Data 0 xFF LCM RS 0 Delay10us 1 LCM RW 1 Delay10us 1 do LCM E 0 Delay10us 1 LCM E 0 Delay10us 1 LCM E 1 Delay10us 1 while LCM Data 成都工业学院专科毕业设计 论文 第 26 页 return LCM Data void WriteDataLCM unsigned char WDLCM ReadStatusLCM LCM Data WDLCM LCM RS 1 Delay10us 1 LCM RW 0 Delay10us 1 LCM E 0 Delay10us 1 LCM E 0 Delay10us 1 LCM E 1 Delay10us 1 void WriteCommandLCM unsigned char WCLCM BuysC if BuysC ReadStatusLCM LCM Data WCLCM LCM RS 0 Delay10us 1 LCM RW 0 Delay10us 1 LCM E 0 Delay10us 1 LCM E 0 Delay10us 1 LCM E 1 Delay10us 1 void LCMInit void LCM Data 0 WriteCommandLCM 0 x38 0 delay 5 WriteCommandLCM 0 x38 0 delay 5 WriteCommandLCM 0 x38 0 delay 5 WriteCommandLCM 0 x38 1 WriteCommandLCM 0 x08 1 成都工业学院专科毕业设计 论文 第 27 页 WriteCommandLCM 0 x01 1 WriteCommandLCM 0 x06 1 WriteCommandLCM 0 x0c 1 void DisplayOneChar unsigned char X unsigned char Y unsigned char DData Y X if Y X 0 x40 X 0 x80 WriteCommandLCM X 1 WriteDataLCM DData void DisplayListChar unsigned char X unsigned char Y unsigned char code DData unsigned char ListLength ListLength 0 Y X while DData ListLength 0 x19 if X 0 xF DisplayOneChar X Y DData ListLength ListLength X 成都工业学院专科毕业设计 论文 第 28 页 第 5 章 软件仿真 5 1 KEIL 软件 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显的优势 因而易学易 用 Keil 提供了包括 C 编译器 宏汇编 链接器 库管理和一个功能强大的仿真调试器 等在内的完整开发方案 通过一个集成开发环境 Vision 将这些部分组合在一起 运行 Keil 软件需要 WIN98 NT WIN2000 WINXP 等操作系统 如果你使用 C 语言编程 那么 Keil 几乎就是你的不二之选 即使不使用 C 语言而仅用汇编语言编程 其方便易用 的集成环境 强大的软件仿真调试工具也会令你事半功倍 优点如下 Keil C51 生成的目标代码效率非常之高 多数语句生成的汇编代码很紧凑 容易 理解 在开发大型软件时更能体现高级语言的优势 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显的优势 因而 易学易用 用过汇编语言后再使用 C 来开发 体会更加深刻 5 2 Protues 软件 Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件 该软件中 国总代理为广州风标电子技术有限公司 它不仅具有其它 EDA 工具软件的仿真功能 还 能仿真单片机及外围器件 它是目前比较好的仿真单片机及外围器件的工具 虽然目前 国内推广刚起步 但已受到单片机爱好者 从事单片机教学的教师 致力于单片机开发 应用的科技工作者的青睐 Proteus 是英国著名的 EDA 工具 仿真软件 从原理图布图 代码调试到单片机与外 围电路协同仿真 一键切换到 PCB 设计 真正实现了从概念到产品的完整设计 是目前 世界上唯一将电路仿真软件 PCB 设计软件和虚拟模型仿真软件三合一的设计平台 其处 理器模型支持 8051 HC11 PIC10 12 16 18 24 30 DsPIC33 AVR ARM 8086 和 MSP430 成都工业学院专科毕业设计 论文 第 29 页 等 2010 年又增加了 Cortex 和 DSP 系列处理器 并持续增加其他系列处理器模型 在编 译方面 它也支持 IAR Keil 和 MPLAB 等多种编译器 优点如下 1 Proteus 可提供的仿真元器件资源 仿真数字和模拟 交流和直流等数千种元器 件 有 30 多个元件库 2 Proteus 可提供的仿真仪表资源 示波器 逻辑分析仪 虚拟终端 SPI 调试器 I2C 调试器 信号发生器 模式发生器 交直流电压表 交直流电流表 理论上同一种仪 器可以在一个电路中随意的调用 3 除了现实存在的仪器外 Proteus 还提供了一个图形显示功能 可以将线路上变 化的信号 以图形的方式实时地显示出来 其作用与示波器相似 但功能更多 这些虚 拟仪器仪表具有理想的参数指标 例如极高的输入阻抗 极低的输出阻抗 这些都尽可 能减少了仪器对测量结果的影响 4 Proteus 可提供的调试手段 Proteus 提供了比较丰富的测试信号用于电路的测试 这些测试信号包括模拟信号和数字信号 我们首先单独调试各功能子程序 检验程序是否能够实现预期的功能 接口电路的 控制是否正常等 最后逐步将各子程序连接起来总调 成都工业学院专科毕业设计 论文 第 30 页 第六章 实物安装与调试 6 1 器件清单 表 6 1 器件列表 器件类型器件名称 数量 个 PROTUES1 软件 KEIL1 电机 2 超声波探测模块 1 LCD16021 底板 1 电路板 1 STC89C52 单片机 1 单片机最小系统 1 开关 有锁 1 电机驱动模块 1 红外接收模块 1 LED 灯 1 车轮 4 电池盒 2 电池 8 遥控器 1 3k 电阻 1 杜邦线若干 硬件 扎带若干 6 2 结果及分析 在这个课题中我们计划三步完成小车 第一步当然也是最重要的一步 小车的软件 核心部分 相当于小车的血液 在论文前面有所分析 这里不再赘述 第二步则是小车 的整装调试 这一部分相当于是小车的骨架 我们先在电路板上面设计了模块的布局位 置 将每一个模块的最佳位置固定好 方便后面插线连接 然后再将每一个模块打孔用 螺丝固定好 第三步也是最重要的一步 在整车连接无误后 先用万用表检测通断 查 看有无短路或断路的情况 由于我们按照计划一步一步的整合装车所以硬件连接没有上 述问题 接着将单片机连接到最小系统上面 进行整车测试 反复多次调程序 最终达 成都工业学院专科毕业设计 论文 第 31 页 到预期效果 以下是详细步骤步骤 首先测试电源的工作情况 各个模块能否得到良好供电 然后检查单片机能否正常的烧写程序和工作 光电管安装完成后根据测试数据调节电位器选择合适的参考电压 测试两前轮电机的工作情况 并试验电机的驱动能力 反复测试各参数变化对小车的影响 找出最有效的配置 对小车运行过程中各种可能出现的情况测试 发现问题 找出解决方法 让小车进行实地运行 发现问题并解决 整理数据 优化程序设计 经过多次调试 本系统能够基本满足设计要求 能够较快较平稳的正常行驶 6 3 使用指南 本次设计的智能小车使用简单 首先将 8 节 1 5v 的干电池装到小车的指定电池盒里 然后将小车停在事先准备好的测试区域里 最后按下小车的总开关 小车便可正常行驶 前方 30cm 左右有障碍物的话 小车会转弯 前方 7cm 左右有障碍物的话 小车会自动停 下一小段时间 然后后退 直到达到安全转弯距离 小车会继续正常前进 当按下遥控 器上面的 2 号键 小车会一直向前行驶直到遇见障碍物 当按下 8 号键 小车会 后退 当按下 4 号键 小车会左转 当按下 6 号键 小车会右转 当按下 5 号 键小车会停车 注意启动小车前请检查线路有无脱线情况 成都工业学院专科毕业设计 论文 第 32 页 第七章 结束语 本论文在曾一江老师的悉心指导下完成的 老师渊博的专业知识 严谨的治学态度 精益求精的工作作风 诲人不倦的高尚师德 严于律己 宽以待人的崇高风范 朴实无 法 平易近人的人格魅力对本人影响深远 不仅使本人树立了远大的学习目标 掌握了 基本的研究方法 还使本人明白了许多为人处事的道理 本次论文从选题到完成 每一 步都是在老师的悉心指导下完成的 倾注了老师大量的心血 在此 谨向老师表示崇高 的敬意和衷心的感谢 在写论文的过程中 遇到了很多的问题 在老师的耐心指导下 问 题都得以解决 所以在此 再次对老师道一声 老师 谢谢您 时光匆匆如流水 转眼便是大学毕业时节 春梦秋云 聚散真容易 离校日期已日 趋渐进 毕业论文的完成也随之进入了尾声 从开始进入课题到论文的顺利完成 一直 都离不开老师 同学 朋友给我热情的帮助 在这里请接受我诚挚的谢意 在此我向学校 应用电子技术专业的所有老师表示衷心的感谢 谢谢你们三年的辛勤栽培 谢谢你们在 教学的同时更多的是传授我们做人的道理 谢谢三年里面你们孜孜不倦的教诲 三年寒窗 所收获的不仅仅是愈加丰厚的知识 更重要的是在阅读 实践中所培养 的思维方式 表达能力和广阔视野 很庆幸这三年来我遇到了如此多的良师益友 无论 在学习上 生活上 还是工作上 都给予了我无私的帮助和热心的照顾 让我在一个充 满温馨的环境中度过三年的大学生活 感恩之情难以用言语量度 谨以最朴实的话语致 以最崇高的敬意 最后要感谢的是我的父母 他们不仅培养了我对中国传统文化的浓厚的兴趣 让我 在漫长的人生旅途中使心灵有了虔敬的归依 而且也为我能够顺利的完成毕业论文提供 了巨大的支持与帮助 在未来的日子里 我会更加努力的学习和工作 不辜负父母对我 的殷殷期望 我一定会好好孝敬他们 报答他们 爸妈 我爱你们 长风破浪会有时 直挂云帆济沧海 这是我少年时最喜欢的诗句 就用这话作为 这篇论文的一个结尾 也是一段生活的结束 希望自己能够继续少年时的梦想 永不放 弃 成都工业学院专科毕业设计 论文 第 33 页 参考文献 1 李瀚霖等 智能小车研究与设计 J 科技致富向导 2011 年 26 期 2 王志良 竞赛机器人制作技术 M 北京 机械工业出版社 2007 6 15 3 韩毅 杨天 基于 HCS12 单片机的智能寻迹模型车的设计与实现 J 学术期刊 20 08 29 18 1535 1955 4 王晓明 电动机的单片机控制 J 学术期刊 2002 13 15 1322 1755 5 温子祺等 51 单片机 C 语言创新教程 M 北京 北京航航天大学出版社 2011 4 6 朱小燕等 浅谈智能控制小车的设计 J 机电信息 2011 7 唐华溢等 智能循迹小车系统与应用 J 科技与生活 2010 8 何晔 基于 AT89S52 单片机自动避障自动追光小车新设计 J 科技致富向导 2011 4 9 张毅刚 彭喜元 彭宇 单片机原理及应用 M 北京 高等教育出版社 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论