保山市网站建设_网站建设公司_百度智能云_seo优化
2026/1/16 15:40:20 网站建设 项目流程

3出租车计价器硬件设计

硬件是一个电子器具能否顺利运行的重要保障,它是软件的物质基础和载体。本系统的硬件设计主要包含K24C02记忆存储模块,用于存储数据;DS1302时钟模块,为计价器计时;A44E霍尔传感器电路,丈量里程;数据显示部件,把信息显示在液晶屏上;里程计算及计价单元的设计,把单价与里程进行运算;以及最重要的单片机STC89C52。充分发挥各部分硬件部件的功能特点,组成此多用途的出租车计价器设计。合理搭配使用,尽量兼顾性能与性价比。
3.1系统的硬件构成及功能
硬件大体上可分为7个模块,方案图如图3-1。包含了以下部件:STC89C52,每公里价格与总价显示部件,键盘操作部分,里程计算部分,1302时钟显示模块,K24C02存储器存储模块。
通过正确的链接单片机上的多种IO端口,达到可以显示里程计算功能,调价功能以及时间展示功能。不仅能达到所要求的功能,而且具有充足的拓展余地,还能非常便利地提升系统功能。后面“多功能出租车计价器总体电路图”有更为详细的内容。


图3.1 单片机控制方案图
3.5时钟电路设计
美国The Dallas Group of America公司推出了一款名为DS1302的时钟芯片。其特点是性能高、功耗低、工作时功率小于1mW。内含一个31字节的静态RAM的实时时钟电路,这款芯片能在时分秒,年月日等单位进行计时,每月的天数和平润年区别都可以自定调整,芯片DS1302能在2.5V~5.5V间正常使用。DS1302内部有两类与RAM相关的寄存器。用于时钟电路的程序存储。一类是由31个RAM单元,,独立组成的,每一个单元有8个字节的RAM寄存器,掉电丢失,用于暂时储放信息。另一类突发方式寄存器能必要时候将多个字节的RAM数据和时钟信号通过CPU与三线接口同步通信的方式,一次传送出来。作为一款升级版时钟芯片,DS1302不仅与前版本芯片兼容,而且采用了备用源VCC1、主电源VCC2双电源引脚,同时VCC1具备小电流充电能力。通过串行接口进行数据传输。振荡源接口出的外接处,连接32.768kHz的晶振。
3.5.1DS1302引脚说明

图3.6 DS1302引脚

4系统的软件设计

本系统的软件设计主要分为8个部分,对于转换公里数为价格的主程序模块,定时中断程序,里程技术中断程序,客人中途要求我们等待时的中途等待中断服务程序显示子程序服务程序,控制键盘逻辑关系的键盘服务程序,用于计时,显示时间的DS1302时钟程序以及K24C02的数据断电保护程序。下面对各部分模块作介绍。
4.1系统主程序设计
我们的主程序模块需要在计价器开始工作时初始化计价器里的各个芯片,重新开始计算里程和金额,并通过里程寄存器来进行运算分析,当前的行驶里程何时会超过规定的起价公里数。在起步价的里程内,车资按照起步价算。当行程超出了起步价里程,则根据超出的里程以及每公里的单价数进行运算,再加上起步价,即为当前出租车应收的车资,并将结果保存在寄存器里,最后通过显示屏公示出来。

图4.1 主程序流程图

5系统安装与调试

