出租车自动计费系统

上传人:豆浆 文档编号:28678974 上传时间:2018-01-19 格式:DOC 页数:15 大小:199.50KB
返回 下载 相关 举报
出租车自动计费系统_第1页
第1页 / 共15页
出租车自动计费系统_第2页
第2页 / 共15页
出租车自动计费系统_第3页
第3页 / 共15页
出租车自动计费系统_第4页
第4页 / 共15页
出租车自动计费系统_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《出租车自动计费系统》由会员分享,可在线阅读,更多相关《出租车自动计费系统(15页珍藏版)》请在金锄头文库上搜索。

1、大 庆 石 油 学 院课 程 设 计2010 年 3 月 12 日课 程 EDA 技术课程设计 题 目 出租车自动计费系统 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 xxxx 学生学号 06xxx1140124 指导教师 xxxxxxx 1大庆石油学院课程设计任务书课程 EDA 技术课程设计题目 出租车自动计费系统 专业 电子信息工程 姓名 学号 060 140124主要内容、基本要求、主要参考资料等主要内容:设计一个最大量程为99.99元的出租车自动计费,计费器具有行车里程计费、等候时间计费及起价三部分功能,并用数码管显示车费的数目。基本要求:1、设计一个出租车自动计费器,具有

2、行车里程计费、等候时间计费、及起价三部分,用四位数码管显示总金额,最大值为99.99元;2、行车里程单价1元/公里,等候时间单价 0.5元/10 分钟,起价 3元(3公里起价)均能通过人工输入。3、行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公里单价的比例系数,比例系数可由开关预置。例如单价是1.0元/公里,则脉冲当量为0.01元/脉冲。4、用LED显示行驶公里数,两个数码管显示收费金额。主要参考资料:1 潘松著.EDA技术实用教程 (第二版

3、). 北京:科学出版社 ,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社 ,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限 2010.3.12 指导教师 专业负责人 2010 年 3 月 8 日2一、总体设计思想1.基本原理可以使用汽车的里程计数脉冲,也可以在车轮上加装电磁继电器,在每行驶一定里程发出一次脉冲。在本实验中假设每 10 米发出一次脉冲。时间信号可以通过电容电感振荡电路或晶体振荡电路产生分频取得。本实验中使通过实验箱的固定脉冲产生模块取得。基于 CPLD 的出租车计费器的组成如下图所示。各部分主要功能包括:信号输入模块对车轮传

4、感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成 4 位的十进制数据;译码动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用 4 位 LED 数码管显示(2 位整数,2 位小数)。2.设计框图上电写入程序,后由 RST(清零)信号置低电平开始。分别控制计时和计程EN 开始或停止计费。计程和计费中每 km 或分钟发一次脉冲给计费模块。这三个模块的数据处理信息通过总线输送到显示模块。进行译码。译码输出位选和七段数码管显示信息。由外围电

5、路:74ls138 和八位七段数码管显示。前 3 位金额后四位为里程和计时。中间一位为 F,实际可以使用特殊的数码管显示元。3二、设计步骤和调试过程1、总体设计电路计程模块是 2 个 100 进制计数器,输入的每 10 米一次脉冲经一次 100 进制计数获得每 km 一次的脉冲,由 100 进制计数输出为 2 个 4 位 2 进制 BCD 码。接显示模块,得到计程(0-99km)。计时部分:计算乘客的等待累计时间。等候时间计费需将等候时间转换成脉冲个数,用每个脉冲表示的金额与脉冲数相乘即得计费数,例如 100 个脉冲表示 10 分钟,而 10 分钟收费 0。5 元,则脉冲当量为 0。05 元/

6、脉冲,如果将脉冲当量设置成与行车里程计费相同(0。01 元/脉冲) ,则 10 分钟内的脉冲数应为 500 个。计程部分:计算乘客所行驶的公里数。计程器的量程为 99km,满量程后自动归零。显示模块输入计费、计时,计程数据总线通过扫描脉冲选择一个 BCD 码进行译码,每扫描一次进行一位显示。所以扫描脉冲适当取高一点。考虑视觉暂留 25 帧乘 8 得 200Hz 以上为好。实际实验中使用了 5859Hz。行车里程等车时间起 步 价BCD码比例乘法器BCD码比例乘法器比例 (每转一圈送一个脉冲)。不同车型的车轮直径可能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。(2)B

