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

基于单片机的出租车计价器设计设计出租车计价器是一种基于单片机的设备,用于计算乘客乘坐出租车的费用。
在设计出租车计价器时,需要考虑到计价规则、硬件设计和软件编程等因素。
首先,我们需要确定计价规则。
一般来说,出租车的计价规则包括起步价、里程费和时间费。
起步价是乘客上车时需要支付的固定费用,里程费是根据乘客的行驶里程来计算的变动费用,时间费是在乘客等待或者拥堵时计算的费用。
接下来,我们需要进行硬件设计。
出租车计价器的硬件设计包括显示屏、键盘、车速传感器和单片机等组成部分。
显示屏用于显示计价器的计费结果和其他信息,键盘用于输入乘客的上下车信息和计价规则,车速传感器用于检测出租车的速度,单片机用于控制计价器的计费过程和显示信息。
然后,我们需要进行软件编程。
软件编程主要是为了控制单片机的工作流程和计费逻辑。
在软件编程中,我们需要设计计费算法,根据乘客的上下车信息、里程和时间等数据来计算费用。
同时,我们还需要设计按钮和操作界面,以便乘客和司机能够操作和使用计价器。
此外,出租车计价器还可以增加一些额外功能,如记录行驶轨迹和生成行驶报告等。
行驶轨迹可以用于监控出租车的行驶情况,而行驶报告可以提供给乘客或者出租车公司,以便进行事后结算和分析。
最后,我们还需要考虑出租车计价器的安全性和可靠性。
安全性是指计价器应具备防止数据篡改和信息泄露的能力,可靠性是指计价器应具备稳定工作和数据准确性的能力。
综上所述,基于单片机的出租车计价器设计需要考虑计价规则、硬件
设计和软件编程等因素。
通过合理的设计和规划,可以实现一个功能完善,安全可靠的出租车计价器。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、引言在现代化社会,出租车成为了人们出行的一种必要工具,而出租车的计价器是出租车行业的重要组成部分,它不仅能够准确的计算乘车费用,还可以提供一些其他服务项目、实时收费等功能。
本课题旨在设计一款基于单片机的出租车计价器,具有准确的实时的计价功能、节能以及模块化结构等优点。
二、总体设计(1)系统功能该系统由以下主要功能组成:(1)实时显示乘车价格。
(2)可以调整价格,也可以根据距离计算价格。
(3)可以根据计价需要灵活设置费率及参数。
(4)具有实时计费功能,可以自动计算乘车总价格。
(5)可以利用GPS定位功能,计算出距离目的地的距离及费用,以及发射警报等。
(2)系统结构该系统包括以下几个部分:(1)单片机控制器:采用嵌入式单片机系统,控制计价器的各项功能。
(2)距离传感器:采用光电开关或者其他机械开关,通过计数信号,来计算出行车车辆的行驶距离。
(3)GPS模块:用于定位车辆位置,以及计算出距离目的地的距离及费用。
(4)用户接口:采用按键开关或者触摸屏,实现用户与系统的交互功能。
(5)显示屏:用于显示乘车价格及时间等信息。
(6)节能模块:用于节约计价器的能耗,提高计价器的使用寿命。
三、实现方式(1)单片机系统的设计单片机系统是本系统的核心部分,由数据处理器、存储器、定时器、显示器等部分构成。
数据处理器负责计算距离和费用,根据计算结果控制显示;存储器用来存储相关参数;定时器可以用来判断行驶的时间;而显示器用于显示实时费用等信息。
(2)距离传感器的设计距离传感器是计算行驶距离的重要组成部分,一般采用光电开关或者其他机械开关,用于计数车轮的旋转,以此来计算出行驶距离。
(3)GPS定位模块的设计GPS定位模块可以用来接收GPS定位信号,较准确的计算出出租车的行驶距离及费用,还可以用来实现实时跟踪车辆的位置。
(4)用户接口的设计用户接口一般采用按键开关或者触摸屏,实现用户与系统的交互功能,使用户可以设置参数或者查看历史数据等。
单片机课程设计报告-出租车计价器

微机原理及单片机接口技术实验报告学院:专业班级:学生姓名:学号:指导教师:一、验目的及实验实现的功能:(一)流水灯实验1、实验目的:1)简单I/O引脚的输出2)掌握软件延时编程方法3)简单按键输入捕获判断2、完成功能要求1)开机是点亮12发光二极管,闪烁三下2)按照顺时针循环依次点亮发光二极管3)通过按键将发光二极管的显示改为顺逆时针方式(二)定时器或实时时钟实验1、实验目的1)数码管动态显示技术2)定时器的应用3)按键功能定义2、完成功能要求1)通过按键可以设定定时时间,启动定时器,定时时间到,让12个发光二极管闪烁,完成定时器功能。
2)实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别显示分钟和秒)。
上述二个功能至少完成一种功能。
(三)双机通信实验1、实验目的UART 串行通信接口技术应用2、完成功能要求用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。
(四)交通灯实验1、实验目的1)按键、数码管、发光二极管综合应用编程技术2)数据存储于EEPROM的技术(也可以不使用)3)定时中断技术4)按键中断技术2、完成功能要求1)对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。
2)设定参数掉电后不丢失(如果不使用EEPROM,此功能可以不实现)。
3)紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。
再按该键,恢复正常显示。
二、系统硬件设计硬件设计仿真图三、系统软件设计系统流程图(程序见附录)四、实验过程中遇到的问题及解决方法1.定时器0调试过程中:a)建好工程后,操作太快,忘了将保存过的C文件添加到工程里面,提示无效module。
b)初始化函数init_0() 声明时后面的‘;’忘记了,调试后出现了很多错误与警告,里面的变量及端口都提示重复定义。
数码管显示过程中:a)函数编写好后调用提示:uncalled segment ,ignored for overplay.原因:有函数未调用,可是我已经调用所有函数,后来检查一段时间后发现,count_down ()被我写成了count_dowm().b)FLAG标志位应用时,当FLAG=1时应该立即执行正常时钟程序clock(),可是当按键稍微晚些按时会出现:延时一段时间后才执行。
基于单片机的出租车计价器的设计