5.1程序的查错手段
我们在设计一款单片机的应用系统时,一般不会直接使用实物进行制作。必须借助软件和开发系统来验证自己的想法,进行数字化模拟实验,仿真,对我们设计的硬件和软件全面勘查,测试,验证其可行性并避免浪费实物。软件和开发系统的种类有多种,但通常都是用以下几种手段可供仿真与查错。
5.1.1单步执行
简单的单步执行可以帮助我们对程序采用逐条逐条检查的方式,每一步检查一 条指令,通过这种分步且细致的检查来验证程序是否与我们设计的要求一致,能否实现我们想要的功能。而宏单步执行操作则可以把一段程序执行检查,一步就能执行整个循环程序段。
5.1.2断点设置全速运行
当我们对自己的程序已经大体排查完毕之后,如果还对程序的某些地方不太确定抱有疑虑,不必一段一段的进行检测,只需要对有疑问的地方设置一个断电,开始运行程序,断电设置操作就能过以全速或者非全速的方式,从开头一直运行到目的地。运行有三种结果,一个是程序写的正确,至少无逻辑和语法上的硬伤,那程序就会一直顺利运行到目的断点处,并且自动返回监控状态。一个是程序确实出现了错误,那么检测运行就会从开头一直运行到错误的地方停止。如果程序陷入了死循环或者程序运行时发生跑飞,那么检测运行就会一直进行下去直到有人为干预停止。断点设置全速运行可以很方便的就我们的疑问点进行测试,能过快速排查出问题是否存在,并快速响应。
5.1.3显示器窗口检查
5.1.4实时跟踪记录
除上述之外,还有以下功能:符号化调试。通常,我们的程序会以标号与符号地址等展现出来,以自动控制进行数据变换和调整,偏移量为手段,以实现程序计算和内容写入的自主。达到快速跟踪记录,确定目标的目的。
5.2源程序的检测
源程序是出租车计价器里非常重要的一部分,但程序也是依附在硬件上才能发挥出作用来的。因此我们如果想要对源程序进行检测和调试的话,就必须先排除硬件上的问题,保证硬件基本上是正确的。在此基础上,我们对源程序调试前,主要的要求是要先对其进行检测。
5.2.1程序系统检查
以程序设计初画的流程图为对照进行检查。第一步先把不同功能分区模块和功能,中断服务程序,和子模块等相对独立的部分认真检查。第二步,按照功能的划分,如时钟模块,显示模块,划分成对应几段程序,逐一检查。最后是以整个系统为整体分析检查。
程序的检查是有侧重的,逻辑功能的符合要求与否,结构与算法是不是足够完善,有关的参量和初始值正不正确,都是重点。难点在于关键性的指令是否选择合理,这个比较难判断,尤其是在模拟的情况也并不是能完全百分百反应实物的效果,有些难以调试正确的隐患。需要花费一定的时间和精力去仔细检查。
5.2.2硬件系统检查
硬件系统是毕业设计的关键点,保证没有重大的疏漏如线路故障或电源短路,在连接各种芯片的器件前,先接通电源进行上电检查,看各个节点处电势是否合理,连接有无问题,逻辑电平及信号是否正确。在排除了以上可能存在的隐患后,将芯片和器件按照设计好的位置接好,使用proteus等软件对仿真程序进行检查。如果有故障存在,仿真软件的监控程序就无法正常工作。这种办法可以帮助我们快速排查硬件系统的一般性故障。 。
有故障是纯软件上的,只需在软件上调试好故障点就能排除;有些是软件和硬件上不相匹配,需要通过软件的调试对硬件稍作调整才能解决。
5.3源程序的调试
源程序在检测完毕后需要进行调试,以确保功能合理数据正确。调试一般有以下步骤。
5.3.1分调
首先调试的对象是子程序,它们相对独立,分别使用仿真软件对其进行调试直到符合基本的设计要求。中断服务程序则用模拟的方法初调,接着按照出租车计价器的系统逻辑,分设为几个大部的功能程序段,按照应用系统运行的逻辑顺序逐级进行调试。
(1)基于出租车计价器的实际应用预设一些数据,通过仿真软件对程序段进行仿真运行。观察仿真运行的结果或故障影响。
(2)发现问题存在,需要问题的根源。大胆假设,小心求证,利用仿真的系统环境来验证自己的故障原因分析,逐步缩小问题的范围,确定问题的原因并加以改善。
(3)分析故障原因。
5.3.2联调
在前面我们通过分调已经基本上完成了各个独立模块的调试,而联调在此基础上的任务与分调不同,它的调试将证明不同程序模块之间,能否各司其职的同时又顾及大局不会冲突,因此,联调的存在也是必要的。此调试的要点是调试主程序与子程序之间能否依照设计正确连接,信息交换是否通畅。通过执行顺序依次对整个软件系统逐个相连进行调试。
5.4proteus界面介绍

图5.1 Proteus 窗口界面图

5.5Protues的简单使用
5.5.1新建原理图
启点击proteus软件的图标,启动仿真软件。选择File下面的New选项,会跳出新建原理图的界面。定下我们要展示的纸面格式,示意图如图5-2所示:

图5.2新建原理图示意图
5.5.2寻找元件
打开protues,选择P字母开头的pick devices选择元件按钮,会出现软件里自带的仿真元件库,里面可以选择我们需要的元件,出现如图4.3所示窗口,通过关键词搜索出目标元件,并连接。

图5.3 选取元件库中元件示意图

5.6故障分析
(1)用于C51单片机的程序在仿真软件上模拟时没有发现问题,但写入片子时,发现运行出来的结果有误。
(2)分析:仿真器一般跳了地址的,需要做简单的调整的,再者是检查硬件电路了。如果仿真通过,那可能的原因就是芯片有问题,重新检查一遍,或者换一块片子。中断陷入了死循环。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询