7、计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”实现起步公里数预制。(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完成超价加费、起步价预制等。(4)译码动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。(5)数码管显示将公里数和计费金额均用四位LED数码管显示(三位整数,1位小数)。等车单价里程单价脉冲数求和计数器 译码器 显示器脉冲电路出租车计费器框图4其他 RST 信号,每 10 米,1Hz,74ls38 三位八线选择器,八位七段数码管由外围设备和电路提供。2、模块设计和

8、相应模块程序2.1 计数器原理:通过分别设计计程计费计时模块完成各自功能。2.2 计程模块原理使用 4 位十进制计数器封装成为 8 位一百进制计数器。对于外部每 10 米的里程脉冲,经计数可以每 km 输出进位脉冲一次。再用一百进制计数器对其进行计数。通过对计数输出信号的译码可以得到里程显示。2.3 计时模块原理使用 1Hz 的外部脉冲信号,使用 5 位 60 进制计数器。可以得到每分钟一次的脉冲输出。再使用一百进制计数器对其进行计数。通过对计数输出信号的译码可以得到时间显示。52.4 计费模块原理计费模块是设计中的关键模块,也是最难的模块。逻辑复杂,要求多。使用前两模块中的分钟信号作为时间输

9、入,千米信号作为路程输入。使用2 个特殊编写的 10 进制计数器对时间和里程计数。并且在里程计数设置 ENT输出,在计费小于 3 元是钳制角金额输出为零。但是角计费照常只是不显示。在金额超过 3 元时显示。再使用一十进制计数器进行十元计数。2.5 显示模块原理通过使用 74ls138 和七段数码管进行显示和显示位选择。这要求输出使用3 位输出为位选,对其译码得到数码管地址,7 位数据在相应数码管上显示相应的数据。2.6 综合通过 VHDL 和原理图的混合设计完成对各模块的编写,连接。时间.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD

10、_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TAXI ISPORT(CLK:IN STD_LOGIC;START:IN STD_LOGIC;STOP:IN STD_LOGIC;FIN:IN STD_LOGIC;CHA3,CHA2,CHA1,CHA0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);6KM1,KM0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);MIN1,MIN0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END TAXI;ARCHITECTUR

11、E BEHAVE OF CHUZUCHE ISSIGNAL Q_1:INTEGER RANGE 0 TO 99;SIGNAL W:INTEGER RANGE 0 TO 59;SIGNAL C3,C2,C1,C0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL K1,K0 :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL M1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL M0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL TEMP0,TEMP1 :STD_LOGIC_VECTOR(3 DOWNT

12、O 0);SIGNAL F_1:STD_LOGIC;SIGNAL EN0,EN1:STD_LOGIC;BEGIN FEIPIN:PROCESS(CLK,START)BEGINIF CLKEVENT AND CLK=1 THEN IF START=0 THENF_100000011 THENEN000000010 THENEN1=1;ELSEEN1=0;END IF;END IF;END IF;END PROCESS;PROCESS(CLK,START)VARIABLE C13,C15:INTEGER;BEGINIF START=0 THENC3=0000; C2=0000; C1=0101;

13、C0=0000; C13:=0; C15:=0; TEMP0=0000;TEMP1=0000;ELSIF CLKEVENT AND CLK=1 THENIF (EN0=1) THEN9IF (C1313) THENC13:=C13+1;IF (C13=1) THENTEMP0=K0;END IF;IF C0=1001 THENC0=0000;IF C1=1001 THENC1=0000;IF C2=1001 THENC2=0000;IF C3=1001 THENC3=0000;ELSE C3=C3+1;END IF;ELSEC2=C2+1;END IF;ELSEC1=C1+1;END IF;E

14、LSEC0=C0+1;END IF;ELSIF(K0/=TEMP0) THEN C13:=0;END IF;ELSIF(EN1=1) THENIF(C1515) THENC15:=C15+1;IF(C15=1) THENTEMP1=M0;END IF;IF C0=1001 THENC0=0000;IF C1=1001 THEN10C1=0000;IF C2=1001 THENC2=0000;IF C3=1001 THENC3=0000;ELSEC3=C3+1;END IF;ELSEC2=C2+1;END IF;ELSEC1=C1+1;END IF;ELSEC0=C0+1;END IF;ELSI

15、F(M0/=TEMP1) THEN C15:=0;END IF;END IF;END IF;END PROCESS;PROCESS(F_1)BEGINIF F_1 EVENT AND F_1=1 THENIF START =0 THEN MIN1=0000; MIN0=0000;KM1=0000; KM0=0000;CHA3=0000;CHA2=0000;CHA1=0000;CHA0=0000;ELSEMIN1=M1;MIN0=M0;KM1=K1;KM0=K0;CHA3=C3;CHA2=C2;CHA1=C1;CHA0=C0;END IF;END IF;END PROCESS;11END BEHAVE;3、仿真及仿真结果分析仿真图124、实验调试结果由仿真图可知,该程序可以实现任务书中所要求的计费系统的功能,包括行车里程计费、等候时间计费及起价三部分,并通过加

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号