<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 出租車計(jì)價(jià)器VHDL程序

          出租車計(jì)價(jià)器VHDL程序

          作者: 時(shí)間:2012-03-27 來源:網(wǎng)絡(luò) 收藏

          設(shè)計(jì)與仿真。
          1.
          --文件名:taxi.hd
          --功能:
          library IEEE;
          use IEEE.STD_LOGIC_1164.ALL;
          use IEEE.STD_LOGIC_ARITH.ALL;
          use IEEE.STD_LOGIC_UNSIGNED.ALL;
          entity taxi is
          port ( clk_240 :in std_logic; --頻率為240Hz的時(shí)鐘
          start :in std_logic; --計(jì)價(jià)使能信號(hào)
          stop:in std_logic; --等待信號(hào)
          fin:in std_logic; --公里脈沖信號(hào)
          cha3,cha2,cha1,cha0:out std_logic_vector(3 downto 0); --費(fèi)用數(shù)據(jù)
          km1,km0:out std_logic_vector(3 downto 0); --公里數(shù)據(jù)
          min1,min0: out std_logic_vector(3 downto 0)); --等待時(shí)間
          end taxi;
          architecture behav of taxi is
          signal f_15,f_16,f_1:std_logic; --頻率為15Hz,16Hz,1Hz的信號(hào)
          signal q_15:integer range 0 to 15; --分頻器
          signal q_16:integer range 0 to 14; --分頻器
          signal q_1:integer range 0 to 239; --分頻器
          signal w:integer range 0 to 59; --秒計(jì)數(shù)器
          signal c3,c2,c1,c0:std_logic_vector(3 downto 0); --制費(fèi)用計(jì)數(shù)器
          signal k1,k0:std_logic_vector(3 downto 0); --公里計(jì)數(shù)器
          signal m1:std_logic_vector(2 downto 0); --分的十位計(jì)數(shù)器
          signal m0:std_logic_vector(3 downto 0); --分的個(gè)位計(jì)數(shù)器
          signal en1,en0,f:std_logic; --使能信號(hào)
          begin
          feipin:process(clk_240,start)
          begin
          if clk_240'event and clk_240='1' then
          if start='0' then q_15=0;q_16=0;f_15='0';f_16='0';f_1='0';f='0';
          else
          if q_15=15 then q_15=0;f_15='1'; --此語句得到頻率為15Hz的信號(hào)
          else q_15=q_15+1;f_15='0';
          end if;
          if q_16=14 then q_16=0;f_16='1'; --此語句得到頻率為16Hz的信號(hào)
          else q_16=q_16+1;f_16='0';
          end if;
          if q_1=239 then q_1=0;f_1='1'; --此語句得到頻率為1Hz的信號(hào)
          else q_1=q_1+1;f_1='0';
          end if;
          if en1='1' then f=f_15; --此語句得到計(jì)費(fèi)脈沖f
          elsif en0='1' then f=f_16;
          else f='0';
          end if;
          end if;
          end if;
          end process;
          process(f_1)
          begin
          if f_1'event and f_1='1' then
          if start='0' then
          w=0;en1='0';en0='0';m1=000;m0=0000;k1=0000;k0=0000;
          elsif stop='1' then
          if w=59 then w=0; --此語句完成等待計(jì)時(shí)
          if m0=1001 then m0=0000; --此語句完成分計(jì)數(shù)
          if m1=101 then m1=000;
          else m1=m1+1;
          end if;
          else m0=m0+1;
          end if;
          if m1m0>0000001then en1='1'; --此語句得到en1使能信號(hào)
          else en1='0';
          end if;
          else w=w+1;en1='0';
          end if;
          elsif fin='1' then
          if k0=1001 then k0=0000; --此語句完成公里脈沖計(jì)數(shù)
          if k1=1001 then k1=0000;
          else k1=k1+1;
          end if;
          else k0=k0+1;
          end if;
          if k1k0>00000010 then en0='1'; --此語句得到en0使能信號(hào)
          else en0='0';
          end if;
          else en1='0';en0='0';
          end if;
          cha3=c3;cha2=c2;cha1=c1;cha0=c0; --費(fèi)用數(shù)據(jù)輸出
          km1=k1;km0=k0;min1='0'm1;min0=m0; --公里數(shù)據(jù)、分鐘數(shù)據(jù)輸出
          end if;
          end process;
          process(f,start)
          begin
          if start='0' then c3=0000;c2=0001;c1=0000;c0=0000;
          elsif f'event and f='1' then
          if c0=1001 then c0=0000; --此語句完成對(duì)費(fèi)用的計(jì)數(shù)
          if c1=1001 then c1=0000;
          if c2=1001 then c2=0000;
          if c3=1001 then c3=0000;
          else c3=c3+1;
          end if;
          else c2=c2+1;
          end if;
          else c1=c1+1;
          end if;
          else c0=c0+1;
          end if;
          end if;
          end process;
          end behav;

          本文引用地址:http://www.ex-cimer.com/article/190593.htm

          2. 仿真圖

          18.jpg

          注:1. 仿真圖中秒跟分的關(guān)系為3進(jìn)制,即w為2時(shí)就歸0;

          2. 出租車總行駛5公里,等待累計(jì)時(shí)間為4分鐘,總費(fèi)用為16.2元。


          圖8.22.3 出租計(jì)價(jià)器程序仿真全圖



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();