基于单片机的出租车计价器设计

news2024/11/18 20:16:22

✅作者简介:嵌入式领域优质创作者,博客专家
✨个人主页:咸鱼弟
🔥 系列专栏:单片机设计专栏
📃推荐一款求职面试、刷题神器👉注册免费刷题

一、主要功能

        本课程设计所设计的出租车计价器的主要功能有:数据的复位、白天/晚上转换、数据输出、计时计价、单价输出、路程输出数据信息。输出采用1602液晶显示屏。本电路设计的计价器不但能实现基本的计价,而且还能根据白天、黑夜、中途等待来调节单价,同时在不计价的时候还能作为时钟为司机同志提供方便。

二、硬件设计

        本系统的硬件设计主要包括单片机STC89C52、数据显示部件、A44E霍尔传感器电路、DS1302时钟模块、K24C02记忆存储模块、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。

三、系统组成

        它由以下部件组成:STC89C52、总金额及单价显示部件、键盘控制部件,里程计算单元,1302时钟显示模块、K24C02记忆存储模块。利用单片机丰富的IO端口,实现基本的里程计价功能和价格调节、时钟显示功能。不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。

 四、仿真及实物

 

 

 五、程序的检测与调试

1.程序的查错手段

    单片机的应用系统均需借助对应的开发系统(或装置)进行在线仿真,对应用系统的软,硬件进行全面地检测与调试。各种开发系统或装置均提供以下查错手段。

(1)单步执行

采用单步执行操作可对应用程序每步执行一条指令,可逐条检查这一段程序的执行过程是否符合原设计要求。可直接查出错误所在。宏单步可执行一段程序,如一步就可执行完整个循环程序段。

(2)断点设置全速运行

可在程序有疑虑的地方设置断点,从设置的起始地址开始,以全速或非全速方式向设定的断点处运行。如果这段程序无语法或逻辑上的错误,则连续运行到设置的断点处停止运行,返回监控状态。如果有错误,则在错误处停止运行,如果进入死循环或者程序跑飞,就会永不停止运行。全速断点运行为检查实时性及中断响应处理等提供了方便。

(3)显示器窗口检查

(4)实时跟踪记录

2.源程序的检测

在源程序进行调试之前,硬件系统必须基本正确,重点对源程序进行检测。

(1)对照程序流程图,先对相对独立的功能模块,子程序,中断服务程序等进行仔细地检查,然后对整个主程序按其功能划分成若干程序段进行分段检查,逐步扩大到整个程序系统。

检查时重点检查程序的逻辑功能,结构和算法,有关参量和初始值是否完善,正确,关键性指令的选择是否合理,特别是借助开发系统也较难调试正确的隐患,只有通过细心的检查加以排除。

(2)硬件系统检查。

     硬件系统必须排除电源短路和碰线故障,然后空板(没有插上芯片等器件)进行上电检查各电源点是否正确,有关逻辑电平及信号是否正确。确认无误之后逐次插上芯片等器件,借助开发系统可检查出是否有硬件故障。一旦有故障时,开发系统的监控程序将出现不能正常工作的现象。故可采用此法排除硬件系统的一般性故障。

有些故障只有通过软件调试才能排除,有时还需通过软件调试修改硬件设计。

3.源程序的调试

源程序的调试一般可分为分调,联调和考机3步进行。

(1)分调

首先将基本独立的子程序调试正确,符合原设计要求,用模拟的方法将中断服务程序初调,然后将主程序按相对独立的功能程序段,遵照应用系统运行的逻辑顺序逐段进行调试。

A) 设置并输入一组符合要求的参量,启动程序段运行,观察运行情况或故障的影响及现象。

B) 对出现的问题进行仔细地分析,合理推测,借助开发系统的调试手段,逐步缩小疑点范围,直至找出问题所在进行修改。

C) 分析故障原因。

(2)联调

在分调基本完成的基础上进行联调,它将与整个系统的硬件,软件,环

