已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 基于基于 Proteus 的出租车计价及安全系统的研究毕业设计的出租车计价及安全系统的研究毕业设计 目 录 摘 要 I 第 1 章 引 言 1 1 1 国内外研究现状及研究意义 1 1 2 课题主要任务及内容 1 1 3 任务分析与实现 2 1 4 本章小结 3 第 2 章 Proteus 的简介 4 2 1 功能特点 4 2 2 功能模块 4 2 3 电路仿真 6 2 4 本章小结 7 第 3 章 系统分析与硬件电路设计 8 3 1 硬件的选择 8 3 1 1 主控制器的选择 8 3 1 2 数据显示模块方案选择 8 3 1 3 传感器的选择 9 3 1 4 LED 点阵驱动寄存器的选择 10 3 2 硬件电路设计 10 3 2 1 概述 10 3 2 2 单片机简介 11 3 2 3 LCD1602 液晶显示介绍 12 3 2 4 8 8LED 点阵介绍 13 3 2 5 ST188 红外光电传感器的介绍 14 3 2 6 74HC595 芯片介绍 15 3 2 7 LM324 芯片介绍 15 3 3 单片机外围电路的设计 16 II 3 3 1 液晶显示电路的设计 17 3 3 2 点阵显示电路的设计 17 3 3 3 防瞌睡模块的电路设计 18 3 3 4 红外线传感器检测电路设计 19 3 4 本章小结 20 第 4 章 软件程序设计 21 4 1 概述 21 4 2 总体程序设计 21 4 3 LCD1602 液晶显示模块的设计 23 4 4 8 8LED 点阵显示模块的设计 24 4 5 检测转数模块的设计 26 4 6 防瞌睡模块的设计 27 4 8 本章小结 29 结论与展望 30 参考文献 31 附 录 32 致 谢 52 1 第 1 章 引 言 出租车由于它的安全性 舒适性 便利性 快速性等特点 得到越来越多的外出人 们的喜爱 这也推进了出租车行业的快速发展 1 在社会生活中 人们的旅游出行等很 多时候都离不开出租车 因此我们给予出租车各个方面更多的关注 出租车也成为我们 生活中必不可少的话题 在当今社会中有些不和谐的现象给大家带来了很多的困扰 例 如生活中司机和乘客之间由于计价器的不精确而发生争执 出租车司机由于长时间驾驶 很容易产生疲倦困乏 甚至出现交通事故 当出租车司机遇到匪徒劫持或者其他危险而 不能自己进行报警 生命和财产都会受到威胁等等现象 因此大家很想解决这些不和谐 现象来使人们的生活更加美好安全 因此对出租车计价及安全检测系统的研究是有必要 的 本设计是以单片机为核心设计了计价器 LED 点阵隐式报警和防瞌睡模块 相信会 对人们生活中一些不和谐现象能够进行改善 1 1 国内外研究现状及研究意义 随着科学技术和经济的发展 出租车在我们日常生活中已经成为了一种必不可少的 交通工具 成为了城市发展的标志 国内外人们研究计价器已经是很成熟了 但是在安 全方面还是有所欠缺 在我们社会生活中有很多因为长时间驾驶而困乏瞌睡导致交通事 故 也有一些司机被劫持或者遇到危险却不能及时报警等现象 导致司机的生命安全受 到了威胁 出租车的发展是一种社会进步 科学发展的标志 所以对其进行研究是很有必要的 相信未来的出租车计价器将会更加精确更加人性化 对出租车的安全也会更加重视 因 此针对这些社会现象所研究的出租车计价及安全检测系统是有一定意义性的 相信会给 人们带来更加美好 和谐 安全的生活 1 2 课题主要任务及内容 本课题主要任务是以 STC89C52 单片机为核心 总体设计三个模块 第一个模块通 过单片机对红外光电传感器 ST188 发送过来的脉冲进行计数 并经过处理在液晶显示 2 LCD1602 显示价钱和里程 第二个模块通过 4 个 8 8LED 点阵组成模拟出租车上方的 点阵屏幕 利用滚动屏幕的方式在其屏幕上显示顾客乘坐信息和司机遇到危险时寻求帮 助信息 最后一个模块就是司机防瞌睡模块 若出租车司机感到疲惫瞌睡时候 启动防 瞌睡模块后 会在一定的时间后 先是蜂鸣器报警提示 之后通过喷水提醒司机注意 本文主要介绍了出租车计价器的设计 防瞌睡模块的设计 出租车司机寻求报警模 块的设计 并且对每一个模块进行方案论证 其中包括软件程序流程图设计 硬件原理 电路图的设计 随后扼要的介绍元器件的选择包括单片机的选择 驱动寄存器的选择 传感器的选择 显示器的选择等 然后阐述了各个模块的软件设计思路和主程序的流程 设计思路 最后进行总结与展望 对在完成本设计时遇到的问题进行分析和处理 并且 对该系统最终产品化时所涉及的其他几个主要方面进行了阐述 并通过软件 Proteus 进 行呈现 1 3 任务分析与实现 本设计的任务是 以 STC89C52 单片机为核心 实现出租车计价和出租车的安全检 测 首先单片机将从光电传感器接收到的脉冲信号 经过定时 计数器进行计数 并进 行处理后 将价钱和里程在液晶显示屏上进行显示 与此同时 还要将 LED 点阵进行 有效的结合 当出租车司机被劫持或者其他的危险时 通过单片机定时 计数器和串口 将信息通过 74HC595 串入并出寄存器驱动在 LED 点阵显示寻求帮助信息 最后防瞌睡 模块通过软件延时 控制蜂鸣器和小型水泵进行喷水使司机清醒 本系统总体思路如下 假定在车轮上安装 m 个反射材料 将车轮的周长设为 r 则 允许里程值测量的最大误差为 2L m 本设计中取 m 1 当轮子每转一圈 通过红外传 感器采集到一个脉冲信号 并从引脚 P3 5 定时 计数器 1 中断输入 此时单片机计数器 就会计数 每次中断代表车轮转动一圈 中断数 n 轮圈的周长 L 为里程值 并在液 晶显示屏 LCD1602 进行显示 当没有乘客时 LED 点阵显示滚动的 TAXI 空车 此 时液晶显示屏 LCD1602 显示价钱是 0 元 当有乘客上车时 LED 点阵显示滚动的 TAXI 有人 此时液晶显示屏 LCD1602 显示起始价钱是 a 元 之后每公里加收 b 元 若行驶 c 公里 则显示屏上显示为 a b c 的总价 本设计中假设起始价 a 5 0 元 3 b 1 2 元 当司机遇到匪徒劫持时或其他危险自己却不能直接寻求帮助时 通过按钮将 出租车上的点阵屏幕显示成寻求帮助的信息 本设计里将 LED 点阵显示滚动的 HELP 打 110 的寻求信息 当司机感到困乏瞌睡时 通过引脚 P3 6 控制水泵喷水 通过引脚 P1 4 控制蜂鸣器报警提醒 来实现防瞌睡模块 功能要求实现方法如下 实现功能一 计价器设计精确要有载客和空车之分 具体的实现方法如下 1 利用直流电机模拟出租车车轮 2 利用红外光电传感器检测车轮转数 3 利用定时 计数器采集脉冲统计车轮转数 4 将载客和空车处理的里程和总价在液晶显示 LCD1602 上进行显示 实现功能二 LED 点阵显示向外界寻求帮助信息 具体的实现方法如下 1 用 4 个 8 8LED 点阵组成 LED 点阵屏幕模拟出租车身上方的 LED 点阵广告屏 2 用按钮来进行检测司机是否被劫持或遇险 3 采用动态扫描方式进行显示 实现功能三 防瞌睡模块能够使司机清醒 具体的实现方法如下 1 采用向司机喷水方式来使其清醒 2 用小水泵模拟喷水装置 3 用蜂鸣器来提醒司机是否喷水 4 利用软件编程来进行控制蜂鸣器报警和喷水的顺序 1 4 本章小结 本章概括地介绍了本次设计的国内外研究现状 选择题目的目的意义 需要完成的 任务等 确定了本设计需解决的问题及采取的实现方法 4 第 2 章 Proteus 的简介 Proteus 是世界上著名的 EDA 工具 仿真软件 从原理图布图 代码调试到单片机 与外围电路协同仿真 一键切换到 PCB 设计 真正实现了从概念到产品的完整设计 是目前世界上唯一将电路仿真软件 PCB 设计软件和虚拟模型仿真软件三合一的设计平 台 其处理器模型支持 8051 HC11 PIC10 12 16 18 24 30 DsPIC33 AVR ARM 8086 和 MSP430 等 2010 年又增加了 Cortex 和 DSP 系列处理器 并持续增加其他系列处理器模型 在编译方面 它也支持 IAR Keil 和 MATLAB 等多种编译器 2 1 功能特点 Proteus 软件具有其它 EDA 工具软件 例 multisim 的功能 这些功能是 1 原理布图 2 PCB 自动或人工布线 3 SPICE 电路仿真 革命性的特点 1 互动的电路仿真 用户甚至可以实时采用诸如 RAM ROM 键盘 马达 LED LCD AD DA 部 分 SPI 器件 部分 IIC 器件 2 仿真处理器及其外围电路 可以仿真 51 系列 AVR PIC ARM 等常用主流单片机 还可以直接在基于原 理图的虚拟原型上编程 再配合显示及输出 能看到运行后输入输出的效果 配合系统 配置的虚拟逻辑分析仪 示波器等 Proteus 建立了完备的电子设计开发环境 2 2 功能模块 智能原理图设计 5 丰富的器件库 超过 27000 种元器件 可方便地创建新元件 智能的器件搜索 通过模糊搜索可以快速定位所需要的器件 智能化的连线功能 自动连线功能使连接导线简单快捷 大大缩短绘图时间 支持总线结构 使用总线器件和总线布线使电路设计简明清晰 可输出高质量图纸 通过个性化设置 可以生成印刷质量的 BMP 图纸 可以方便 地供 WORD POWERPOINT 等多种文档使用 完善的电路仿真功能 ProSPICE 混合仿真 基于工业标准 SPICE3F5 实现数字 模拟电路的混合仿真 超过 27000 个仿真器件 可以通过内部原型或使用厂家的 SPICE 文件自行设计仿真 器件 Labcenter 也在不断地发布新的仿真器件 还可导入第三方发布的仿真器件 多样的激励源 包括直流 正弦 脉冲 分段线性脉冲 音频 使用 wav 文件 指数信号 单频 FM 数字时钟和码流 还支持文件形式的信号输入 丰富的虚拟仪器 13 种虚拟仪器 面板操作逼真 如示波器 逻辑分析仪 信号发 生器 直流电压 电流表 交流电压 电流表 数字图案发生器 频率计 计数器 逻辑探 头 虚拟终端 SPI 调试器 I2C 调试器等 生动的仿真显示 用色点显示引脚的数字电平 导线以不同颜色表示其对地电压大 小 结合动态器件 如电机 显示器件 按钮 的使用可以使仿真更加直观 生动 高级图形仿真功能 ASF 基于图标的分析可以精确分析电路的多项指标 包括 工作点 瞬态特性 频率特性 传输特性 噪声 失真 傅立叶频谱分析等 还可以进 行一致性分析 单片机协同仿真功能 支持主流的 CPU 类型 如 ARM7 8051 52 AVR PIC10 12 PIC16 PIC18 PIC24 dsPIC33 HC11 BasicSta mp 8086 MSP430 等 CPU 类型随着版本升级还在继续增加 如即将支持 CORTEX DSP 处理器 支持通用外设模型 如字符 LCD 模块 图形 LCD 模块 LED 点阵 LED 七段显 示模块 键盘 按键 直流 步进 伺服电机 RS232 虚拟终端 电子温度计等等 其 COMPIM COM 口物理接口模型 还可以使仿真电路通过 PC 机串口和外部电路实现 6 双向异步串行通信 实时仿真 支持 UART USART EUSARTs 仿真 中断仿真 SPI I2C 仿真 MSSP 仿真 PSP 仿真 RTC 仿真 ADC 仿真 CCP ECCP 仿真 编译及调试 支持单片机汇编语言的编辑 编译 源码级仿真 内带 8051 AVR PIC 的汇编编译器 也可以与第三方集成编译环境 如 IAR Keil 和 Hitech 结合 进行高级语言的源码级仿真和调试 实用的 PCB 设计平台 原理图到 PCB 的快速通道 原理图设计完成后 一键便可进入 ARES 的 PCB 设计 环境 实现从概念到产品的完整设计 先进的自动布局 布线功能 支持器件的自动 人工布局 支持无网格自动布线或人 工布线 支持引脚交换 门交换功能使 PCB 设计更为合理 完整的 PCB 设计功能 最多可设计 16 个铜箔层 2 个丝印层 4 个机械层 含板 边 灵活的布线策略供用户设置 自动设计规则检查 3D 可视化预览 多种输出格式的支持 可以输出多种格式文件 包括 Gerber 文件的导入或导出 便利与其它 PCB 设计工具的互转 如 protel 和 PCB 板的设计和加工 2 3 电路仿真 在 PROTEUS 绘制好原理图后 调入已编译好的目标代码文件 HEX 可以在 PROTEUS 的原理图中看到模拟的实物运行状态和过程 PROTEUS 是单片机课堂教学的先进助手 PROTEUS 不仅可将许多单片机实例功能形象化 也可将许多单片机实例运行过程 形象化 前者可在相当程度上得到实物演示实验的效果 后者则是实物演示实验难以达 到的效果 它的元器件 连接线路等却和传统的单片机实验硬件高度对应 这在相当程度上替 代了传统的单片机实验教学的功能 例 元器件选择 电路连接 电路检测 电路修改 软件调试 运行结果等 课程设计 毕业设计是学生走向就业的重要实践环节 由于 PROTEUS 提供了实验 室无法相比的大量的元器件库 提供了修改电路设计的灵活性 提供了实验室在数量 7 质量上难以相比的虚拟仪器 仪表 因而也提供了培养学生实践精神 创造精神的平台 随着科技的发展 计算机仿真技术 已成为许多设计部门重要的前期设计手段 它 具有设计灵活 结果 过程的统一的特点 可使设计时间大为缩短 耗资大为减少 也 可降低工程制造的风险 相信在单片机开发应用中 PROTEUS 也能茯得愈来愈广泛的应 用 使用 Proteus 软件进行单片机系统仿真设计 是虚拟仿真技术和计算机多媒体技术 相结合的综合运用 有利于培养学生的电路设计能力及仿真软件的操作能力 在单片机 课程设计和全国大学生电子设计竞赛中 我们使用 Proteus 开发环境对学生进行培训 在不需要硬件投入的条件下 学生普遍反映 对单片机的学习比单纯学习书本知识更容 易接受 更容易提高 实践证明 在使用 Proteus 进行系统仿真开发成功之后再进行实 际制作 能极大提高单片机系统设计效率 因此 Proteus 有较高的推广利用价值 2 4 本章小结 本章主要简单介绍了 Proteus 的功能 特点 在专业领域中的运用优势 以及运用 的范围 8 第 3 章 系统分析与硬件电路设计 3 1 硬件的选择 硬件的选取是个至关重要的环节 决定着设计能否成功实现 合适的硬件选取除了 满足设计的成功之外 也将极大的减少资源的浪费和经费成本 3 1 1 主控制器的选择 单片机广泛应用于各个领域 主要由于它有卓越的性能 单片机种类不一样 其功 能也有所不同 在选用单片机的时候 我们要根据自己的需求进行选择 方案一 51 单片机 具有 三总线 构架 40 脚封装 在内部含有 4KB 以上的可 编程 Flash 程序存储器 同时单片机内部含有丰富的资源 而且体积小 可靠性高 价 格低廉及数据处理速度快等特点 并且单片机最小系统电路外还包括有复位电路 电源 电路等 4 方案二 PIC 单片机 是一种两级指令流水线结构的高性价比的 8 位微处理器 采 用哈佛双总线结构和精简指令集 并且具有体积小 一次性编程 OTP 高速 I O 口驱 动能强 低功耗等特点 PIC 单片机应用在工业控制 智能仪器仪表 办公自动化设备 等不同领域 2 但是价钱要比 51 单片机贵 方案三 AVR 单片机 AVR 是集合了 PIC 和 51 的优点 相对于 PIC 单片机 性 价比要高 指令周期要快 它是以 Flash 技术和电可擦除技术为主导 有高标准的质量 检测 有多种封装形式和高质量 3 AVR 的学习方法和 PIC 相似 主要麻烦就是用 C 语言开发置位 位操作不如 PIC 和 51 方便 在工业控制应用范围不广 多用于仪器仪 表 通信上 18 在本次设计中 对运算能力速度 存储结构 I O 口功能等要求不是很高 51 单片 机可以满足要求 而且价格低廉 所以选择方案一 51 单片机 9 3 1 2 数据显示模块方案选择 在当今社会 经常可以看到各种各样的数据显示模块 显示模块选择是否恰当会给 人的视觉一种不一样的感觉 方案一 LED 数码管 具有颜色种类繁多 反应速度快 体积小 寿命长 工作电 压低等特点 5 每一个 LED 数码管可以显示带小数点和不带小数点的 0 9 数字 并且清 晰度高 方案二 LED 点阵 具有颜色丰富 耐冷热 耐腐蚀 亮度高 低功耗 寿命长 视角广等特点 5 LED 点阵可以显示图形 汉字 字母和数字等 7 可以通过控制实现 屏幕闪动和滚动等各种效果 常应用于广告荧幕屏等 6 方案三 LCD1602 液晶显示 具有较强的抗干扰能力 寿命长 低功耗等特点 3 可以显示两行 每行可以显示 16 个字符 显示容量最大为 16 2 个字符 16 带有背光源 采用时分割驱动方式 不能显示汉字 图形 显示信息量一般 方案四 LCD12864 液晶显示 具有抗干扰能力强 寿命长 显示信息量大和低功 耗和等特点 3 可以显示四行 每行 8 个 显示信息量较大 可以显示图形和汉字等 价格比 LCD1602 贵 在本设计中需要两种显示模块 一种是出租车计价器 可以显示总价和里程即可 显示信息量一般 所以选用 LCD1602 即可 另外一种是模拟出租车上方的点阵屏幕 可以显示有无乘客信息 所以选择方案二 LED 点阵 3 1 3 传感器的选择 选择测量里程的传感器 要根据外界环境灵敏度等各个方面进行 考虑 有以下几 种方案进行对比 方案一 红外传感器 它具有吸收 折射 干涉 反射等特点 红外传感器的检测 原理主要是通过红外线自身的性质来实施的 只要自身有一定温度的任何物质 都会有 红外线辐射 在进行红外线传感器测量时 该传感器可以不与被测物体直接接触 并且 有反应迅速 灵敏度高等优点 18 方案二 霍尔元件型 受外界天气的影响不大 如果被泥土或灰尘覆盖也对其灵敏 度影响也不大 而且安装方便 但是采用霍尔元件结合齿轮测速时 由于齿轮很小 造 10 成磁通的变化量很小 且对磁钢与齿轮的距离非常敏感 这使开关霍尔元件在空间上的 位置难于控制 18 方案三 光敏电阻 对外界环境要求比较高 将其安装在车轮附近 当白天行驶时 由于外界光源的影响光敏电阻会发出不正确的信号 如果发光或光敏二极管被灰尘或泥 土所覆盖 光敏电阻的测量就会不准确 18 综上所述 从受到外界环境影响程度 灵敏度和性价比等各个方面考虑 采用方案 一红外测里程才是最佳选择 本设计中采用的是 ST188 红外光电传感器 3 1 4 LED 点阵驱动寄存器的选择 方案一 移位寄存器 可以减少对单片机的资源需求 也可以扩展单片机的I O口 而且安装芯片的方法繁多 可以使系统的具有高可靠性 可以减少各个元器件的连接导 线的数量 降低了成本 9 同时具有操作简单 低功耗 高速度等特点 在单片机接口进 行驱动LED的操作时比较很方便 8 方案二 译码器 可以用来扩展单片机的I O口 使用地址译码器可以对片外地址 进行译码 用它的译码输出作为存储器芯片的片选信号 这样一来可以有效利用存储空 间 适用于扩展大量的芯片存储器 10 由于LED点阵构成的LED点阵屏幕管脚众多 单片机I O口不够用 选用方案一可以 节省更多的管脚 而且方便驱动LED点阵 在本设计里选用了串入并出的8位移位寄存 器74HC595可以达到速度快 操作简单等效果 3 2 硬件电路设计 3 2 1 概述 硬件电路的设计包括液晶显示模块 点阵显示模块 司机防瞌睡模块等 具体的硬 件电路框图如图 3 1 所示 11 图图 3 1 硬件电路框图硬件电路框图 3 2 2 单片机简介 STC89C52 是一个低功耗 高性能的单片机 采用 CHMOS 工艺及高密度 非易失 存储技术制造 与 80C51 引脚和指令系统完全兼容 其内部所含功能部件如下 1 1 个可编程全双工串行口 2 8 个中断源 3 1 个 8 位 CPU 4 8KB PEROM 5 低功耗空闲和掉电模式 6 3 个 16 位定时 计数器 7 21 个特殊功能寄存器 8 1 个片内振荡器及时钟电路 9 4 个 8 位并行 I O 口共 32 条可编程 I O 端线 19 具体 STC89C52 内部结构如图 3 2 所示 12 图图 3 2 STC89C52 内部结构内部结构 3 2 3 LCD1602 液晶显示介绍 在我们生活中 经常可以看到仪器仪表 电子屏幕 便携产品的液晶显示器 LCD 主要由于液晶显示器具有低功耗和较强抗干扰能力等优点 使它逐渐的成为 我们生活中的必需品 LCD 具有很多种类 按显示形式排列形状可分为点阵图形型 点 阵型 字段型 11 其中 LCD1602 属于点阵字符型液晶显示器 液晶显示 LCD1602 的 外形图如图 3 3 所示 13 图图 3 3 LCD1602 的外形图的外形图 3 2 4 8 8LED 点阵介绍 当今社会 LED 点阵显示器应用非常广泛 如活动布告栏 车站显示屏 广告活动 荧幕等 LED 点阵显示器发光体是 LED 它是由一串不发光或者发光的点状 或其它 形状 显示器按矩阵的方式排列组成 7 LED 点阵显示器按阵列点数可分为 4 4 4 8 5 7 5 8 6 8 8 8 等 按 发光颜色可分为单色 双色 三色三种 按极性排列方式有可分为共阳极和共阴极两种 12 8 8LED 点阵实际上是由 64 个发光二极管组成的一个阵列 其实际外观形状如图 3 4 所示 图图 3 4 8 8LED 点阵实际外观形状点阵实际外观形状 14 8 8LED 点阵有 8 根行线和 8 根列线引出共 16 个引脚 8 8LED 点阵外观及引 脚图如图 3 5 所示 图图 3 5 8 8LED 点阵外观及引脚图点阵外观及引脚图 3 2 5 ST188 红外光电传感器的介绍 红外传感器 ST188 在红外检测方面应用非常广泛 它属于 ST 系列反射式光电传 感器 这个系列的传感器质量可靠 使用方便 体积小 价格便宜 种类繁多 其实 物及结构图如图 3 6 所示 其含一个反射模块 发光二极管 和一个接收模块 光敏三 极管 通过发射红外信号 再根据接收到的脉冲信号变化情况判断检测物体状态的变 化 A K 之间是发光二极管 C E 之间是光敏三极管 13 图图 3 6 ST188 管脚图及实物图管脚图及实物图 15 3 2 6 74HC595 芯片介绍 74HC595 内含 8 位三态输出锁存器和 8 位串入并出移位寄存器 锁存器和寄存器 分别有独自的时钟输入 SH CP 和 ST CP 并且都是上升沿有效 当 SH CP 从低电 平到高电平跳变时 串行输入数据移入寄存器 当 ST CP 从低电平到高电平跳变时 寄存器的数据进入锁存器 当输出允许控制 EN 为高电平时 并行输出 Q0 Q7 为高 阻态 而串行输出 QS 不受影响 清除端 CLR 的低电平只对寄存器复位 QS 为低电 平 而对锁存器无影响 14 74HC595 芯片管脚排列如图 3 7 所示 图图 3 7 74HC595 的管脚排列图的管脚排列图 3 2 7 LM324 芯片介绍 LM324 被广泛应用于控制和一般信号放大处理之中 是由于他具有使用方便 价格 低廉 可单电源使用 静态功耗小等优点 LM324 有相位补偿电路 内部有 4 个运算放大器 工作电压范围比较大 可用 1 5 15 V 的正负双电源 或者 3 30 V 的正电源 它有 0 Vcc输出电压范围 可以 达到地电位输入电压 15 LM324 的引脚排列图如图 3 8 所示 16 图图 3 8 LM324 引脚排列图引脚排列图 LM324 电路符号如图 3 9 所示 它有 5 个引出脚 其中两个信号输入端分别为 一 正 负电源端分别为 V V 输出端为 Vo 15 图图 3 9 LM324 电路符号电路符号 3 3 单片机外围电路的设计 本设计是以单片机为核心的 所有的外围电路都以单片机结构能够满足其要求而进 行可实施设计 单片机外围电路主要包括液晶显示电路设计 LED 点阵显示电路设计 防瞌睡模块电路设计 转数检测模块电路设计等 17 3 3 1 液晶显示电路的设计 LCD 液晶显示模块是通过脉冲检测进行在 LCD1602 上显示计价信息的 LCD1602 的数据口与单片机的 P1 口进行连接 LCD1602 的 RS R W E 管脚分别与单片机 P2 0 P2 1 P2 2 相连接 在这里定时 计数器 1 是通过检测红外传感器 ST188 发送过来 的脉冲进行计数 所以用脉冲信号源代替即可具体的液晶显示模块电路设计如图 3 10 所示 图图 3 10 液晶显示模块的电路设计液晶显示模块的电路设计 3 3 2 点阵显示电路的设计 LED 点阵设计是通过 4 个 8 8LED 点阵组合成点阵屏来进行显示有无乘客和报警 信息 在这里用 5 个 74HC595 进行驱动 LED 点阵电路 只占用了单片机的 P3 0 P3 1 P3 2 口节省了单片机管脚资源 具体点阵显示电路设计如图 3 11 所示 18 图图 3 11 点阵显示电路设计点阵显示电路设计 3 3 3 防瞌睡模块的电路设计 防瞌睡模块具体使用小水泵进行实施的 而小水泵的实质就是直流电机 所以在 Proteus 仿真中采用直流电机仿真 同时用蜂鸣器进行防瞌睡模块的报警 在这里蜂鸣器 用单片机 P1 4 口进行控制 小水泵的通电用 P3 6 口进行控制 利用软件编程将小水泵 和蜂鸣器进行整合 便可以达到防瞌睡的效果 具体的防瞌睡模块的电路设计如图 3 12 所示 19 图图 3 12 防瞌睡模块的电路设计防瞌睡模块的电路设计 3 3 4 红外线传感器检测电路设计 ST188 的内部结构组成是高灵敏度光电晶体管和高发射功率红外光电二极管 采用 非接触方式 具有 4 13mm 的检测距离可调整范围 主要应用于检测传真机纸张采集 集中抄表系统数据 采样 IC 卡电度表脉冲数据等领域 由于其具有信号稳定 反应快 和高灵敏度等特点 固本次设计采用了红外传感器 ST188 来实现检测里程 具体的红外 转数检测电路设计如图 3 13 所示 20 3 13 红外转数检测电路设计红外转数检测电路设计 3 4 本章小结 本章主要讲解了单片机 显示模块 传感器和寄存器的选择的几种不同的方案 通 过各个方面对比选择最合适的方案进行研究设计 以及单片机 液晶显示 LCD1602 LED 点阵 光电传感器 74HC595 芯片功能和内部结构 并介绍了单片机 外部电路的显示模块 防瞌睡模块 检测转数模块等 21 第 4 章 软件程序设计 4 1 概述 一个研究设计要将软件设计和硬件设计结合起来才能实施 软件设计要在硬件的基 础上进行设计 本设计的软件程序设计采用模块化设计 通过主程序调用各个模块的子 程序来实现计价及安全检测的功能 主要的程序有 主程序 LCD1602 的液晶显示子程 序 LED 点阵显示的子程序 防瞌睡模块子程序 转数检测子程序 汽车车灯模块子程 序等 4 2 总体程序设计 该课题研究的总体设计要将每一个模块都要要囊括里面 只有将软件程序的总体设 计要和硬件的总体设计有效的结合起来才能达到所要达到的要求和目标 在主程序中首先要对定时 计数器 液晶显示 LCD1602 LED 点阵和串行口等初始 化 然后还要对各个子程序和外部中断程序进行检测 并完成相应的功能 单片机引脚 P1 0 P1 1 P1 2 P1 3 分别被设置成 KEY1 KEY2 KEY3 KEY4 按钮 其中按键模 块连接图如图 4 1 所示 图图 4 1 按键模块连接图按键模块连接图 KEY1 按钮是用来检测是否进行计价 若按钮 KEY1 为低电平时 此时代表出租车 上没有乘客 总价为 0 元 里程可以进行检测 与此同时 LED 点阵上滚动显示 TAXI 空车 若按钮 KEY1 为高电平时 此时代表出租车上有乘客上车 总价和里程可以进 22 行检测 与此同时 LED 点阵上滚动显示 TAXI 有人 当出租车司机被劫持或是其他 危险而自己却不能报警时 按下 KEY2 按钮即 KEY2 为高电平 车身上方的点阵会显示 寻求帮助的信息 这里设置成了滚动的 HELP 打 110 若司机感到疲劳困乏时 按下 KEY3 按钮启动房瞌睡模块 具体的主流程图如图 4 2 所示 开开始始 初初始始化化 KEY1是是否否按按下下 LED点点阵阵显显示示 TAXI空空车车 LED点点阵阵显显示示 TAXI有有人人 载载客客计计价价处处理理空空车车计计价价处处理理 KEY2是是否否按按下下 LED点点阵阵显显示示 HELP打打110 KEY3是是否否按按下下 启启动动防防瞌瞌睡睡模模块块 Y N N Y Y N 图图 4 2 主流程图主流程图 23 4 3 LCD1602 液晶显示模块的设计 LCD1602 显示模块的流程图设计如图 4 3 所示 RS 0 RW 0 EN 0 向向P0口口写写入入第第一一行行地地址址 RS 1 RW 0 EN 0 向向P0口口写写入入第第一一行行数数据据 RS 0 RW 0 EN 0 向向P0口口写写入入第第二二行行地地址址 RS 1 RW 0 EN 0 向向P0口口写写入入第第二二行行数数据据 第第二二行行内内容容是是否否写写完完 开开始始 返返回回 LCD初初始始化化 N Y Y N 第第一一行行内内容容是是否否写写完完 图图 4 3 LCD1602 显示流程图显示流程图 LCD1602 属于点阵字符型液晶显示器 可以显示两行字符 每行最多 16 个字符 将单片机引脚 P0 0 P0 7 与液晶显示器 LCD1602 的数据总线 D0 D7 相连接 引脚 P2 0 P2 1 P2 2 分别与液晶显示的寄存器选择引脚 RS 读 写控制引脚 R W 使能引 24 脚 EN 相连接 LCD1602 显示的程序设计 首先要对设置显示模式 清屏 开关显示 模式设置进 行初始化 然后控制引脚写入数据 当为写指令状态的时候 读 写控制引脚 R W 处于 低电平 寄存器选择信号 RS 处于低电平 使能引脚 EN 由低电平跳变成高电平时 将 D0 D7 的指令码写入 当写数据的时候 读 写控制引脚 R W 处于低电平 寄存器选择 信号 RS 处于高电平 使能引脚 EN 由低电平跳变变成高电平时 将 D0 D7 的数据写入 第一行的 DDRAM 地址是从 0 x80 起始 而第二行的 DDRAM 地址是从 0 xc0 起始的 在第一行写入内容时 要先写入命令地址 然后写入数据内容即可 写入第二行的道理 和第一行一样 4 4 8 8LED 点阵显示模块的设计 点阵显示模块采用了 4 个 8 8LED 点阵 由于每个 LED 点阵都有 16 个引脚接入 共 4 个需要 64 个管脚 而单片机没有这么多引脚可以用 所以采用 5 片 74HC595 驱动 显示解决了引脚的问题 单片机引脚 P3 0 RXD 串行口输入 引脚 P3 1 TXD 串行 口输出 引脚 P3 2 分别与芯片 74HC595 的串行数据输入引脚 Ds 输入移动数据时钟 脉引脚 SH CP 提供锁存脉冲引脚 ST CP LED 点阵有静态和动态两种扫描方式 而本设计采用动态扫描显示方式 这种显示 方式是根据人的眼睛视觉暂留效应 若几帧画面高速连续的循环显示 只要此时屏幕滚 动的速率高于人眼分辨率 看起来就像连续滚动的画面 LED 点阵模块的软件设计需要 配置单片机串口工作方式为 模式 0 即 同步移位寄存器 模式 RXD 串行输出数 据 TXD 串行输出移位脉冲 锁存显示由引脚 P3 2 控制 负责刷新显示的定时器中断 函数每次中断时输出 5 个字节 由于最后一片 74HC595 的 8 位并行输出同时控制着 4 片 LED 点阵的列码 且该芯片的数据是在 5 字节中最后收到的 所以每次输出 5 个字 节时 总是最先发送列码 在列码字节之后串行输出的 4 个字节为 74HC595 的行码字 节 由于每行共有 32 个像素点 共需 4 个字节 第 4 个的行码要先发送 第 1 个的行 码要后发送 17 具体的 LED 点阵显示流程图如图 4 4 所示 25 开开始始 LED点点阵阵初初始始化化 设设置置串串口口工工作作模模式式 开开启启定定时时器器0 中中断断 设设置置定定时时器器0定定时时1ms 串串口口发发送送列列码码 串串口口发发送送第第四四个个字字节节行行码码 串串口口发发送送第第三三个个字字节节行行码码 串串口口发发送送第第二二个个字字节节行行码码 串串口口发发送送第第一一个个字字节节行行码码 点点阵阵是是否否滚滚动动32次次 延延时时50ms 点点阵阵偏偏移移量量加加1 返返回回 是是否否关关闭闭点点阵阵显显示示 N Y N Y 图图4 4 LED 点阵显示流程图点阵显示流程图 4 5 检测转数模块的设计 转数检测模块是通过直流电机模拟车轮的转动 通再过红外光电传感器 ST188 进行 26 电脉冲检测 转数检测流程图如图 4 5 所示 开开始始 定定时时器器1设设置置为为计计数数模模式式 允允许许定定时时器器1中中断断 ET1 1 打打开开计计数数器器1 TR1 1 边边沿沿触触发发方方式式 IT0 1 TH1 255 Z Count 65536 TH1 256 TL1 中中断断返返回回 TH1 0 TL1 0 TH1 0 TL1 0 N Y Y Count自自加加1 图图 4 5 转数检测流程图转数检测流程图 单片机引脚 P3 5 定时 计数器 1 对红外传感器 ST188 发送过来的脉冲的下降沿进 行计数 每当旋转一周时 定时 计数器 1 就会接收一个下降沿 将定时 计数器 1 设置 成计数模式 TMOD 0 x05 即 16 位计数器模式 此时若检测到的脉冲将会存储在 T1 寄存器的高 8 位 TH1 和低 8 位 TL1 初始化时将定时 计数器 1 的高 8 位和低 8 位设置为 TH1 0T L1 0 每当检测当一个脉冲时 T1 寄存器的低 8 位 TL1 将会自 动加 1 当 TL1 溢出时将会向 TH1 进一 若检测到 TH1 255 时 程序将会 TH1 和 TL1 清零 此时设置一个寄存器 Count 会自增一 最后通过公式 27 Z count 65536 TH1 256 TL1 运算可以得到总转数 Z 转数的检测是为了计算里程和总价的 在实际生活中 出租车车轮有固定的周长 L 通过周长和转数则可以计算出里程 S L Z 也就是转数 Z 也是固定的 在这里为演 示方便 设置 Z 为 100 转的时候为一公里 在按照实际情况 知道出租车起始价和里程 数也就知道总价钱数 最后将总价和里程在液晶显示屏 LCD1602 上进行显示即可 司 机和乘客便可一目了然 4 6 防瞌睡模块的设计 防瞌睡模块是本研究的一个特色之处 防瞌睡模块流程图如图 4 6 所示 开开始始 关关闭闭蜂蜂鸣鸣器器和和小小水水泵泵 KEY3 1 延延时时10s 蜂蜂鸣鸣器器报报警警 KEY4是是否否按按下下 小小水水泵泵喷喷水水 返返回回 Y N N Y 延延时时10s 延延时时3s 图图 4 6 防瞌睡模块流程图防瞌睡模块流程图 防瞌睡模块其功能就是当司机感到困乏瞌睡时 为防止出现交通事故而采取的一种 措施 在此处将单片机的引脚 P1 3 设置为启动防瞌睡模块的按钮 KEY3 引脚 P1 4 设 置为辅助防瞌睡模块的按钮 KEY4 引脚 P1 4 设置为蜂鸣器报警的启动端 引脚 P3 6 28 设置为小水泵控制端 其中蜂鸣器时利用三极管 PNP 作为开关来驱动蜂鸣器 当引脚 P1 4 时高电平时蜂鸣器不发出声音 当其管脚为低电平时蜂鸣器就会报警 而小水泵是 由三极管 NPN 和继电器也是作为开关进行控制的 当引脚 P3 6 为高电平时小水泵就会 进行喷水 低电平时没有反应 这样一来方便于软件进行控制 防瞌睡模块软件设计具体实施是 当按下启动房瞌睡模块按钮 即按下 KEY3 1 时 将会在延时一段固定的时间后设置蜂鸣器报警 如果司机此时已经清醒 听到蜂鸣 器报警按下 KEY4 按钮 则此时将不会进行喷水 反之司机困乏没有听到蜂鸣器报警小 水泵会进行工作向司机喷水使其清醒 防止出现交通事故 若按钮 KEY3 没有再次被按 下 则会进行循环检测 当司机已经完全清醒了再次按下按钮 KEY3 则表示关闭防瞌 睡模块 4 7 程序调试 本设计采用的软件 C 语言进行编程设计 用 keil 软件进行调试编译 在编程过程遇 到了很多问题 在这里列举几种类型的错 1 在 C 语言编程时出现了重复定义类型的错误如下图 4 9 所示 图图 4 9 函数重定义错误函数重定义错误 在这里有四个函数都出现了同样的错误都显示 function already has a body 意思就 是说这些函数定义重复 改正方法 将重复定义的函数删除即可 2 还有一些错误可能由于粗心大意产生的语法错误等 语法错误如图 4 10 所示 29 图图 4 10 语法错误语法错误 在这里其中 unprintable character 0 xA3 0 xBB skipped 意思是 跳过不可打印字符 0 xA3 0 xBB 而 syntax error near unsigned 翻译成在 unsigned 有语法错误 经过仔细的检 查发现在语句 float Price 0 0 后丢失分号 改正方法 在语句 float Price 0 0 后添加分号即可 3 有些问题时程序编译时没有错误 但是却无法显示出所期望达到的效果 例如在本次设计中在没加入防瞌睡模块的程序时 LCD1602 和 LED 点阵屏显示完全正 常 而且防瞌睡模块也就可以运行 但是将它们组合在一起时 运动防瞌睡模块而显示 不正常了 解决方案 将防瞌睡模块的延时扫描和 LCD1602 和 LED 点阵屏显示保持一致 4 还有一些问题编译没有错误 但是达到的效果不正确 例如在红外检测脉冲时 LCD602 显示的里程变化幅度不正确 经过多次实验并且程序在仿真软件 proteus 中可以 达到效果 最后检测到是硬件出现问题 解决方案 将硬件检查 并修改 在软件调试过程中出现了许多各种各样的问题 在这里仅仅介绍了典型的几个问题 不过经过多次实验和调试 最终软件程序设计成功了 4 8 本章小结 在本章中详细介绍了软件流程图的设计思路 包括总的流程图 液晶显示 LCD1602 的子流程图 LED 点阵的子流程图 防瞌睡模块的子流程图 转数检测的子 流程图和汽车车灯的子流程图 与此同时还介绍了在程序编译调试时出现的问题及解决 的方法 30 第 5 章 结论与展望 在本次设计中 首先熟悉里软件 Proteus 的用法 慢慢发现其软件的便利以及对单 片机仿真的极大优势 掌握该软件的用法对于自身专业素养将有极大的提升 同时也发 现了自己很多不足 对专业英语的缺陷 阻碍了自己对该软件的学习 因此更激励了自 己应该学无止境 最终 成功的完成了各个模块的组合 液晶显示 LCD1602 可以的总价和里程的 LED 点阵可以达到滚动显示乘客乘坐信息和寻求帮助信息 防瞌睡模块可以实施 各项 指标均符合要求 本设计在计价器设计的基础上添加了 LED 点阵显示 防瞌睡模块使 得设计更加新颖和有趣味 虽然在搭建过程中我们遇到了很多困难 但也是开心面对 这次毕业设计让我受益匪浅 不仅把学到的专业知识运用到实际毕业设计中去 同 时我也发现自己知识的有限性 马上就要走进社会参加工作 在新的环境和工作中 肯 定会接触许多自己没有接触到的事物 一定要虚心学习 我会在以后的生活和工作中不 断的磨砺和完善自己 来适应以后的各种各样的竞争 31 参考文献参考文献 1 陆建 王炜 城市出租车拥有量确定方法 J 交通运输工程学报 2004 4 1 2 王祁 智能仪器设计基础 M 北京 机械工业出版社 2010 3 3 吴黎明 单片机原理与应用技术 第二版 北京 科学出版社2011 4 石玉 夏链 LED 电子显示屏控制系统设计 J 中国高斯技术企业 2012 5 5 于忠得 单片机原理与工程设计实例 M 北京 清华出版社2011 8 6 张自红 付伟 罗瑞 C51单片机基础及编程应用 M 北京 中国电力出版社 2012 6 7 陈忠平 单片机C语言程序设计经典实例 M 北京 电子工业出版社 2012 5 8 黄建新 74HC595芯片驱动LED的电路 J 科技资讯 2010 31 9 李劲松 74HC164在显示驱动电路中的应用 J 顺德职业技术学院学报 2005 3 2 10 柴玉 单片机原理及应用 M 西安 电子科技大学出版社 2009 2 11 边莉 张起晶 黄耀群 51单片机基础与实例进阶 M 北京 清华大学出版社 2012 12 朱清慧 Proteus显示控制系统设计与实例 M 北京 清华大学出社 2011 5 13 兰 羽 基于红外传感器ST188的自动循迹小车设计 J 电子设计工程 2013 21 3 14 翟 震 张春玲 用74HC595芯片驱动LED的电路设计 J 机床与液压 2004 12 15 李冬 路红娟 LM324在直流调速系统电路中的应用电路分析 J 电子设计工程 2012 20 2 16 刘剑 刘奇穗 51单片机开发与应用基础教程 C语言版 M 北京 中国电力出版 社 2011 10 17 彭伟 单片机C语言 程序设计实训100例 基于8051 Proteus仿真 第2版 M 北京 电子工业出版社 2012 10 18 陆浩 基于单片机的自行车测速系统 D 西安 西安科技大学电气与控制学院 2010 19 王安敏 张凯 基于AT89C52单片机的超声波测距系统 J 仪表技术与器 2006 6 20 宋开臣 徐侨荣 叶凌云 刘晓伟 基于双波比较的汽车AMT电机测速方法 J 汽车技 32 术 2007 4 21 陈浩 电力机车智能电度表系统 D 北京交通大学 2008 22 Jiangou Han Foundation and application of microcontroller 2009 23 Xin rong Zhang Design of the Stepping Motor Control System based on Microcontroller J 2010 24 Federal Aviation Administration 2006 Runway Safety Program Annual Report 25 Theunissen E G J M Koeners F D Roefs P Ahl and O F Bleeker 2005 Evaluation of an Electronic Flight Bag with Integrated Routing and Runway Incursion Detection Functions Proceedings of the 24th Digital Avionics Sy
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国家管网集团甘肃公司秋季高校毕业生招聘25人笔试备考试题附答案
- 2025山东省公务员考试公共基础知识题库及一套答案
- 2025四季度重庆秀山县事业单位招聘52人备考题库附答案
- 2025四川南充市顺庆区考调51人备考题库附答案
- 2025广东中山市板芙镇第一批公益性岗位招聘1人备考题库附答案
- 2025四川凉山州选调公务员4人备考题库附答案
- 2025-2026云南玉溪市红塔区溪汇中学招聘20人备考题库附答案
- 2025四川雅安市教育局所属事业单位雅安开放大学选调事业人员2人备考题库附答案
- 2025吉林能建绿色氢氨新能源(松原)有限公司招聘69人模拟试卷附答案
- 2025年数学高考文科试卷及答案
- DB42T 1227-2016 全轻混凝土建筑地面保温工程技术规程
- 香料调味培训课件图片
- 测绘数据保密管理制度
- 凉山州中医药保护条例课件
- 工会财务人员面试题目及答案
- T/CA 106-2019车载直流电源适配器技术规范
- 2025年建筑工程管理考试试题及答案
- 公司财务管理制度实施细则
- 马克思主义基本基础原理课件
- 术后肺部感染预防
- 科研机构实验数据保密风险评估及防控措施
评论
0/150
提交评论