出租车计时器设计_第1页
出租车计时器设计_第2页
出租车计时器设计_第3页
出租车计时器设计_第4页
出租车计时器设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、出租车计时器设计出租车自动计费器设计一.设计要求1、设计一个出租车自动计费器,具有行车里程计费、等候时间计费、及起价三 部分,用四位数码管显示总金额,最大值为 99。99元;2、行车里程单价1元/公里,等候时间单价00 5元/10分钟,起价3元(3公里 起价)均能通过人工输入。3、 行车里程的计费电路将汽车行驶的里程数转换成与之成正比的脉冲数,然后 由计数译码电路转换成收费金额,实验中以一个脉冲模拟汽车前进十米,则每100个脉冲表示1公里,然后用BCD码比例乘法器将里程脉冲乘以每公 里单价的比例系数,比例系数可由开关预置。例如单价是1o 0元/公里,则脉冲当量为00 01元/脉冲。4、用LED

2、显示行驶公里数,两个数码管显示收费金额。二原理描述利用层次化设计理论,将设计问题自顶向下可分为分频模块,控制模块,计量模块和显示模块。系统框图如下图 1:ENij.-EHlC3-C0计时4分频器F 1计费显 示4等待信号stop*计费復位start系统时钟elk-公里脉冲fill计程CHAiCHAI.CHAOLumnWTOKM1KW)图12.1分频模块分频模块对频率为 240Hz的输入脉冲进行分频,得到15Hz, 16Hz, 1Hz的3种频率,该模块产生频率信号用于计费2.2计量控制模块计量控制模块是出租车自动计费器系统的主体部分,该模块主要完成等待计时功能,计价功能和计程功能。计时功能的主要

