出租车计价器大学课程设计毕业论文设计.docx
- 文档编号:9449875
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:33
- 大小:612.88KB
出租车计价器大学课程设计毕业论文设计.docx
《出租车计价器大学课程设计毕业论文设计.docx》由会员分享,可在线阅读,更多相关《出租车计价器大学课程设计毕业论文设计.docx(33页珍藏版)》请在冰点文库上搜索。
出租车计价器大学课程设计毕业论文设计
大学
《单片机应用与仿真训练》设计报告
出
租
车
计
价
器
姓名:
学号:
3
姓名:
学号:
专业班级:
自动化09-7班
指导老师:
所在学院:
电气学院
2012年7月4日
摘要
本设计基于AT89SC51单片机,采用霍尔传感器采集轮胎转数的信息,使用外部中断0将霍尔传感器采集的信息输入到单片机,实现对于出租车行驶里程的计算;对于中途等待以及红绿灯等待,使用定时器计时,并将时间转化为里程数以计费;输出设备采用数码管,本设计采用的是两个4位一体的共阴极数码管,输出里程数和费用;此外,本设计还设计了状态指示灯,用以指示计价器的工作状态和显示状态。
出租车计价器是出租车行业计费系统的核心,是出租车行业发展的重要标志,性能良好的计价器对于乘客和出租车行业都是必需的。
关键词:
计价器、单片机、霍尔传感器
1概述
1.1出租车计价器概述
出租汽车已经成为我国城市公共交通的重要组成部分和现代化城市必备的基础设施,成为人们工作、生活中不可缺少的交通工具。
出租汽车服务行业和出租汽车计价器紧密相关,因为出租汽车必须安装出租汽车计价器才能投入营运。
出租汽车计价器是一种能根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并直接显示车费值的计量器具。
计价器是出租汽车的经营者和乘坐出租汽车的消费者之间用于公平贸易结算的工具,因而计价器计价准确与否,直接关系到经营者和消费者的经济利益。
依据国家有关法律、法规,出租汽车计价器是列入国家首批强制检定的工作计量器具之一,也是近年来国家质量技术监督部门强化管理的六类重点计量器具之一。
出租车行业在我国是八十年代初兴起的一项新兴行业,随着我国国民经济的高速发展,出租汽车已成为城市公共交通的重要组成部分。
多年来国内普遍使用的计价器只具备单一的计量功能。
目前全世界的计价器中有90%为台湾所生产。
现今我国生产计价器的企业有上百家,主要是集中在北京,上海,沈阳和广州等地。
本次设计的目的在于通过的日常最常见的计价器的实际的设计来进一步理解和掌握单片机的功能特点,并通过实践应用,锻炼自己的动手能力、培养与人合作的团队意识。
1.2单片机的概述
计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。
巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。
单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。
单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的所以单片机又称微控制器MCU(MicroControllerUnit)。
用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(EmbeddedMCU)。
单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。
据统计,我国的单片机年容量已达1~3亿片,且每年以大约16%的速度增长,但相对于国际市场我国的占有率还不到1%。
这说明单片机应用在我国有着广阔的前景。
对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。
2总体方案设计
本系统的硬件设计主要包括单片机AT89S51、数据显示部件、模拟行驶路程单元、及计价单元的设计。
在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
2.1设计任务要求
2.1.1设计任务
设计一款基于AT89S52单片机的出租车数字计价器,通过对传感器的检测,对数值进行处理和显示。
2.1.2设计要求
1、能显示里程,单位为公里,最后一位为小数位。
2、能显示金额数,单位为元,最后一位为小数位。
3、可设定单程价格和往返价格,单程价格为2元/公里,往返价格为1.5元/公里。
4、车速<3公里/小时的时间累积为总等待时间,每5分钟等待时间相当于里程数增加1公里。
5、起步公里数为3公里,价格为5元,若实际距离大于3公里,按规则3计算价格。
6、按暂停键,计价器可暂停计价,按查询键,可显示总等待时间。
2.2设计的主要功能
本设计所设计的出租车数字计价器的主要功能有:
金额输出、路程输出、数据复位、计时计价等。
输出采用2个4位一体的8段共阴数码管,车辆行走时前4位显示路程,后4位显示金额。
车辆候车时,前4位显示等待时间,后4位显示等待金额。
2.3方案的选取
本设计是由软件设计和硬件设计两部分组成的。
软件设计要进行程序的编写和软件仿真;硬件设计要设计电路、硬件仿真和制作电路板。
2.3.1硬件设计方案
本系统的硬件设计主要包括单片机AT89S52、数据显示部件、U18霍尔传感器电路、里程计算及计价单元的设计。
在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
计价器的单片机系统框图如图1所示。
它由以下几个部件组成:
霍尔传感器单元、AT89S52单片机、金额显示、里程显示、状态指示单元。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程和价格的计算及显示功能。
图1计价器系统框图
2.3.2软件设计方案
本设计程序的采取C语言进行编写,使用KeiluVision4编译和Proteus7.4a仿真软件进行仿真调试。
其中的里程计算和费用计算方案如下。
1、里程计算
(1)霍尔传感器对车轮进行信号检测,产生并输出脉冲信号到单片机;
(2)单片机对传感器输出的脉冲信号进行计数,并进行km计算:
每一个信号代表轮胎旋转一周,设轮胎的周长为1.67m;每100m产生的信号数为60,里程显示为N/60×0.1(km),速度<5公里时将等待时间折算为公里数进行计费,等待时间30s为0.1km。
历程为两者之和。
2、费用计算
(1)出租车的起步费为5元,并且3km内不需额外计价;
(2)出租车行驶3km后,单程2元/km,双程1.5元/km。
(3)等待收费的标准为5分钟算一公里;
(4)暂停时计价器暂停计价,暂停费用的计算。
3硬件设计
本设计的硬件设计包括单片机AT89S52单元、测距单元、显示单元(数码管显示金额、等待时间和里程,指示灯对单双程切换指示、等待计时指示)、按键单元和时钟单元。
3.1AT89S52单片机及最小系统
1、AT89S52单片机
AT89S52具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
P0口:
1、外部扩展存储器时,当作数据/地址总线。
2、不扩展时,可做一般的I/O使用,内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口:
只做I/O口使用:
其内部有上拉电阻。
P2口:
1、扩展外部存储器时,当作地址总线使用。
2、做一般I/O口使用,其内部有上拉电阻
P3口:
1、作为I/O使用外(其内部有上拉电阻)
2、特殊功能口,由特殊寄存器来设置
图2AT89S52引脚图图3AT89S52封装图
设计中用到的单片机各管脚:
设计中用到的单片机各个管脚功能以及与其他模块连接介绍如下:
VCC:
接+5V电源。
VSS:
接地。
时钟引脚:
XTAL1和XTAL2两端接晶振和30PF的电容,构成时钟电路,它可以使单片机稳定可靠的运行。
RST:
复位信号输入端,高电平有效。
当在此引脚加两个机器周期的高电平时,就可以完成复位操作。
P1.0:
接清零键。
P1.1:
接切换键,表示等待时间和里程显示切换。
P1.2:
接单程和往返计费切换键
P1.3:
接暂停键
P1.4:
接堵车指示灯
P1.5:
接查询指示灯
P1.6:
接往返计费指示灯
P1.7:
接暂停指示灯
P3.0:
接查询/确认键
P0口接数码管段选端,P2口接数码管位选端
P3.2:
接霍尔传感器的输出口
2、单片机最小系统
复位电路和晶振电路是AT89S52工作所需的最简外围电路。
单片机最小系统电路图如图4所示。
图4单片机最小系统
AT89S52的复位端是一个史密特触发输入,高电平有效。
RST端若由低电平上升到高电平并持续2个周期,系统将实现一次复位操作。
在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接12M晶振和两个30pF电容组成系统的内部时钟电路。
3.2测距单元
本次设计我们选取了霍尔传感器来进行里程测量。
霍尔器件是一种磁传感器。
用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。
霍尔器件以霍尔效应为其工作基础。
霍尔器件具有许多优点,它们的结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高,耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。
霍尔器件分为:
霍尔元件和霍尔集成电路两大类,前者是一个简单的霍尔片,使用时常常需要将获得的霍尔电压进行放大。
后者将霍尔片和它的信号处理电路集成在同一个芯片上。
本次设计选取了霍尔集成电路来测量里程。
里程测量是通过将霍尔传感器的集成电路安装在车轮上方的铁板上,将磁铁安装在车轮上,旋转的车轮将磁铁对准集成电路时,霍尔传感器会输出一个脉冲信号,送到单片机,经过单片机的计算处理,将行驶的里程送到显示单元并显示出来。
其原理示意图如下:
图5传感器测距示意图
U18是一种利用霍尔效应做成的半导体集成电路器件,它被设计在交变磁场中运行,特别是能在低电源电压和长时间运行温度范围可达到125℃。
这种霍尔IC可用作各种类型的传感器(速度传感器、位移传感器、转速传感器等等),接触开关以及相类似的应用场合。
其工作电压比较宽(2.5~20V),可运行在较大的温度范围内(-20℃~125℃),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。
霍尔传感器的特性如图6所示,其中BOP为工作点“开”的磁感应强度,BRP为释放点“关”的磁感应强度。
当外加的磁感应强度超过动作点BOP时,传感器输出低电平,当磁感应强度降到动作点BOP以下时,传感器输出电平不变,一直要降到释放点BRP时,传感器才由低电平跃变为高电平。
BOP与BRP之间的滞后使开关动作更为可靠。
U18集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压VCC,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。
这样两次电压变换,使霍尔开关完成了一次开关动作。
图6U18霍尔传感器和其输出特性
U18霍尔传感器有3个外接口,2个是电源的正负极接口,最后一个是脉冲信号输出口,只要将霍尔传感器的信号输出端接到单片机的端口上便可以实现距离检测。
其中,单片机的P3.2(INT0)引脚作为信号的输入端,采用外部中断0进行计数。
车轮每转一圈,霍尔传感器就产生一个脉冲信号,根据霍尔效应原理,当霍尔片处在磁场中时,霍尔传感器的输出端输出低电平。
当车轮转动一圈时小磁铁提供一个磁场,则霍尔传感器输出一次低电平完成一次数据采集,从而产生信号。
霍尔传感器检测并输出信号到单片机的INT0或INT1计算脉冲输入端,引起单片机的中断,对脉冲计数,当计数达到特定的次数时,里程就会增加,单片机对里程进行计算后,通过接口电路将计算好的结果传送到数码管并显示出来。
3.3按键单元和状态显示单元
本设计的按键单元电路(如图7)有4个按键,功能分别是:
p1.0口接是清零按键,用于对新旅客的重新计费;p1.1口为路程和等待时间切换按钮,;p1.2口按键可进行单程和双程之间切换,灯亮时表示往返计费;p1.3口按键对本次计费进行暂停。
状态显示使用四个发光二极管来指示,包括计时指示灯(p1.4口)、等待时间查询指示(p1.5口)、双程指示灯(p1.6口)、暂停指示灯(p1.7口)。
这些指示灯能对出租车的每一种状态进行指示,当汽车速度小于5km/h时开始计时,计时指示灯亮(包括堵车、过红绿灯、等人等等);计价前如果按下双程键双程指示灯亮,表示为双程;计价或计时过程中按下暂停键,则暂停指示灯亮,计价、计时暂停;若按下复位键,则复位指示灯亮,一切归零,并重新开始。
图7按键单元与状态显示电路
3.4数码显示单元
数码显示部分使用两个四位一体的LED数码管,LED显示器是由LED发光二极管发展过来的一种显示器件,是发光二极管的改型。
LED是发光二极管的简称,是一种将电能转换成光能的设备。
本身也是一种光源。
LED显示器是由发光二极管排列组成的显示器件。
它采用低电压扫描驱动,具有:
耗电少、使用寿命长、成本低、故障少、视角大、可视距离远等特点。
此外,它的响应时间短(一般不超过0.1us),亮度也比较高。
它的缺点是工作电流比较大,每一段的工作电流在10mA左右。
其中每位数码管是由8个发光二极管演变而来,其中7个发光二极管构成7笔字形,另一个构成小数点,称为8段LED。
8段LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点,使用非常广泛,它的外观如图9所示:
图98段数码管
这类数码管可以分为共阳极(8个发光二极管的阳极接在—起)与共阴极(8个发光二极管阴极连在一起)两种,共阳极就是把所有LED的阳极连接到共同接点,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如图10所示。
图10共阳和共阴数码管结构
通过控制这个公共端,可使该位亮或暗。
如共阴极端接地或共阳极接高电平,则该位显示器有效,反之无效。
本设计采用共阴LED数码管。
数码管有静态显示和动态显示两种,这里采用动态显示。
它具有低功耗、接口少等特点。
如图11两个四位一体数码管接P0口作为段选,接P2口作为位选。
空车时显示时间,开始计价时前四位显示路程,后四位显示价钱。
当查询等待时间时显示为等待时间时,左侧的里程显示转换为等待时间显示,计费显示保持原有动作。
图11显示单元(数码管显示部分)
4软件设计
本系统的软件设计主要分为系统主程序、数据处理子程序、等待时间及时子程序和键盘扫描子程序五个模块,下面对每一块进行介绍。
4.1系统主程序
本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。
在main函数编写开始,要进行初始化,包括对系统初始化和对硬件设备进行初始化,并使硬件处于就绪状态。
在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。
系统流程图如下图14。
图14系统主程序流程图
4.2数据处理子程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,在计数中断服务程序,里程和金额都相应变化,当然等待时间也换算成里程(当速度小于5km/h时5分钟想当于1公里)。
计算程序根据里程数分别进入不同的计算公式。
如果里程大于3公里,则执行公式:
金额=(里程-3)*单价+5;否则,执行公式:
总金额=起步价。
程序流程图如图15所示。
图15数据处理子程序流程图
4.3等待时间计时子程序
当出租车的速度5km/h时等待时间开始计时,并被换算里程,进行计算显示等待时间和金额。
当结算时停止计时和计费并显示金额,当有查询键按下时显示等待时间,当有清零键按下时存储本次金额。
如图16:
4.4键盘扫描子程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。
图16等待时间计时子程序
5Proteus软件仿真
本设计需要用KeiluVision3对C51程序进行编译,生成“.hex”文件,如图18:
图18KeiluVision3编译
在Proteus软件中画出仿真电路(如图19),把KeiluVision3编译后生成的“.hex”导入到单片机中,按“运行仿真”键进行仿真。
图19Proteus仿真
6课程设计过程中遇到的问题
1、焊接过程中对某些器件,对霍尔传感器、排针等的连接、使用方法不熟悉,不知道怎样焊接。
解决方法:
上网查阅资料,查看这些器件的内部结构以及原理,了解正确的焊接方法。
3、焊接完整通电后不能达到预期的结果,4位LED数码管不能正确显示。
解决方法:
在确认硬件端口焊接无误的情况下,发现所给的两个4位LED数码管的型号不一样,结果在位选端口的设置上出现错误,通过在网上查阅了正确的接法并对其进行改正。
3、焊接好后,总是没有脉冲,不能中断INT0,计算里程。
解决方法:
经过反复检查线路,并查找霍尔传感器用法,终于发现霍尔传感器是有方向的,必须把带字的一面正对着磁钢。
7课程设计体会
出租车计费器系统的设计已经全部完成,能按预期的效果进行模拟汽车启动,停止,暂停等功能并能够通过LCD显示车费数目。
本款出租车计价器包括单价输出、单价调整、显示当前的系统时间等功能。
另外,多功能出租车计价器还具有性能可靠、电路简单、成本低、实用性强等特点,加上经过优化的程序,使其有很高的智能化水平。
一个月来,经过自己努力,基本上完成了设计要求的内容,在系统可行性分析、原理图设计等方面都作了许多实际工作,取得了一些成绩,同时也遇到了一些问题,存在一些不足。
经过这一个月的学习,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。
这次设计很好的把以前学到的理论知识应用于实践,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践才能很好的把理论知识应用到实践当中,也只有通过不断的实践才能对理论知识的理解。
通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。
经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。
通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。
这在以前的学习过程中是不曾学到的。
这次设计是我认真认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。
另外通过本次设计,是我认识到自己理论知识的应用能力有很大的欠缺,需要在以后的学习中进一步提高。
参考文献
【1】戴佳,陈斌,苗龙.51单片机应用系统开发典型实例、中国电力出版社,2005
【2】余发山,王福忠.单片机原理及应用技术、中国矿业大学出版社,2008.6
【3】侯玉宝,陈忠平,李成群.基于Proteus的51系列单片机设计与仿真、电子工业出版社,2008
【4】李玉梅.基于MCS-51系列单片机原理的应用设计、国防工业出版社,2006
【5】边春元,李文涛,江杰.C51单片机典型模块设计与应用、机械工业出版社,2008
【6】张淑清等.单片微型计算机接口技术及其应用北京:
国防工业出版社,
【7】王晓君等.MCS-51及兼容单片机原理与选型北京:
电子工业出版社
【8】张鑫、华臻、陈书谦.《单片机原理及应用》[M].电子工业出版社,2005.P110~136.
附1、原程序代码
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharqianwei,baiwei,shiwei,gewei;//显示数据各个位置数字的临时变量
ucharled_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码表示0-9
inttt,aa,round,distance,cost,price,wait;//定义路程、价钱、等待时间及一些全局的变量等;
uchardengdai,second,minute;
unsignedlongwait_ten_ms;//记录等待时间多少个10ms
//按键的定义,所有按键按下去为低电平
sbitkey0=P1^0;//清零
sbitkey1=P1^1;//切换路程与等待时间
sbitkey2=P1^2;//单程还是往返设置
sbitkey3=P1^3;//暂停按钮
sbitled1=P1^6;//双程
sbitled2=P1^7;//暂停
sbitled3=P1^4;//计时
sbitled4=P1^5;//切换
bitkey1_flag;//由于按键会自动复位,这个为标志位
bitkey2_flag;
bitkey3_flag;
bitflag;
//初始化函数
voidinitial_data(void)
{
distance=0;
cost=0;
second=0;
minute=0;
wait_ten_ms=0;
key1_flag=1;//
key2_flag=0;//单程or往返,接指示灯;
key3_flag=1;//暂停,接指示灯;
flag=0;
round=0;
dengdai=0;
led1=1;//双程指示
led2=1;//暂停指示
led3=1;//堵车指示
led4=1;//等待时间切换标志
}
//暂停程序
voidzanting(void)
{
if(key3_flag)
{
EX0=0;//关闭中断和定时器
TR0=0;
}
else
{
EX0=1;
TR0=1;
}
key3_flag=!
key3_flag;
}
//计算数据处理
voidjisuan()
{
distance=round/60+wait_ten_ms/3000;//车轮转60圈为100m,等待时间30s为100m
if(distance<=30)
cost=50;
price=20;//单程价格
if(key2_flag)price=15;//往返价格
if(distance>30)
cost=price*(distance-30)/10+50
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计价器 大学 课程设计 毕业论文 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)