欢迎来到天天文库
浏览记录
ID:37730988
大小:158.50 KB
页数:15页
时间:2019-05-29
《出租车计费器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、出租车计费器原理出租车计费器基于以下原理:一个计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。这样根据不同车轮直径就可以得到在一定时间内的行驶路程,最终一个相应的脉冲信号传给计费系统,计费系统根据该信号判别行驶状态,如过慢则认为等待等,根据不同的预设条件,计算相应费用。内容1、用VHDL语言设计一个出租车计费器;包含以下功能:计费及显示里程:五位数字,单位为km,精确到0.1km等候时间:五位数字显示分钟和秒,显示方式为xxxxx,速度小于12km/h时为等候,等候大于一小时,不显示,但进行
2、统计计算。行驶里程费用:起步价10元,6公里内,之后超过一公里有相应价格,不同时段单价不同。显示费用,五位数字。单位为元。通过选择控制,可以显示等待时间,等待费用,行驶里程,行时费用,以及总费用。原理框图引脚分配情况CLKP25DATAOUT[12]AE20SELECT[0]A21DATAOUT[11]AF20SELECT[1]B21DATAOUT[10]AC20SELECT[2]B22DATAOUT[9]AB20STARTF6DATAOUT[8]AE21SDBZY11DATAOUT[7]AF21WCLKA
3、A10DATAOUT[6]U18DATAOUT[19]AB18DATAOUT[5]U17DATAOUT[18]V17DATAOUT[4]W19DATAOUT[17]W17DATAOUT[3]V18DATAOUT[16]AA18DATAOUT[2]AE22DATAOUT[15]AA17DATAOUT[1]AF22DATAOUT[14]AC19DATAOUT[0]AD21DATAOUT[13]AD19波形仿真1等待判别模块Start=0时,随着时钟CLK1HZ的变化,每60个周期T60S出现一个跳变,这期间wc
4、lk小于20时,等待标志位DDBZ为高电平。正确。2等待计时模块的仿真在start=1时,所有数据清零。Start=0时,随着时钟CLK1HZ的变化,等待时间ddsj的数据相应依次增加(秒个位0000-0001-0010-0011)。正确。3总模块在start=1时,所有数据清零。Start=0时,随着时钟CLK1HZ的变化,CLK1HZ60个周期内,wclk大于20则等待时间ddsj为0,等待费用DDFY为0,行驶里程逐步变化,里程费用LCFY刚开始保持不变,因为小于起步里程,费用为起步价。行驶里程逐步变
5、化到大于起步里程,里程费用LCFY开始增加。CLK1HZ60个周期内,wclk小于20则等待时间ddsj的数据相应依次增加,等待费用DDFY开始计费。当start=1时,所有数据重新清零。正确。下图为方便观察,其中变化明显部分给出特写,不再赘述。VHDL源程序代码---clkgen.vhdlibraryIEEE;--1HZuseIEEE.std_logic_1164.all;useieee.std_logic_unsigned.all;entityclkgenisport(CLK:instd_logic;C
6、LK1HZ:outstd_logic);endentity;architectureclk_archofclkgenissignalCOUNT:integerrange0to50000000;--50MHZ-->1hzbegin--50M/1=50000000PROCESS(CLK)BEGINifclk'eventandclk='1'thenIFCOUNT=50000000thenCOUNT<=0;ELSECOUNT<=COUNT+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(COUNT
7、)BEGINIFCOUNT=5000000THEN--1HZCLK1HZ<='1';ELSECLK1HZ<='0';ENDIF;ENDPROCESS;endarchitecture;--等待判别--DDPB.VHDLibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;USEIEEE.STD_LOGIC_ARITH.ALL;entityDDPBisport(WCLK,START:instd_logic;CLK1HZ:INST
8、D_LOGIC;DDBZ:OUTSTD_LOGIC:='0');end;architecturebehvofDDPBisSIGNALT60S:STD_LOGIC;SIGNALwclkc:STD_LOGIC_VECTOR(7DOWNTO0);--脉冲计数信号,记录车轮传感器传来的数字,在60秒内BEGIN--产生60s周期性调变信号PROCESS(CLK1HZ,START)VARIABLECNT60:STD_LOG
此文档下载收益归作者所有