3、任务是计算乘客的等待累计时间,计时器的量程为59分,满量程自动清零。计程功能的主要任务是计算乘客所行使的公里数,计程器的量程 为99公里,满量程自动归零。三实验程序3.1出租车计价器VHDL程序通过VHDL语言的顺序语句根据一个或者一组条件选择某一特定的执行通 道,生成计费数据,计时数据和里程数据。1.出租车计价器VHDL程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity taxi is port ( clk_240 :in

4、stdogic;的时钟start :in std_logic; stop:in stdo gic; fin:in stdo gic;-频率为240Hz-计价使能信号-等待信号-公里脉冲信号cha3,cha2,cha1,cha0:out stdo gic_vector(3 downto 0)费用数据km1,km0:out stdo gic_vector(3 downto 0); min1,min0: out stdo gic_vector(3 downto 0); end taxi;-公里数据-等待时间-频率为 15Hz ,16Hz,-分频器-分频器-分频器-秒计数器-制费用计数器-公里计数器-

5、分的十位计数器-分的个位计数器architecture behav of taxi issignal f_15,f_16,f_1:stdo gic;1Hz的信号 一 一 一signal q_15:integer range 0 to 15;signal q_16:integer range 0 to 14;signal q_1:integer range 0 to 239;signal w:integer range 0 to 59;signal c3,c2,c1,c0:std_logic_vector(3 downto 0);signal k1,k0:stdo gic_vector(3 do

6、wnto 0);signal m1:stdo gic_vector(2 downto 0);signal m0:stdo gic_vector(3 downto 0);signal en1,en0,f:std_logic;-使能信号beginfeipin:process(clk_240,start)beginif clk_240event and clk_240=1 thenif start=0 then q_15v=0;q_16v=0;f_15v=0;f_16v=0;f_lv=0;fv=0;elseif q_15=15 then q_15v=0;f_15v=1; 号else q_15v=q_

7、15+1;f_15v=0;end if;if q_16=14 then q_16v=0;f_16v=1; 号else q_16v=q_16+1;f_16v=0;end if;if q_仁239 then q_lv=0;f_lv=1;号一一 一else q_lv=q_1+1;f_lv=O;end if;if en 仁1 then fv=f_15;elsif en0=1 then fv=f_16;else fv=0;end if;end if;end if;end process;main: process(f_1)begin-此语句得到频率为15Hz的信-此语句得到频率为16Hz的信-此语句得到

8、频率为1Hz的信-此语句得到计费脉冲fif f_1event and f_1=1 thenif start=0 then wv=0;en1v=0;en0v=0;m1v=000;m0v=0000;k1v=0000;k0v=00 00;elsif stop=1 thenif w=59 then wv=0;-此语句完成等待计时if m0=1001 then m0v=0000;-此语句完成分计数if m1v=101 then m1v=000;else m1v=m1+1;end if;else m0v=m0+1;end if;if m1&m00000001then en1=1;使能信号else en1=

9、0; end if;else wv=w+1;en1=0;end if;elsif fin=1 thenif k0=1001 then k0v=0000;脉冲计数if k仁1001 then klv=0000; else k100000010 then en0v=1;使能信号else en0v=0;end if;else enlv=0;en0v=0; end if;cha3v=c3;cha2v=c2;chalv=c1;cha0v=c0;出kmlv=k1;km0v=kO;minlv=O&m1;min0v=m0; 分钟数据输出end if;end process main;-此语句得到 en1-此语

10、句完成公里-此语句得到en0-费用数据输-公里数据、jifei: process(f,start)beginif start=0 then c3v=0000;c2v=0011;clv=0000;c0v=0000; elsif fevent and 仁1 thenif c0=1001 then c0v=0000;-此语句完成对费用的计数if c仁1001 then c1v=0000;if c2=1001 then c2v=0000;if c3v=1001 then c3v=0000;else c3v=c3+1;end if;else c2v=c2+1;end if;else c1v=c1+1;e

11、nd if;else c0v=c0+1;end if;end if;end process jifei;end behav;该程序包含3个进程模块。fepin进程对频率为240Hz的输入脉冲进行分频, 得到3种计费频率信号,供 main进程和计费进程进行计费,计时,计程只用; main进程完成等待计时功能,计程功能,该模块将等待时间和行使公里数变成 秒冲个数计算,jifei进程将起步价3元预先固定在电路中,通过对计费脉冲个数 的统计,计算出整个费用数据。源程序中输入信号fin是汽车传感器提供的距离脉冲信号;start为汽车计价启动 信号,当start=1时,表示开始计费,此时将计价器计费数据初

12、值送入,计费信 号变量,里程数清零,计时计数器清零;stop为汽车停止信号,当stop=1时,表示停车等待状态,并开始等待计时计费。3.2译码显示通过将计费数据(4位BCD码),计程数据(2位BCD码)送入显示译码 模块进行译码,其中计费数据最后送至以百元,十元,元,角为单位对应数码 管上显示,最大为999.9元,计程数据送入显示译码模块进行译码,最后送至以 公里为单位的数码管上显示。七段数码管显示译码器的VHDL源程序LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_unsigned.all;ENTITY di_LED I

13、S;Port(d:in stdo gic_vector(3 downto 0);q:out stdo gic_vector(6 downto 0);end di_LED;architecture rtl of di_LED isbeginprocess(d)begincase d iswhen 0000”=qv= ”0111111;-gfedcbawhen 0001”=qv= ”0000110;when 0O1O”=qv= ”1011011”;when 0011”=qv= ”1001111;when 0100”=qv= ”1100110;when 0101”=qv= ”1101101”;whe

14、n 0110=qv= ”1111101;when 0111”=qv= ”0100111”;when 1000”=qv=”1111111;when others=qv= 1101111;end case;end process; end rtl;源程序中输入信号d3.0为BCD码输入,q6.0为七段译码输出。四仿真图形根据图1给出的出租车自动系统框图,出租车自动计费器可分为出租车自 动计费器系统的主体taxi模块,计数器模块和七段数码显示译码器模块。按已 确立的模块和程序,在第三方仿真软件modelsim中,得到的出租车自动计费器的仿真图形如图2。图2五实验总结与心得体会经过这次的实验设计,我有了很深的体会。 对于 muxplus2 和 quartus2软件的使用也更加的得心应手。在这个过程 中我们遇到了很多的问题。为了解决这些问题我努力通过各种渠道寻找解决问 题的方法。上网查资料、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论