出租车计价器设计毕业设计论文_第1页
出租车计价器设计毕业设计论文_第2页
出租车计价器设计毕业设计论文_第3页
出租车计价器设计毕业设计论文_第4页
出租车计价器设计毕业设计论文_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE23目录TOC\o"1-3"\h\u31050摘要 2197971课题背景 3326561.1设计目的与要求 3305911.2设计目的 4222091.3主要设计内容及基本要求 3170821.4方案论证与比较 3324802.系统硬件设计 5159372.1硬件设计说明 547172.2AT89S51单片机简介 5192902.3硬件电路设计 613552.4硬件组成 733702.4.1晶振电路 7271322.4.2复位电路 8205322.4.3显示电路 8137432.4.4掉电存储电路 969592.4.5时钟电路 1048082.4.6按键电路 1143522.4.7霍尔传感器电路 12237903.系统软件设计 14162973.1系统程序设计 1439583.2模块程序介绍 16223403.2.1掉电存储AT24C02 16155283.2.2时钟芯片DS1302 16283533.2.3按键部分 17281903.2.4计价部分 18173723.2.5霍尔传感测距函数 1941144.系统调试 2041734.1软件调试 20147134.1.1编程工具-C51语言太短的节可以合并 20304744.1.2程序调试工具-KEIL软件 20120374.1.3单片机仿真软件在线调试-Proteus 2085094.2硬件电路 21306054.2.1电路元件检测 21152044.2.2PCB印刷电路板 21293014.3硬件电路调试 221795.总结 2318967参考文献: 249794致谢 25出租车计价器的设计摘要:20世纪80年代以前,广州出租汽车还没有安装计价器,每一趟接待任务结束后,司机会根据里程表来计算出车辆行走公里数,然后进行收费。1979年后,在改革开放大潮的推动下,广州出租汽车行业迎来了发展的春天,出租汽车企业如雨后春笋般涌现,车辆剧增近10倍。到1985年,广州出租汽车企业逾百家,车辆近7000台,形成了百家争鸣的局面。然而,行业迅猛发展也产生了很多问题,经营管理有漏洞,司机服务不规范,向乘客漫天要价的现象屡禁不止。针对这种情况,出租车自动计价器应运而生,净化了行业风气,诚信服务市民,减少司机与乘客间纠纷。在此过程中,出租车计价器也不断改善性能,外形简洁美观,性能稳定可靠,智能化程度高的出租车计价器正是我们的追求。本系统设计以AT89S51单片机为核心,采用A44E霍尔传感器测距,实现对出租车的不同时段计价统计,采用2个四位一体8段数码管显示费用,不计价时显示为时钟,采用AT24C02实现在系统掉电时保存单价和系统时间等信息。关键字:出租车计价器、AT89S51单片机1设计目的与要求1.1设计目的毕业设计是将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展。同时还培养设计能力和解决实际问题能力,进行基本技能的训练,进一步熟练proteus,keilC等软件的操作。本设计的目的是在学习51系列单片机的基础上,设计出符合要求的电路,从而实现设计产品的计价功能。1.2主要设计内容及基本要求利用AT89S51单片机,设计简单的出租车计价器。在出租车计价器的总体设计中,除必有的晶振电路,复位电路,电源电路外,主要的外围功能电路有:按键控制电路,掉电保护电路,时钟电路,数码管显示电路等。通过对以上各功能的设计,制作出的出租车计价器应具有以下功能:上电时显示时钟;按下计价键开始进行分时计价,途中可以按等待键实现出租车行进途中的等待计价,最终金额与行驶里程,行驶时间和等待时间有关;按下速度键,显示当前速度值;按下价格键,显示不同时段的起步价和单价;按下设置键,并通过设置‘+’和设置‘-’实现价格,时钟的调整。1.3方案论证与比较方案一:采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。采用数字电路控制,采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。考虑到这种电路设计过于复杂,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现;性能不够稳定,电路也不实用。方案二:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以A44E霍尔传感器测距,实现对出租车的基本的计价设计,采用DS1302实现时钟,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用2个四位8段数码显示管。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。系统结构图如下:键盘控制AT89S51 键盘控制AT89S51 单 片 机显示系统显示系统时钟电路时钟电路掉电保护电路掉电保护电路图1.1系统结构图通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。本电路设计的计价器能实现基本的计价功能,单片机计算总价的制约因素为:行驶时段(白天/黑夜),起步价,单价,计程等待时间。AT89S51作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。2.系统硬件设计2.1硬件设计说明单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。在这次设计中,我们用到P0口、P1口、P2口和P3口。各口均由口锁存器、输出驱动器、和输入缓冲器组成。4组IO口除都可用作一般输入/输出口外,P0口还可作为分时复用的低8位地址/数据总线,P2口作为高8位地址总线;P1口是唯一的单功能口,仅用作通用的数据输入/输出口;P3口还可用作第二功能口使用。设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。在本次硬件设计中,我们考虑采用三极管来驱动数码管显示。设计电路时,我们采用直流电机贴上磁珠来模拟出租车轮胎,用霍尔传感器获得脉冲波形用于计费。在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阳极数码管。为了焊接方便,我们选用了2个四位一体数码管。我们还设计了8个控制按键,能够很好的对出租车计价器控制,包括计价按键,等待按键,速度按键,模式按键,价格按键,设置按键,设置+按键,设置-按键。2.2AT89S51单片机简介AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。P0口有两个功能:外部扩展存储器时,当做数据/地址总线。2、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用。

