出租车计价器VHDL程序与仿真.doc

出租车计价器VHDL程序与仿真.doc

ID:53315116

大小:139.50 KB

页数:5页

时间:2020-04-03

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

《出租车计价器VHDL程序与仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、姓名:李文成学号:200711544专业:通信与信息系统出租车计价器VHDL程序与仿真。一、功能:出租车计价器。二.源程序及各模块和主要语句的功能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_l

2、ogic;--等待信号fin:instd_logic;--公里脉冲信号cha3,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

3、,1Hz的信号signalq_15:integerrange0to15;--分频器signalq_16:integerrange0to14;--分频器signalq_1:integerrange0to239;--分频器signalw:integerrange0to59;--秒计数器signalc3,c2,c1,c0:std_logic_vector(3downto0);--制费用计数器signalk1,k0:std_logic_vector(3downto0);--公里计数器signalm1:std_logic_

4、vector(2downto0);--分的十位计数器signalm0:std_logic_vector(3downto0);--分的个位计数器signalen1,en0,f:std_logic;--使能信号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=15then

5、q_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_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语句得

6、到计费脉冲f姓名:李文成学号:200711544专业:通信与信息系统elsifen0='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<="000";m0<="0000";k1<="0000";k0<="0000";elsifstop='1'thenifw=59thenw<=0;--此IF语

7、句完成等待计时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'thenifk0="1001"thenk0<="0000";--此IF语句完成公里脉冲计数ifk

8、1="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<

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

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

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