wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3304|回復: 0
收起左側

VHDL數字電子鐘6位8段數碼管設計 quratus代碼

[復制鏈接]
ID:1016839 發表于 2022-4-10 16:10 | 顯示全部樓層 |閱讀模式
--部分模塊代碼如下:完整代碼及文檔說明附頁下載,工程用quratus 13.1以上打開

2.設計內容
3. 系統的主要功能及使用方法
4. 數字電子鐘的VHDL設計
4.1設計思想
4.2設計電路圖
4.3模塊說明
4.3.1 分頻器
4.3.2功能選擇器
4.3.3一輸入二輸出器
4.3.4計數器1至計數器6
4.3.5計數器(1-3)的校正器、計數器(4-6)的校正器
4.3.6防止異步清零器、異步清零器、數碼管選擇器、led燈選擇器、數碼管顯示時間器
4.3.7頂層文件
4.4硬件配置調試
4.4.1硬件要求
4.4.2引腳綁定
4.2.3現象說明
5. 實驗總結
5.1錯誤和解決方法
時鐘是我們日常生活中必備的生活用品之一。而數字時鐘的出現更是給人們的生產生活帶來了極大的便利。鐘表的數字化給人們生產生活帶來了極大的方便而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關烘箱、通斷動力設備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數字化為基礎的。因此,研究數字鐘及擴大其應用,有著非,F實的意義。
本次設計的目的就是在掌握EDA實驗開發系統的初步使用基礎上,學習較復雜數字電路系統的設計。EDA技術為數字類產品提供了一個非常簡便實用的開發平臺。隨著EDA技術的快速發展,數字時鐘的應用越來越廣泛,并且它在功能外觀方面也有了很大的改善和提高。本文就是基于EDA技術的基礎知識,利用Quartus2軟件再現一個具有傳統時鐘功能的數字時鐘。
2.設計內容
設計內容:
   設計一個電子鐘,要求可以顯示時、分、秒,用戶可以設置時間
設計具體包含的模塊內容如下:
要求:
(1)根據系統設計要求,采用自頂向下的方法,劃分系統主要模塊,畫出整體設計原理框圖。
(2)根據工作原理、用硬件描述語言對設計內容實現,列出設計程序清單,給出仿真波形圖和調試中存在問題及解決方法。
(3)設計內容下載至目標芯片,在ALINX開發板上進行功能驗證。
(4)談談該課題的設計中遇到的問題,獲得哪些技能和體會,以及建設性意見。
3.系統的主要功能及使用方法
該數字鐘有如下幾個功能
  • 數字可以顯示當前時間的秒、分、時,或者作為秒表使用,且每過一秒4個led燈就交替循環亮;
  • 一個功能選擇按鍵(key0),用于切換不同狀態:計時、或者對時、分秒的進行校正和更改。

(3)兩個按鍵(key1和key2),每個鍵根據功能選擇鍵(key0)有不同同的作用;

①計時時:key1鍵為時鐘使能鍵,key2為對秒、分、時同時進行異步清零;

②校正時:key1鍵為對秒和分的個位進行校正,key2鍵為對分的十位和時進行校正

4.數字電子鐘的VHDL設計
4.1設計思想
本設計采用層次描述方式,采用自頂向下的方法,劃分系統主要模塊,畫出整體設計原理框圖。設計幾個具有各自功能的元件,然后將他們級連得到一個可預制的數字鐘。本設計具有分頻器、功能選擇器、一輸入二輸出器,計數器1至計數器6、計數器(1-3)的校正器,計數器(4-6)的校正器、防止異步清零器、異步清零器、數碼管選擇器、led燈選擇器、數碼管顯示時間器,一共16個模塊,最后把各個元件連接起來。

4.2設計電路圖
                               圖4.2.1 電路原理圖
圖4.2.2 電路總體模塊名稱圖
4.3模塊說明
4.3.1 分頻器
將50mHz的時鐘源分頻為時間計時頻率1秒、數碼管掃描頻率1毫秒、key1消抖頻率0.3秒、key2消抖頻率0.3秒、 key0消抖頻率0.3秒(如圖由上到下)。
圖4.3.1a 分頻器模塊

分頻器程序:如附頁。
仿真波形圖:
   圖4.3.1b
4.3.2 功能選擇器:
通過key0來選擇時鐘電路的功能是計時還是校正,然后輸出相應的值給計時器1,計數器(1-3)校正器,計數器4,計數器(4-6)校正器。
圖4.3.2a  功能選擇器模塊
功能選擇器程序:如附頁。
波形仿真:
圖4.3.2b
4.3.3 一輸入二輸出器
即輸入一個變量,輸出兩個和輸入值相同的變量。
圖4.3.3a 一輸入二輸出器模塊
一輸入二輸出器的程序:如附頁。
波形仿真圖:
  圖4.3.3b
