出租车计价器vhdl程序与仿真

出租车计价器vhdl程序与仿真

ID:22835023

大小:138.01 KB

页数:6页

时间:2018-10-31

出租车计价器vhdl程序与仿真_第1页
出租车计价器vhdl程序与仿真_第2页
出租车计价器vhdl程序与仿真_第3页
出租车计价器vhdl程序与仿真_第4页
出租车计价器vhdl程序与仿真_第5页
资源描述:

《出租车计价器vhdl程序与仿真》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、8.22出租车计价器VHDL程序与仿真。--文件名:taxi.hd。--功能:出租车计价器。--最后修改日期:2004.4.9。libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitytaxiisport(clk_240:instd_logic;--频率为240Hz的时钟start:instd_logic;--计价使能信号stop:instd_logic;--等待信号fin:instd_logic;--公里脉冲信号cha

2、3,cha2,cha1,cha0:outstd_logic_vector(3downto0);--费用数据km1,km0:outstd_logic_vector(3downto0);--公里数据min1,min0:outstd_logic_vector(3downto0));--等待时间endtaxi;architecturebehavoftaxiissignalf_15,f_16,f_1:std_logic;--频率为15Hz,16Hz,1Hz的信号signalq_15:integerrange0to15;--分频器signalq_16:integerrange0to

3、14;--分频器signalq_1:integerrange0to239;--分频器signalw:integerrange0to59;--秒计数器signalc3,c2,c1,c0:std_logic_vector(3downto0);--制费用计数器signalk1,k0:std_logic_vector(3downto0);--公里计数器signalm1:std_logic_vector(2downto0);--分的十位计数器signalm0:std_logic_vector(3downto0);--分的个位计数器signalen1,en0,f:std_logic

4、;--使能信号beginfeipin:process(clk_240,start)beginifclk_240'eventandclk_240='1'thenifstart='0'thenq_15<=0;q_16<=0;f_15<='0';f_16<='0';f_1<='0';f<='0';elseifq_15=15thenq_15<=0;f_15<='1';--此IF语句得到频率为15Hz的信号elseq_15<=q_15+1;f_15<='0';endif;ifq_16=14thenq_16<=0;f_16<='1';--此IF语句得到频率为16Hz的信号elseq

5、_16<=q_16+1;f_16<='0';endif;ifq_1=239thenq_1<=0;f_1<='1';--此IF语句得到频率为1Hz的信号elseq_1<=q_1+1;f_1<='0';endif;ifen1='1'thenf<=f_15;--此IF语句得到计费脉冲felsifen0='1'thenf<=f_16;elsef<='0';endif;endif;endif;endprocess;process(f_1)beginiff_1'eventandf_1='1'thenifstart='0'thenw<=0;en1<='0';en0<='0';m1<=

6、"000";m0<="0000";k1<="0000";k0<="0000";elsifstop='1'thenifw=59thenw<=0;--此IF语句完成等待计时ifm0="1001"thenm0<="0000";--此IF语句完成分计数ifm1<="101"thenm1<="000";elsem1<=m1+1;endif;elsem0<=m0+1;endif;ifm1&m0>"0000001"thenen1<='1';--此IF语句得到en1使能信号elseen1<='0';endif;elsew<=w+1;en1<='0';endif;elsiffin='1'

7、thenifk0="1001"thenk0<="0000";--此IF语句完成公里脉冲计数ifk1="1001"thenk1<="0000";elsek1<=k1+1;endif;elsek0<=k0+1;endif;ifk1&k0>"00000010"thenen0<='1';--此IF语句得到en0使能信号elseen0<='0';endif;elseen1<='0';en0<='0';endif;cha3<=c3;cha2<=c2;cha1<=c1;cha0<=c0;--费用数据输出km1<=k1;km0<=k0;min1<='0'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。