基于单片机的出租车计价器的设计一、设计目标:设计一个基于单片机的出租车计价器,能够准确计算乘客的乘车距离和费用,并能显示当前的计价信息。
二、设计原理:1. 距离测量:使用速度传感器和车轮直径来测量出租车行驶的距离。
2. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算。
3. 显示:使用LCD显示屏显示当前的计价信息和距离。
三、硬件设计:1. 单片机:选择合适的单片机,如ATmega8,作为主控制器。
2. 速度传感器:选择合适的速度传感器,如霍尔传感器,用于测量车轮转速。
3. LCD显示屏:选择合适的LCD显示屏,如16x2字符LCD,用于显示计价信息和距离。
4. 按键开关:设计合适的按键开关,用于启动计价器和调整设置。
四、软件设计:1. 初始化设置:在计价器启动时,进行LCD显示屏和速度传感器的初始化设置。
2. 距离测量:通过速度传感器读取车轮转速,根据车轮直径计算出租车行驶的距离。
3. 费用计算:根据距离和预设的计价规则,使用单片机进行费用计算,并将计算结果显示在LCD上。
4. 设置调整:设计按键开关用于调整计价规则和费率设置。
5. 实时显示:将计价信息和距离实时显示在LCD上,方便乘客查看。
五、测试和验证:进行功能测试和实地验证,确保计价器的准确性和稳定性。
包括距离测量的准确性、费用计算的准确性以及LCD显示的正确性。
六、优化和改进:根据测试结果和用户反馈,对计价器进行优化和改进,提高其性能和用户体验。
总结:基于单片机的出租车计价器是一个实用的设计,能够帮助出租车司机和乘客准确计算乘车距离和费用。
通过合理的硬件设计和软件编程,可以实现距离测量、费用计算和实时显示等功能。
在实际使用中,需要进行充分的测试和验证,以确保计价器的准确性和稳定性。
通过不断优化和改进,可以提高计价器的性能和用户体验,满足用户的需求。
出租车计价器单片机课程设计

出租车计价器单片机课程设计
一、课程设计背景
1.1 项目简介
出租车计价器是一款用来计算出租车费用的设备,它可以根据客户乘坐出租车的里程数、所在城市、车辆等级等信息,计算出乘客应付的出租车费用。
本课程设计主要以单片机实现出租车计价器的功能,采用单片机控制电容屏和按键,实现出租车客户输入数据和进行相关计算的功能。
1.2 基本要求
(1)设计出租车计价器的硬件模块,包括控制电容屏、按键等;
(2)设计出租车计价器的软件模块,编写出租车计价器的源程序;
(3)实现出租车计价器的测试功能,包括输入数据、计算费用等。
二、课程设计步骤
2.1 硬件设计
(1)材料准备:本课程设计所需的主要硬件设备有:单片机主
控板及其配件、电容屏和按键等。
(2)电路设计:根据课程设计的功能要求,设计出租车计价器
的硬件电路,实现主控板与电容屏、按键等设备的连接。
(3)原理图设计:根据电路设计,绘制出租车计价器的原理图,包括主控板、电容屏和按键等设备的结构。
2.2 软件设计
(1)源程序设计:编写单片机的源程序,实现出租车计价器的计算功能。
(2)组合程序设计:根据源程序,编写出租车计价器的组合程序,实现出租车计价器的实际应用。
2.3 课程实施
(1)硬件实施:根据原理图,把主控板、电容屏和按键等硬件设备安装在一起,组装成出租车计价器。
(2)软件实施:把编写的源程序和组合程序烧写到主控板上,运行程序,实现出租车计价器的功能。
(3)测试实施:运行出租车计价器,输入相关的参数,检验程序的正确性,确保出租车计价器正常工作。
基于单片机的出租车计价器设计

