ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:75.72KB ,
资源ID:17341594      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17341594.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(出租车计费器Word格式文档下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

出租车计费器Word格式文档下载.docx

1、AF21WCLKAA10DATAOUT6U18DATAOUT19AB18DATAOUT5U17DATAOUT18V17DATAOUT4W19DATAOUT17W17DATAOUT3V18DATAOUT16AA18DATAOUT2AE22DATAOUT15AA17DATAOUT1AF22DATAOUT14AC19DATAOUT0AD21DATAOUT13AD19波形仿真1等待判别模块Start0时,随着时钟CLK1HZ的变化,每60个周期T60S出现一个跳变,这期间wclk小于20时,等待标志位DDBZ为高电平。正确。2等待计时模块的仿真在start1时,所有数据清零。Start0时,随着时钟C

2、LK1HZ的变化,等待时间ddsj的数据相应依次增加(秒个位0000-0001-0010-0011)。3总模块Start0时,随着时钟CLK1HZ的变化,CLK1HZ 60 个周期内,wclk大于20则等待时间ddsj为0,等待费用DDFY为0,行驶里程逐步变化,里程费用LCFY刚开始保持不变,因为小于起步里程,费用为起步价。行驶里程逐步变化到大于起步里程,里程费用LCFY开始增加。CLK1HZ 60 个周期内,wclk小于20则等待时间ddsj的数据相应依次增加,等待费用DDFY开始计费。当start1时,所有数据重新清零。下图为方便观察,其中变化明显部分给出特写,不再赘述。VHDL源程序代

3、码-clkgen.vhdlibrary IEEE;- 1HZuse IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clkgen is port ( CLK : in std_logic; CLK1HZ: out std_logic );end entity;architecture clk_arch of clkgen is signal COUNT : integer range 0 to 50000000; -50MHZ -1hzbegin - 50M/1=50000000 PROCESS(CLK) BEGIN

4、 if clkevent and clk=1 then IF COUNT= 50000000 then COUNT=0; ELSE COUNT=COUNT+1; END IF;END PROCESS;PROCESS(COUNT) BEGIN IF COUNT= 5000000 THEN - 1HZ CLK1HZ=; ELSE CLK1HZ0end architecture;-等待判别-DDPB.VHDLibrary ieee;use ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_ARITH.ALL;entity DDPB isport ( WCLK,ST

5、ART:in std_logic;IN STD_LOGIC; DDBZ:OUT STD_LOGIC:end;architecture behv of DDPB is SIGNAL T60S: STD_LOGIC; SIGNAL wclkc: STD_LOGIC_VECTOR(7 DOWNTO 0); -脉冲计数信号,记录车轮传感器传来的数字,在60秒内-产生60s周期性调变信号PROCESS(CLK1HZ,START)VARIABLE CNT60:STD_LOGIC_VECTOR(7 DOWNTO 0);if start= CNT60:=00000000t60sELSIF clk1hzeven

6、t and clk1hz= IF CNT60=00111100 then -60 T60S ELSE=CNT60+T60S-每分钟行驶距离计算进程PROCESS(WCLK,START,T60S) WCLKcELSIF WCLKevent and WCLK= IF T60S= then - 60 s?=WCLKc+ - -计算距离,单位为10m-等待标志判别进程IF t60sevent and t60s= IF WCLKc00010100 then- - WCLKc=20十米,12km/h,比这个速度小 DDBZ END BEHV;-实验十四 出租车计费器-里程计算模块- LCJS.VHDuse

7、 ieee.std_logic_arith.all;entity LCJS isGENERIC(-0:INTEGER:=160 ; - 06:00-22:00单价 -1:=180; - 其它时间 qibu:=60 - 起步公里数,6公里内为固定价格 -jg:=1000 -起步价格,6公里内为10元); port ( START,DDBZ,WCLK: XSLC : out std_logic_vector(15 downto 0); LCBZ,jfbz :architecture arch of LCJS is signal bms : std_logic_vector(15 downto 0)

8、; -百米数signal bms1:integer range 0 to 99999;signal jfbz1:std_logic;begin PROCESS(start,wclk)variable sms :std_logic_vector(7 downto 0); - 十米数 then -new cycle,not wait,running sms: bms0000000000000000 - 百米数 lcbz=qibu then -6km大于起步里程, 60 00m end if ; else=sms+1; end if;end process;-里程计算结果输出 xslc=bms;-

9、里程计算结果转换BMS1jfbz1 when 210|220|230|240|250|260|270|280|290|300= when 310|320|330|340|350|360|370|380|390|400= when 410|420|430|440|450|460|470|480|490|500= when 510|520|530|540|550|560|570|580|590|600= when 610|620|630|640|650|660|670|680|690|700= when 710|720|730|740|750|760|770|780|790|800= when 8

10、10|820|830|840|850|860|870|880|890|900= when 910|920|930|940|950|960|970|980|990|1000= when 1010|1020|1030|1040|1050|1060|1070|1080|1090|1100= when 1110|1120|1130|1140|1150|1160|1170|1180|1190|1200= when 1210|1220|1230|1240|1250|1260|1270|1280|1290|1300= when 1310|13130|1330|1340|1350|1360|1370|1380

11、|1390|1400= when 1410|1420|1430|14140|1450|1460|1470|1480|1490|1500= when 1510|1520|1530|1540|15150|1560|1570|1580|1590|1600= when 1610|1620|1630|1640|1650|16160|1670|1680|1690|1700= when 1710|1720|1730|1740|1750|1760|1770|1780|1790|1800= when 1810|1820|1830|1840|1850|1860|1870|18180|1890|1900= when

12、 1910|1920|1930|1940|1950|1960|1970|1980|1990|2000= when 2010|2020|2030|2040|2050|2060|2070|2080|2090|2100= when 2110|2120|2130|2140|2150|2160|2170|2180|2190|2200= when 2210|22220|2230|2240|2250|2260|2270|2280|2290|2300= when 2310|2320|2330|2340|2350|2360|2370|2380|2390|2400= when 2410|2420|2430|242

13、40|2450|2460|2470|2480|2490|2500= when 2510|2520|2530|2540|25250|2560|2570|2580|2590|2600= when 2610|2620|2630|2640|2650|26260|2670|2680|2690|2700= when 2710|2720|2730|2740|2750|2760|2770|2780|2790|2800= when 2810|2820|2830|2840|2850|2860|2870|28280|2890|2900= when 2910|2920|2930|2940|2950|2960|2970

14、|2980|2990|3000=when others =end case;-计费标志去毛刺 process(wclk,jfbz1)begin if wclk jfbz=jfbz1;end if ;end arch;-里程计费模块- LCJF.VHDentity LCJF isGENERIC(SD0:=160;00单价,1.6元 SD1: - 其它时间1.8元=60; - 起步公里数,6公里内为固定价格 qbjg: port ( START,DDBZ: -开始,等待标志 LCBZ,jfbz,SDBZ: - 里程,计费,时段标志 LCFY : out std_logic_vector(15 do

15、wnto 0) - 行驶产生的费用 architecture arch of LCJF is signal LCFY1: -里程费用缓存PROCESS(start,LCBZ,jfbz,SDBZ) LCFY1 -CLEAR OLD VALUESelsif JFBZevent and JFBZ= then - 计费了 then - 运行中 if LCBZ= then -6KM 以内,起步以内 elsif LCBZ= then -6KM 以上,超过起步 if SDBZ= then -时段0=LCFY1+SD0; - 相应费用 elsif SDBZ= then -时段1=LCFY1+SD1;end i

16、f;lcfy=lcfy1+qbjg;- 此处费用为:没有超过6千米时为10元,超过了为(10超过的里程时段单价 end arch;-等待计时模块- DDJS.VHDentity ddjs is DDBZ,START: -等待标志 ,开始 - 时钟 DDSJ:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);- 等待时间 XDBZ:OUT STD_LOGIC - 标志architecture behv of ddjs is SIGNAL XIDENG: SIGNAL MS,MG,FS,FG:STD_LOGIC_VECTOR(3 DOWNTO 0);PROCESS(CLK1HZ,

17、START,DDBZ) MS0000 MG FS FG IF DDBZ= then - 等待中 IF MG=9 then MG -十进制计数秒数十位计算 IF MS=5 then MS -6进制计数秒数十位计算 -十进制计数分数个位计算 -6进制计数分数十位计算 XIDENGFS - 等待够一个小时标志=FS+ -分数十位计算=FG+ -分数个位计算=MS+ -秒数十位计算=MG+XDBZ=XIDENG;DDSJ(15 downto 12)=fs;DDSJ(11 downto 8)=fg;DDSJ(7 downto 4)=ms;DDSJ(3 downto 0)=mg;end behv;-等待计

18、费模块entity DDJF is- 每分钟等待费用定义 ,单位为分GENERIC(DD0:=20; - 一小时以内20分每分钟,5分钟一元 DD1:=33 - 一小时以上33分每分钟,每小时20元 - qibu: - 起步公里数,8公里内为固定价格 - qbjg:=1000 -起步价格,8公里内为10元 port ( START,DDBZ,XDBZ,CLK1HZ: DDFY : out std_logic_vector(15 downto 0) -等待费用 architecture arch of DDJF is signal DDFY1 :SIGNAL T60S:SIGNAL CNT60:PROCESS(CLK1HZ)IF clk1hz IF CNT60=60 then CNT60=CNT60+1;-等待费用计算进程PROCESS(DDBZ,XDBZ,T60S,START) DDFY1elsif T60Sevent and T60S= then - 够60秒 then - 等待 if xdbz= then -1小时以内=DDFY1+DD0; elsif XDBZ= then -1小时以内以上 DDFY1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1