1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 發光二極管走馬燈電路的設計與實現實驗(一)

        時間:2024-07-26 22:16:08 電子信息工程畢業論文 我要投稿
        • 相關推薦

        發光二極管走馬燈電路的設計與實現實驗(一)

        實驗程序:
         設計思路:首先用按鍵SW1來控制顯示模式。用狀態機來實現單點移動和幕布式移動。
        VHDL程序如下
        library ieee;
        use ieee.std_logic_1164.all;
        entity scan is
         port(clk,reset:in std_logic;
           light:out std_logic_vector(7 downto 0);
           a:in std_logic
          );
        end scan;
        architecture arch_scan of scan is
        TYPE state_type is(s0,s1,s2,s3,s4,s5,s6,s7);
        signal state:state_type;
        begin
        process(a,clk,reset)     ——————process使用嵌套
        begin
        if(reset='1') then light<="00000000";
        elsif(rising_edge(clk)) then
         if a='0' then      ——————‘a’代表BW1的值,控制顯示模式
          case state is    ——————實現單點移動
           when s0=>
             state<=s1;
             light<="10000000";
           when s1=>
             state<=s2;
             light<="01000000";
           when s2=>
             state<=s3;
             light<="00100000";
           when s3=>
             state<=s4;
             light<="00010000";
           when s4=>
             state<=s5;
             light<="00001000";
           when s5=>
             state<=s6;
             light<="00000100";
           when s6=>
             state<=s7;
             light<="00000010";
           when s7=>
                state<=s0;
              light<="00000001";
          end case;
          else
             case state is     ——————實現幕布式移動
          when s0=>
            state<=s1;
           light<="00011000";
          when s1=>
            state<=s2;
           light<="00111100";
          when s2=>
           state<=s3;
           light<="01111110";
          when s3=>
           state<=s4;
           light<="11111111";
          when s4=>
           state<=s5;
           light<="01111110";
          when s5=>
           state<=s6;
           light<="00111100";
          when s6=>
           state<=s7;
           light<="00011000";
          when s7=>
           state<=s0;
           light<="00000000"; 
          end case;
           end if;
        end if; 
        end process;
        end arch_scan;

        仿真波形如下:

        600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-0.png" width="662" height="244" />


        實驗總結
         仿照上個實驗的狀態機設計,自己寫出了以上的程序。雖然程序簡單,容易寫出,但由于語法不熟,在編寫的過程中走了很多的彎路也出現了較多的錯誤。還好,在老師的指導下,經過不段的調試,改正終于得出了正確的結果。
         最初,我由于不知道要用嵌套PROCESS,而在一個PROCESS中又加入倆個PROCESS。導致編譯不能通過。這是由于語法不清而犯的錯誤。
         還有就是在寫程序的時候沒有進行深入的思考。簡單的認為狀態機不能實現幕布式的移動(因為我認為狀態機的狀態不足以表達幕布式的各個狀態,其實是足夠的)而使用了兩個循環,這樣就把程序弄的很復雜。編寫的時候太草率了,應該進行細致的思考后再去編寫。
         最后的問題就是,整個編程的過程中,小錯誤總是不段。這里多個‘;’,那里少個字母的。這些小的錯誤雖然在編譯后能夠更正過來,但最好還是希望自己能在以后不要在出現類似的錯誤。
         經過這次實驗,存在的問題還是老問題——語法不清、不夠細心。語法的問題是由于沒有具體的學習過,又沒有在課下反復的聯系。要去系統的學習VHDL語言,在近期有點不切實際,還是要多加練習。在練習中熟練 VHDL的語法,而做的多了,也就能避免在細節問題上總是出錯。

        【發光二極管走馬燈電路的設計與實現實驗(一)】相關文章:

        錯誤檢測與糾正電路的設計與實現03-20

        ADPCM語音編解碼電路設計及FPGA實現03-18

        Boost電路的一種軟開關實現方法03-18

        AGC電路的設計03-07

        用Protel99SE實現脈沖電路的仿真03-18

        換體DMA高速數據采集電路的CPLD實現03-18

        一款開關同步檢波電路的設計03-07

        開關電源控制及觸發電路的設計(一)03-07

        IP協議設計實現—重裝模塊(一)03-07

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>