基于单片机的出租车计价器设计一、出租车计价器的功能需求分析出租车计价器的主要功能是根据行驶里程和等待时间来计算乘车费用。
具体来说,它需要能够实时测量车辆行驶的里程,准确记录等待时间,并按照预设的计费规则计算出总费用。
此外,还应具备显示功能,能够清晰地向乘客展示里程、等待时间和费用等信息。
二、系统硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机作为核心控制器。
该单片机具有性能稳定、运算速度快、资源丰富等优点,能够满足计价器的功能需求。
(二)里程测量模块里程测量通常采用霍尔传感器。
当车轮转动时,霍尔传感器会产生脉冲信号,单片机通过对脉冲信号的计数来计算行驶里程。
(三)时间测量模块等待时间的测量可以通过单片机内部的定时器来实现。
当车辆处于停止状态且时间超过预设阈值时,开始累计等待时间。
(四)显示模块为了向乘客直观地展示相关信息,选用了_____型号的液晶显示屏。
它具有显示清晰、功耗低等特点。
(五)按键模块设置了几个按键,用于切换显示内容、调整计费参数等操作。
三、系统软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括设置单片机的工作模式、初始化各个模块等。
然后进入主循环,不断检测里程和等待时间的变化,并根据计费规则计算费用,最后将结果输出到显示模块。
(二)里程计算算法根据霍尔传感器产生的脉冲数和车轮的周长,可以计算出行驶里程。
计算公式为:里程=脉冲数 ×车轮周长。
(三)等待时间计算算法通过定时器记录车辆停止的时间,当时间超过一定值时,将其计入等待时间。
(四)计费规则的实现根据当地的出租车计费标准,设定起步价、里程单价和等待时间单价。
总费用=起步价+里程费用+等待时间费用。
四、系统调试与测试(一)硬件调试首先检查各个硬件模块的连接是否正确,然后通过示波器等工具检测信号的准确性和稳定性。
(二)软件调试采用在线调试工具,对程序进行单步调试,查看变量的值和程序的执行流程,确保软件逻辑的正确性。
单片机课程设计出租车计价器_

河南理工大学《单片机应用与仿真训练》设计报告基于单片机的出租车计价器的设计姓名:学号:专业班级:指导老师:所在学院:电气工程与自动化2011年7月1日基于51单片机原理出租车计价器的设计本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时四位共阴极5461AS数码管显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。
通过按键模拟出租车的运行,暂停,停止。
在5461AS液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口接5461AS液晶显示模块,P1口接按键的,通过按键输入。
关键词:单片机AT89C51;AT89S52;5461AS液晶;出租车计费器;前言 ............................................................................................................................................. - 2 -第一章出租车计价系统的设计要求与设计方案....................................................................... - 3 -1.1出租车计价器设计要求 (3)1.2系统主要功能 (3)1.3方案论证与比较 (4)第二章出租车计价系统的硬件设计.......................................................................................... - 7 -2.1振荡电路 (7)2.2复位电路设计 (7)图2-2 AT89C52引脚配置............................................................................................................. - 8 -2.3键盘接口电路 (8)............................................ - 8 -图2-3键盘接口电路 .................................................................................................................... - 8 -2.4显示电路 (8)2.5路程测量部分 (9)2.6单片机各引脚功能说明 (10)2.75461AS液晶的简介 (11)第三章出租车计价系统的软件设计........................................................................................ - 14 -3.1单片机资源使用 (14)3.2中断子函数 (14)3.3判键子函数 (15)3.4显示子程序 (15)3.5总程序流程框图 (16)第四章PROTEUS的简介 ............................................................................................................. - 18 -4.1P ROTEUS介绍 (18)第五章设计体会与小结........................................................................................................... - 18 -参考文献 ..................................................................................................................................... - 19 -附录 ......................................................................................................................................... - 20 -一.源程序 (20)二.设计总图 (27)前言出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
单片机课程设计 出租车计价器

摘要出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时LED数码管显示最初的起步价,里程收费,等待时间收费三种收费。
按暂停键,计价器可暂停计价,按查询键,在LED数码管上可以显示运行时等待的时间。
通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口、P2 口接两片四合一数码管,P1口接按键,通过按键输入。
关键词:单片机 AT89S52;LED数码管;出租车计费器;目录1 概述 (1)1.1 课题简介 (1)1.2 功能要求 (1)2 系统总体方案及硬件设计 (2)2.1 系统工作原理及总体方案 (2)2.2 单片机最小系统单元 (3)2.3 霍尔传感器检测单元 (3)2.4 键盘调整单元 (5)2.5 显示单元 (5)3 软件设计 (7)3.1系统主程序 (7)3.2 按键扫描程序 (8)3.3 中断程序 (9)3.4 计算程序 (10)3.5 显示程序 (10)4 实验仿真 (12)4.1 Proteus介绍 (12)4.2 调试与测试 (12)4.3 里程计价测试 (12)5 课程设计体会 (14)参考文献 (15)附1:系统原理图 (16)附2:源程序代码 (16)1 概述1.1 课题简介出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
单片机与嵌入式系统课程设计出租车计价器设计

