出租车自动计费系统.doc

上传人:豆**** 文档编号:17497888 上传时间:2022-05-24 格式:DOC 页数:16 大小:164KB
返回 下载 相关 举报
出租车自动计费系统.doc_第1页
第1页 / 共16页
出租车自动计费系统.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《出租车自动计费系统.doc》由会员分享,可在线阅读,更多相关《出租车自动计费系统.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流出租车自动计费系统.精品文档.东 北 石 油 大 学课 程 设 计课 程 EDA技术课程设计 题 目 出租车自动计费系统 院 系 电子科学学院 专业班级 电子信息工程 学生姓名 学生学号 指导教师 2011年 3 月11日东北石油大学课程设计任务书课程 EDA技术课程设计题目 出租车自动计费系统 专业 姓名 学号 主要内容、基本要求、主要参考资料等主要内容:设计一个最大量程为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.完成期限 2011.3.11 指导教师 专业负责人 2011年 3月11日一、总体设计思想1.基本原理本次设计首先在Quartus环境中对出租车自动计费器的各个部分利用VHDL这一硬件描述语言予以设计,生成模块。而整个设计的核心部分就在分频/计量模块,该模块完成的功能主要包括计费脉冲的产生,等待计时、计价、计程功能。随后运用Quartus中的仿真功能对其予以仿真,从仿真的结果中分析程序的正确性。待所有模块的功能正确之后,运用原理图搭建顶层电路并进行整体仿

4、真直至达到最初的设计要求,最后再在实验箱上检验设计的正确与否。基于CPLD的出租车计费器的组成如下图所示。各部分主要功能包括:信号输入模块对车轮传感器传送的脉冲信号进行计数(每转一圈送一个脉冲),并以高低脉冲模拟出租汽车启动、停止、暂停、加速按钮,具有输入信号作用;数据转换模块将计费模块输出的车费和路程转换成4位的十进制数据;译码动态扫描模块将路程与费用的数值译码后用动态扫描的方式驱动数码管;数码管显示模块将公里数和计费金额均用4位LED数码管显示(2位整数,2位小数)。2.设计框图行车里程等车时间起 步 价BCD码比例乘法器BCD码比例乘法器比例 (每转一圈送一个脉冲)。不同车型的车轮直径可

5、能不一样,通过“设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。(2)B计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”实现起步公里数预制。(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完成超价加费、起步价预制等。(4)译码动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。(5)数码管显示将公里数和计费金额均用四位LED数码管显示(三位整数,1位小数)。 等车单价里程单价脉冲数求和计数器译码器显示器脉冲电路出租车计费器框图上电写入程序,后由RST(清零)信号置低电平

6、开始。分别控制计时和计程EN开始或停止计费。计程和计费中每km或分钟发一次脉冲给计费模块。这三个模块的数据处理信息通过总线输送到显示模块。进行译码。译码输出位选和七段数码管显示信息。由外围电路:74ls138和八位七段数码管显示。前3位金额后四位为里程和计时。中间一位为F,实际可以使用特殊的数码管显示元。二、设计步骤和调试过程1、总体设计电路计程模块是2个100进制计数器,输入的每10米一次脉冲经一次100进制计数获得每km一次的脉冲,由100进制计数输出为2个4位2进制BCD码。接显示模块,得到计程(0-99km)。计时部分:计算乘客的等待累计时间。等候时间计费需将等候时间转换成脉冲个数,用

7、每个脉冲表示的金额与脉冲数相乘即得计费数,例如100个脉冲表示10分钟,而10分钟收费0。5元,则脉冲当量为0。05元/脉冲,如果将脉冲当量设置成与行车里程计费相同(0。01元/脉冲),则10分钟内的脉冲数应为500个。计程部分:计算乘客所行驶的公里数。计程器的量程为99km,满量程后自动归零。显示模块输入计费、计时,计程数据总线通过扫描脉冲选择一个BCD码进行译码,每扫描一次进行一位显示。所以扫描脉冲适当取高一点。考虑视觉暂留25帧乘8得200Hz以上为好。实际实验中使用了5859Hz。其他RST信号,每10米,1Hz,74ls38三位八线选择器,八位七段数码管由外围设备和电路提供。2、模块

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

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

10、GIC_UNSIGNED.ALL;ENTITY TAXI IS PORT(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); KM1,KM0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); MIN1,MIN0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END TAXI;ARCHITECTURE BEHAVE OF TAXI IS SIGNAL

11、 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 DOWNTO 0); SIGNAL F_1:STD_LO

12、GIC; SIGNAL EN0,EN1:STD_LOGIC; BEGIN FEIPIN:PROCESS(CLK,START) BEGIN IF CLKEVENT AND CLK=1 THEN IF START=0 THEN F_1=0; Q_1=0; ELSE IF Q_1=99 THEN Q_1=0; F_1=1; ELSE Q_1=Q_1+1; F_1=0; END IF; END IF; END IF;END PROCESS;PROCESS(FIN) BEGIN IF FINEVENT AND FIN=1 THEN IF START =0 THEN K1=0000; K0=0000; E

