1.1 出租车计价器概述
   计价器显示的营运金额是营运里程与价格的函数(等候时间一般折算成一定比例的里程来计算)。出租车计价器通过传感器与行驶车辆连接。出租汽车的实际里程通过传感器的脉冲信号在计价器里折算成一定的计价营运里程。目前市场上出租车计价器功能主要有具有数据的复位功能、白天/晚上转换功能、数据输出功能、计时计价功能等等,但能够进行语音播报数据信息的出租车计价器还是比较少见的,针对这一点我们来设计一款多功能出租车计价器,在原有功能的基础上增加单价输出、单价调整、路程输出、显示当前的系统时间、语音播报数据信息等功能。

单片机毕业设计

1.2 本设计任务
1.2.1 设计任务
    设计一款基于AT89S51单片机的出租车计价器。
1.2.2 设计要求
1.基本要求
(1) 不同情况具有不同的收费标准。

  • 白天
  • 晚上
  • 途中等待(>10min 开始收费)
    (2) 能进行手动修改单价。
    (3) 具有数据的复位功能。
    (4) IO 口分配的简易要求。
  • 距离检测使用霍尔开关A44E
  • 白天/晚上收费标准的转换开关
  • 数据的清零开关
  • 单价的调整(最好使用+和-按键)

(5) 数据输出(采用LCM103)。

  • 单价输出 2 位
  • 路程输出 2 位
  • 总金额输出 3 位

(6) 按键。

  • 启动计时开关
  • 数据复位(清零)
  • 白天/晚上转换

2.发挥部分
(1) 能够在掉电的情况下存储单价等数据。
(2) 能够显示当前的系统时间。
(3) 语音播报数据信息。
1.3 系统主要功能
   本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出及调整、路程输出、语音播报数据信息、实现在系统掉电的时候保存单价和系统时间等信息等功能。输出采用8 段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。
第2节 计价器硬件设计
本系统的硬件设计主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
2.1 系统的硬件构成及功能
   计价器的单片机控制方案图如图1所示。它由以下几个部件组成:单片机STC89c51、总金额及单价显示部件、键盘控制部件,AT24C02 掉电存储控制、里程计算单元、串中显示驱动电路等。
   利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。具体电路参见“多功能出租车计价器总体电路图”。

2.2 AT89S51单片机及其引脚说明
   AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4KB的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用 8位微处理器于单片芯片中,具有高性价比。
   AT89S51是一个有40个引脚的芯片,引脚配置如图2所示。

   AT89S51芯片的40个引脚功能为:
   VCC 电源电压。
   GND 接地。
   RST 复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态。
   XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。
   XTAL2 来自反向振荡放大器的输出。
   P0口 一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口 一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P1口部分端口引脚及功能如表1所示。
2.4 AT24C02 掉电存储单元的设计
   掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图4所示。


   图中R8、R10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。
2.5 里程计算、计价单元的设计
   里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。其原理如图5所示。


第3节 系统的软件设计
   本系统的软件设计主要可分为主程序模块、定时计数中断程序、里程计数中断服务程序、中途等待中断服务程序、显示子程序服务程序、键盘服务程序六大模块。下面对各部分模块作介绍。
3.1 系统主程序设计
   在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。主程序流程图如图9 所示。当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。
3.2 定时中断服务程序
   在定时中断服务程序中,每100ms 产生一次中断,当产生10 次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。其程序流程如图10 所示。
3.3 里程计数中断服务程序
   每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000 次时,使微机进入里程计数中断服务程序中。在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。
3.4 中途等待中断服务程序
   当在计数状态下霍尔开关没有输出信号,片内的T1 定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。当中途等待结束的时候,也就自动切换到正常的计价。