华北电力大学《单片机原理与嵌入式系统》课程设计题目:基于51单片机的出租车计价器设计学院:控制与计算机工程学院专业:测控技术与仪器学号:学生姓名:指导教师:摘要随着生活水平的提高,人们已不再满足于衣食住的享受,出行的舒适已受到越来越多人的关注。
于是,出租车行业以低价高质的服务给人们带来了出行的享受。
但是总存在着买卖纠纷困扰着行业的发展。
而在出租车行业中解决这一矛盾的最好方法就是改良计价器。
用更加精良的计价器来为乘客提供更加方便快捷的服务。
单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
本课设主要了解应用单片机的定时器/计数器,以及中断。
这是一个比较小的系统,故采用汇编语言来编辑。
汇编语言是一种编译型程序设计语言,它具有编译速度快,占用系统空间小,具有一定的助记可读性等特点。
关键字:出租车计价器电子线路51单片机目录1.出租车计价器的方案设计及实现1.1 设计方案及电路 (6)1.1.1 AT89C51单片机及最小系统 (6)1.1.2 振荡电路 (5)1.1.3 按键单元 (5)1.1.4 显示单元 (6)1.1.5 存储单元 (7)1.1.6里程测试单元 (8)1.3 系统总程序 (9)1.3.1系统总程序…………………………………………………1.3.2 行驶路程子程序 (9)1.3.3 等待时间子程序 (10)1.4主要电路图及工作原理 (12)2. 仿真结果分析 (13)3. 分析测试数据 (14)4.收获、体会、建议 (14)5.元器件清单 (15)5.1单片机主板BOM 清单 (15)5.2 显示部分器件 (17)6.主要参考文献资料 (27)附录 (19)1.出租车计价器的方案设计及实现出租车计价器是利用单片机计算总价并送显示端显示的智能仪器。
单片机出租车计价器课程设计

单片机出租车计价器课程设计1. 引言出租车计价器是一种用于计算乘客乘坐出租车费用的设备。
它基于单片机技术,通过对里程和时间进行测量,并根据预设的费率规则计算出乘客应支付的费用。
本文将介绍一个基于单片机的出租车计价器的课程设计方案。
2. 设计目标本次课程设计旨在培养学生对单片机应用的能力,同时提升学生对实时系统和算法设计的理解。
具体设计目标如下: - 掌握单片机编程技术,包括IO口操作、定时器和中断等。
- 熟悉实时系统设计方法,能够合理利用中断处理程序。
- 理解并能够应用合适的算法进行费率计算。
3. 设计方案3.1 硬件设计本次课程设计使用一块基于XX单片机的开发板作为硬件平台。
开发板上包含了所需的IO口、定时器和显示屏等外设。
3.1.1 输入部分输入部分主要包括里程和时间两个参数。
里程通过一个旋转编码器来测量,编码器输出脉冲信号,通过外部中断来捕获脉冲数量。
时间通过一个定时器来测量,定时器每秒触发一次中断。
3.1.2 显示部分显示部分使用一个液晶显示屏来显示计算结果。
液晶显示屏通过IO口和单片机进行连接,可以显示费用、里程和时间等信息。
3.2 软件设计软件设计主要包括中断处理程序和计费算法两部分。
3.2.1 中断处理程序中断处理程序主要用于捕获里程和时间的输入,并进行相应的处理。
当旋转编码器触发外部中断时,中断处理程序会读取编码器的状态并更新里程值。
当定时器触发中断时,中断处理程序会更新时间值。
3.2.2 计费算法计费算法根据预设的费率规则计算乘客应支付的费用。
一般而言,出租车计价规则包括起步价、里程单价和时间单价等参数。
根据这些参数和输入的里程和时间,计费算法可以准确地计算出乘客应支付的费用。
3.3 系统测试设计完成后,需要对系统进行测试以验证其功能正确性和稳定性。
测试可以分为硬件测试和软件测试两个部分。
3.3.1 硬件测试硬件测试主要包括对旋转编码器、定时器和液晶显示屏等外设的功能测试。
#单片机课程设计:出租车计价器

计算机和信息工程学院《单片机》课程设计课程设计题目出租车计价器专业:计算机控制班级:控制09--3姓名:费翔学号:20指导教师:范爱华2012年3月2日摘要:近些年来,随着单片机的发展,产品相当的繁多,单片微型机又称嵌入式控制器,是20世纪70年代中期发展起来的一种大规模的集成电路器件。
当单片机的使用不断地深入,新技术的发展也是层出不穷的。
这是一项新型的工程技术,其内涵也是随着单片机的发展而发展。
MCS-51系列的单片机是属于结构相当简单,但也是单片机中的典型,使用也相当的灵活。
51系列的单片机产品发展迅速,在国内外占有重要的地位。
出租车计价器从最初的只能进行简单的价格计算,发展到价格、距离独立计量并显示,可根据特殊情况设定相应的收费标准,能打印营运发票,可使用IC卡结算等的功能。
目前市场上的计价器越来越趋向于集成有多种功能。
关键词:51单片机,价格计算,独立显示,手动输入正文:1. 出租车计价器是乘客和司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。
它关系着交易双方的利益。
具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。
我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
针对计费模式的切换,通过软件编程就可以轻易而举的实现。
避免了机械开关带来的不稳定因素。
方案论证最终方案选择出租车计价器基本功能部分是根据里程数来完成总金额的输出。
实现方法有两种。
方案一:采用数字电路控制。
其原理方框图如图 2.1所示。
采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
方案二:采用单片机控制。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
单片机课程设计出租车计价器

