出租车计价器设计与制作毕业设计

来源:选调生 发布时间:2021-02-19 点击:

  1 目 目

  录

 第一部分

 设计任务与调研 …………………………………………………………2 第二部分

 设计说明 …………………………………………………………………… 4

  第三部分

 设计成果 ……………………………………………………………………15

 第四部分

 结束语 ………………………………………………………………………18

 第五部分

 致谢 ……………………………………………………………………………19

 第六部分

 参考文献 ……………………………………………………………………20

  2 第一部分

 设计任务与调研

 1. 绪论 1.1 课题背景

  20 世纪 80 年代以前,广州出租汽车还没有安装计价器,每一趟接待任务结束后,司机会根据里程表来计算出车辆行走公里数,然后进行收费。1979 年后,在改革开放大潮的推动下,广州出租汽车行业迎来了发展的春天,出租汽车企业如雨后春笋般涌现,车辆剧增近10 倍。到 1985 年,广州出租汽车企业逾百家,车辆近 7000 台,形成了百家争鸣的局面。然而,行业迅猛发展也产生了很多问题,经营管理有漏洞,司机服务不规范,向乘客漫天要价的现象屡禁不止。针对这种情况,出租车自动计价器应运而生,净化了行业风气,诚信服务市民,减少司机与乘客间纠纷。

 在此过程中,出租车计价器也不断改善性能,外形简洁美观,性能稳定可靠,智能化程度高的出租车计价器正是我们的追求。

 本系统设计以 AT89S51 单片机为核心,采用 A44E 霍尔传感器测距,实现对出租车的不同时段计价统计,采用 2 个四位一体 8 段数码管显示费用,不计价时显示为时钟,采用 AT24C02实现在系统掉电时保存单价和系统时间等信息。

 1.2 设计目的与要求

  1.2.1 设计目的 毕业设计是将理论与实践相结合的教学环节,通过综合运用教材及其他资料,使所学知识得到进一步加深和扩展。同时还培养设计能力和解决实际问题能力,进行基本技能的训练, 进一步熟练 proteus,keilC 等软件的操作。本设计的目的是在学习 51 系列单片机的基础上,设计出符合要求的电路,从而实现设计产品的计价功能。

 1.2.2 主要设计内容及基本要求 利用 AT89S51 单片机,设计简单的出租车计价器。在出租车计价器的总体设计中,除必有的晶振电路,复位电路,电源电路外,主要的外围功能电路有:按键控制电路,掉电保护电路,时钟电路,数码管显示电路等。通过对以上各功能的设计,制作出的出租车计价器应

  3 具有以下功能:上电时显示时钟;按下计价键开始进行分时计价,途中可以按等待键实现出租车行进途中的等待计价,最终金额与行驶里程,行驶时间和等待时间有关;按下速度键,显示当前速度值;按下价格键,显示不同时段的起步价和单价;按下设置键,并通过设置‘+’和设置‘-’实现价格,时钟的调整。

 1.3 方案论证与比较 方案一:采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。采用数字电路控制,采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价。考虑到这种电路设计过于复杂,对于模式的切换需要用到机械开关,机械开关时间久了会造成接触不良,功能不易实现;性能不够稳定,电路也不实用。

 方案二:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用 AT89S51 单片机为主控器,以 A44E 霍尔传感器测距,实现对出租车的基本的计价设计,采用 DS1302 实现时钟,并采用 AT24C02 实现在系统掉电的时候保存单价等信息,输出采用 2 个四位 8 段数码显示管。利用单片机丰富的 I/O 端口,及其控制的灵活性,实现基本的计价功能。

 系统结构图如下:

 系统结构图

  通过比较以上两种方案,我们采用方案二实现出租车计价器的功能。本电路设计的计价器能实现基本的计价功能,单片机计算总价的制约因素为:行驶时段(白天/黑夜),起步价,单价,计程等待时间。AT89S51 作为一个单片微型计算系统,灵活性高,其强大的控制处理功能和可扩展功能设计电路提供了很好的选择。

 AT89S51

  单

 片

 机 键盘控制 时钟电路 掉电保护电路 显示系统

  4 第二部分

 设计说明

 2.系统硬件设计

 2.1 硬件设计说明

 单片机是单片微型计算机的简称,单片机以其卓越的性能,得到广泛的应用,已经深入到各个领域。在这次设计中,我们用到 P0 口、P1 口、P2 口和 P3 口。各口均由口锁存器、输出驱动器、和输入缓冲器组成。4 组 IO 口除都可用作一般输入/输出口外,P0 口还可作为分时复用的低 8 位地址/数据总线,P2 口作为高 8 位地址总线;P1 口是唯一的单功能口,仅用作通用的数据输入/输出口;P3 口还可用作第二功能口使用。

 设计中,为了能够让数码管更好的正常显示,我们采用了驱动电路来驱动。在本次硬件设计中,我们考虑采用三极管来驱动数码管显示。

 设计电路时,我们采用直流电机贴上磁珠来模拟出租车轮胎,用霍尔传感器获得脉冲波形用于计费。

 在显示方面,可以用液晶显示,也可以用数码管进行显示。由于在这次设计中只需要显示里程和金额信息,我们采用数码管进行显示。这样既节约了成本,又可以达到显示的目的。同时为了减少硬件的复杂度,我们采用了动态显示方式,选用了共阳极数码管。为了焊接方便,我们选用了 2 个四位一体数码管。

 我们还设计了 8 个控制按键,能够很好的对出租车计价器控制,包括计价按键,等待按键,速度按键,模式按键,价格按键,设置按键,设置+按键,设置-按键。

 2.2 AT89S51 单片机简介 AT89S51 具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O)口,5 个中断优先级 2 层中断嵌套,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

  P0 口有两个功能:

  1、外部扩展存储器时,当做数据/地址总线。

  2、不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出时应在外部

  5 接上拉电阻。

 P1 口只做 I/O 口使用:其内部有上拉电阻。

 P2 口有两个功能:

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

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

  P3 口有两个功能:除了作为 I/O 使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

 AT89S51 引脚图

  AT89S51 封装图 设计中用到的 51 单片机各管脚功能介绍如下:

 VCC:接+5V 电源:

 VSS:接地:

 时钟引脚:XTAL1 和 XTAL2 两端接晶振和 30PF 的电容,构成晶振电路,它可

  6 以使单片机稳定可靠的运行。

 RST:复位信号输入端,高电平有效。当在此引脚加两个机器周期的高电平时,就可以完成复位操作:

 P1 口接 8 个按键,P0 口接数码管段选端,P2 口接三极管驱动数码管,P3 口接 24C02、DS1302、霍尔传感器。

 2.3 硬件电路设计

 硬件原理图

  2.4 硬件组成

 硬件组成主要包括:晶振电路、复位电路、显示电路、掉电存储电路、时钟电路、按键电路。

 2.4.1 晶振电路 MCS-51 单片机的各功能部件都是以时钟控制信号为基准,内部电路在时钟信号的控制下,严格地按时序执行指令进行工作,单片机本身如同一个复杂的同步时序电路,为了保证其各个部分同步工作,电路要在唯一的时钟信号控制下,严格地按照时序进行工作。其实只需在时钟引脚连接上外围的定时控制元件,就可以构成一个稳定的自激振荡器。为更好地保

  7 证振荡器稳定可靠地工作,谐振器和电容应尽可能安装得与单片机芯片靠近。

 本设计中使用的振荡电路,由12MHZ晶体振荡器和两个约30PF的电容组成,在XTAL1和XTAL2两端跨接晶体,电容的大小不会影响振荡频率的高低。在整个系统中为系统各个部分提供基准频率,以防因其工作频率不稳定而造成相关设备的工作频率不稳定,晶振可以在电路中产生振荡电流,发出时钟信号。

 晶振电路 2.4.2 复位电路

 单片机的复位是由外部的复位电路实现的, 复位电路通常采用上电自动复位和按钮复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外还需要按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过 RST 端经电阻与电源 VCC 接通而实现的 单片机的复位速度比外围 I/O 接口电路快为能够保证系统可靠的复位,在初始化程序中应安排一定的复位延迟时间。

  8

  复位电路

 2.4.3 显示电路

 多数的应用系统,都要配输出外设,LED显示器和LCD显示器,为了节约成本,我们选用了LED 显示器(图 2.6)。

 LED 数码管 在显示方面,我们选用了动态显示。静态显示虽然亮度较高,接口编程容易,但是每位

  9 的段码线分别与一个 8 位的锁存器输出相连。占用的 I/O 口线比较多,在显示位数较多的情况下,一般都采用动态显示方式。利用动态显示的方法,由于 LED 显示器的余辉和人眼的视觉暂留现象,只要每位显示的时间间隔足够短,就仍能感觉到所有的数码管都在显示。为了简化硬件,通常将所有位的段码线相应段并联在一起,由一个 8 位 I/O 口控制,在同一时刻,只让一位选通,如此循环,就可以使各位显示出将要显示的字符。

  图 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.4.4 掉电存储电路 掉电保护电路中采用了存储芯片 AT24C02。

 AT24C02 是一个 CMOS 标准的 EEPROM 存储器,是 AT24CXX 系列(AT24C01/02/04/08/16)成员之一,这些EEPROM存储器的特点是功耗小、成本低、电源范围宽,静态电源电流约30uA~110uA,具有标准的 I2 C 总线接口,是

  10 应用广泛的小容量存储器之一。

 图 2.9 AT24C02 引脚图

 (图 2.9)是 AT24C02 的引脚图,这个芯片是一个 8 脚芯片,内部存储器有 256 字节。

 引脚功能介绍如下:

 A0(引脚 1):器件地址的 A0 位,是器件地址的最低位,器件地址排列是 A6 A5 A4 A3A2 A1 A0 R/W。

 A1(引脚 2):器件地址的 A1 位。

 A2(引脚 3):器件地址的 A2 位。

 GND(引脚 4):地线。

 SDA(引脚 5):数据总线引脚。

 SCL(引脚 6):时钟总线引脚。

 TEST(引脚 7):测试引脚。

 Vcc(引脚 8):电源线引脚。

 本设计采用掉电存储电路图如下:

  图 2.10 掉电存储电路

  11

  2.4.5 系统程序设计

 本设计是采用 C 语言编写的,采用模块化操作,将繁杂的程序分成若干个相对独立的模块分别进行编写,使得程序在修改,执行的时候显得方便易行。

 本设计中,软件设计采用模块化操作,利用各个模块之间的相互联系,在设计中采用主程序调用各个子程序的方法,使程序通俗易懂,我们设计了整体程序流程图。

 在 main 函数编写开始,要进行初始化,包括对系统初始化和对存储器初始化,要对硬件设备进行初始化,并使硬件处于就绪状态。

 通过判断是否计费,调价,清零等状态,来分别调用不同的子程序,使程序在设计之前,就有了很强的逻辑关系。

 这些对应于硬件就是通过按下各个控制开关,来分别进行不同的动作,最后数码管根据输入的信息,来显示不同的数据信息,这就达到了软件控制硬件,同时输入信息控制输出信息的目的。

 本程序分为 DS1302 时钟子函数,AT24CO2 子函数,按键控制子函数,主函数部分,中断子函数 5 大模块,整体流程图如下:

  12

 系统程序流程图

 2.4.6 模块程序介绍

 24c02,ds1302 初始化 定时器 0 初始化 外部中断 0 初始化 读取时间并显示时钟 循环读取程序 是否有按键按下 N 按下 K1 按下 K2 按下 K3 按下 K4 按下 K5 按下 K6 按下 K7 Y 开始计价 进入计价等待 显示当前速度 调整日夜模式 显示价格信息 进入设置界面 设置+ 按下 K8 设置-

  13

  2.4.7 按键部分

 本设计还有丰富的控制功能,包含了 8 个按键,功能分别有计价、计程等待、速度显示、模式调整(白天、黑夜)、价格显示(起步价、单价)、设置启动、设置+、设置-。

 按键部分函数的流程图如下:

 按键函数流程图

 2.4.8 计价部分

 本系统可以实现分时(白天/黑夜)计价,具体计价方式根据当前东莞市出租车运行标准计算,当前标准如下图:

 描述 起步价(元)

 单价(元/ / 公里)

 总费用(元)

 白天(5.00-23.00)

 7.0 2.4 72 夜间(23.00-5.00)

 8.4 3.2 94 东莞市出租车计价标准 计价函数流程图如下:

 有按键按下 K1 按下,计价开始,数码管显示金额和路程 K2 按下,计程等待,数码管显示金额和等待时间 K3 按下,速度显示,数码管显示当前行驶速度 K4 按下,模式转换,实现白天和黑夜的分时计价 K5 按下,价格显示,数码管显示起步价和单价K6 按下,设置启动,可实现时间和价格的加减 K7 按下,设置+,实现价格加 1 或小时加 1 K8 按下,设置-,实现价格减 1 或分钟加 1

  14

 计价函数流程图

 小于三公里但等待时间超过1分钟 超过 1 分钟部分每分钟 1 元 大于三公里但等待时间小于1分钟 超过三公里部分每公里计价 大于三公里且等待时间大于1分钟 超过三公里部分和超过 1 分钟部分计价和 白天计价 小于三公里且等待时间小于1分钟 费用=起步价 黑夜计价

  15 第三部分

 设计成果

 3.系统调试 3.1 软件调试

 3.1.1 编程工具-C51 语言

 8051 单片机的应用程序设计,使用 C51 语言进行程序设计虽然相对于汇编语言代码效率有所下降,但可以方便地实现程序设计模块化,代码结构清晰、可读性强,易于维护、更新和移植,适合较大规模的单片机程序设计。近年来,随着 C51 语言的编译器性能的不断提高,在绝大多数应用环境下,C51 程序的执行效率已经非常接近汇编语言,因此,使用 C51进行单片机程序设计已经成为单片机程序设计的主流选择之一。

 3.1.2 程序调试工具-KEIL 软件

 本设计的软件都是在 Keil μ Vision 7.5 上进行编写,编译,调试以及运行操作。

 3.1.3 单片机仿真软件在线调试-Proteus

 1.打开 Proteus 软件。

 2.选择 file 菜单下的 open design 选项,找到所需的元器件,元器件上单击右键选中,再单击左键对其进行命名和赋值,接着在编辑器左边的一栏中,找出并绘制设计所要的各种元器件,按照电路图连接后并保存。

 3.将用 keil 编译产生的 hex 文件下载到单片机中:双击 51 单片机,在对话框中把保存过的 hex 文件打开,再单击确定。

 4.单击左下角运行按钮,进行软件仿真调试,直到出现正确的结果。

 在仿真中,我们利用方波输出器模拟霍尔传感器的输出,并在不影响结果的前提下省略了三极管驱动电路以简化仿真图,仿真图如下:

  16

 Proteus 仿真图

 3.2 硬件电路 3.2.1 电路元件检测 在焊接电路前,首先要进行元器件的检测。检测主要是测出各个元器件的型号。对于数码管的检测在显示电路中已介绍。识别电阻时可根据各环的数量级和色码表,判断电阻的阻值。排阻是将多个电阻集中封装在一起,组合制成的。排阻具有装配方便、安装密度高等优点。常用排阻有 A 型和 B 型。A 型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有 4、7、8 个电阻,所以引脚共有 5 或 8 或 9 个。B 型排阻的引脚总是偶数的。它没有公共端,常见的排阻有 4 个电阻,所以引脚共有 8 个。排阻的阻值读法如下:“103”表示:10kΩ,“510”表示:51Ω。以此类推。对于集成芯片的检测,就是根据它的管脚图,来识别各个引脚,以方便焊接。

  17 3.3 硬件电路调试 设计的过程中,对硬件的检测和对软件的测试都不能忽略,因为在系统的仿真过程中,各元件都是理想的,而在设计实际电路时,就需要多方面考虑。要先对元件进行检测,然后进行调试。例如如果在设计中不加任何驱动,在仿真软件中仍然可以正常计价,但是在具体硬件焊接时,需要考虑电路的驱动能力。

 在已经焊接好的电路板上,要对其各个元器件进行检查。一般情况下,集成电路不会出现故障。驱动部分是检查三极管与数码管和单片机接触的各个引脚,看是否焊接良好。

 显示部分检测的目的是看数码管是否能够正常显示。如果不该亮的字段点亮,检测是因否有短路的情况;如果数码管不显示,说明位选端可能没有焊好;如果显示不够亮,则应该检查驱动电路。

 晶振部分使用示波器查看波形。如果出现看不到 12MHZ 的正弦波形的现象,说明此部分电路不正常。

 时钟部分通过与北京时间的对比完成检测。

 计价部分通过采用直流电机附带小磁珠模拟计费实现检测。

  18 第四部分

 结束语

  本次毕业设计的题目—基于单片机的出租车计价系统设计是一个十分生活化的课题,以前乘坐出租车时,常常会想这个小小的计价器怎么就能算出我的路程和金额了呢?这次毕业设计正好给了我一个了解计价器、甚至实现计价器的机会。让我对这个看似神秘但其实通过我们大学所学的知识就可以解决的问题有了一个深入的理解。

  在做毕业设计的初期,我主要通过网络搜索以往类似的设计,学习他们的设计思路,从而根据自己的题目要求完成这套系统设计。这是一个长期的过程,其中充满了由于知识掌握不够和资料不够齐全的艰辛,在硬件调试中还出现了 PCB 画图时引脚连接错误,但是一步一步地解决这些问题,现在回想起来是一个十分快乐、充实的过程。

  通过这次设计,我对单片机有了更深的理解,动手能力增强,编程有了全新的认识,对数码管的显示和按键的控制有了更深的理解。能够完成本次任务,也算对大学画上一个圆满的句号。在以后的生活中,更要努力不断研究、学习专业知识,不负一个大学生之名

  最后也要感谢老师和同学的帮助。

  19 第五部分

 致谢

  本设计顺利的完成感谢各位老师和朋友。在此,由衷地感谢我的指导老师,从设计课题选择、提纲拟定、内容排版、到最后的调试结果敲定,整个设计的完成过程中始终给予我及时正确的指导和必要的督促;另外对答辩和评阅的各位老师表示感谢!

  20

  第六部分

 参考文献

  参考文献:

 [1]郭天祥. 新概念 51 单片机 C 语言教程. 电子工业出版社,2009 [2]陈小种.单片机接口技术实用子程序.人民邮电出版社,2003 [3] 李 利 全 , 单 片 机 原 理 及 接 口 技 术 . 高 等 教 育 出 版 社 ,2009

  [4]童诗白.华成英, 模拟电子技术基础(第四版).高等教育出版社,2006

 [5]孙余凯.吴鸣山.项绮明,传感器应用电路 300 例.电子工业出版社,2008

 [6] 王 东 峰 , 单 片 机 C 语 言 应 用 100 例 . 电 子 工 业 出 版 社 , 2010

 [7] 王 化 祥 , 张 淑 英 。

 传 感 器 原 理 及 应 用 . 天 津 大 学 出 版 社 , 1999

  [8] 谭 浩 强 , C 程 序 设 计 . 清 华 大 学 出 版 社 , 2006

  [9]彭伟.单片机 C 语言程序设计实训 100 例:基于 8051+Proteus 仿真.电子工业出版社

推荐访问:计价器 毕业设计 出租车
上一篇:2021年行政审批局党建工作要点
下一篇:郑州电气设备项目可行性研究报告范文

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有