4.3.4 計數器1至計數器6
     計數器1至計數器6都為計數的功能,前一個計數器進位,則后一個計數
器加1,計數器1至計數器6分別對應6個數碼管。計數器5和計數器6兩個為相互反饋作用,這樣才可以為24進制。計數器1-2為秒,60進制;計數器3-4為分,60進制;計數器5-6為時,24進制。
      
         計數器1模塊       計數器2模塊        計數器3模塊
    
       計數器4模塊       計數器5模塊        計數器6模塊

                             圖4.3.4a


計數器1至計數器6程序:如附頁。
波形仿真圖:
計數器1
計數器2
計數器3
計數器4
計數器5
計數器6

圖4.3.4a

4.3.5 計數器(1-3)的校正器、計數器(4-6)的校正器
     計數器(1-3)的校正器是對計數器1的輸出的值進行校正或更改后,再反饋給計數器1,同時將數值輸出給后面的計數器,以達到修改計數器1到計數器3的值;
     計數器(4-6)的校正器是對計數器4的輸出的值進行校正或更改后,反饋給計數器四,同時將數值輸出給后面的計數器,以達到修改計數器4到計數器6的值。
這兩個校正器是否校正取決于功能控制器的選擇。
     
計數器(1-3)的校正器   計數器(4-6)的校正器

圖4.3.5a

   程序代碼:如附頁。
   仿真波形圖:
                       計數器(1-3)的校正器
                       計數器(4-6)的校正器
                             圖4.3.5b

4.3.6防止異步清零器、異步清零器、數碼管選擇器、led燈選擇器、數碼管顯示時間器
①異步清零器:按key2時,即輸入為低電平時,輸出低電平給計數器1至
計數器6的清零端,然后可以對6個計數器的數值進行清零。
②防止異步清零器:當前模式為校正模式,按key2來調整計數器4至計數
器6的數值時,防止計數器2至計數器6的數值被清零。
③數碼管選擇器:用高頻率來不斷切換數碼管顯示,達到6個個數碼管動態
顯示的程度。
④led燈選擇器:每過一秒,在4個led燈之間切換循環顯示亮,便于觀察和檢測程序。
⑤數碼管顯示時間器:將6個計數器的值分別用6個數碼管來顯示,數碼管掃描頻率高的話,可以達到6個數碼管一起亮的程度,即可以顯示時間。

    
           異步清零器      防止異步清零器   數碼管選擇器
   
                led燈選擇器       數碼管顯示時間器

                            圖4.3.5a

各模塊程序代碼:如附頁。
仿真波形:
                          異步清零器仿真波形
防止異步清零器仿真波形


數碼管選擇器波形圖
led燈選擇器波形圖
數碼管顯示時間器波形圖

                            圖4.3.6b

4.3.7頂層文件
語句例化,將上述設計實體定義為元件,將這些元件與頂層的設計實體的各端口相連,實現自頂而下的層次化設計。

頂層文件程序:如附頁。
仿真波形圖(如圖4.3.7):分頻頻率大,不易觀察,但結果還是對的。
圖4.3.7
4.4硬件配置調試
4.4.1硬件要求
  (1)主芯片EP4CE6F17C8;
  (2)三個按鍵,按鍵key0,按鍵key1和按鍵key2;
  (3)ALINX開發板。

4.4.2引腳綁定
圖4.4.2
4.2.3現象說明
將代碼燒錄進開發板后,按一次key0(按下后松開),數碼管開始計時顯示時間,時、分、秒依次為24進制、60進制、60進制。此時為時間計時模式,按下key1(按下后不放)時,暫停計時(如圖1);按一次key2(按下后松開),6個數碼管清零,即時鐘的時、分、秒清零(如圖2),然后開始計時,也可以作為秒表。  
再按一次key0(按下后松開),此時模式變為校正模式(如圖3),通過不斷按key1(按下后松開),來對前三個數碼管的數值進行更改(如圖4),通過不斷按key2(按下后松開),來對后三個數碼管的數值進行更改(如圖5)。即key1用來更改分的個位與秒的值,key2更改分的十位與時的值。以此達到對時鐘時間的校正更改。
  
       圖1  暫停                         圖2 異步清零


  
         圖3 校正模式           圖4 更改右邊前三個數碼管的值