境密切相关,必须联合在线调试。

调试的重点在于主程序与各功能模块程序段之间的连接处,按照整个 

软件系统的执行顺序,逐个相连进行调试。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python数据结构 操作指南(列表、元组、字典、集合)

数据结构是在python程序运行中必不可少的一部分,在深度学习应用,更是常用来存储模型输出的信息,小编在深度学习开发中过程中,发现有时候我们需要对数据结构中存储的信息,进行复合的条件的筛选,并返回特定的…

python高阶函数心得笔记,python高阶函数知识

递归函数 <1>什么是递归函数 通过前面的学习知道一个函数可以调用其他函数。 如果一个函数在内部不调用其它的函数&#xff0c;而是自己本身的话&#xff0c;这个函数就是递归函数。 <2>递归函数的作用 举个例子&#xff0c;我们来计算阶乘 n! 1 * 2 * 3 * .…

python 绘制BA图, 绘制Bland-Altman, 两个连续变量的一致性分析

一致性分析 分析数据一致性时常用的方法如下&#xff1a; 方法数据类型ICC组内相关系数定量或者定类Kappda一致性系数定类&#xff08;分级&#xff09;Bland-Altman图&#xff08;BA图&#xff09;定量数据 Bland-Altman 常用于生物医学研究论文中评价 两种连续变量测量方法…

MySQL MVCC工作原理

之前的文章中我们讲到&#xff0c;MySQL事务的隔离级别有四种分别是&#xff1a;read uncommitted、read committed、repeatable read和serializable。现在InnoDB下默认的存储引擎是repeatable read&#xff0c;之前也提过在repeatable read下MySQL是通过MVCC来解决幻读的问题。…

Dubbo服务调用扩展点Filter的介绍与使用

扩展点介绍 如上图所示&#xff0c;从服务调用的角度来看&#xff0c;Dubbo 在链路中提供了丰富的扩展点&#xff0c;覆盖了负载均衡方式、选址前后的拦截器、服务端处理拦截器等。 简单来说 Dubbo 发起远程调用的时候&#xff0c;主要工作流程可以分为消费端和服务端两个部分。…

Linux网络--------http协议

文章目录URL---网址对http协议的宏观认识http协议的请求方法http响应的状态码最简单的http协议服务器关于http协议的一些概念性知识URL—网址 首先&#xff0c;http协议是应用层协议&#xff0c; 是超文本传输协议。 urlencode : 转码 urldecode &#xff1a; 解码 将 ---- …

python自学入门(打卡十)2022-11-22

Pytest与Unittest区别 参考资料&#xff1a;https://blog.csdn.net/qq_33385691/article/details/112004487 pytest用例规则 文件名以test_.py文件和test.py 以test_开头的函数 以Test开头的类&#xff0c;test_开头的方法&#xff0c;并且不能带有__init_ 方法 所有的包pake…

极智AI | 昇腾开发环境搭建 CANN MindStudio (无坑版)

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多笔记分享 大家好&#xff0c;我是极智视界&#xff0c;本文介绍一下 昇腾开发环境搭建 CANN & MindStudio&#xff0c;没有坑。 本文介绍的方法适用于&#xff1a; 系统&#xff1a;ubuntu18.04 (注&#xff1a;[ce…

5个常见的JavaScript内存错误

JavaScript 不提供任何内存管理操作。相反&#xff0c;内存由 JavaScript VM 通过内存回收过程管理&#xff0c;该过程称为垃圾收集。 既然我们不能强制的垃圾回收&#xff0c;那我们怎么知道它能正常工作&#xff1f;我们对它又了解多少呢&#xff1f; 脚本执行在此过程中暂停…

计算机毕业设计之java+ssm某地区精准扶贫网站

项目介绍 本精准扶贫网站管理系统主要包括系统用户管理模块、捐赠信息管理模块、投诉信息管理、扶贫资讯管理、登录模块、和退出模块等多个模块,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统使用mysql&#xff0c;独立运行,不依附于其他系统&#…

