出租车计费系统VHDL.doc
《出租车计费系统VHDL.doc》由会员分享,可在线阅读,更多相关《出租车计费系统VHDL.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流出租车计费系统VHDL.精品文档.EDA课程设计:出租车计费系统学生姓名:所在班级:指导老师:完成时间:一、课程设计目的 1、综合运用EDA技术,独立完成一个课题的设计,考察运用所学知识,解决实际问题的能力; 2、结合理论知识,考察阅读参考资料、文献、手册的能力; 3、进一步熟悉EDA技术的开发流程,掌握文件编辑、编译、仿真、下载验证等环节的实现方法和应用技巧;二、课程设计要求 实际中出租车的计费工作原理一般分成3个阶段: (1)车起步开始计费。首先显示起步价(本次设计起步费为7.00元),车在行驶3 km以内,只收起步价7.00元。 (2)
2、车行驶超过3 km后,按每公里2.2元计费(在7.00元基础上每行驶1 km车费加2.2元),车费依次累加。 (3)行驶路程达到或超过9 km后(车费达到20元),每公里加收50%的车费,车费变成按每公里3.3元开始计费。车暂时停止(行驶中遇红灯或中途暂时停车)不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始三、基本设计思想 1、 根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。计数器A完成车费百位。计数器B完成车费十位和个位。计数器C完成车费角和分。计数器D完成计数到30(完成车
3、费的起步价)。计数器E完成模拟实现车行驶100 m的功能。 2、行驶过程中车费附加50%的功能:由比较器实现。 3、车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动态数据的显示。 4、通过分析可以设计出系统的顶层框图如图3.1所示:图3.1 系统的顶层框图四、出租车计费系统的实现 1、 系统的总体框图图4.1 系统总体框图 2、 程序流程图车开始启动里程不计数里程计数里程显示计费器计数车费显示车跑完一次后车费、里程清零YESYESYESNONO图4.2程序流程图3、系统各功能模块的实现 (1)模块JIFEI的实现: 图4.3 模块JIFEI模块JIFEI见图4.3。输入端
4、口START、STOP、PAUSE、JS分别为汽车起动、停止、暂停、加速按键。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jifei is port (clk,start,stop,pause,js:in std_logic;chefei,luc:out integer range 0 to 8000);end jifei;architecture rtl of jifei isbeginprocess(clk,start,stop,pause,js)variable a,b:s
5、td_logic;variable aa:integer range 0 to 100;variable chf,lc:integer range 0 to 8000;variable num:integer range 0 to 9; beginif(clkevent and clk=1)thenif(stop=0)thenchf:=0;num:=0;b:=1;aa:=0;lc:=0;elsif(start=0)thenb:=0;chf:=700;lc:=0;elsif(start=1 and js=1and pause=1)thenif(b=0)thennum:=num+1;end if;
6、if(num=9)thenlc:=lc+5;num:=0;aa:=aa+5;end if; elsif(start=1and js=0and pause=1)thenlc:=lc+1;aa:=aa+1;end if;if(aa=100)thena:=1;aa:=0;elsea:=0;end if;if(lc300)thennull;elsif(chf=2000 and a=1)then chf:=chf+330; end if;end if;chefei=chf;luc=lc;end process;end rtl;(2)模块X的实现:模块X见图4.4。该模块把车费和路程转化为4位十进制数,d
7、aclk的频率要比clk快得多图4.4 模块Xlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity x is port(daclk:in std_logic;ascore,bscore:in integer range 0 to 8000;age,ashi,abai,aqian,bge,bshi,bbai,dqian:out std_logic_vector(3 downto 0);end x ;architecture rtl of x isbegin process(daclk,asc
8、ore) variable comb1:integer range 0 to 8000;variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0);begin if(daclkevent and daclk=1)then if(comb1ascore)thenif(comb1a=9 and comb1b=9 and comb1c=9)thencomb1a:=0000;comb1b:=0000;comb1c:=0000;comb1d:=comb1d+1;comb1:=comb1+1;elsif(comb1a=9 and co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 出租车 计费 系统 VHDL
限制150内