圖5 更改左邊前三個數碼管的值
5.實驗總結5.1錯誤和解決方法
  (1)按鍵在未消抖的情況下,對電子鐘數值的校正不準確不精確,按一次鍵,相當于按過了幾百次,時鐘數值變化幅值太大了,幾百幾百的跳。
      解決:對開發板的時鐘源進行分頻,分出一個對按鍵消抖的時鐘信號,當檢測到按下鍵了,經過時鐘信號的上升沿時,才會輸出按鍵的值,這樣就會使一個時鐘周期只會促發一次按鍵。以此來達到按鍵消抖。
  (2)對計數器1進行校正或者計數時,都要出發不同的時鐘信號上升沿,但一個進程不允許檢測多個信號的上升沿。
      解決:再建立一個校正模塊(即計數器1-3的校正器),對計數器1的輸出值判斷是否要校正,若要校正,那么校正完畢后,再將數值反饋給計數器1,使計數器1的輸入值變為校正過后的值,同時將數值輸出給下一個模塊。若無校正,則無須反饋,直接將數值輸出到下一模塊。計數器4也依此方法。以此來達到對電子鐘的時間進行校正更改。
(3)key2有兩個功能,計時模式時為清零鍵,校正模式為對電子鐘的時間進行更改,按下時,經常兩個功能都觸發,使得每次校正后的值都被清零。
    解決:建立一個模塊(防止異步清零模塊),對電子鐘此時的功能判斷,使key有不同的功能,就不會使key2的兩種功能同時觸發了。

(4)電子中的時的個位(第五個數碼管)和十位(第六個數碼管),其個位是9進制的,十位是2進制的,但其電子鐘的時是24進制的。
   解決:從十位(第六個數碼管)引出一個反饋給個位(第五個數碼管),當十位為2時,個位為4進制。這樣就使得電子鐘的時為24進制了,也不會使個位(第五個數碼管)和十位(第六個數碼管)的進制與電子鐘的時的進制發生沖突了。
5.2心得與體會
   這次期末時間有限,使得這次設計設計電子鐘的時間太少,解決程序代碼的時間太少了,未能更進一步對設計出來的電子鐘進行功能的的增加,如鬧鐘,整點報時等功能,有點遺憾。但也學到了許多東西,對開發FPGA的VHDL語言掌握更得更好了,解決問題也有了一定的方法和耐心了,在設計學習的過程中更能靜下心來了。這此設計時間雖短,但對我的意義很大。我也記住了,單片機的按鍵要消抖,那么PFGA的按鍵也要消抖,無論哪種,對按鍵都要消抖。按鍵在哪都要消抖,不然對其系統模塊會產生很大的錯誤。

附頁:
代碼按目錄依次為

分頻器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity fpq is
port (clkf:in std_logic;
                            clk_1hz,clk_smg,clk_xd,clk_xd4,clk_k:out std_logic);
end fpq;
architecture fpq of fpq is
  signal q1:integer range  0 to 49999999;
  signal q2:integer range  0 to 49999;
  signal q3:integer range  0 to 16999999;
  begin
  process(clkf) begin
   if rising_edge(clkf) then
   if q1=4999999 then q1<=0;else
      q1<=q1+1;end if;
   if q1>2499999 then clk_1hz<='0';else
                 clk_1hz<='1';
                            end if;
                           
              if q2=49999 then q2<=0;else
       q2<=q2+1;end if;
    if q2>24999 then clk_smg<='0';else
                 clk_smg<='1';
       end if;
            
              if q3=16999999 then q3<=0;else
      q3<=q3+1;end if;
    if q3>9499999 then clk_xd<='0';clk_xd4<='0';clk_k<='0';else
                 clk_xd<='1';clk_xd4<='1';clk_k<='1';
                            end if;
      end if;
                            end process ;
                end fpq;

功能選擇器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity kzq is
port (ret,clkk:in std_logic;
       jy1,j1,jy2,j2,j56:out std_logic);
end kzq;
architecture kzq of kzq is
signal q0,q1,q2,q3,qclk:std_logic;
signal qx:std_logic_vector(1 downto 0);
  begin
  process(ret) begin
   q0<=ret;
            
              if q0='0' then
              if falling_edge(clkk) then
              if qx<1 then qx<=qx+1;else
                 qx<=(others=>'0');end if;end if;end if;
              case qx is
                when "00"=>jy1<='0';j1<='0';jy2<='0';j2<='0';j56<='0';                                                                                                               
                when "01"=>jy1<='1';j1<='1';jy2<='1';j2<='1';j56<='1';
     when others=>null;
                end case;
              end process;
              end kzq;

一輸入二輸出器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity enx is
port (ena:in std_logic;
                            e1,e2:out std_logic);
                            end enx;
architecture enx of enx is
begin
e1<=ena;
e2<=ena;
end enx;

計數器1:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq is
port (clock,rsta,ena,jy:in std_logic;
       s1:in std_logic_vector(3 downto 0);
                            c1:in std_logic;
       leda:out std_logic_vector(3 downto 0);
                            jsqsc1:out std_logic_vector(3 downto 0);
                            jsq_co1:out std_logic);
