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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

eda课程设计 出租车计费器Word文档下载推荐.docx

1、计算乘客所行驶的公里数。计程器的量程为99公里,满量程自动归零。2.2.3译码显示模块该模块经过4位BCD码译码器、计程数据(2位BCD码)动态选择输出。其中计费数据送入显示译码模块进行译码,十元、元为单位对应的数码管上显示,最大显示为99元;计程数据送入显示译码模块进行译码,最后送至以公里为单位的数码管上显示,最大显示为99公里。3、主要功能的实现3.1分频模块的实现由图3-1分频模块封装图可知:系统是对240HZ时钟脉冲信号进行分频,得到一种频率。输入为clk,输出为q1. 图3-1分频模块封装图3.2计量模块的实现由图3-2可知:本模块实现对于出租车在行驶过程中计算里程;当行驶里程大于3

2、KM时,本模块中en0信号变为1; clk1每来一个上升沿,计量模块实现一次计数,里程数加1。图3-2计量模块封装图3.3计费功能的实现由图3-3可知:输入一个脉冲信号,同时当start为时开始计价;c0、c1、c2、c3为价格的显示信号。 图3-3计费模块封装图3.4控制功能的实现由图3-4可知:本模块主要是通过输入的使能信号,对两个输入脉冲进行选择输出,使能信号是计量模块中的输出。 图3-4控制模块封装图3.5译码和动态扫描功能实现由图3-5可知:该模块通过case语句把不同情况的输出用七段显示数码管的输出方式 图3-5译码模块封装图3.6总体功能原理图4、程序调试4.1分频模块波形仿真图

3、图4-1分频模块仿真波形图由图4-1可知:当输入240HZ的clk脉冲信号时,clk每出现240个脉冲时q1出现 1个,相当于计费1元,帮助计费。4.2计量模块波形仿真图图4-2计量模块波形仿真图由图4-2可知:由于讲输入参数fin一直设为高,将stop一直设为低。所以k1、k0记录路程的输出量有值。4.3计费模块波形仿真图图4-3计费模块波形仿真图由图4-3可知:输入一个脉冲信号,同时当start为高时开始计价;c0、c1、c2、c3为价格的显示信号,逢9后一位将进1。4.4控制模块波形仿真图图4-4控制模块波形仿真图由图4-4可知:本模块主要是通过两个不同的输入使能信号,对两个输入脉冲进行

4、选择输出,使能信号是计量模块中的输出,两个输入脉冲是分频模块输出的16HZ、10HZ的脉冲。4.5译码显示模块波形仿真图图4-5译码模块波形仿真图由图4-5可知:首先以一个case语句进行通道的选择,以8为二进制表示。当某一位为1时,表示选择该通道接着。接着又以一个case语句对所选的通道进行动态扫描,由于时间极小,因此在我们用肉眼感觉是同时显示出来的。4.6总模块的波形仿真图图4-6总模块的波形仿真图5、总结本设计采用VHDL语言完成了具有计费、显示等功能的出租车计费系统,该设计的可靠性高,成本低,通用性强即在不改变电路结构的前提下可根据各地区的需求在VHDL程序中设置各种参数,适应各地区出

5、租车计费的需求,还可以根据各地区需求增加系统功能。此出租车计费器的设计采用了硬件描述语言的自顶向下的设计方法,将整个系统分为几个相对独立的模块分别设计、仿真、最后连成整个系统集中仿真,很大程度上提高了设计的效率。最后在试验箱上进行检测,实验现象是:计费器的初始值是8。然后按开始键,里程数以一定频率增加,3以后计费器的跳动频率和里程数的跳动频率保持一致。通过此次课程设计,让我进一步了解了EDA,培养了我发现问题与解决问题的能力。查找了大量资料后选择了一个模板,按照自己所需要的改写已有程序,这过程碰到了相当的困难。经过同学的帮助和查找差不多的例子后,终于实现了设计。6、程序代码顶层文件librar

6、y IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity chuzuche isport ( clk240,start,fin :in std_logic; sg1,

7、sg2,sg3,sg4,sg5,sg6:out std_logic_vector(6 downto 0);end chuzuche;architecture Behavioral of chuzuche iscomponent fp -实现对分频模块的例化 port(clk: in std_logic; q1: out std_logic); end component; component jl -实现对计量模块的例化 port( s,fin,clk1: en0:inout std_logic; k1,k0: inout std_logic_vector(3 downto 0);compon

8、ent kz -实现对控制模块的例化 port( clkin,e0,clk_in1: clk3:out std_logic); component jf -实现对计费模块的例化 port(clk2,s: c0,c1,c2,c3:component ym -实现对译码和动态扫描模块的例化port(clk : k1,k0,c3,c2,c1,c0 :in std_logic_vector(3 downto 0); sg11,sg12,sg13,sg14,sg15,sg16:out std_logic_vector (6 downto 0);signal m1,n0,l:std_logic; -定义中

9、间信号signal temp0,temp1,p3,p2,p1,p0:std_logic_vector(3 downto 0);begina1: fp port map(clk240,m1);a2:jl port map(start,fin,m1,n0,temp1,temp0);a3:kz port map(clk240,n0,m1,l);a4: jf port map(l,start,p0,p1,p2,p3);a5:ym port map(clk240,temp1,temp0,p3,p2,p1,p0,sg1,sg2,sg3,sg4,sg5,sg6);end Behavioral;entity

10、fp isport ( clk : q1: -频率为16的时钟 end fp;architecture Behavioral of fp isprocess(clk) variable cout1:integer range 0 to 929900000; beginif clkevent and clk=1 then if cout1=9990000 -240hz分频为1hzthen cout1:=0;q1=;else cout1:=cout1+1;0end if;end process;计量模块entity jl isport(s,fin,clk1: -计量开始信号 -计量控制信号 -路程

11、的计量 end jl;architecture Behavioral of jl isprocess(clk1) if clk1event and clk1= then -驱动信号发挥作用 if s= then en0k1=0000k0 -初始化值 elsif (fin=) then if (k0=1001) then k0 if (k1=) then k1 else k1=k1+ end if; else k000000010) then en0 -当路程大于3km时 ,使能信号en0开始发挥作用 else en0控制模块entity kz isport( clkin,e0,clk_in1:

12、 -输入脉冲 -输出脉冲end kz;architecture Behavioral of kz isprocess(clkin)if clkinevent and clkin= if (e0=) then -根据条件选择所需的通道 clk3=clk_in1; end if;计费模块entity jf isport(clk2,s: -计费驱动信号 -计费开始信号 -费用显示信号end jf;architecture Behavioral of jf isprocess(clk2,s) if (s=) then c3c2c1c01000 elsif clk2event and clk2= if (c0=) then c0 if (c1=) then c1 if (c2=) then c2 if (c3=-计费功能 else c3=c3+ else c2=c2+ else c1=c1+ else c0a(6 downto 0) null; end case; case c1 isb(6 downto 0) case c2 isc(6 downto 0) case c3 isd(6 downto 0) case k0 ise(6 downto 0) case k1 isf(6 downto 0)000001

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

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