1、指导教师: * 起止日期:2012年5月28日至2012年6月8日出租车计费器设计摘要随着我国社会经济的全面发展,各大中小城市的出租车营运事业发展迅速,出租车已经成为人们日常出行选择较为普遍的交通工具。出租车计费器是出租车营运收费的专用智能化仪表,是出租车市场规范化 、标准化以及减少司机与乘客之间发生纠纷的重要设备。一种功能完备、简单易用、计量准确的出租车计费器是加强出租车行业管理、提高服务质量的必备品。本文介绍了出租车计费器系统在实际生产生活中的重要性,根据预定的设计要求和设计思路,采用VHDL硬件描述语言作为设计手段,采用自顶向下的设计思路设计了一个实际的基于EP3C80F780C8N芯片
2、的出租车计费系统,通过在Quartus8.1软件下进行模拟仿真,并进行相应的硬件下载调试,证明该出租车计费系统具有实用出租车计费器的基本功能,各技术指标符合预定标准,如能进一步完善,将可以实用化和市场化,具有一定实用性。关键词:出租车计费器;现场可编程门阵列;仿真 1 设计目的 12 设计指标 22.1 课题 22.2技术指标 23 VHDL简介 24 设计过程 34.2 出租车计费器原理 44.3 模块设计 55 出租车计费器的实现 66 出租车计费器的仿真结果 177 设计总结 20参考文献 21library ieee; 22use ieee.std_logic_1164.all;use
3、 ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all; 23- 23entity ouyangbo is 23port( Clk : in std_logic; -时钟输入 23Rst : -复位输入 23Motor : -电机脉冲输入 23dn : in std_logic ;Display : out std_logic_vector(7 downto 0); -七段码管显示输出 23SEG_SEL : buffer std_logic_vector(2 downto 0); -七段码管扫描驱动 23keyc : out std
4、_logic_vector(3 downto 0); -点阵列控制 23keyr : out std_logic_vector(15 downto 0) 23); -点阵行显示 23end ouyangbo;architecture behave of ouyangbo is 23signal Disp_Temp : integer range 0 to 15;signal Disp_Decode: std_logic_vector(7 downto 0);signal Meter1,Meter10,Meter100,Meter1K : integer range 0 to 9;signal
5、Money1,Money10,Money100 :signal Old_Money1 :signal cdount : std_logic_vector(3 downto 0);signal dount : std_logic_vector(8 downto 0);signal S :begin 23process(Motor,Rst) -计里程 23if(Rst=0) then 23Meter1=0;Meter10Meter100Meter1Kelsif(Motorevent and Motor=1if(Meter1=9) then Meter1if(Meter10=9) then Mete
6、r10if(Meter100=9) then Meter100if(Meter1K=9) then Meter1Kelse 23=Meter1K+1;end if;=Meter100+1;=Meter10+1;=Meter1+1; 24end process;process(Clk,Rst,dn) -计费模块 24begin 24) then 24Money1Money10Money100if( Meter102 and Meter1001 and Meter1k1) then -里程小于2Km时显示起步价 24=6; -起步价6元 24Old_Money1else 24if (dn= and
7、 Meter1002 and Meter1k0) then 24if (Old_Money1=9) then Old_Money1 -白天 24if (Money1=9) then Money1if(Money10=9) then Money10if(Money100=9) then Money100else Money100=Money100+1;else Money10=Money10 +1;else Money11 or Meter1k0) then -白天超过20km加收返程费 24= Old_Money1 +3; -加收返程费 25 250) then 25 -夜间 25else 2
8、5 - 续程单价每公里3元 25 and (Meter1000) then -夜间超过20km加收返程费 25= Old_Money1 +4; -加收的返程费 25process(SEG_SEL) - 显示 25begin 25case (SEG_SEL+1) is 25when 000=Disp_Temp=Meter1K;001=Meter100;010=Meter10;011=Meter1;100=10; 26101=Money100;110=Money10;111=Money1;end case;process(Clk) 26begin 26if(Clkevent and Clk=) then -扫描累加 26SEG_SEL=SEG_SEL+1;if(SEG_SEL=3) then 26Display=Disp_Decode or 1000000;else 2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1