end jsq;
architecture jsq1 of jsq is
  signal q1,q5:std_logic_vector(3 downto 0);
  signal q2:std_logic;
  begin
   process(clock)
              variable q3,q4:std_logic_vector(3 downto 0);
   begin            
case jy              is
     when '1' =>
                       if rsta='0' then q3:=(others=>'0');
            elsif rising_edge(clock) then
                                                          if ena='0' then q1<=q1;q5<=q5; else
                if q3<9 then q3:=q3+1;q2<='0';
                  else q3:=(others=>'0');q2<='1';end if;
                                                 if q4<3 then q4:=q4+1;
                  else q4:=(others=>'0');end if;end if;end if;
              q1<=q3;q5<=q4;
      when '0' => q1<=s1;q2<=c1;
                                                              
                            when others =>null;
                       end case;            
                                          end process;
                leda<=q5;jsqsc1<=q1;jsq_co1<=q2;                  
              end jsq1;


計數器2:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq2 is
port (s2,rsta2:in std_logic;
                            jsqsc2:out std_logic_vector(3 downto 0);
                            jsq_co2:out std_logic);
end jsq2;
architecture jsq2 of jsq2 is
signal q1:std_logic_vector(3 downto 0);
signal q2:std_logic;
begin
  process(s2)
  variable q3:std_logic_vector(3 downto 0);
   begin
              if rsta2='0' then q3:=(others=>'0');q1<="0000";
   elsif rising_edge(s2) then
    if q3<5 then q3:=q3+1;q2<='0';
       else q3:=(others=>'0');q2<='1';
     end if;end if;
                 q1<=q3;
                            end process;
                            jsq_co2<=q2;
                            jsqsc2<=q1;
  end jsq2;

計數器3:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq3 is
port (s3,rsta3:in std_logic;
                            jsqsc3:out std_logic_vector(3 downto 0);
                            jsq_co3:out std_logic);
end jsq3;
architecture jsq3 of jsq3 is
signal q1:std_logic_vector(3 downto 0);
signal q2:std_logic;
begin
  process(s3)
  variable q3:std_logic_vector(3 downto 0);
   begin
              if rsta3='0' then q3:=(others=>'0');q1<="0000";
  elsif rising_edge(s3) then
    if q3<9 then q3:=q3+1;q2<='0';
       else q3:=(others=>'0');q2<='1';
     end if;end if;
                 q1<=q3;
                            end process;
                            jsq_co3<=q2;
                            jsqsc3<=q1;
  end jsq3;

計數器4:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq4 is
port (s4,rsta4,jy4:in std_logic;
       ss4:in std_logic_vector(3 downto 0);
                            c4:in std_logic;
                            jsqsc4:out std_logic_vector(3 downto 0);
                            jsq_co4:out std_logic);
end jsq4;
architecture jsq4 of jsq4 is
signal q1:std_logic_vector(3 downto 0);
signal q2:std_logic;
begin
  process(s4,rsta4,jy4,ss4,c4)
  --variable q3:std_logic_vector(3 downto 0);
   begin
              case jy4 is
                            when '1'=>                           
             if rsta4='0' then q1<="0000";
             elsif rising_edge(s4) then
                if q1<5 then q1<=q1+1;q2<='0';
                  else q1<=(others=>'0');q2<='1';end if;end if;
                                                                                                                  --q1<=q3;
      when'0'=>
                                   q1<=ss4;q2<=c4;
                            when others=>null;
                              end case;
                              --q1<=q3;
                              end process;
                              jsqsc4<=q1;
                              jsq_co4<=q2;                                          
  end jsq4;


計數器5:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq5 is
port (s5,rsta5:in std_logic;
                            sz6:in std_logic_vector(3 downto 0);
                            jsqsc5:out std_logic_vector(3 downto 0);
                            pd5:out std_logic_vector(3 downto 0);
                            jsq_co5:out std_logic);
end jsq5;
architecture jsq5 of jsq5 is
signal q1,q4:std_logic_vector(3 downto 0);
signal q2:std_logic;
begin
  process(s5)
  variable q3:std_logic_vector(3 downto 0);
   begin
              q4<=sz6;
   if rising_edge(s5) then
    if q3<9 then q3:=q3+1;q2<='0';
       else q3:=(others=>'0');q2<='1';
     end if;
              if ((q1=3) and (q4=2)) then q3:=(others=>'0');q2<='0';end if;end if;
              if rsta5='0' then q3:=(others=>'0');q1<="0000";end if;
                 q1<=q3;
                            end process;
                            jsq_co5<=q2;
                            jsqsc5<=q1;
                            pd5<=q1;
  end jsq5;

計數器6:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jsq6 is
port (s6,rsta6:in std_logic;
       sz5:in std_logic_vector(3 downto 0);
                            jsqsc6:out std_logic_vector(3 downto 0);
                            pd6:out std_logic_vector(3 downto 0)
                            );
