已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20122012 届毕业设计说明书届毕业设计说明书 计程车里程表系统设计 院 部 电气与信息工程学院 学生姓名 宋贵 指导教师 陈坚 职 称 讲师 专 业 电子信息工程 班 级 电子 0802 学 号 08401140246 2012 年 5 月 I 摘 要 智能仪器仪表技术是一门集电子技术 单片机技术 自动化仪表 自动控制技 术 计算机应用等一体的跨学科的专业技术 自 20 世纪 90 年代初以来 这项技术 已逐步引入到国内工科专业中 如电子信息 通讯 自动化 计算机应用等信息类 专业 随着经济的发展 汽车运输行业也快速发展起来 计程车也成为城市生活中 的重要交通工具 乘车时 乘客与司机之间的交易是通过按里程计价的 里程表的 好坏直接关系到双方的利益 所以设计一个功能合适 性能良好的简易计程车里程 表系统具有实际的应用意义 本系统采用 ATMEL 公司的 AT89S52 单片机为核心 使用 12MHz 晶振提供时钟信 号 利用霍尔传感器检测车速 通过软件编程的方法实现记时 里程检测 费用计 算 同时通过 LED 数码管将里程数 总费用直观显示出来 从而达到计费的目的 该系统设有五个按键 清除 查询 确认 停止 单程 往返 功能选择 进行相 应的操作就可实现单程 往返模式选择 停止计费 等待时间查询 清除复位等功 能 具有结构简单 操作方便 显示直观 运行稳定等优点 有较高的推广应用价 值 关键词 计程车里程表 AT89S52 霍尔传感器 硬件设计 软件设计 II ABSTRACT Intelligent instrument technology is a collection of electronic technology and single chip microcomputer technology automation instrument automatic control technology computer application one of the professional technical subjects Since the early 1990 s the technology has introduced gradually to domestic engineering professionals such as electronic information and communications automation computer applications and other information specialty With the development of economy the car transport industry also developed rapidly the taxi also become the important traffic tools city life Go by car passengers and the driver of transactions between the by pressing the mileage of valuation is the odometer is directly related to the interests of both parties so the design of a function the good performance of suitable simple taxi milestones system has the actual applications The system USES the ATMEL company AT89S52 SCM as the core the use of 12 MHz crystals provides the clock signal using hall sensor test speed and through programming method time cost calculation mileage detection and at the same time through LED digital tube will mileage total cost visual display out so as to achieve the purpose of pricing The system has five buttons clear inquires confirmation stop one way shuttle function choose carries on the corresponding operation can achieve a one way shuttle mode selection stop billing waiting time inquires clear reduction etc Function The structure is simple the operation is convenient direct display stable operation etc have a high application value Key words taxi milestones AT89S52 hall element hardware design software design III 目 录 1 概述 1 1 1 计程车里程表概述 1 1 2 单片机概述 1 2 设计任务 功能要求 3 2 1 设计任务 3 2 2 功能要求 3 2 2 1 基本功能 3 2 2 2 发挥部分 3 2 3 总体方案介绍及工作原理说明 3 2 3 1 里程计算 4 2 3 2 费用计算 4 3 硬件系统设计 5 3 1 硬件系统各功能模块简介 5 3 1 1 AT89S52 单片机 5 3 1 2 复位电路 6 3 1 3 晶振电路 7 3 1 4 独立键盘电路 7 3 1 5 指示灯电路 8 3 1 6 数码管显示电路 9 3 1 7 车速检测电路 10 3 1 8 存储电路 12 3 1 9 时钟显示电路 13 4 软件系统设计 14 4 1 系统主程序 14 4 2 数据处理子程序 14 4 3 等待时间计时子程序 15 4 4 键盘扫描子程序 16 5 系统运行的 PROTEUS 仿真与测试 18 5 1 空车状态 18 IV 5 2 单双程模式切换 19 5 3 等待模式 21 5 4 查询模式 21 6 结束语 23 参考文献 24 致 谢 25 附 录 26 附录 A 元器件清单 26 附录 B 源程序清单 27 附录 C 设计原理图 48 1 1 概述 1 1 计程车里程表概述 计程车里程表 计价器 是乘客与司机双方的交易准则 它是计程车行业发展 的重要标志 是计程车中最重要的工具 它关系着交易双方的利益 具有良好性能 的里程表无论是对广大计程车司机朋友还是乘客来说都是很必要的 因此 计程车 里程表的研究是十分有应用价值的 我国在 70 年代开始出现计程车 但那时的计费系统大都是国外进口不但不够 准确 价格还十分昂贵 随着改革开放日益深入 计程车行业的发展势头已十分突 出 国内各机械厂家纷纷推出国产计价器 以下称为计价器 计程车计价器的功 能从刚开始的只显示路程 需要司机自己定价 计算后四舍五入 到能够自主计 费 以及现在的能够打印发票和语音提示 按时间自主变动单价等功能 随着城市 旅游业的发展 出租车行业已成为城市的窗口 象征着一个城市的文明发展程度 本次设计的目的在于设计出现在各大中城市计程车行业都已普及的自动计价器 而部分小城市尚未普及 但随着城市建设日益加快 象征着城市面貌的计程车行业 也将加速发展 计价器的普及也是毫无疑问的 所以未来汽车计价器的市场还是十 分有潜力的 1 2 单片机概述 计算机系统已明显地朝巨型化 单片化 网络化三个方向发展 巨型化发展的 目的在于不断提高计算机的运算速度和处理能力 以解决复杂系统计算和高速数据 处理 比如系统仿真和模拟 实时运算和处理 单片化是把计算机系统尽可能集成 在一块半导体芯片上 其目的在于计算机微型化和提高系统的可靠性 这种单片计 算机简称单片机 单片机的内部硬件结构和指令系统主要是针对自动控制应用而设 计的 所以单片机又称为微控制器 MCU Micro Controller Unit 用它可以很容易 地将计算机嵌入到各种仪器和现场控制设备中 因此单片机又叫做嵌入式微控制器 Embedded MCU 单片机自 20 世纪 70 年代问世以来 以其鲜明的特点得到迅猛 发展 已广泛应用于家用电器 智能玩具 智能仪器仪表 工业控制 航空航天等 领域 经过 30 多年的发展 性能不断提高 品种不断丰富 已经形成自动控制的 一支中坚力量 据统计 我国的单片机年产量已达 1 3 亿片 且每年以大约 16 的速度增长 但相对于国际市场我国的占有率还不到 1 这说明单片机应用在我 国有着广阔的前景和巨大的市场潜力 对于从事自动控制的技术人员来讲 掌握单 2 片机原理及其应用已经成为必不可少的学习任务 单片机的应用十分广泛 在工业控制领域 家电产品 智能化仪器仪表 计算 机外部设备 特别是机电一体化产品中 都有重要的用途 其主要的用途可以分为 以下方面 显示 通过单片机控制 LED Light Emitting Diode 发光二极管 或 LCD Liquid Crystal Display 液晶显示器 显示特定的字符和图形 机电控制 用单片机控制机电产品做定时或定向的动作 检测 通过单片机和传感器的联合使用 用来检测产品或者工况的意外发生 通信 通过 RS 232 串行通信或者是 USB Universal Serial BUS 通用串行总线 通 信 传输数据和信号 科学计算 用来实现简单的算法 那么单片机是不是解决上述应用的唯一选择呢 当然不是 目前 在自动控制 中 一般有三种选择 分别是嵌入式微机 DSP Digital Signal Processor 数字信号处理器 和单片机 单片机最明显的优点是价格便宜 从几元人民币到几十元人民币 这是因为这 类芯片的生产量很大 技术也很成熟 其次 单片机的体积也远小于其他两种方案 单片机本身一般用 40 引脚封装 当然功能多一些的单片机也有引脚比较多的 如 68 引脚 功能少的只有 10 多个或 20 多个引脚 有的甚至只有 8 只引脚 当然 单片机无论在速度还是容量方面都小于其他两种方案 但是在实际工作 中并不是任何需要计算机的场合都要求计算机有很高的性能 例如 控制电冰箱的 控制器就不需要使用嵌入式系统 用一片 51 单片机就可以轻松实现 所以应用的 关键是看能否够用 是否有很好的性能价格比 51 系列的单片机已经面世多年 依 然没有被淘汰 还在不断发展中 这就说明是他有广阔的应用前景 3 2 设计任务 功能要求 2 1 设计任务 设计一款具有特定功能的计程车里程表系统 通过利用传感器检测车速 能对 里程和金额进行处理和显示 2 2 功能要求 2 2 1 基本功能 1 用前 4 位数码管实时显示里程数 Z 单位为公里 最后一位为小数位 用后 4 位数码管实时显示金额数 J 单位为元 最后一位为小数位 2 规定出租车单程价格为 2 元 公里 往返的价格为 1 5 元 公里 单程 往返 两种模式可由按键切换 3 车速 5 公里 小时的时间累积为总等待时间 T 分钟 每 5 分钟等待时 间相当于里程数增加 1 公里 4 起步公里数为 3 公里 价格 8 元 若实际运行大于 3 公里 超出的里程 按要求 2 进行 5 尽量充分利用所选单片机系统资源进行设计 6 用光电传感器检测转盘转动模拟车速 根据车轮周长和转动圈数计算里 程 7 要求公里数检测误差不超过 10 8 到达目的地后 按 停止 键 计价器停止计价 9 按 清除 键 计价器能将记录数据 里程 等待时间与价格等 自动 清零 10 按 查询 键 能自动显示总等待时间 T 再按下该键回到显示里程数 金额状态 2 2 2 发挥部分 1 增加了空车指示功能 当无客人时空车指示灯亮 2 增加实时时间显示功能 空车时显示当前时间 3 增加信息储存功能 可以储存等待时间 里程和金额 2 3 总体方案介绍及工作原理说明 本设计主要由硬件和软件两部分组成 软件设计运用 C 语言编程实现 硬件设 4 计以 AT89S52 单片机为主控芯片 其外部电路包括复位电路 晶振电路 独立键 盘电路 指示灯电路 数码管显示电路 车速检测电路 存储电路 时钟显示电路 等 设计总体方案如图 1 所示 图 1 总体方案图 本设计的里程计算和费用计算方案如下 2 3 1 里程计算 1 霍尔传感器对车轮进行信号检测 产生并输出脉冲信号给单片机 2 单片机对传感器输出的脉冲信号进行计数 并进行里程 单位 km 换算 每一个脉冲信号代表轮胎旋转一周 设轮胎的直径为 d 0 5m 轮胎转数为 N 则里 程 Z d N 1000 km 设速度为 V 脉冲信号频率为 f 则 V d f m s 3 6 d f km h 2 3 2 费用计算 1 出租车的起步费为 8 元 并且 3km 内不需额外计价 2 出租车行驶 3km 后 单程 2 元 km 双程 1 5 元 km 3 等待收费的标准为 5 分钟按 1 公里折算 4 暂停时计价器暂停计价 不收费用 AT89S52 主控芯片 晶振电路 键盘电路 数码管显示电路 复位电路 车速检测电路 时钟显示电路 存储电路 指示灯电路 5 3 硬件系统设计 3 1 硬件系统各功能模块简介 本系统主要由单片机主控模块 复位电路模块 晶振电路模块 独立键盘电路 模块 指示灯电路模块 数码管显示电路模块 车速检测电路模块 存储电路模块 时钟显示电路模块等组成 下面将对各模块作简要介绍 3 1 1 AT89S52 单片机 AT89S52 是一个低功耗高性能的单片机 具有 8kB 的闪存 128BRAM 32 个 I O 口 2 个定时 计数器 六个中断源 一个全双工的串行口 可反复擦写 支持 ISP 在系统编程 可以有效地缩短开发时间和降低开发成本 其封装实物图和引脚 功能图如图 2 a b 所示 a AT89S52 封装实物图 b AT89S52 引脚功能图 图 2 AT89S52 封装实物图和引脚功能图 关于四个 I O 口的主要功能介绍如下 P0 口有两个功能 1 扩展外部存储器时 当作为数据 地址总线 2 不扩展时 可做一般的 I O 口使用 但内部无上拉电阻 作为输入或输出时 应在外部接上拉电阻 6 P1 口只做 I O 口使用 其内部有上拉电阻 P2 口有两个功能 1 扩展外部存储器时 当作地址总线使用 2 做一般 I O 口使用 其内部有上拉电阻 P3 口有两个功能 1 作为 I O 口使用 其内部有上拉电阻 2 还有一些特殊功能 由特殊寄存器来设置 设计中用到的单片机各管脚功能以及与其他模块连接介绍如下 VCC 接 5V 电源 GND 接地 XTAL 时钟引脚 XTAL1 和 XTAL2 外接晶振和 33pF 的电容 构成时钟电路 RST 复位信号输入端 高电平有效 当在此引脚加两个机器周期的高电平时 就 可以完成复位操作 P1 0 接功能按键 P1 1 接切换键 表示单双程切换 P1 2 接停止键 P1 3 接清零键 P3 0 接查询 确认键 P1 4 接空车指示灯 P1 5 接查询指示灯 P1 6 接等待指示灯 P1 7 接双程指示灯 P0 口接数码管段选端口 P2 口接数码管位选端口 P3 2 接霍尔传感器的输出口 P3 3 接存储器的 SCL 口 P3 4 接存储器的 SDA 口 P3 5 接时钟电路 DS1302 的 RST 口 P3 6 接 DS1302 的 SCLK 口 P3 7 接 DS1302 的 I O 口 3 1 2 复位电路 AT89S52 的复位端是一个施密特触发输入 高电平有效 RST 端若由低电平 上升到高电平并持续 2 个机器周期 系统将实现一次复位操作 此复位电路中 上 电或按一下复位开关都能在 RST 端出现一段时间的高电平 使系统复位 如图 3 所 示 7 图 3 复位电路 3 1 3 晶振电路 其输入端为芯片引脚 XTAL1 其输出端为芯片引脚 XTAL2 通过这两个引脚 在芯片外并接石英晶体振荡器和两只电容 这样就构成一个稳定的自激振荡器 如 图 4 所示 图 4 晶振电路 8 3 1 4 独立键盘电路 本设计的键盘电路由 5 个独立按键组成 如图 5 所示 图 5 独立键盘电路 功能如下 S1 功能键 按下时进入单双程选择模式 再按回到实时时间显示状态 S2 切换键 按功能键进入单双程选择模式后再按此键可进行单程和双程之间切 换 S3 停止键 运行状态按下此键即停止计程计费 S4 清除键 按下时清除里程和金额等数据信息 并将此次信息送入存储电路储 存 S5 查询 确认键 功能选择模式时按下此键确认选择 运行时按下此键可查询 等待时间 再次按下回到显示里程数 金额状态 3 1 5 指示灯电路 指示灯电路由 4 个 LED 组成 包括空车指示灯 查询指示灯 等待指示灯 双 程指示灯 如图 6 所示 9 图 6 指示灯电路 这些指示灯能对计程车的每一种状态进行指示 空车时空车指示灯亮 查询时 查询指示灯亮 当车速小于 5km h 时等待指示灯亮 如果选择的模式为双程时双程 指示灯亮 单程时不亮 3 1 6 数码管显示电路 数码管显示电路由两个四位一体的 LED 数码管组成 LED 数码管是由发光二 极管排列组成的显示器件 它采用低电压扫描驱动 具有耗电少 使用寿命长 成 本低 故障少 视角大 可视距离远等特点 此外 它的响应时间短 一般不超过 0 1us 亮度也比较高 它的缺点是工作电流比较大 每一段的工作电流在 10mA 左右 其中每位数码管内部由 8 个 LED 组成 示意图如图 7 其中 A G 代表 7 个发 光二极管构成 7 笔字形 余下一个 DP 构成小数点 称为 8 段 LED 8 段 LED 数码 管可以显示 0 9 等 10 个数字和小数点 使用非常广泛 如图 7 所示 10 图 7 8 段数码管 这类数码管可以分为共阳极和共阴极两种 共阳极就是把所有 LED 的阳极连 接到共同接点 而每个 LED 的阴极分别为 a b c d e f g dp 共阴极则是 把所有 LED 的阴极连接到共同接点 而每个 LED 的阳极分别为 a b c d e f g dp 如图 8 和图 9 所示 图 8 8 段共阳数码管 图 9 8 段共阴数码管 通过控制这个公共端 可使该位对应的 LED 亮或暗 当共阴极端接地或共阳 极接高电平 该位显示器有效 反之无效 本设计采用共阴 LED 数码管 数码管有静态显示和动态显示两种显示方式 本设计采用动态显示 相比较而 言 动态显示方式具有低功耗 接口少等优点 本设计中使用的两个四位一体数码 管接 P0 口作为段选 接 P2 口作为位选 空车时显示当前时间 开始计价时前四位 显示里程 后四位显示金额 当查询等待时间时显示为等待时间 如图 10 所示 图 10 数码管显示电路 3 1 7 车速检测电路 本次设计选取了霍尔传感器来进行里程检测 11 霍尔器件是一种磁传感器 用它们可以检测磁场及其变化 可在各种与磁场有 关的场合中使用 霍尔器件以霍尔效应为工作基础 霍尔器件具有许多优点 它们的结构牢固 体积小 重量轻 寿命长 安装方 便 功耗小 频率高 耐震动 不怕灰尘 油污 水汽及盐雾等的污染或腐蚀 霍尔器件分为霍尔元件和霍尔集成电路两大类 前者是一个简单的霍尔片 使 用时常常需要将获得的霍尔电压进行放大 后者将霍尔片和它的信号处理电路集成 在同一个芯片上 本次设计选取了霍尔集成电路来测量里程 里程测量是通过将霍尔传感器的集成电路安装在车轮上方的铁板上 将磁铁安 装在车轮上 旋转的车轮将磁铁对准集成电路时 霍尔传感器会输出一个脉冲信号 送到单片机 经过单片机的计算处理 将行驶的里程送到显示单元并显示出来 霍 尔传感器里程检测示意图如图 11 所示 图 11 里程检测示意图 U18 霍尔传感器 IC Integrated Circuit 集成电路 是一种利用霍尔效应做 成的半导体集成电路器件 它被设计在交变磁场中运行 特别是能在低电源电压工 作 长时间运行温度范围高达 125 这种霍尔可用作各种类型的传感器 速度传 感器 位移传感器 转速传感器等等 接触开关以及相类似的应用场合 其工作 电压比较宽 2 5 20V 可运行在较大的温度范围内 20 125 其输出 的信号符合 TTL Transistor Transistor Logic 晶体管 晶体管逻辑 电平标 准 可以直接接到单片机的 IO 口上 而且其最高检测频率可达到 1MHZ U18 霍尔传感器 IC 的外形图及其工作特性如图 12 a b 所示 其中 BOP 为工 作点 开 的磁感应强度 BRP 为释放点 关 的磁感应强度 当外加的磁感应强 度超过动作点 BOP 时 传感器输出低电平 当磁感应强度降到动作点 BOP 以下时 传感器输出电平不变 一直要降到释放点 BRP 时 传感器才由低电平跃变为高电 平 BOP 与 BRP 之间的滞后使开关动作更为可靠 U18 集成霍耳开关由稳压器 A 霍耳电势发生器 即硅霍耳片 B 差分放大器 C 施密特触发器 D 和 OC 门输出 E 五个基本部分组成 在输入端输入电压 VCC 12 经稳压器稳压后加在霍尔电势发生器的两端 根据霍尔效应原理 当霍尔片处在磁 场中时 在垂直于磁场的方向通以电流 则与这二者相垂直的方向上将会产生霍尔 电势差 VH 输出 该 VH 信号经放大器放大后送至施密特触发器整形 使其成为方 波输送到 OC 门输出 当施加的磁场达到工作点 即 Bop 时 触发器输出高电压 相 对于地的电位 使三极管导通 此时 OC 门输出端输出低电压 三极管截止 使 OC 门输出高电压 这种状态为关 这样两次电压变换 使霍尔开关完成了一次开 关动 作 a U18 的外形图及引脚 b U18 的工作特性图 图 12 U18 霍尔传感器 IC 的外形及引脚图及其工作特性图 U18 霍尔传感器 IC 有 3 个外接端子 2 个是电源的正负极端子 最后一个是脉 冲信号输出 只要将此信号输出端接到单片机的 IO 口端子上便可以实现距离检测 其中 单片机的 P3 2 INT0 引脚作为信号的输入端接收来自传感器输出的信号 采用外部中断 0 进行计数 车轮每转一圈 霍尔传感器就产生一个脉冲信号 根据 霍尔效应原理 当霍尔片处在磁场中时 霍尔传感器的输出端输出低电平 当车轮 转动一圈时小磁铁提供一个磁场 则霍尔传感器输出一次低电平完成一次数据采集 从而产生信号 霍尔传感器检测并输出信号到单片机的 INT0 计算脉冲输入端 引 起单片机的中断 对脉冲计数 当计数达到特定的次数时 里程就会增加 单片机 对里程进行计算后 通过接口电路将计算好的结果传送到数码管并显示出来 3 1 8 存储电路 存储电路的作用是储存上一次的里程 金额和等待时间 本设计采用 Atmel 公 司的 AT24C1024 可擦除存储芯片 采用两线串行的总线和单片机通讯 芯片内的 信息可以在断电的情况下保存 40 年以上 而且采用 8 脚的 DIP 封装 使用方便 13 存储电路如图 13 所示 图中 R3 R4 是上拉电阻 其作用是减少 AT24C1024 的静 态功耗 由于 AT24C1024 的数据线和地址线是复用的 采用串口的方式传送数据 所以只用两根线 SCL 时钟脉冲 和 SDA 数据 地址 与单片机 P3 3 和 P3 4 口连 接 进行传送数据 图 13 存储电路 3 1 9 时钟显示电路 本设计采用基于 DS1302 的时钟电路 空车时显示当前时间 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带 RAM 的实时时钟电路 DS1302 的 引脚排列 其中 VCC1 为后备电源 VCC2 为主电源 在主电源关闭的情况下 也能 保持时钟的连续运行 X1 和 X2 是振荡源 外接晶振 RST 是复位 片选线 通过 把 RST 输入驱动置高电平来启动所有的数据传送 I O 为串行数据输入输出端 双向 SCLK 为时钟输入端 如图 14 所示 14 1 图 14 时钟显示电路 4 软件系统设计 本系统的软件设计主要分为系统主程序 数据处理子程序 等待时间计时子程 序和键盘扫描子程序四个模块 下面对每一块进行介绍 4 1 系统主程序 本设计中采用了主程序调用各个子程序的 方法 在 main 函数编写开始 要进行初始化 包括对系统初始化和对硬件设备进行初始化 并使硬件处于就绪状态 在主程序模块中 需要 完成对各接口芯片的初始化 出租车起价和单 价的初始化 中断向量的设计以及开中断 循 环等待等工作 系统主程序流程图如图 15 所示 初始化 开始 数据处理 键盘扫描 结束 等待计时 15 图 15 系统主程序流程图 4 2 数据处理子程序 每当霍尔传感器输出一个低电平信号就使单片机中断一次 在计数中断服务程 序 里程和金额都相应变化 当然等待时间也换算成里程 当速度小于 5km h 时 每 5 分钟相当于 1 公里 计算程序根据 里程数分别进入不同的计算公式 如果里 程大于 3 公里 则执行公式 金额 里 程 3 单价 8 否则 执行公式 总金额 起步价 数据处理子程 序流程图如图 16 所示 计算里程 开始 里程 3公里 金额 8元 金额 单价 里程 3 8 显示金额 结束 否 是 16 图 16 数据处理子程序流程图 4 3 等待时间计时子程序 当出租车的速度 5km h 时等待时间开始计时 并换算成里程 进行计算后显示 等待时间和金额 当停止键按下时停止计时和计费并显示金额 当有查询键按下时 显示等待时间 当有清除键按下时存储本次金额 等待时间计时子程序如图 17 所 示 17 图 17 等待时间计时子程序 4 4 键盘扫描子程序 键盘采用查询的方式 放在主程序中 当没有按键按下的时候 单片机循环主 程序 一旦右按键按下 便转向相应的子程序处理 处理结束再返回 键盘扫描子 程序流程图如图 18 所示 开始 停止键按 下 Speed 5公 里 小时 开始计时 并 显示 停止计时 开始 计路程 停止计时 计费 显示金额 查询键按下 存储本次金额 清除键按下 显示等待时间 结束 是 否 是 否 否 是 是 否 18 图 18 键盘扫描子程序 开始 功能键按 下 单双程设置 切换键按 下 切换单双程 确认键按 下 空车指示灭 开始 计价计时 显示里 程 金额 停止键按 下 结算金额显示 显示时间 查询键按 下 显示等待时间 与里程清除键按 下 存储金额 查询键按 下 显示上次金额 结束 否 是 否 是 是 否 是 否 是 是 否 否 否 是 19 5 系统运行的 Proteus 仿真与测试 设计仿真中采用辅助软件 Keil uVision3 对程序进行编译 从而生成 Proteus 中单片机能够读取并载入的 hex 文件 hex 文件生成界面如图 19 所示 图 19 hex 文件生成界面 在 Proteus 软件中画出仿真电路 另外为了将注意力集中在单片机对系统的控 制上 将车速检测电路有传感器输出的信号简化为用一个脉冲信号源替代 通过改 变脉冲频率模拟车速变化 把 Keil uVision3 编译后生成的 hex 导入到单片机中 进行仿真 下面对系统的几种主要状态进行运行测试 5 1 空车状态 空车状态时 空车指示灯亮 数码管显示当前时间 空车状态仿真电路及其显 示如图 20 所示 20 图 20 空车状态仿真电路 5 2 单双程模式切换 按下功能键 进入单双程选择模式 如图 21 和图 22 所示 数码管显示单价 数字前带负号表示当前单价 图 21 单程模式仿真电路 21 图 22 双程模式仿真电路 模式选定后按确认键进入运行状态 空车指示灯灭 该模式对应的指示灯亮 双程亮 单程不亮 数码管前四位显示里程 后四位显示金额 以双程模式运 行状态为例 如图 23 所示 图 23 双程模式运行状态仿真电路 22 5 3 等待模式 当车速小于 5km h 系统进入等待模式 等待指示灯亮 数码管显示等待时间 如图 24 所示 图 24 等待模式仿真电路 5 4 查询模式 当到达终点后 按下停止键 系统停止运行 此时按查询键可查询总等待时间 再按下该键回到显示里程和金额状态 查询指示灯亮 如图 25 所示 图 25 查询状态仿真电路 23 交易完成之后 按下清除键 系统回到空车状态 空车指示灯亮 数码管显示 当前时间 仿真时由于软件本身存在延时等现象 所以显示结果可能存在误差 但并不影 响该系统的功能 仿真结果表示该系统能实现设计的全部功能要求 24 6 结束语 在本次设计中 我采用了 AT89S52 芯片为核心器件 结合复位电路 晶振电 路 独立键盘电路 指示灯电路 数码管显示电路 车速检测电路 存储电路 时 钟显示电路等外部电路 设计出了一个简易计程车里程表系统 利用 C 语言编程 编译后写入单片机中 通过仿真和调试之后 系统基本能够实现显示当前时间 等 待时间 金额和里程 按键控制 空车指示等多种功能 虽然还存在一些误差 但 还是达到了本次毕业设计的要求 成功设计出了一个多功能的简易计程车里程表系 统 在这次毕业设计中 我的体会颇多 选题后 我便开始复习电子信息专业各方 面的知识 也查阅了很多相关资料 同时也学习仿真软件 Proteus 和编程软件 Keil uVision3 的使用 由于我以前大都采用汇编语言来编程 而对这次用 C 语言来实 现单片机的编程还不太熟练 所以也花费了一些时间来熟悉 C 语言的编程 复习了 一段时间的理论知识后 我便开始着手设计方案 通过比较 最终确定了利用单片 机来实现里程表的计程计费 方案确定后 我便分模块设计了系统原理图 软件方 面 绘制了流程图 并利用 C 语言编写了全部程序 软硬件均设计完成之后 我通 过 Proteus 软件对系统进行了仿真 仿真结果达到设计任务的指标 实现了设计的 预期目标 通过几个月的努力 我最终完成了本次毕业设计任务 本次设计我学习到了不少知识 但由于自己的理论知识水平有限 实践知识和 设计经验不足 在设计过程中难免存在一些问题 尚有许多不足 个别功能还不能 很好的实现 实物制作并没有完成 下一步的工作 是对计程车计价器的功能和实 用性方面进一步完善 并完成实物的制作 真正做成有实用价值的应用仪器 恳请 各位老师批评指正 以使我在以后的学习和实践中加以改进和提高 25 参考文献 1 代启化 基于 Proteus 的电路设计与仿真 J 现代电子技术 2006 第 19 期 Dai QiHua Proteus based circuit design and simulation J Modern electronic technology 2006 No 19 in Chinese 2 刘文秀 单片机应用系统仿真的研究 J 现代电子技术 2005 第 286 期 Liu WenXiu Microcontroller Application System Simulation J Modern electronic technology 2005 No 286 in Chinese 3 曹巧媛 单片机原理及应用 M 北京 电子工业出版社 1997 Cao QiaoYuan Microcontroller Theory and Applications M Beijing Electronic Industry Press 1997 in Chinese 4 张洪润 兰清华 单片机应用技术教程 M 北京 清华大学出版社 1997 Zhang Hongrun Lan Qinghua MCU application technology tutorial M Beijing Tsinghua University Press 1997 in Chinese 5 李广第 单片机基础 M 北京航空航天大学出版社 2006 Li Guangdi Microcontroller based on M Beijing Aerospace University Press 2006 in Chinese 6 马忠梅 单片机的 C 语言编程 M 北京 北京航空航天大学出版社 2003 Ma Zhongmei the C programming language of SCM M Beijing Beijing Aerospace University Press 2003 in Chinese 7 李华 单片机实用接口技术 M 北京 北京航空航天大学出版社 1993 Li hua SCM practical interface technology M Beijing Beijing Aerospace University Press 1993 in Chinese 8 赵秀珍 单片微型计算机原理及其应用 M 北京 中国水利水电出版社 2001 Zhao xiuzhen Single chip computer principle and its application M Beijing China WaterPower Press 2001 in Chinese 9 M Mitescu I Susnea Microcontrollersinpractice Springer Berlin 2005 10 MarcusO Durham Systemsdesignandthe8051 TechnoPress Tulsa 2004 26 致 谢 通过不断努力 我终于完成了此次毕业设计 在此 首先感谢陈坚老师 正是 他在百忙之中还抽出宝贵的时间对我进行精心的指导 才使我顺利完成了此次毕业 设计 同时也感谢各位同学和老师对我提供的帮助 使我在此次设计中学到了许多 宝贵的知识和经验 在此 衷心地感谢你们 27 附 录 附录 A 元器件清单 附表 1 元器件清单 序号名称 大小数量 1电阻 200 1 个 2电阻 470 8 个 3电阻 1k 1 个 4电阻 100 4 个 5电阻 10k 2 个 6电容 33pF4 个 7电容 22 F1 个 8AT89S521 个 910k 排阻2 个 10四位一体共阴极数码管2 个 11LED4 个 12按键6 个 13晶振 12MHz2 个 14霍尔传感器1 个 15AT24C10241 个 16DS13021 个 17附件1 套 28 附录 B 源程序清单 include include define uint unsigned int define uchar unsigned char define DanJia DanCheng 20 define DanJia WangFan 15 define LunJing 5 车轮直径 0 5m define LunChang 1 57 m 3 14 0 5 状态码定义 define KongChe flag 0 define JinEr LiCheng flag 1 define ShiJian flag 2 define DanJia flag 3 ds1302 地址定义 define WRITE SECOND 0 x80 define WRITE MINUTE 0 x82 define WRITE HOUR 0 x84 define READ SECOND 0 x81 define READ MINUTE 0 x83 define READ HOUR 0 x85 define WRITE PROTECT 0 x8E AT24C1024 define OP READ 0 xa1 器件地址以及读取操作 define OP WRITE 0 xa0 器件地址以及写入操作 引脚定义 29 sbit Function Key P1 0 sbit QieHuan Key P1 1 sbit JieZhang Key P1 2 sbit Clear Key P1 3 sbit ChaXun QueRen Key P3 0 sbit KongChe Led P1 4 sbit ChaXun Led P1 5 sbit JiShi Led P1 6 sbit DanShuang Led P1 7 位寻址寄存器定义 sbit ACC 7 ACC 7 sbit SCLK P3 6 DS1302 时钟信号 7 脚 sbit DIO P3 7 DS1302 数据信号 6 脚 sbit CE P3 5 DS1302 片选 5 脚 sbit SDA P3 4 sbit SCL P3 3 uchar code table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x40 uchar code wei 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f uchar data dis1 0 x00 0 x00 0 x0b 0 x00 0 x00 0 x0b 0 x00 0 x00 时分秒显示缓冲区 uchar data chuzhi 0 x00 0 x00 0 x00 时分秒初值 uchar data time1302 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 uint data Count 0 uint data Count1 0 Count2 0 uchar data DanJia DanJia DanCheng 默认单程价格 uint data LiCheng 0 uint data JinEr 0 30 uchar data Second uint data Minute uint data Speed 0 uint data Old Count New Count uchar i 0 j 0 k 0 n 0 uint data temp bit KaiShiFlag 0 bit JiShiFlag 0 bit ChaXunFlag 0 bit JieZhangFlag 0 bit JinErFlag 0 void start void stop unsigned char shin bit shout uchar write data unsigned char read random uchar random addr void write byte uchar addr uchar write data void delayms uchar ms void data process void fill byte uchar fill data uchar n void delay uint x uint y while x for y 110 y 0 y at24c1024 程序 void start 开始位 31 SDA 1 SCL 1 nop nop SDA 0 nop nop nop nop SCL 0 void stop 停止位 SDA 0 nop nop SCL 1 nop nop nop nop SDA 1 uchar shin 从 AT24Cxx 移入数据到 MCU unsigned char i read data for i 0 i 8 i SCL 1 read data 1 read data unsigned char SDA SCL 0 32 return read data bit shout unsigned char write data 从 MCU 移出数据到 AT24Cxx unsigned char i bit ack bit for i 0 i 8 i 循环移入 8 个位 SDA bit write data nop SCL 1 nop nop SCL 0 write data 1 SDA 1 读取应答 nop nop SCL 1 nop nop nop nop ack bit SDA SCL 0 return ack bit 返回 AT24Cxx 应答位 void write byte uchar addr uchar write data 在指定地址 addr 处写入数据 write data start 33 shout OP WRITE shout addr shout write data stop delayms 10 写入周期 uchar read current 在当前地址读取 uchar read data start shout OP READ read data shin stop return read data uchar read random unsigned char random addr 在指定地址读取 start shout OP WRITE shout random addr return read current void fill byte uchar fill data uchar n 填充数据 fill data 到 EEPROM 内 uchar i for i 0 i n i write byte i fill data void delayms uchar ms 34 unsigned char i while ms for i 0 i 0 i 循环 8 次移位 SCLK 0 temp addr DIO bit temp 每次传输低字节 addr 1 右移一位 SCLK 1 发送数据 for i 8 i 0 i SCLK 0 temp dat DIO bit temp dat 1 SCLK 1 SCLK 1 CE 0 数据读取子程序 unsigned char Read1302 unsigned char addr unsigned char i temp dat1 dat2 CE 0 SCLK 0 CE 1 发送地址 for i 8 i 0 i 循环 8 次移位 SCLK 0 temp addr DIO bit temp 每次传输低字节 37 addr 1 右移一位 SCLK 1 读取数据 for i 8 i 0 i ACC 7 DIO SCLK 1 ACC 1 SCLK 0 SCLK 1 CE 0 dat1 ACC dat2 dat1 16 数据进制转换 dat1 dat1 16 十六进制转十进制 dat1 dat1 dat2 10 return dat1 初始化 DS1302 选择性使用 void init1302 uchar s uchar m uchar h uchar d uchar mon uchar y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上学期高一数学周测(第十九周)
- 再生金融合同
- 2025年超星尔雅学习通《文化传媒研究与文化传承融合》考试备考题库及答案解析
- 2025年超星尔雅学习通《互联网+时代创新思维》考试备考题库及答案解析
- 基于站点互馈效应的城市地铁网络脆弱性评价模型构建与实证研究
- 基于空间场强的成都市经济发展差异解析与策略研究
- 超声医师季度工作总结与计划
- 制造业数字化转型风险评估报告
- 网络营销策划方案及案例分析
- 基于空间决策支持系统的危险品运输风险评价与路径决策优化研究
- 杭州萧山交通投资集团有限公司Ⅱ类岗位招聘7人笔试考试备考试题及答案解析
- 2026云南云天化石化有限公司校园招聘9人笔试考试备考试题及答案解析
- 资质转让售卖合同范本
- 保卫工作个人述职报告
- 电气元件符号知识培训课件
- 2025贵州贵安商业资产运营管理有限公司招聘11人考试笔试备考题库及答案解析
- 2025年人力资源公司猎头服务管理制度
- 2025年高校教师资格证之高等教育学测试卷附答案
- 工程项目质量管理体系标准模板
- 2025年陕西省行政执法证考试题库附答案
- 学堂在线医学英语词汇进阶(首医)作业单元测验答案
评论
0/150
提交评论