河南理工大学《微机原理与单片机接口技术》课程设计报告出租车计价器设计姓名:郝高锋蒋亚光学号:专业班级:指导老师:所在学院:电气工程与自动化学院2013年 04月 10 日摘要本设计是一个基于单片机的出租车计价器。
本设计主要完成的功能有计时,计费,记录里程,空车显示,暂停,测速等。
用到的硬件主要有C51单片机,直流电动机,霍尔传感器等。
通过霍尔传感器及单片机的外部中断功能,记录车轮的旋转圈数,通过车轮的周长计算里程。
由于使用的单片机系统附带的数码管显示只有四个数码管,所以每次只能显示一种数据:里程、费用或者等待时间。
为了所有的数据都能在数码管上显示,加入了按键。
第五个键可以显示里程,第六个键可以显示等待时间,第五个键和第六个键都没有按的话就是显示费用。
本设计还附有测速的功能,通过单片机内部的计时器计时,通过每分钟测得的里程计算出车的速度。
通过测得的速度判定使用里程计费还是通过时间计费,这样也比较人性化。
本设计的另一个人性化之处在于可以暂停计费,这样可以随时暂停计费,支持部分收费。
本设计的空车提示功能对司机和乘客都有好处,方便乘客叫车,也可以减少司机的麻烦。
本设计通过灯的提示表示某个键被按下,这样能让司机和乘客很清晰的看到按了什么键。
当按下启动计费键后绿灯会亮,这样就会让司机很容易判断是不是按了启动计费键,以免造成不必要的损失。
当按下暂停键时,红灯就会亮,这样方便乘客判断是不是暂停了计费,有利于保障乘客的合法权益。
而空车则有黄灯提示,这样乘客只要看到黄灯就能判断是空车能够方便乘客叫车。
本设计主要有三部分组成,分别是霍尔传感器测量部分、单片机处理部分、数码显示部分。
霍尔传感器测量部分主要是由硬件组成的不需要太多的编程,而单片机处理部分主要任务是编程,数码管显示部分是单片机的扩张部分。
下面对本设计进行一些简单的功能总体描述。
加电之后系统默显示三公里内的费用,此时处于初始状态;第一个键是计费启动键,按下之后开始计费同时绿灯亮;第二个键是计费暂停键,按下之后计费暂停同时红灯亮;第三个键是空车提示键,按下之后黄灯亮,同时等待时间、里程、费用等都归零;第四个键是单程和往返转换键,可以实现单程、往返的转化;第五个键是里程查询键,按了之后数码管显示里程数;第六个键是等待时间查询键,按了之后可以查询等待时间。
单片机课程设计--出租车计价器

摘要本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时字符型液晶1602显示最初的起步价,里程收费,等待时间收费三种收费,通过按键可以调整起步价,里程收费,等待时间收费。
通过按键模拟出租车的运行,暂停,停止。
在1602液晶上可以显示运行的时间,运行时暂停的时间,通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口接1602液晶显示模块,P1口接按键的,通过按键输入。
关键词:单片机AT89C51;AT89S52;1602液晶;出租车计费器;目录前言 (1)第一章出租车计价系统的设计要求与设计方案 (2)1.1出租车计价器设计要求 (2)1.2系统主要功能 (2)1.3方案论证与比较 (2)第二章出租车计价系统的硬件设计 (4)2.1振荡电路 (4)2.2复位电路设计 (4)2.3键盘接口电路 (4)2.4显示电路 (5)2.5路程测量部分 (5)2.6单片机各引脚功能说明 (6)2.71602液晶的简介 (7)第三章出租车计价系统的软件设计 (9)3.1单片机资源使用 (9)3.2中断子函数 (10)3.3判键子函数 (10)3.4显示子程序 (11)3.5总程序流程框图 (12)第四章PROTEUS的简介 (14)4.1P ROTEUS介绍 (14)第五章设计体会与小结 (15)参考文献 (15)附录 (16)一.源程序 (16)二.设计总图 (2)前言出租车计价器是出租车营运收费的专用智能化仪表,随着电子技术的发展,出租车计价器技术也在不断进步和提高。
国内出租车计价器已经经历了4 个阶段的发展。
从传统的全部由机械元器件组成的机械式,到半电子式即用电子线路代替部分机械元器件的出租车计价器;再从集成电路式到目前的单片机系统设计的出租车计价器。
ZT单片机课程设计--出租车计价器

