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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

出租车计费器课程设计报告.docx

1、出租车计费器课程设计报告电子技术课程设计出租车计费器 一、设计任务与要求 3二、总框体图 3三、选择器件 5四、功能模块 61、模块se 62、模块di 73、模块jifei 84、模块zh 115、模块xxx1 156、模块div_clk 177、模块docode3_8 18五、总体设计电路图 191、总体电路原理图 192、管脚分配图 20 3、电路仿真结果 214、硬件验证 21六、设计心得 23 出租车计费器 一、 设计任务与要求1. 能实现计费功能,计费标准为:按行驶里程收费,起步费为7.00元,并在3km后按2.20元/km计费,当计费器计费达到或超过 20元时,每公里加收50%的

2、车费,车停止不计费。2、 现场模拟功能:能模拟汽车启动、停止及暂停以及加速状态。3、 设计动态扫描电路:将车费和里程显示出来,各有两位小数。二、总体框图decode3_8sediv _clk 图1.1 dixxx1zhjifei 1、 设计思路: (1) 根据出租车计费原理,将出租车计费部分由5个计数器来完成分别为counterA,counterB,counterC,counterD,counterE。计数器A完成车费百位。计数器B完成车费十位和个位。计数器C完成车费角和分。计数器D完成计数到30(完成车费的起步价)。计数器E完成模拟实现车行驶100 m的功能。 (2)行驶过程中车费附加50%

3、的功能:由比较器实现。 (3)车费的显示:由动态扫描电路来完成。用专用模块来实现,完成数据的输入即动2、 设计方案比较:方案一: 采用数字电路控制。其原理方框图如图1.21.2所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用,所以我们不予采用。 图1.2方案二: 采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。其原理如图1.3所示。单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功

4、能,而且还可以方便的对系统进行升级。缺点在于实现起来相对比较复杂,因此暂不考虑这种方法。 图1.3方案三: 采用VHDL语言VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。而且它还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件

5、电路设计。除此之外,采用VHDL耗费资源比较小,速度比较快,效率比较高,且易于共享和复用。故综合以上几点我们选择VHDL语言来设计出租车计费器。三、选择器件模块se , 模块di , 模块jifei , 模块zh , 模块xxx1 , 模块div_clk 模块decode3_8四、功能模块1、模块se说明 : 模块如图1.4所示,为八进制选择模块实现,该模块主要负责对不同时刻的车费路程的数值显示进行选择。 图1.4以下为该模块的程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity s

6、e is port(clk:in std_logic; a:out std_logic_vector(2 downto 0);end se;architecture rt1 of se isbegin process(clk) variable b:std_logic_vector(2 downto 0); begin if(clkevent and clk=1)then if(b=111)then b:=000; else b:=b+1; end if; end if; aqqqqqqqqqq=100)then a:=1; aa:=0; else a:=0; end if; if(lc300

7、)then null; elsif(chf=2000 and a=1)then chf:=chf+330; end if; end if; chefei=chf; luc=lc; end process; end rt1;仿真图 图1.9仿真结果分析:该模块是模拟汽车的启动、停止、暂停、加速按键,输入端口为:stop, start, pause, js,clk, 输出端口为:b, 如图1.9所示,在clk的上升沿,js变为1的时候,计费系统开始计费。4、模块zh说明:如图2.0所示,为十进制转换模块的实现,该模块把车费和路程转化为4位十进制数,daclk的频率要比clk快得多。 图2.0以下为

8、该模块的程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity zh is port(daclk:in std_logic; ascore,bscore:in integer range 0 to 8000; age,ashi,abai,aqian,bge,bshi,bbai,bqian:out std_logic_vector(3 downto 0);end zh;architecture rt1 of zh isbegin process(daclk,ascore) variab

9、le comb1:integer range 0 to 8000; variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0); begin if (daclkevent and daclk=1)then if(comb1ascore)then if(comb1a=9 and comb1b=9 and comb1c=9)then comb1a:=0000; comb1b:=0000; comb1c:=0000; comb1d:=comb1d+1; comb1:=comb1+1; elsif(comb1a=9 and com

10、b1b=9)then comb1a:=0000; comb1b:=0000; comb1:=comb1+1; comb1c:=comb1c+1; elsif(comb1a=9)then comb1a:=0000; comb1b:=comb1b+1; comb1:=comb1+1; else comb1a:=comb1a+1; comb1:=comb1+1; end if; else ashi=comb1b; age=comb1a; abai=comb1c; aqian=comb1d; comb1:=0; comb1a:=0000; comb1b:=0000; comb1c:=0000; com