2、做一般I/O口使用,其内部有上拉电阻。

P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。图2.2AT89S51封装图设计中用到的单片机各管脚(图2.1)功能介绍如下:VCC:接+5V电源。VSS:接地。时钟引脚:XTAL1和XTAL2两端接晶振和30PF的电容,构成晶振电路,它可以使单片机稳定可靠的运行。RST:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平时,就可以完成复位操作。P1口接8个按键,P0口接数码管段选端,P2口接三极管驱动数码管,P3口接24C02、DS1302、霍尔传感器。2.3硬件电路设计图2.3硬件原理图2.4硬件组成硬件组成主要包括:晶振电路、复位电路、显示电路、掉电存储电路、时钟电路、按键电路。2.4.1晶振电路MCS-51单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。为更好地保证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低。在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。图2.4晶振电路2.4.2复位电路单片机的复位是由外部的复位电路实现的,复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位(图2.8)。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源VCC接通而实现的单片机的复位速度比外围I/O接口电路快为能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间。图2.5复位电路2.4.3显示电路多数的应用系统,都要配输出外设,LED显示器和LCD显示器,为了节约成本,我们选用了LED显示器。在显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位的段码线分别与一个8位的锁存器输出相连。占用的I/O口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于LED显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个8位I/O口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。图2.6LED数码管图2.7四位一体数码管LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。在本设计仿真中使用的是6个一组的共阴8段数码管(图2.7)。