ZT单片机课程设计--出租车计价器D一.设计任务及思路1.出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。
2.公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。
3.显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。
4.定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。
二、里程计数器的原理(光电式)在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。
在隔光盘两侧分别装有与车体固定的光源和感光元件。
当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。
这就是对里程转换为计数值的基本原理。
其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。
在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号(P3.4)。
三、LED显示电路对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。
显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。
四、计价器的计价要求1.计价方式:起价(两公里)白天8元,晚上10元;由一开关进行选择。
每公里一元,即每一百米加价一角。
2.转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。
五、电路原理图及引脚P0.7-P0.0 数码管输出数据P2.7-P2.4 数码管位选P1.0 显示小数点(长亮)P1.2 计价器工作开关P1.3 白天/夜间切换P3.4 计数脉冲输入出租车计价器电路原理六、流程图N 开始开始计价昼夜选择显示零 显示零Y显示夜间起价显示白天起价夜 昼显示价格 主程序流T1中断够67次N Y R4=0 ? NYR4+1价格寄存器加一 调整BCD 码 放入数据显示区返回中断程序七、源程序ORG 0000H ;起始地址AJMP STARTORG 001BH ;计数中断地址LJMP CNT1ORG 0030H ;主程序地址START: MOV PSW, #00HMOV IE, #88H ;IE=10001000BMOV TMOD, #60H ;TMOD=01100000B,T1工作方式2MOV TH1, #0BDH ;自动重装MOV TL1, #0BDH ;计67个数SETB TR1 ;计数器启动CLR P1.0 ;点亮小数点dpMOV R4, #0FFH ;置数-1MOV R0, #20H ;指向数据区首地址MOV R1, #04H ;数字个数LP1: MOV @R0, #00H ;把00放入显示数据区INC R0 ;指针加一DJNZ R1, LP1 ;继续置数OFF: SETB P1.2JNB P1.2, ON ;计价器开始跳转至ONACALL DISP ;调用显示子程序AJMP OFFON: SETB P1.3JB P1.3, DAY ;判断白天or夜间行车NIGHT: MOV R2, #00H ;价格后两位压缩BCD码MOV R3, #01H ;价格高两位压缩BCD码MOV 21H, #01H ;显示数据区放入起价BCD码CALL DISP ;显示夜间起价AJMP LP2DAY: MOV R2, #80H ;价格后两位压缩BCD码MOV R3, #00H ;价格高两位压缩BCD码MOV 22H, #08H ;显示数据区放入起价BCD码LP2: CALL DISP ;显示白天起价AJMP LP2CNT1: MOV 35H, R5MOV 36H, R6MOV 32H, R0MOV 31H, AMOV 30H, R4 ;保护中断前寄存器内容CJNE R4, #00H, INCC ;两公里内计数值加1 CLP0: MOV A, R2ADD A, #01H ;后两位计价加一DA A ;十进制调整MOV R2, AMOV A, R3ADDC A, #00H ;前两位计价加进位DA A ;十进制调整MOV R3, ACLP2: MOV A, R2MOV B, #10HDIV AB ;将压缩BCD码拆成BCD码MOV 23H, BMOV 22H, A ;按高低位存入显示数据区MOV A, R3MOV B, #10HDIV AB ;将压缩BCD码拆成BCD码MOV 21H, BMOV 20H, A ;按高低位存入显示数据区CALL DISP ;显示价格AJMP RETCINCC: INC R4 ;两公里内计数器加一RETC: MOV A, 31HMOV R0, 32HMOV R5, 35HMOV R6, 36H ;恢复中断前数据内容RETI ;中断结束DISP: MOV R5, #04H ;显示子程序,显示个数MOV R0, #20H ;指向数据区首地址MOV R6, #80H ;位选MOV DPTR, #TAB ;指针指向显示列表DLP0: MOV A, @R0MOVC A, @A+DPTR ;取出对应的显示代码MOV P0, A ;输出数据MOV A, R6MOV P2, A ;输出位选RR A ;右移位选MOV R6, AINC R0 ;指向下一地址DJNZ R5, DLP0 ;循环RET ;结束TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, DB 7FH, 67H ;显示代码列表END八、调试利用KeilC51软件对其进行编译、仿真,得出比较满意的效果。
基于单片机的出租车计价器设计20240525