3.5 显示子程序服务程序
   由于是分屏显示数据,所以就要用到4 个显示子程序,分别是:时分秒显示子程序(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节子程序(PA_DIS)。
3.6 键盘服务程序
   键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。

3.计价表使用说明
(1)S1按键的功能
   在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1 切换到里程和单价显示屏,供客户查询。
(2)S2按键的功能
   在按下S1按键之后,若接着按下S2键则进行单价调整(默认为调整白天单价),当接着按下S1时,则进行晚上单价调,再次按下S1可进行中途等待单价调整。当单价调整结束后,可以通过过按下S2按键进行时间调整,默认为调整时,接着按下S1可进行调整分,分调整后再接下S1可进行秒调整。当时调整完成后,若接着按下S2则又可进行单价调整。
(3)S3按键的功能
   在显示金额及单价时,若按下S3键则显示路程和单价,再次按下S3,可返回显示金额及单价。
(4)S4按键的功能
   在按下S1按键之后,若接着按下S4按键,则进行设定默认晚上单价,并启动计价器,若没有按下S4则可设定默认单价(白天),并启动计价器。当设定默认晚上单价结束后,再次接下S4按键,则可设定默认中途等待单价,并启动计价器。当设定默认中途等待单价后,若还按一次S4,则返回系统时间的显示。

5个G的计算机,电子专业书籍分享。
链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA
提取码:j9na

点击获取更多电子设计资源

基于单片机的多功能出租车计价器设计资料相关推荐

  1. 【java毕业设计】基于java+Tomcat +Swing的出租车计价器设计与实现(毕业论文+程序源码)——出租车计价器

    基于java+Tomcat +Swing的出租车计价器设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Tomcat +Swing的出租车计价器设计与实现,文章末尾附有本毕业设计的 ...

  2. 基于单片机波形发生器PCB原理图报告设计资料-基于单片机比赛计时计分电路仿真设计-基于单片机报警器与旋转灯设计-基于单片机八路数据电压采集报警控制系统-基于单片机病房呼叫系统控制系统设计【毕设课设资】

    1302基于单片机波形发生器PCB原理图报告设计资料-毕设课设原理图程序资料 设计一个信号发生器,能在单片机的基础上控制并产生三角波.方波.正弦波和矩形波,且频率幅度和波形可以通过按键改变. #inc ...

  3. 基于单片机乒乓球游戏机控制系统设计-基于单片机矩阵键盘的电子密码锁设计-基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-设计资料【转发分享】

    819基于单片机乒乓球游戏机控制系统设计-设计资料下载 乒乓球游戏机设计任务为: (1)使用乒乓游戏机的甲乙双方各在不同的位置发球或击球. (2)乒乓球的位置和移动方向由灯亮及依次点燃的方向决定,球移 ...

  4. 基于单片机的多功能数字时钟设计

    文末下载完整资料 二 硬件系统方案设计 2.1电话拨号防盗报警器硬件系统方案 2.1.1 硬件系统方案设计    图2.1为电话拨号报警器的系统构成方框图,由单片机控制器.键盘输入.数码管显示.触发电 ...

  5. 毕业论文 | 基于单片机的多功能智能小车设计论文(电路+程序+论文)

    ============================================== 博主github:https://github.com/MichaelBeechan 博主CSDN:htt ...

  6. 基于单片机的多功能定时器

    设计简介: 本设计是基于单片机的多功能定时器,主要实现以下功能: 可实现LCD1602显示时间和闹钟序号: 可实现通过按键调节时间和设置闹钟: 可实现通过按键可以进行倒计时,并且可以暂定和继续: 可实 ...

  7. 【设计方案分享】基于单片机温度监测监控报警系统设计-基于单片机钞票自动智能识别系统设计-基于单片机乒乓球游戏机控制系统设计-基于单片机温度监测监控报警系统设计-基于单片机矩阵键盘的电子密码锁设计

    820基于单片机温度监测监控报警系统设计-设计资料 温度监测器功能描述: 1.主控芯片用的是51单片机(STC89C51). 2.使用温度传感器DS18b20采集温度. 3.用1602液晶显示显示温度 ...

  8. 基于java出租车计价器设计与实现(论文+源码)

    毕业设计(论文)任务书 毕业设计(论文)题目:出租车计价器设计与实现毕业设计(论文)要求及原始数据(资料):1.了解并掌握基于java的相关技术,例如JSP.servlet等:2.掌握出租车计价系统的 ...

  9. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

最新文章

  1. 2021年大数据Flink(二十九):Flink 容错机制 Savepoint
  2. 向深度学习三剑客学习四种科研精神(上)
  3. object getkey java_Java S3Object.getKey方法代码示例
  4. 实战操作主机角色转移,Active Directory系列之十
  5. java中执行js代码
  6. 什么叫大地高_涨得高不是不买的理由,更不是卖出的理由,什么叫追涨杀跌?(附最简单选股方法)---交易那些事儿...
  7. 数据库事务(Database Transaction)
  8. 清华王兴再抛神论:为什么教育决定着中国餐饮业质量?
  9. [BZOJ4987]Tree
  10. Spring Cloud Eureka 2 (Eureka Server搭建服务注册中心)
  11. Arduino 函数-IO输出输入
  12. Django2.1迁移数据库出错
  13. conda: No writeable envs directories configured.
  14. 摄像头相关控制器集合
  15. win8计算机意外,解决win8.1/win10开机提示“致命错误c0000034”的方案
  16. 德国Vue.js2终极开发教程(含Vue路由和Vuex)-Max-专题视频课程
  17. 希腊海底失落之城最新打揭秘
  18. Pytorch音频分类
  19. Facade Design
  20. lol老是闪退到桌面_win10

热门文章

  1. Python爬虫-面向对象-《传闻中的陈芊芊》豆瓣热评
  2. 购买正版 Microsoft 软件
  3. cad自定义菜单cui_cad cui 2017经典菜单文件下载|cui文件(cad经典菜单)最新版_ - 极光下载站...
  4. android 多线程断点下载,listview 模式 开始 暂停等功能
  5. 【信息安全】-安全协议
  6. μCOS-II中的任务就绪表及任务调度
  7. MRI血管造影技术之最大密度投影法(maximum intensity projection)重建
  8. excel提示磁盘空间不足磁盘已满无法打开或保存
  9. ubuntu bash: /dev/fd/63: No such file or directory
  10. 【ElasticSearch】Kibana启动报错: Another Kibana instance appears to be migrating the index.....