找公共共阴和公共共阳的方法:首先我们找个电源|稳压器(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。共阴极数码管,阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮,对应的段就显示。同时我们采用三极管来驱动数码管。图2.8三极管驱动电路2.4.4掉电存储电路掉电保护电路中采用了存储芯片AT24C02。AT24C02是一个CMOS标准的EEPROM存储器,是AT24CXX系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的I2C总线接口,是应用广泛的小容量存储器之一。

图2.9AT24C02引脚图图2.9是AT24C02的引脚图,这个芯片是一个8脚芯片,内部存储器有256字节。引脚功能介绍如下:A0(引脚1):器件地址的A0位,是器件地址的最低位,器件地址排列是A6A5A4A3A2A1A0R/W。A1(引脚2):器件地址的A1位。A2(引脚3):器件地址的A2位。GND(引脚4):地线。SDA(引脚5):数据总线引脚。SCL(引脚6):时钟总线引脚。TEST(引脚7):测试引脚。Vcc(引脚8):电源线引脚。本设计采用掉电存储电路图如下:图2.10掉电存储电路2.4.5时钟电路时钟电路采用DS1302芯片实现实时时钟。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,具有闰年补偿功能。工作电压宽达2.5-5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。DS1302的引脚图如下图。图2.11DS1302引脚图时钟电路连接方式如下图。图2.12DS1302连接图2.4.6按键电路按键控制电路中,单片机的P1口分别连接8个按键式开关,P1.0接价格按键;P1.1接设置按键;P1.2接设置+按键;P1.3接设置-按键;P1.4接白天/黑夜模式按键;P1.5接速度按键;P1.6接计价等待按键;P1.7:接计价按键。图2.13按键电路2.4.7霍尔传感器电路脉冲计数法是智能测速系统中常用的方法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入微处理器中进行计数。A44E霍尔传感器属于开关型的霍尔器件,其工作电压范围比较宽(4.5V-18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHZ。A44E霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器,霍尔电压发生器,差分放大器,施密特触发器,温度补偿电路和集电极开路的输出级组成的磁敏传感电路,输入为磁感应强度,输出是一个数组电压信号。下图为霍尔传感器测距示意图。单片机单片机图2.13霍尔传感器测距图2.14霍尔传感器A44E的输出特性霍尔开关电路的输出特性见图2.14所示。在输入端输入电压Vcc,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。当施加的磁场达到工作点(即BOP)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为开。当施加的磁场达到释放点(即BRP)时,触发器输出低电压,三极管截止,使OC门输出高电压,这种状态为关。在外磁场的作用下,当磁感应强度超过导通阈值BOP时,霍尔电路输出管导通,输出低电平。之后,B再增加,仍保持导通态。若外加磁场的B值降低到BRP时,输出管截止,输出高电平。我们称BOP为工作点,BRP为释放点,BOP-BRP=BH称为回差。回差的存在使开关电路的抗干扰能力增强。这样两次电压变换,使霍耳开关完成了一次开关动作。一般规定,当外加磁场的南极(S极)接近霍尔电路外壳上打有标志的一面时,作用到霍尔电路上的磁场方向为正,北极接近标志面时为负。下图为霍尔传感器在电路中的连接方式图2.15霍尔传感器连接图3.系统软件设计3.1系统程序设计本设计是采用C语言编写的,采用模块化操作,将繁杂的程序分成若干个相对独立的模块分别进行编写,使得程序在修改,执行的时候显得方便易行。本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。在main函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。本程序分为DS1302时钟子函数,AT24CO2子函数,按键控制子函数,主函数部分,中断子函数5大模块,整体流程图如下:24c02,ds1302初始化24c02,ds1302初始化定时器0初始化外部中断0初始化读取时间并显示时钟循环读取程序是否有按键按下N按下K1按下K2按下K3按下K4按下K5按下K6按下K7Y开始计价进入计价等待显示当前速度调整日夜模式显示价格信息进入设置界面设置+按下K8设置-图3.1系统程序流程图3.2模块程序介绍3.2.1掉电存储AT24C02我们根据24C02的时序图来完成“读”、“写”操作。时序图如下:多个图应分别提及。图3.2起始命令和停止命令时序图图3.3应答信号时序图图3.4数据有效时序图3.2.2时钟芯片DS1302 首先,我们同样根据DS1302的时序图完成“读”、“写”操作。时序图如下:图3.5单字节读时序图图3.6单字节写时序图此外,DS1302包含有关日历,时间的寄存器共12个,存放数据格式为BCD码形式,这就需要我们在使用数据时进行进制转换。寄存器信息如下图:图3.7DS1302有关日历、时间的寄存器Fig.3.7CalenderandtimeregisterofDS1302最后,DS1302十分重要的控制字如下图:图3.8DS1302控制字Fig.3.8CommandbyteofDS13023.2.3按键部分 本设计还有丰富的控制功能,包含了8个按键,功能分别有计价、计程等待、速度显示、模式调整(白天、黑夜)、价格显示(起步价、单价)、设置启动、设置+、设置-。 按键部分函数的流程图如下: 有按键按下有按键按下K5按下,价格显示,数码管显示起步价和单价K1按下,计价开始,数码管显示金额和路程K5按下,价格显示,数码管显示起步价和单价K1按下,计价开始,数码管显示金额和路程K6按下,设置启动,可实现时间和价格的加减K2按下,计程等待,数码管显示金额和等待时间K6按下,设置启动,可实现时间和价格的加减K2按下,计程等待,数码管显示金额和等待时间K7按下,设置+,实现价格加1或小时加1K3按下,速度显示,数码管显示当前行驶速度K7按下,设置+,实现价格加1或小时加1K3按下,速度显示,数码管显示当前行驶速度K8按下,设置-,实现价格减1或分钟加1K4按下,模式转换,实现白天和黑夜的分时计价K8按下,设置-,实现价格减1或分钟加1K4按下,模式转换,实现白天和黑夜的分时计价图3.9按键函数流程图Fig.3.9FlowdiagramofTheButtonFunction3.2.4计价部分 本系统可以实现分时(白天/黑夜)计价,具体计价方式根据当前东莞市出租车运行标准计算,当前标准如下图:图3.10东莞市出租车计价标准计价函数流程图如下:黑夜计价费用=起步价小于三公里且等待时间小于1分钟小于三公里但等待时间超过1分钟黑夜计价费用=起步价小于三公里且等待时间小于1分钟小于三公里但等待时间超过1分钟超过1分钟部分每分钟1元大于三公里但等待时间小于1分钟超过三公里部分每公里计价大于三公里且等待时间大于1分钟超过三公里部分和超过1分钟部分计价和白天计价图3.11计价函数流程图3.2.5霍尔传感测距函数 霍尔传感器的输出为脉冲波形,我们可以设置外部中断0的触发方式为边沿触发方式(即设置IT0=1),此时车轮每转一圈,产生一个下降沿,外部中断函数中计数加1,通过累加计数,获得出轮的转数,再乘以周长,便得到行驶路程。4.系统调试4.1软件调试4.1.1编程工具-C51语言太短的节可以合并8051单片机的应用程序设计,使用C51语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着C51语言的编译器性能的不断提高,在绝大多数应用环境下,C51程序的执行效率已经非常接近汇编语言,因此,使用C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。4.1.2程序调试工具-KEIL软件本设计的软件都是在KeilμVision7.5上进行编写,编译,调试以及运行操作。4.1.3单片机仿真软件在线调试-Proteus 1.打开Proteus软件。2.选择file菜单下的opendesign选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。3.将用keil编译产生的hex文件下载到单片机中:双击51单片机,在对话框中把保存过的hex文件打开,再单击确定。4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。在仿真中,我们利用方波输出器模拟霍尔传感器的输出,并在不影响结果的前提下省略了三极管驱动电路以简化仿真图,仿真图如下:图4.1Proteus仿真图4.2硬件电路4.2.1电路元件检测在焊接电路前,首先要进行元器件的检测。检测主要是测出各个元器件的型号。对于数码管的检测在显示电路中已介绍。识别电阻时可根据各环的数量级和色码表,判断电阻的阻值。排阻是将多个电阻集中封装在一起,组合制成的。排阻具有装配方便、安装密度高等优点。常用排阻有A型和B型。A型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。B型排阻的引脚总是偶数的。它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。排阻的阻值读法如下:“103”表示:10kΩ,“510”表示:51Ω。以此类推。对于集成芯片的检测,就是根据它的管脚图,来识别各个引脚,以方便焊接。4.2.2PCB印刷电路板 为了电路板的焊接方便,可靠,本次电路板采用了印刷电路板来完成任务。首先用protel99完成PCB原理图,原理图如下:图4.2PCB原理图4.3硬件电路调试设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中,各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论