end jsq6;
architecture jsq6 of jsq6 is
signal q1,q4:std_logic_vector(3 downto 0);
begin
  process(s6,sz5)
  variable q3:std_logic_vector(3 downto 0);
   begin
  if rising_edge(s6) then
    if q3<2 then q3:=q3+1;
       else q3:=(others=>'0');
     end if;
              if ((q1=3) and (q4=2)) then q3:=(others=>'0');end if;end if;
              if rsta6='0' then q3:=(others=>'0');q1<="0000";end if;
                 q1<=q3;
                            end process;
                            jsqsc6<=q1;
                            pd6<=q1;
  end jsq6;

計數器(1-3)的校正器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jf is
port (xd,ena,jy:in std_logic;
       s1:in std_logic_vector(3 downto 0);
                            c1:in std_logic;
                            jsqsc1,s:out std_logic_vector(3 downto 0);
                            jsq_co1,c:out std_logic);
end jf;
architecture jf of jf is
  signal q1,q5,q6:std_logic_vector(3 downto 0);
  signal q2:std_logic;
  begin
   process(xd)
              variable q3:std_logic_vector(3 downto 0);
              begin
              case jy is
              when '0'=>
           if ena='0' then
                                               if rising_edge(xd) then
                                                           if q3<9 then q3:=q3+1;q2<='0';
                  else q3:=(others=>'0');q2<='1';end if;end if;end if;
                                                        q1<=q3;
              when '1'=>
                   q1<=s1;q2<=c1;
              when others =>null;
                 end case;
                            end process;
                jsqsc1<=q1;jsq_co1<=q2;
     s<=q1;c<=q2;               
              end jf;

計數器(4-6)的校正器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jf4 is
port (xd4,rst4,jy4:in std_logic;
       s1:in std_logic_vector(3 downto 0);
                            c1:in std_logic;
                            jsqsc4,s4:out std_logic_vector(3 downto 0);
                            jsq_co4,c4:out std_logic);
end jf4;
architecture jf4 of jf4 is
  signal q1,q5,q6:std_logic_vector(3 downto 0);
  signal q2:std_logic;
  begin
   process(xd4)
              --variable q3:std_logic_vector(3 downto 0);
              begin
              case jy4 is
              when '0'=>
           if rst4='0' then
                                               if rising_edge(xd4) then
                                                           if q1<5 then q1<=q1+1;q2<='0';
                  else q1<=(others=>'0');q2<='1';end if;end if;end if;
                                          --q1<=q3;
              when '1'=>
                   q1<=s1;q2<=c1;
              when others =>null;
                 end case;
                            end process;
                jsqsc4<=q1;jsq_co4<=q2;
     s4<=q1;c4<=q2;               
              end jf4;


異步清零器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity qlq is
port (rstaq:in std_logic;
                            rstaq0,rstaq1,rstaq2,rstaq3,rstaq4,rstaq5,rstaq6:out std_logic);
end qlq;
architecture qlq of qlq is
signal q1:std_logic;
signal  q:std_logic_vector(5 downto 0);
   begin
   q1<=rstaq;
   rstaq0<=q1;
              rstaq1<=q1;
              rstaq2<=q1;
              rstaq3<=q1;
              rstaq4<=q1;
              rstaq5<=q1;
              rstaq6<=q1;
end qlq;            

防止異步清零器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity kz56 is
  port(jy56,rsta2,rsta3,rsta4,rsta5,rsta6:in std_logic;
        rst2,rst3,rst4,rst5,rst6:out std_logic);
                            end kz56;
architecture kz56 of kz56 is
begin
process(jy56) begin
if jy56='0' then rst2<='1';rst3<='1';rst4<='1';rst5<='1';rst6<='1';else
  rst2<=rsta2;rst3<=rsta3;rst4<=rsta4;rst5<=rsta5;rst6<=rsta6;
  end if;
  end process;
  end kz56;

數碼管選擇器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity smgxz is
port (clksmg:in std_logic;
       sle:out std_logic_vector(2 downto 0));
                            end smgxz;
architecture smgxz of smgxz is
signal q1:std_logic_vector(2 downto 0);
begin
  process(clksmg)
  variable asmg:std_logic_vector(2 downto 0); begin
  if rising_edge(clksmg) then
   if asmg<5 then asmg:=asmg+1;else
                 asmg:="000";
              end if;end if;
              q1<=asmg;
              sle<=q1;
   end process;
              end smgxz;

led燈選擇器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ledymq is
port (ledin:in std_logic_vector(3 downto 0);
                            ledout:out std_logic_vector(3 downto 0));
