1 方案论证与比较
通过需求分析可以初步对系统的设计方案进行三种构架:
1、GPS 全球定位系统,两点一线,计算距离方案。
2、基于DSP的油箱计量器系统,通过使用油量计算距离。
3、基于单片机的红外传感器模拟系统。
4、模拟电路和数字电路设计的计价器整体电路设计系统。
5、基于MAX+PLUSII的PLD计价器系统。
方案一:采用GPS模块将起点和目的地的坐标采集到单片机中,通过运算,计算出两点的直线距离,再根据出租车地区内单价以计算本次行驶金额。
方案二:本方案是从加油站加油时油枪喷油计费的思路来通过路程消耗的油量来计量行驶金额,通过计算油箱内汽油的消耗量,根据出租车的百公里油耗换算成公里数,然后在折算出本次行驶金额。
方案三:采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。采用数字电路控制,采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。
方案四:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89C52单片机为主控器,以WYC H105光电传感器配合直流电机加旋转叶片模拟测距,实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用LCD1602显示模块。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。
方案五:利用可编程逻辑器件,以及相应编程软件制作出租车计价器,可编程逻辑器件由以下几部分组成:一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;输入/输出块,连接逻辑块的互连资源;连线资源,由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。
方案一由于只是计算直线距离,对于城市路段来说,出租车司机往往不能直线到达目的地,没有考虑到司机师傅的收益,所以排除方案一;方案二考虑到油箱吸出油后还在油管处还多出一段汽油。多算了这部分汽油,对乘客来说是不公平的,所以排除了方案二。方案三考虑到这种电路设计过于复杂,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现,性能不够稳定,电路也不实用。方案四采用了单片机作为主要控制元器件,单片机具有小巧、功能强、开发速度快、节能、电池下也好工作、可靠性高,成本极低等优势、外延电路可以随意添加;方案五直接利用PLD可编程逻辑器件进行控制,但是由于本设计模式很多,需要中断较多,所以不选择方案五。
通过比较以上五种方案,我们采用方案四实现出租车计价器的功能。本电路设计的计价器能实现基本的计价功能,单片机计算总价的公式为:总价=起步价+单价*(总里程-起步里程)。AT89C52作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。
2.2 硬件设计说明
单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。P0口为8位三态I/O口,此口为地址总线及数据总线分时复用;P2口为8位准双向口,与地址总线高八位复用;P0口和P2口都有一定的驱动能力,P0口的驱动能力较强。
设计电路时,考虑到用里程传感器价格昂贵,且不便于试验检测,在设计中采用一个光电开关来代替。光电开关一端接单片机12管脚,另一端接地,通过直流电机带动叶片改变光电开关之间的光通量,测量出叶片转过多少圈,模拟车轮转动,经过一定圈数(本实验用200转代替一公里),通过在程序中设置的里程和金额的信息,就可以在液晶显示屏上分别显示总金额和总里程。试验中为了提供掉电保护,还应用了AT24C02芯片。
在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中显示里程和金额信息,我们采用液晶屏进行显示。这样简化了程序,也可以达到简化电路的目的。此外,用LCD1602显示模块显示直观,操作简单。相比数码管的应用要方便许多。
我们还设计了控制按键,能够很好的对出租车计价器控制,如空车牌,等待模式按键,复位按键等。
图2-1 系统结构图
目 录
第1章 概 述 1
1.1 设计目的 1
1.2 课题背景 1
1.3 课题意义 2
1.4 国内外研究现状 2
1.5 主要内容 3
第2章 方案分析 4
2.1 方案论证与比较 4
2.2 硬件设计说明 5
2.3 系统的工作原理 6
2.4 本章小结 6
第3章 硬件系统设计 7
3.1 单片机的简介 7
3.2 时钟电路 9
3.3 复位电路 9
3.4 液晶显示电路 10
3.5 掉电存储单元设计 12
3.6 按键设计 13
3.7 空车牌模块 14
3.8 电机模块 15
3.9 红外传感器电路 15
3.10 本章小结 16
第4章 软件设计 17
4.1 软件设计方案选择 17
4.2 系统程序设计 17
4.3 主程序模块 17
4.4 掉电保护模块 19
4.6 显示模块 21
4.8 几个关键模块设计 23
4.9本章小结 25
第5章 改进方案、仿真和调试 26
5.1 电路元件检测 26
5.2 软件仿真步骤 26
5.3 硬件检测 27
5.4 系统联调 28
5.5 改进方案 28
5.6 实物图片 29
5.7本章小结 30
结 论 31
参考文献 32
致 谢 33
附录1 34
附录2 44
附录3 45