Redis数据类型之set

文章目录setⅠ. 基础操作Ⅱ. 随机数据Ⅲ. 交、并、差Ⅳ. 应用场景Ⅴ. 注意事项提示&#xff1a;以下是本篇文章正文内容&#xff0c;Redis系列学习将会持续更新 set ● 数据存储需求&#xff1a;存储大量的数据&#xff0c;在查询方面提供更高的效率。 ● 需要的存储结构&#…

家乡主题网页设计代码 旅游主题网页设计 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

详细解读Spring Boot中@Import三种使用方式

需要注意的是&#xff1a;ImportSelector、ImportBeanDefinitionRegistrar这两个接口都必须依赖于Import一起使用&#xff0c;而Import可以单独使用。Import是一个非常有用的注解&#xff0c;它的长处在于你可以通过配置来控制是否注入该Bean&#xff0c;也可以通过条件来控制注…

CNN卷积神经网络

&#xff08;声明&#xff1a;本文章是在学习他人视频的学习笔记&#xff0c;图片出处均来自该up主&#xff0c;侵权删 up主链接&#xff1a;同济子豪兄的个人空间_哔哩哔哩_bilibili&#xff09; 卷积神经网络就像一个黑箱&#xff0c;有输入和输出&#xff0c;输入是一个图像…

Spring 中更加简单的 “存储“ 和 “读取“ 对象

目录 1. 更加简单的存储对象 1.1 配置扫描路径 1.2 使用五大类注解存储 bean 对象 1.2.1 五大类注解之间的关系 1.2.2 关于 bean 的命名规则 1.3 使用方法注解存储 bean 对象 1.3.1 bean 的重命名 2. 更加简单的获取对象 (DI) 2.1 属性注入 2.1.1 属性注入优缺点分析 …

三、图片的几何变换

目录一、图片缩放1 - 等比缩放2 - 最近领域插值3 - 双线性插值4 - 矩阵缩放二、图片剪切与位移1 - 图片剪切2 - 图片位移三、图片镜像四、图片仿射变换五、图片旋转一、图片缩放 1 - 等比缩放 # 1 load 2 info 3 resize 4 check import cv2img cv2.imread(image0.jpg, 1) im…

软件工程详细知识点复习(上)

文章目录一、软件工程概述1、软件与软件危机2、软件工程二、可行性研究三、需求分析四、概要设计五、详细设计一、软件工程概述 1、软件与软件危机 软件程序数据文档 1、软件危机的主要表现 软件不能满足用户需求软件开发成本严重超标&#xff0c;开发周期大大超过规定日期…

网络设备安装上线,你要知道的10个步骤

大家好&#xff0c;我是技福的小咖老师。在网络工程中设备的安装工作必不可少&#xff0c;你平时都是按哪些步骤完成的&#xff1f;今天给大家总结一下最常见的10个步骤。 安装流程 网络设备安装流程图 安装环境要求 1► 安装场景 为确保设备的正常运行&#xff0c;延长设备…

C. Infected Tree(思维+DFS)

Problem - 1689C - Codeforces Byteland是一片美丽的土地&#xff0c;因其美丽的树木而闻名。 米沙发现了一棵有n个顶点的二叉树&#xff0c;编号从1到n。二叉树是一个无环连接的双向图&#xff0c;包含n个顶点和n-1条边。每个顶点的度数最多为3&#xff0c;而根是数字为1的顶…

基于STM32G431嵌入式学习笔记——五、NVIC中断(以串口UART中断为例)

一、基础知识 1.专业术语 2.NVIC简介 ①在这里要注意&#xff0c;中断控制是分级处理的 ②是否请求中断是中断源控制的。 ③是否响应中断是响应方控制的。 ④以外部中断为例&#xff0c;外部中断请求顺序就是首先从请求的外部设备中选出优先级最高的一个设备待中断&#xff0c…