好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

单片机课程设计 出租车计价器.docx

28页
  • 卖家[上传人]:M****1
  • 文档编号:381492590
  • 上传时间:2022-06-26
  • 文档格式:DOCX
  • 文档大小:496.81KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 摘要出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘 客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的 而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多, 造成故障率高,难调试而采用单片机进行的设计,相对来说功能强大,用较少 的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通 过软件编程来完成更多的附加功能本设计的是一个基于单片机AT89S52的出租 车自动计费设计,附有复位电路,时钟电路,键盘电路等复位电路是单片机的初 始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始时钟 电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性在上电时 LED 数码管显示最初的起步价,里程收费,等待时间收费三种收费 按暂停键,计价器可暂停计价,按查询键,在 LED 数码管上可以显示运行时等待 的时间通过计算可以得出总共的费用和总的路程在这里主要是以 AT89S52 单片机为核心控制器,P0 口、P2 口接两片四合一数码管,P1 口接按键,通过按 键输入目录1 概述 11.1 课题简介 11.2 功能要求 12 系统总体方案及硬件设计 22.1 系统工作原理及总体方案 22.2 单片机最小系统单元 32.3 霍尔传感器检测单元 32.4 键盘调整单元 52.5 显示单元 53 软件设计 73.1 系统主程序 73.2 按键扫描程序 83.3 中断程序 93.4 计算程序 103.5 显示程序 104 实验仿真 124.1 Proteus 介绍 124.2 调试与测试 124.3 里程计价测试 125 课程设计体会 14参考文献 15附 1:系统原理图 16附 2:源程序代码 161 概述1.1 课题简介出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘 客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。

      为此,我们采用单片机系统设计了一款符合大众化的计费系统本方案以 At89s52 单片机为中心、配合 LED 数码管,实现对出租车计价统计 本方案可以实现:1. 系统接收里程传感器的脉冲输入,并对脉冲进行计数,继而转换为里程2. 采用现行出租车的计价系统的计算方法,并对行驶里程进行计费,提供 友好的用户界面,并具有发光二极管指示操作状态功能1.2 功能要求利用AT89s52单片机配合LED数码管,实现基本的出租车计价功能,具体设计规格如下:1. 用前 4 位数码管实时显示里程数,单位为公里,最后一位为小数位;用 后4 位数码管时时显示金额数,单位为元,最后一位为小数位2. 规定出租车单程价格为2 元/公里,往返则价格为1.5 元/公里;单程/ 往返分别由“单程” 按键和“往返” 按键设定3. 车速V5公里/小时的时间累积为总等待时间T (分钟),每5分钟等待时 间相当于里程数增加 1 公里4. 起步公里数为 3 公里,价格为 5 元;若实际运行大于 3 公里, 按“设计任务 2”计算价格5. 到达目的地后,按“暂停” 键,计价器可暂停计价6. 按“清除” 键,计价器能将记录数据(里程、等待时间与价格等)自动 清 0 。

      7. 按“查询”键,能自动显示总等待时间T,再按下该键回到显示里程数、 金额状态8. 扩展:空车指示、语音提示、信息存储等河南理工大学本科课程设计报告2系统总体方案及硬件设计2.1 系统工作原理及总体方案出租车计价器用于记录里程、等待时间、是否往返、起步公里数与价格的关 系,它能有效地避免司机与乘客间的矛盾,保障双方的利益出租车行驶总路程 可以通过车轮的周长乘车轮旋转圈数得到即可计算得到车轮旋转几周出租车能 行驶一公里的路程因此,使用霍尔传感器的目的就是方便地计量车轮旋转的圈 数可在车轮转盘上粘一个小磁钢,当转轮转动时,霍尔传感器检测到磁场及其 变化,产生脉冲信号输出的脉冲信号被接入到 AT89S52 单片机系统中,通过计 算接收到的脉冲个数,计算出当前所行驶的路程同时,根据不同的收费标准, 选择相应的起步价、单价等收费标准进行计算再配置上键盘和数码显示,通过 键盘能够实现启动、暂停计价器、切换显示当前的行驶里程和需支付的车费通过分析,需要实现四个主要的功能模块,分别为脉冲计数模块、定时器计 时模块、按键的处理以及数码管动态扫描等功能定时器计时模块主要完成途中等待(即没有脉冲来时)30 秒的计时。

      在启 动键按下后,定时器就不停的计时,只要有脉冲来就将计时的值清除为零如果 没有脉冲来,当计时超过 30 秒时,相应的总金额要按照收费标准计价中断的管理:尽管中断有嵌套以及优先级的功能,但是由于定时器已经使用 一个了中断资源,脉冲检测不宜再采用中断方式,而是采用查询方式由于需要 不停的要清除 30秒的计时,因此,脉冲的计数不采用定时器的计数方式启动键触发定时器开始工作,而定时器的运行可以作为脉冲计数的标志,只 要定时器计时在运行,每来一个中断都应该计数主程序完成键盘的扫描和按键的处理,查询脉冲产生的中断,并完成脉冲的 计数若每个脉冲代表 1 米,则当计数到 1000时表示 1 千米的距离,相应的总 金额要按照收费标准计价采用MCS51系列单片机AT89S51作为主控制器,外围电路器件包括数码管、 独立式键盘、复位电路等模拟出租车计价器能根据总里程数、总等待时间长短、是否往返、起步公里 数的情况作出相应报价等当然实际的出租车计价器还具有打印票据,显示是否 空车等功能总体模块如图 2.1 所示图 2.1 电路的组成部分2.2 单片机最小系统单元主控机系统采用了 Atmel公司生产的AT89S52单片机,它含有256字节数 据存储器,内置8K的电可擦除FLASH ROM,可重复编程,大小满足主控机软件 系统设计,所以不必再扩展程序存储器。

      复位电路和晶振电路是AT89S52工作所 需的最简外围电路单片机最小系统电路图如图 2.2 所示189^=:T£XT>■ ■〒金I vR1>XTAL1XTAL2F:ST2930— 图2.2 •单片机最小系统图 JF'SENALEEA在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接 11.0592M晶振和两个30pF电容组成系统的内部时钟电路2.3 霍尔传感器检测单元US1881属于开关型的霍尔器件,其工作电压范围比较宽(3.5〜24V),其输 出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检 测频率可达到 1MHZUS1881集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放 大器C、施密特触发器D和OC门输出E五个基本部分组成在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据 霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这 二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送 至施密特触发器整形,使其成为方波输送到OC门输出当施加的磁场达到工作 点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,三极管截止,使 OC 门输出高电压,这种状态为关。

      这样两次电压变换,使霍尔开关完成了一次开关动作图 2.3 霍尔开关集成传感器原理图及其输出特性里程计算是通过安装在车轮上的霍尔元件检测到的信号,送到单片机,经过 处理计算,送给显示显示单元的霍尔传感器是一种磁传感器用它可以检测磁 场及其变化,可在各种与磁场有关的场合中使用霍尔传感器以霍尔效应为其工 作基础,是由霍尔元件和它的附属电路组成的集成传感器霍尔传感器分为线性 型霍尔传感器和开关型霍尔传感器两种我们所用的是开关型霍尔传感器其原 理图如图2.4 所示:图 2.4 传感器测距示意图我们选择P3.2 口作为信号输入端,车轮每转一圈(假设车轮周长为1米),霍尔开关就检测并输出信号,引起单片机中断,对脉冲计数,当计数达到一千次 时,也就是1 公里,单片机就控制金额自动增加2.4 键盘调整单元独立式键盘:独立式键盘中,每个按键占用一根 I/O 口线,每个按键电路相 对独立I/O 口通过按键与地相连,I/O 口有上拉电阻,无键按下时,引脚端为 高电平,有键按下时,引脚电平被拉低 I/O 口内部有上拉电阻时,外部可不接 上拉电阻键盘接口电路如图2.5所示:图 2.5 键盘接口电路S1:接P1.0 口,对上一次的计费进行清零,为下次载客准备。

      S2:接P1.1 口,能自动显示总等待时间T,再按下该键回到显示里程数、金额状态S3:接P1.2 口,选择是按单程计费还是双程计费S4:接P1.3 口,可以暂停计费,方便乘客结账2.5 显示单元对于现实电路我们可以采用数码管,也可以采用液晶显示 LED 数码管特点 有:寿命长、成本低、亮度高、故障少、视角大、可视距离远等,但其显示内容 有限液晶显示的特点有:显示内容丰富等,但其驱动复杂,成本高;外部光线 强时,可视距离近综合考虑,本次设计采用LED数码管显示电路如图2.6 所示:图 2.6 显示电路3 软件设计软件是单片机系统的灵魂,根据设计的要求,在本系统中本系统软件中包括 下面程序模块:主程序: 初始化系统涉及到的硬件模块,扫描键盘,根据按键启动/停止里 程测量,实时更新单价、里程、等待时间、费用等信息显示按键扫描程序:扫描按键,返回扫描结果计算程序:将传感器发出脉冲数转换为公里数,并根据规则计算对应的费用 显示子程序:将计算程序得到的数据反映到数码显示管上 中断程序:监测行驶速度,统计等待时间现在应用更广泛的是单片机 C 语言,因其简单明了,故此次课程设计采用单 片机 C 语言编程。

      3.1 系统主程序在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的 初始化以及中断、计算、循环等工作当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶 里程是否已超过起步价公里数若已超过,则根据里程值、每公里的单价数和起 步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无 脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价 格加到总金额里,然后将总金额、里程和单价、往返价格送数码管显示出来程 序流程如图 3.1 所示:图 3.1 主程序流程3.2 按键扫描程序键盘实质上是一组按键开关的集合,均利用机械触点的合、断作用按键在 闭合及断开的瞬间均伴随有一连串的抖动,抖动反应在电压上就是呈现出高电平 或低电平,为了确保 CPU 对一次按键动作只确认一次,必须消除抖动的影响去 抖通常有硬件去抖和软件去抖两种方法,本程序使用软件延时去抖图 3.2 按键抖动信号波形对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,再判键释放,最后执行键功能程序判键子函数的流程框图如图 3.3 所示:开始 是否有键按下结束图 3.3 判键子程序流程图3.3 中断程序每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对 里程脉冲计满 1500次。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.