end ledymq;
architecture ledymq of ledymq is
  signal q:std_logic_vector(3 downto 0);
  begin
  process(ledin) begin
  q<=ledin;
    case q is
      when "0000" => ledout<="0001";
                 when "0001" => ledout<="0010";
                 when "0010" => ledout<="0100";
      when "0011" => ledout<="1000";
                            when others=>null;
              end case;
end process;
end ledymq;

數碼管顯示時間器:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity scxz is
port( z:in std_logic_vector(2 downto 0);
       g:out std_logic_vector(5 downto 0);
                            s:out std_logic_vector(7 downto 0);
                            h,i,j,k,l,m:in std_logic_vector(3 downto 0));
                            end scxz;
architecture scxz of scxz is
signal p:std_logic_vector(3 downto 0);
signal q1:std_logic_vector(2 downto 0);
begin
process(z,h,i,j) begin
q1<=z;
if q1="000" then p<=h; g<="111110";
elsif q1="001" then p<=i; g<="111101";
elsif q1="010" then p<=j; g<="111011";
elsif q1="011" then p<=k; g<="110111";
elsif q1="100" then p<=l; g<="101111";
elsif q1="101" then p<=m; g<="011111";
end if;
     case p is
                            when "0000"=>s<="11000000";--0
                            when "0001"=>s<="11111001";--1
                            when "0010"=>s<="10100100";--2
                            when "0011"=>s<="10110000";--3
                            when "0100"=>s<="10011001";--4
                            when "0101"=>s<="10010010";--5
                            when "0110"=>s<="10000010";--6
                            when "0111"=>s<="11111000";--7
                            when "1000"=>s<="10000000";--8
                            when "1001"=>s<="10010000";--9
                            when others=>s<="11000000";--0
                            end case;
              end process;
              end scxz;

原理圖

原理圖


制作出來的實物圖如下:
2.jpg