基于单片机的出租车计价器设计20240525出租车计价器是一种用于计算乘客乘坐出租车所需支付费用的设备。
它可以根据时间和里程计算车费,并显示在计价器上供乘客查看。
本文将介绍基于单片机的出租车计价器的设计。
首先,我们需要使用一个单片机来控制计价器的运行。
单片机是一种集成电路,可以通过程序控制其输入和输出。
我们可以使用一些常见的单片机,如ATmega328P或PIC16F877A。
接下来,我们需要一些外部组件来实现计价器的功能。
这些组件包括LCD显示屏、按键、蜂鸣器和电子记忆器。
LCD显示屏用于显示车费、时间和里程等信息;按键用于设置起步价和每公里价格;蜂鸣器用于发出提醒声音;电子记忆器用于存储车费、时间和里程等信息,以便在断电后恢复运行。
计价器的设计包括以下几个部分:1.硬件设计:将LCD显示屏、按键、蜂鸣器和电子记忆器与单片机连接起来。
LCD显示屏通过并口或串口与单片机连接,按键通过输入引脚与单片机连接,蜂鸣器通过输出引脚与单片机连接,电子记忆器通过SPI或I2C总线与单片机连接。
2.软件设计:编写单片机的程序来实现计价器的功能。
程序应包括以下几个功能:-设置起步价和每公里价格:乘客可以通过按键设置起步价和每公里价格。
单片机将读取按键的状态,并将设置的值保存在RAM中。
-计算车费:根据时间和里程计算车费。
单片机将读取时间和里程,并使用保存在RAM中的起步价和每公里价格进行计算。
-显示车费:使用LCD显示屏显示计算得到的车费。
-提示声音:当计价器开始计费、结束计费或车费超过一定额度时,蜂鸣器将发出提醒声音。
-存储数据:将计费时间和里程等数据存储在电子记忆器中,以便在断电后恢复运行。
3.测试和调试:在设计完成后,需要对计价器进行测试和调试,确保其正常运行。
可以通过模拟输入数据并观察输出结果来进行测试。
通过以上的设计和实现,我们可以得到一个基于单片机的出租车计价器。
它可以准确计算乘客所需支付的车费,并通过LCD显示屏显示出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。
而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。
本设计的是一个基于单片机AT89S52的出租车自动计费设计,附有复位电路,时钟电路,键盘电路等。
复位电路是单片机的初始化操作,除了正常的初始化外,为摆脱困境,通过复位电路可以重新开始。
时钟电路采用12MHz的晶振,作为系统的时钟源,具有较高的准确性。
在上电时LED数码管显示最初的起步价,里程收费,等待时间收费三种收费。
按暂停键,计价器可暂停计价,按查询键,在LED数码管上可以显示运行时等待的时间。
通过计算可以得出总共的费用和总的路程。
在这里主要是以AT89S52单片机为核心控制器,P0口、P2 口接两片四合一数码管,P1口接按键,通过按键输入。
关键词:单片机 AT89S52;LED数码管;出租车计费器;目录1 概述 (1)1.1 课题简介 (1)1.2 功能要求 (1)2 系统总体方案及硬件设计 (2)2.1 系统工作原理及总体方案 (2)2.2 单片机最小系统单元 (3)2.3 霍尔传感器检测单元 (3)2.4 键盘调整单元 (5)2.5 显示单元 (5)3 软件设计 (7)3.1系统主程序 (7)3.2 按键扫描程序 (8)3.3 中断程序 (9)3.4 计算程序 (10)3.5 显示程序 (10)4 实验仿真 (12)4.1 Proteus介绍 (12)4.2 调试与测试 (12)4.3 里程计价测试 (12)5 课程设计体会 (14)参考文献 (15)附1:系统原理图 (16)附2:源程序代码 (16)1 概述1.1 课题简介出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。
为此,我们采用单片机系统设计了一款符合大众化的计费系统。
本方案以At89s52单片机为中心、配合LED数码管,实现对出租车计价统计。
本方案可以实现:1. 系统接收里程传感器的脉冲输入,并对脉冲进行计数,继而转换为里程。
2. 采用现行出租车的计价系统的计算方法,并对行驶里程进行计费,提供友好的用户界面,并具有发光二极管指示操作状态功能。
1.2 功能要求利用AT89s52单片机配合LED数码管,实现基本的出租车计价功能,具体设计规格如下:1. 用前4位数码管实时显示里程数,单位为公里,最后一位为小数位;用后4位数码管时时显示金额数,单位为元,最后一位为小数位。
2. 规定出租车单程价格为2元/公里,往返则价格为1.5元/公里;单程/往返分别由“单程”按键和“往返”按键设定。
3. 车速<5公里/小时的时间累积为总等待时间T(分钟),每5分钟等待时间相当于里程数增加1公里。
4. 起步公里数为3公里,价格为5元;若实际运行大于3公里,按“设计任务2”计算价格。
5. 到达目的地后,按“暂停”键,计价器可暂停计价。
6. 按“清除”键,计价器能将记录数据(里程、等待时间与价格等)自动清0。
7. 按“查询”键,能自动显示总等待时间T,再按下该键回到显示里程数、金额状态。
8. 扩展:空车指示、语音提示、信息存储等2 系统总体方案及硬件设计2.1 系统工作原理及总体方案出租车计价器用于记录里程、等待时间、是否往返、起步公里数与价格的关系,它能有效地避免司机与乘客间的矛盾,保障双方的利益。
出租车行驶总路程可以通过车轮的周长乘车轮旋转圈数得到。
即可计算得到车轮旋转几周出租车能行驶一公里的路程。
因此,使用霍尔传感器的目的就是方便地计量车轮旋转的圈数。
可在车轮转盘上粘一个小磁钢,当转轮转动时,霍尔传感器检测到磁场及其变化,产生脉冲信号。
输出的脉冲信号被接入到AT89S52单片机系统中,通过计算接收到的脉冲个数,计算出当前所行驶的路程。
同时,根据不同的收费标准,选择相应的起步价、单价等收费标准进行计算。
再配置上键盘和数码显示,通过键盘能够实现启动、暂停计价器、切换显示当前的行驶里程和需支付的车费。
通过分析,需要实现四个主要的功能模块,分别为脉冲计数模块、定时器计时模块、按键的处理以及数码管动态扫描等功能。
定时器计时模块主要完成途中等待(即没有脉冲来时)30秒的计时。
在启动键按下后,定时器就不停的计时,只要有脉冲来就将计时的值清除为零。
如果没有脉冲来,当计时超过30秒时,相应的总金额要按照收费标准计价。
中断的管理:尽管中断有嵌套以及优先级的功能,但是由于定时器已经使用一个了中断资源,脉冲检测不宜再采用中断方式,而是采用查询方式。
由于需要不停的要清除30秒的计时,因此,脉冲的计数不采用定时器的计数方式。
启动键触发定时器开始工作,而定时器的运行可以作为脉冲计数的标志,只要定时器计时在运行,每来一个中断都应该计数。
主程序完成键盘的扫描和按键的处理,查询脉冲产生的中断,并完成脉冲的计数。
若每个脉冲代表1米,则当计数到1000时表示1千米的距离,相应的总金额要按照收费标准计价。
采用MCS51系列单片机AT89S51作为主控制器,外围电路器件包括数码管、独立式键盘、复位电路等。
模拟出租车计价器能根据总里程数、总等待时间长短、是否往返、起步公里数的情况作出相应报价等。
当然实际的出租车计价器还具有打印票据,显示是否空车等功能。
总体模块如图2.1所示。
图2.1 电路的组成部分2.2 单片机最小系统单元主控机系统采用了Atmel 公司生产的 AT89S52单片机,它含有256 字节数据存储器,内置8K的电可擦除FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。
复位电路和晶振电路是AT89S52工作所需的最简外围电路。
单片机最小系统电路图如图2.2所示。
图2.2 单片机最小系统图在复位电路中,按一下复位开关就使在RST端出现一段时间的高电平,外接11.0592M 晶振和两个30pF电容组成系统的内部时钟电路。
2.3 霍尔传感器检测单元Us1881 属于开关型的霍尔器件,其工作电压范围比较宽(3.5~24V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO 端口上,而且其最高检测频率可达到1MHZ。
Us1881 集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压Vcc,经稳压器稳压后加在霍尔电势发生器的两端,根据霍尔效应原理,当霍尔片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍尔电势差VH输出,该VH信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到工作点(即Bop)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC 门输出端输出低电压,三极管截止,使OC门输出高电压,这种状态为关。
这样两次电压变换,使霍尔开关完成了一次开关动作。
图2.3 霍尔开关集成传感器原理图及其输出特性里程计算是通过安装在车轮上的霍尔元件检测到的信号,送到单片机,经过处理计算,送给显示显示单元的。
霍尔传感器是一种磁传感器。
用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。
霍尔传感器以霍尔效应为其工作基础,是由霍尔元件和它的附属电路组成的集成传感器。
霍尔传感器分为线性型霍尔传感器和开关型霍尔传感器两种。
我们所用的是开关型霍尔传感器。
其原理图如图2.4所示:我们选择P3.2口作为信号输入端,车轮每转一圈(假设车轮周长为1米),霍尔开关就检测并输出信号,引起单片机中断,对脉冲计数,当计数达到一千次时,也就是1公里,单片机就控制金额自动增加。
2.4 键盘调整单元独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。
I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低。
I/O口内部有上拉电阻时,外部可不接上拉电阻。
键盘接口电路如图2.5所示:图2.5 键盘接口电路S1:接P1.0口,对上一次的计费进行清零,为下次载客准备。
S2:接P1.1口,能自动显示总等待时间T,再按下该键回到显示里程数、金额状态。
S3:接P1.2口,选择是按单程计费还是双程计费。
S4:接P1.3口,可以暂停计费,方便乘客结账。
2.5 显示单元对于现实电路我们可以采用数码管,也可以采用液晶显示。
LED数码管特点有:寿命长、成本低、亮度高、故障少、视角大、可视距离远等,但其显示内容有限。
液晶显示的特点有:显示内容丰富等,但其驱动复杂,成本高;外部光线强时,可视距离近。
综合考虑,本次设计采用LED数码管。
显示电路如图2.6所示:图2.6 显示电路3 软件设计软件是单片机系统的灵魂,根据设计的要求,在本系统中本系统软件中包括下面程序模块:主程序:初始化系统涉及到的硬件模块,扫描键盘,根据按键启动/停止里程测量,实时更新单价、里程、等待时间、费用等信息显示。
按键扫描程序:扫描按键,返回扫描结果。
计算程序:将传感器发出脉冲数转换为公里数,并根据规则计算对应的费用。
显示子程序:将计算程序得到的数据反映到数码显示管上。
中断程序:监测行驶速度,统计等待时间。
现在应用更广泛的是单片机C语言,因其简单明了,故此次课程设计采用单片机C语言编程。
3.1系统主程序在主程序模块中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化以及中断、计算、循环等工作。
当汽车运行起来时,就启动计价,根据里程寄存器中的内容计算和判断行驶里程是否已超过起步价公里数。
若已超过,则根据里程值、每公里的单价数和起步价数来计算出当前的总金额,并将结果存于总金额寄存器中;中途等待时,无脉冲输入,不产生中断,当时间超过等待设定值时,开始进行计时,并把等待价格加到总金额里,然后将总金额、里程和单价、往返价格送数码管显示出来。
程序流程如图3.1所示:图3.1 主程序流程3.2 按键扫描程序键盘实质上是一组按键开关的集合,均利用机械触点的合、断作用。
按键在闭合及断开的瞬间均伴随有一连串的抖动,抖动反应在电压上就是呈现出高电平或低电平,为了确保CPU对一次按键动作只确认一次,必须消除抖动的影响。
去抖通常有硬件去抖和软件去抖两种方法,本程序使用软件延时去抖。
图3.2 按键抖动信号波形对于独立式键盘判键,首先看有键按下不,如果有键按下则延时一会儿,在判断是否真的有键按下,如果确实有键按下,再判键释放,最后执行键功能程序。