数字电路(出租车计费器)(13页).doc
《数字电路(出租车计费器)(13页).doc》由会员分享,可在线阅读,更多相关《数字电路(出租车计费器)(13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-一、 课题要求(1) 技术要求1.掌握较复杂逻辑的设计、调试。2. 进一步掌握用VHDL语言设计数字逻辑电路。3.掌握用quartusII6.0软件进行编程设计。(2) 功能要求1.能实现计费功能,计费标准为:按行驶里程收费,起步费为7.00元,并在车行3公里后再按2.2元/公里,当计费器达到或超过一定收费(如20元)。每公里加收50%的车费,车停止不计费2 .实现预置功能、每公里收费、车行驶加费里程。3.实现模拟功能:能模拟汽车启动、停止、暂停、车速等状态。4. 设计动态扫描电路将车费显示出来。有两位小数。5. 用VHDL语言设计符合上述功能要求的出租车计费器。并用层次化设计方法设计该电路
2、。6 .各计数器的技术状态用功能的方法验证,并用有关波形确认电路设计是否正确7. 完成电路全部设计后,通过系统试验箱下载验证设计课题的正确性。二 本人工作:本人主要负责软件和硬件电路方面的设计,并进行引脚设定,以及与软硬件之间的调试运行,及时修改程序,帮助查找和分析问题,确保能够成功完成出租车计费器的设计。三 设计方案:3.1 主要中心组成显示模块FPGA按键模块 3.2 FPGA芯片内部主要程序:3.3 工作原理:基于CPLDFPGA的出租车计费器的组成如图1所示。各部分主要功能如下:(1)A计数器对车轮传感器送来的脉冲信号进行计数(每转一圈送一个脉冲)。不同车型的车轮直径可能不一样,通过“
3、设置1”对车型做出选择,以实现对不同车轮直径的车进行调整。(2)B计数器对百米脉冲进行累加,并输出实际公里数的BCD码给译码动态扫描模块。每计满500送出一个脉冲给C计数器。“设置2”实现起步公里数预制。(3)C计数器实现步长可变(即单价可调)的累加计数,每500米计费一次。“设置3”用来完成超价加费、起步价预制等。(4)译码动态扫描将路程与费用的数值译码后用动态扫描的方式驱动数码管。(5)数码管显示将公里数和计费金额均用四位LED数码管显示(2位整数,2位小数)。3.4功能模块设计出租车计费器由车型调整模块、计程模块、计费模块、译码动态及扫描等模块组成,整个系统采用模块化设计,首先用VHDL
4、编写功能模块,然后用顶层原理图将各功能模块连接起来。四 单元模块设计:首先出租车计费器的设计需要分频,所以需要设计了两个频率:4.1 oneMHZ:由于给定的50MHZ太大,这个程序完成5000分频,实现第一次分频,确保实现动态计数,并且保证频率在驱动范围之内。library ieee;use ieee.std_logic_1164.all;entity oneMHZ is port( daclk:in std_logic; clkout:out std_logic); end oneMHZ;architecture one of oneMHZ issignal data:integer ra
5、nge 0 to 5000;signal Q:std_logic;beginprocess(daclk) begin if daclkevent and daclk=1 then if(data=5000) then data=0; Q=not Q; else data=data+1; end if; end if;clkout=Q;end process;end one;4.2 twoMHZ:这个程序完成2500分频,实现第二次分频,确保最后数码管显示频率在合适范围library ieee;use ieee.std_logic_1164.all;entity twoMHZ is port(
6、daclk:in std_logic; clkout:out std_logic); end twoMHZ;architecture one of twoMHZ issignal data:integer range 0 to 2500;signal Q:std_logic;beginprocess(daclk) begin if daclkevent and daclk=1 then if(data=2500) then data=0; Q=not Q; else data=data+1; end if; end if;clkout=Q;end process;end one; 4.3 Ch
7、arge:实现计费功能,按行驶里程收费,起步费为7.00元,并在车行3公里后再按2.2元/公里,当计费器达到或超过一定收费(如20元)。每公里加收50%的车费,车停止不计费,实现预置功能、每公里收费、车行驶加费里程,实现模拟功能,能模拟汽车启动、停止、暂停、车速等状态,将车费显示出来。有两位小数。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity charge is port( cp,ks,tz,zt: in std_logic; dis,mon : out integer range
8、0 to 9999);end charge;architecture ch of charge isbegin process(cp,ks,tz,zt) variable dis1,mon1:integer range 0 to 9999; begin if(cpevent and cp=1) then if(tz=0)then dis1:=0;mon1:=0; elsif(ks=0) then dis1:=0;mon1:=700; elsif(ks=1and tz=1and zt=1) then dis1:=dis1+10; elsif(ks=1and tz=1and zt=0) then
9、dis1:=dis1;mon1:=mon1; end if; if(dis1300) then null; elsif(dis1300) then mon1:=mon1+22; elsif(dis1=600) then mon1:=mon1+33; end if; mon=mon1;dis=dis1; end if; end process;end ch; 4.4 Transform 实现将电路计数分高低位显示,将二进制转化为数码管可识别的十进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;en
10、tity transform isport( daclk : std_logic; dis,mon :integer range 0 to 9999; dg,ds,db,dq,mg,ms,mb,mq: out std_logic_vector(3 downto 0);end transform;architecture tran of transform isbegin process(daclk,dis)variable d :integer range 0 to 9999;variable d1,d2,d3,d4 :std_logic_vector(3 downto 0);begin if
11、(daclkevent and daclk=1) then if(ddis) then if(d1=9 and d2=9 and d3=9) then d1:=0000;d2:=0000;d3:=0000; d4:=d4+1;d:=d+1; elsif(d1=9 and d2=9) then d1:=0000;d2:=0000;d3:=d3+1;d:=d+1; elsif(d1=9) then d1:=0000;d2:=d2+1;d:=d+1; else d1:=d1+1;d:=d+1; end if; else d:=0;d1:=0000;d2:=0000;d3:=0000;d4:=0000
12、; end if;end if;dg=d1;ds=d2;db=d3;dq=d4;end process;process(daclk,mon)variable m :integer range 0 to 9999;variable m1,m2,m3,m4 :std_logic_vector(3 downto 0);begin if(daclkevent and daclk=1) then if(mmon) then if(m1=9 and m2=9 and m3=9) then m1:=0000;m2:=0000;m3:=0000;m4:=m4+1;m:=m+1; elsif(m1=9 and
13、m2=9) then m1:=0000;m2:=0000;m3:=m3+1;m:=m+1; elsif(m1=9) then m1:=0000;m2:=m2+1;m:=m+1; else m1:=m1+1;m:=m+1; end if; else m:=0;m1:=0000;m2:=0000;m3:=0000;m4:=0000; end if;end if;mg=m1;ms=m2;mb=m3;mqdadadadadadadadanull;end case;end process;end se;4.6 W 用第一次分频过的脉冲实现八进制计数,为下面实现动态扫描做准备library ieee;us
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 出租车 计费 13
限制150内