代碼下載: 代碼與文檔.7z (5.33 MB, 下載次數: 30)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
色老板亚洲精品一区| 在线观看日韩| 中文在线天堂库| 强开小嫩苞一区二区三区视频| 超碰97av在线| 国产a视频免费观看| 99高清视频有精品视频| 日韩中文理论片| 欧美性videos高清精品| 久久久久久久久久久久久久久99 | 高清全集视频免费在线| 免费女人毛片视频| 粉嫩av一区二区夜夜嗨| 日本最新中文字幕| 欧美图片一区二区| 爱豆国产剧免费观看大全剧苏畅| 伊人久久婷婷色综合98网| 国产免费一区二区三区在线观看| 在线视频日韩精品| 日韩一区二区三区四区五区六区| 一级中文字幕一区二区| 99综合电影在线视频| 最新亚洲激情| 日韩成人精品一区| 亚洲伊人影院| 电影一区二区三区| www.在线视频| 青春有你2免费观看完整版在线播放高清| 国产porny蝌蚪视频| 粉嫩av一区二区夜夜嗨| 日韩不卡高清视频| 久久久无码一区二区三区| 国产综合内射日韩久| 玖玖精品在线视频| 欧美日韩电影一区二区| 国产欧美一区二区三区久久人妖| 久久香蕉频线观| 国产婷婷97碰碰久久人人蜜臀| 婷婷一区二区三区| 国产欧美日韩视频一区二区| 国产精品一区二区无线| 免费网站观看www在线观看| www.av日韩| 一级片在线免费观看视频| 人妻久久一区二区| 极品尤物一区二区| 给我看免费高清在线观看| 激情久久综合网| 浓精h攵女乱爱av| 国内外免费激情视频| 精品无码一区二区三区在线| 强开小嫩苞一区二区三区网站| 日本在线高清视频一区| 国产综合18久久久久久| 91免费版网站在线观看| 亚洲在线第一页| 91久久爱成人| 97视频中文字幕| 91精品国产一区二区三区动漫 | 国产精品视频免费播放| 国产亚洲自拍av| 久久久香蕉视频| 久草视频精品在线| 国产在线视频你懂的| 久久国产精品波多野结衣| caoporn91| 免费在线观看av网址| 久久久久久久久久久久久久免费看 | 欧美日韩中文国产一区发布| 国产精品一 二 三| 久久五月精品中文字幕| 久久久久久日本一区99| 国产小黄视频| 亚洲麻豆精品| 欧美国产日本| 亚洲精品中文字幕有码专区| 在线观看av日韩| 99ri国产在线| 成人午夜电影小说| 久久99精品久久久久久久青青日本| 99热精品在线播放| 欧美国产三级| 国产999精品| 精品久久无码中文字幕| 98精品久久久久久久| 欧美二区在线播放| 日本视频网站在线观看| 51亚洲精品| 中文字幕亚洲二区| 日韩精品久久久久久久| 欧美网色网址| 成人黄色一级视频| 国产精品久久久久久五月尺| 天天干天天爽天天操| 免费久久99精品国产自在现线| 亚洲一区 在线播放| 黄色av免费在线观看| 欧美午夜影院一区| 亚洲一区二区三区高清视频| 老牛影视一区二区三区| 妞干网视频在线观看| 成人做爰免费视频免费看| 久热精品视频在线免费观看| 成人午夜免费影院| 国产探花在线观看| 日韩你懂的在线播放| 亚洲精品国产久| 欧美尤物美女在线| 69av一区二区三区| 一色道久久88加勒比一| 日本免费成人| 欧美一区二区三级| 国产一级视频在线播放| dy888亚洲精品一区二区三区| 最新中文字幕亚洲| 久色乳综合思思在线视频| 国产99久久精品一区二区| 粉嫩av一区二区三区免费观看| 亚洲一区二区免费视频软件合集| 久久人妻精品白浆国产| 丰满岳乱妇一区二区| 久久久久亚洲AV| 日韩中文字幕综合| 自拍偷拍精选| 日韩123区| 国产精品任我爽爆在线播放| 亚洲大片av| 99久久精品免费看国产免费软件| 亚洲福利一区二区| 亚洲精品网址在线观看| 国产成人精品午夜| 中文网丁香综合网| 日本天堂在线播放| 美女又爽又黄免费视频| 欧美乱妇视频| 青青草观看免费视频在线| 久久人体大尺度| 日韩久久视频| 国产91精品露脸国语对白| 午夜欧美在线一二页| 国产午夜精品久久久| 国产精品白嫩初高中害羞小美女| 一区在线电影| 亚洲精品理论片| 国产精品国产精品国产专区| 成片免费观看| 国内在线免费视频| 国产91精品对白在线播放| 韩国毛片一区二区三区| 精品国产鲁一鲁一区二区张丽| 亚洲一二在线观看| 91麻豆精品秘密入口| 成人性做爰aaa片免费看不忠| 亚洲精品卡一卡二| 在线永久免费观看黄网站| 中文在线中文字幕| 亚洲一区二区三区在线免费| 日韩av成人高清| 亚洲www啪成人一区二区麻豆| 国产亚洲精品久久久久动| 91久久伊人青青碰碰婷婷| 一级在线免费视频| 最新中文字幕一区| 美女高潮黄又色高清视频免费| 亚洲丝袜精品| 日韩精品一区二区三区免费观影| 91在线视频18| 亚洲精品在线看| 国内精品一区二区| 一级黄色免费视频| 国产三级午夜理伦三级| 国产一二区视频| 久久伊人国产| 久久99国内精品| 欧美日韩国产色站一区二区三区| 日韩美女视频在线观看| 无码人妻丰满熟妇区毛片| 黄色一级视频免费看| 深夜福利av| 亚洲一区导航| 国产成人一区在线| 日韩欧美高清在线| 国产亚洲情侣一区二区无| 在线观看亚洲免费视频| 性xxxx视频播放免费| 国产三级视频在线播放线观看| 亚洲色图美女| 中文字幕欧美区| x99av成人免费| xxxxxx在线观看| 国产精品午夜影院| 伦理电影国产精品| 蜜桃精品噜噜噜成人av| 国产视频一区在线观看| 日韩亚洲精品电影| 精品无码国模私拍视频| 国产成人精品777777| 免费看的毛片| 午夜精品福利影院| 国产精品成人免费在线| 国模吧一区二区| 男女男精品视频站| 亚洲第一黄色片| 在线毛片网站| 亚洲综合二区| 欧美一区二区三区免费视频| 精品一区久久久| 午夜三级在线观看| av影音在线| 久久精品论坛| 亚洲免费色视频| 国产精品va在线播放| 大尺度在线观看| 国产黄色在线看| 97色婷婷成人综合在线观看| 久久丝袜美腿综合| 欧美激情综合色| 午夜剧场在线免费观看| 中文字幕av中文字幕| 成人香蕉视频| 91在线观看污| 欧美亚洲另类在线| 五月天激情小说| 狠狠色噜噜狠狠狠8888米奇| 国产美女撒尿一区二区| 亚洲综合在线免费观看| 亚洲一区二区三区在线视频 | 国产欧美日韩精品在线观看 | h视频免费在线| 国产精品任我爽爆在线播放| 亚洲国产毛片aaaaa无费看 | 久久在线免费观看视频| 欧美日韩亚洲自拍| 色偷偷精品视频在线播放| 久久三级毛片| 亚洲免费视频成人| 成人av免费看| 国产精品视频久久久久久久| 麻豆导航在线观看| 日韩中文字幕区一区有砖一区 | 乱人伦中文视频在线| 麻豆国产欧美日韩综合精品二区 | 韩国av中国字幕| 四色最新网址| 亚洲第一福利专区| 日韩欧美国产一区二区| 日韩av高清在线播放| 又骚又黄的视频| 精品三级久久| 国产精品久久网站| 国产精品视频福利| 欧美一级淫片免费视频黄| 搞黄网站在线观看| 26uuu欧美| 91亚洲国产成人精品性色| 国产精品第72页| 1区2区3区在线视频| 91丨九色丨尤物| 成人两性免费视频| 国产精品美女久久久久av爽| 毛片在线网址| 国产日韩欧美激情| 国产精品大全| 中文字幕一区二区三区四区欧美| 超碰在线网站| 中文字幕乱码亚洲精品一区 | 欧美a一欧美| 欧美日韩三级视频| 国产综合av在线| 99久久精品一区二区三区| 色综合久久网| 国产视频综合在线| 国产人妖在线观看| 污导航在线观看| 美国一区二区三区在线播放| 久久久久亚洲精品| 欧美另类视频在线观看| 丝袜中文在线| 中文字幕亚洲欧美在线不卡| 久久av免费一区| 亚洲国产综合网| 欧美电影完整版在线观看| 日韩一区二区三区视频在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 香蕉在线播放| 中文国产一区| 午夜精品久久17c| 麻豆亚洲av熟女国产一区二| 成年网站在线视频网站| 亚洲午夜免费电影| www.av91| 99999色| 免费观看在线色综合| 国产97色在线|日韩| 99re国产在线| 亚洲18在线| 欧美一区二区在线免费播放| www.久久久久久久久久久| 日本在线中文电影| 国产高清亚洲一区| 国产欧美韩日| 亚洲爱爱天堂| 天天射天天综合网| 欧美成人免费在线视频| 久久免费视频99| 国产第一亚洲| 欧美一区二区不卡视频| 波多野结衣电影免费观看| 国产亚洲依依| 中文字幕亚洲一区二区av在线 | 国精品一区二区三区| 欧美精品18videos性欧| 五月天婷婷综合网| 欧美大片91| 国产亚洲欧美aaaa| 日韩a级片在线观看| 成人精品动漫| 日韩欧美亚洲一区二区| 极品人妻一区二区三区| a毛片不卡免费看片| 欧美午夜在线一二页| 国产乱淫av片| 久草免费在线色站| 在线观看免费亚洲| 色哟哟无码精品一区二区三区| 永久免费网站在线| 欧美日韩一区久久| 草草影院第一页| xx欧美视频| 亚洲精品理论电影| 国精品无码一区二区三区| 电影91久久久| 亚洲欧美激情一区| 乱h高h女3p含苞待放| 国产一区二区三区| 在线日韩日本国产亚洲| 性无码专区无码| 九九免费精品视频在线观看| 欧美精品九九久久| 99精品人妻无码专区在线视频区| 亚洲a一区二区三区| 国产精品视频久| 亚洲国产成人综合| 欧美aaaaaa午夜精品| 久久99蜜桃综合影院免费观看| 三级黄色小视频| 99久精品国产| 久久人人爽人人爽人人av| jk破处视频在线| 亚洲乱码国产乱码精品精98午夜| 一区二区三区韩国| 欧美男男video| 337p亚洲精品色噜噜| 欧美激情视频二区| 粉嫩的18在线观看极品精品| 色综合久久久久久中文网| 国产高清视频免费观看| 亚洲免费在线| 日韩三级电影| 免费观看又污又黄在线观看国产| 亚洲久草在线视频| 亚洲一级Av无码毛片久久精品| 国产 日韩 欧美一区| 色诱女教师一区二区三区| 一本色道久久综合精品婷婷| 亚洲福利电影| 欧美一卡2卡3卡4卡无卡免费观看水多多| www.狠狠艹| 18欧美乱大交hd1984| 成人一区二区三区仙踪林| 天堂av中文在线观看| 一区二区欧美激情| 亚洲高清精品视频| 久久激情综合网| 欧美激情亚洲天堂| 天天在线视频色| 精品国产乱码久久久久久久| 九九热精品视频在线| 好看的亚洲午夜视频在线| 欧美一区二区三区在线播放 | 最新av免费看| 一卡二卡欧美日韩| www在线观看免费视频| 欧美激情99| 成人午夜两性视频| 成人在色线视频在线观看免费大全| 亚洲三级视频在线观看| 制服丝袜第一页在线观看| 一区二区三区四区视频免费观看| 国产精品ⅴa在线观看h| 少妇性色午夜淫片aaa播放| 国产精品国产三级国产专播品爱网| 成人欧美精品一区二区| www.爱久久| 成人精品视频99在线观看免费| 交videos老少配com| 亚洲成人免费在线观看| 538精品在线视频| 欧美精品导航| 中文字幕色呦呦|