11、b1d:=0000; end if; end if; end process; process(daclk,bscore) variable comb2:integer range 0 to 8000; variable comb2a,comb2b,comb2c,comb2d:std_logic_vector(3 downto 0); begin if(daclkevent and daclk=1)then if(comb2bscore)then if(comb2a=9 and comb2b=9 and comb2c=9)then comb2a:=0000; comb2b:=0000; com

12、b2c:=0000; comb2d:=comb2d+1; comb2:=comb2+1; elsif(comb2a=9 and comb2b=9)then comb2a:=0000; comb2b:=0000; comb2:=comb2+1; comb2c:=comb2c+1; elsif(comb2a=9)then comb2a:=0000; comb2b:=comb2b+1; comb2:=comb2+1; else comb2a:=comb2a+1; comb2:=comb2+1; end if; else bshi=comb2b; bge=comb2a; bbai=comb2c; bq

13、iand=a1; dpd=a2; dpd=a3; dpd=a4; dpd=b1; dpd=b2; dpd=b3; dpd=b4; dpnull; end case; end process;end rt1;仿真图: 图2.3 仿真结果分析:输入端为:c, a1,a2,a3,a4,b1,b2,b3,b4,输出端为:dp,d,该模块是将车费和路程显示出来,每来一个选通地址c,模块就把选到的那一位十进制输入值向后输出,同时在路程的百位和费用的十位显示小数点。6、模块div_clk 图2.4 以下为该模块的程序:LIBRARY ieee;use ieee.std_logic_1164.all;use

14、ieee.std_logic_unsigned.all;ENTITY div_clk IS PORT(clk_in : IN std_logic; div_out: OUT std_logic);END div_clk;ARCHITECTURE a OF div_clk ISSIGNAL fre_N : integer range 0 to 100000;SIGNAL clk_tmp: std_logic;BEGIN div_out = 99999 then fre_N = 0; clk_tmp = not clk_tmp; else fre_N = fre_N + 1; end if; en

15、d if; end process; END a;7、模块decode3_8说明:模块decode3_8驱动数码管的显示。 图2.5以下为该模块的程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY decode3_8 IS PORT(SEL: IN std_logic_vector(2 downto 0); Q : OUT std_logic_vector(7 downto 0) );END decode3_8;ARCHITECTURE a OF decode3_8 ISBEGIN

16、 Q = 11111110 when sel = 0 else 11111101 when sel = 1 else 11111011 when sel = 2 else 11110111 when sel = 3 else 11101111 when sel = 4 else 11011111 when sel = 5 else 10111111 when sel = 6 else 01111111 when sel = 7 else 11111111 ;END a;五、总体设计电路图 1、总体电路原理图W图2.62、管脚分配图 图2.73、电路仿真结果 图2.84、硬件验证左边为路程,右边

17、为车费。 图2.9 图3.0 图3.1 图3.2六、设计心得短短两周的课程设计已经完成了,从挑选课设题目,查阅资料,到研究出总体设计,详细设计,再到最后的编程上机调试,修改程序,完善程序,收获颇多。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待下一次计费的开始。出租车计费器系统的设计已全部完成,能按预期的效果进行模拟汽车启动、停止、暂停等功能,并设计动态扫描电路显示车费数目,由动态扫描电路来完成。车暂时停止不计费,车费保持不变。若停止则车费清零,等待

18、下一次计费的开始。在出租车计费系统的7个模块中 ,重点在于jifei模块,zh模块、xxx1模块。jifei模块主要有汽车的启动、停止、暂停、加速按键;zh模块主要是把车费和路程转化为4位十进制;zh模块是将车费和路程显示出来。各模块完成后,在将它们组合成完整的出租车系统,在设计过程中还需要改进的是控制系统的纠错功能。出租车计费系统的设计中体现了覆盖面广,描述能力强,是一个多层次的硬件描述语言及PLD器件速度快,使用方便,便于修改等特点,本设计在实用方面具有一定的价值。 在这两周里我们再次熟悉和增强了对vhdl语言的基本知识,熟悉利用vhdl语言对常用的组合逻辑电路和时序逻辑电路编程,把编程和

19、实际结合起来。Vhdl硬件描述语言打破了硬件和软件设计人员之间互不干涉的界限,可以使用语言的形式来进行数字系统的硬件结构、行为的描述、直接设计数字电路硬件系统。通过编程,下载后,该芯片已经具备了原来需要使用复杂的数字电路实现的功能。更加了解和加深了对编程和调试程序的技巧,进一步提高了上机动手能力,培养了使用设计综合电路的能力,养成了提供文档资料的习惯和规范编程的思想。 在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路,在设计课程过程中遇到问题是很正常的,但应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。最后,我衷心地感谢课设期间指导我的老师。

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

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