13、LSIF STOP =0 THEN IF K0=1001 THEN K0=0000; IF K1=1001 THEN K1=0000; ELSE K1=K1+1; END IF; ELSE K0=K0+1; END IF; END IF; END IF;END PROCESS;PROCESS(F_1)BEGINIF F_1EVENT AND F_1=1 THENIF START =0 THEN W=0; M1=0000; M0=0000; ELSIF STOP =1 THEN IF W=59 THEN W=0; IF M0=1001 THEN M0=0000; IF M1=0101 THEN

14、M1=0000; ELSE M1=M1+1; END IF; ELSE M0=M0+1; END IF; ELSE W=W+1; END IF; END IF; END IF;END PROCESS;PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THEN IF START =0 THEN EN0=0; EN1=0; ELSIF STOP =0 THEN EN000000011 THEN EN0=1; ELSE EN0=0; END IF; ELSIF STOP =1 THEN EN000000010 THEN EN1=1; ELSE EN1=0; END IF;

15、 END IF;END IF;END PROCESS;PROCESS(CLK,START) VARIABLE C13,C15:INTEGER; BEGIN IF START=0 THEN C3=0000; C2=0000; C1=0101; C0=0000; C13:=0; C15:=0; TEMP0=0000;TEMP1=0000; ELSIF CLKEVENT AND CLK=1 THEN IF (EN0=1) THEN IF (C1313) THEN C13:=C13+1; IF (C13=1) THEN TEMP0=K0; END IF; IF C0=1001 THEN C0=0000

16、; IF C1=1001 THEN C1=0000; IF C2=1001 THEN C2=0000; IF C3=1001 THEN C3=0000; ELSE C3=C3+1; END IF; ELSE C2=C2+1; END IF; ELSE C1=C1+1; END IF; ELSE C0=C0+1; END IF; ELSIF(K0/=TEMP0) THEN C13:=0; END IF;ELSIF(EN1=1) THEN IF(C1515) THEN C15:=C15+1; IF(C15=1) THEN TEMP1=M0; END IF;IF C0=1001 THENC0=000

17、0; IF C1=1001 THEN C1=0000;IF C2=1001 THEN C2=0000; IF C3=1001 THEN C3=0000; ELSE C3=C3+1;END IF;ELSEC2=C2+1;END IF;ELSEC1=C1+1;END IF;ELSEC0=C0+1;END IF;ELSIF(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; K

18、M1=0000; KM0=0000;CHA3=0000;CHA2=0000;CHA1=0000;CHA0=0000; ELSE MIN1=M1;MIN0=M0; KM1=K1;KM0=K0; CHA3=C3;CHA2=C2;CHA1=C1;CHA0=C0; END IF; END IF; END PROCESS;END BEHAVE;3、 仿真及仿真结果分析仿真图4、实验调试结果由仿真图可知,该程序可以实现任务书中所要求的计费系统的功能,包括行车里程计费、等候时间计费及起价三部分,并通过加法器计算出总费用。三、结论及心得体会这次的课程设计令我收获颇丰。设计的核心内容就是Quartus环境中,利

19、用VHDL语言设计出基于CPLD的出租车自动计费器。整个设计过程中首先对数字电路这门课程有了更深的了解,因为课程设计本身要求将以前所学的理论知识运用到实际的电路设计当中去,在电路的设计过程中,无形中便加深了对数字电路的了解及运用能力,对课本以及以前学过的知识有了一个更好的总结与理解;以前的数字实验只是针对某一个小的功能设计,而此次得EDA课程设计对我们的总体电路的设计的要求更严格,需要通过翻阅复习以前学过的知识确立了实验总体设计方案,然后逐步细化进行各模块的设计;其次,在电路仿真的过程中总会出现一些问题,需要我们细心解决,所以这两周下来,我对电路故障的排查能力有了很大的提高;再次,通过此次课程

20、设计,我对设计所用到的软件有了更加深刻地了解,这对我们以后的工作和学习的帮助都很有用处。感谢学校给我们这次机会,锻炼了我们的动手能力。通过这次课设让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在数电上有很多的知识漏洞,以后应该多钻研一下。同时也感谢指导老师在设计过程中的辅导以及同学的帮助。参考资料主要参考资料:1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.大庆石油学院课程设计成绩评价表课程名称EDA技术课程设计题目名称出租车自动计费系统设计学生姓名学号指导教师姓名职称序号评价项目指 标满分评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54答辩能正确回答指导教师所提出的问题。30总分评语:指导教师: 2011年 3 月11日

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