VHDL鍵盤掃描_第1頁
VHDL鍵盤掃描_第2頁
VHDL鍵盤掃描_第3頁
VHDL鍵盤掃描_第4頁
VHDL鍵盤掃描_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、一、設計目的穩(wěn)固和運用所學課程,理論聯(lián)系實際,提高分析、解決計算機技術實際問題的獨立工作能力,通過對FPGA幾個簡單的模塊設計,進一步加深對計算機原理以及數(shù)字電路應用技術方面的了解與認識,進一步熟悉數(shù)字電路系統(tǒng)設計、制作與調(diào)試的方法和步驟。二、設計內(nèi)容1設計一個4×4的鍵盤掃描模塊,要求有防抖動功能。2用鍵盤控制16×16點陣LED顯示各種字符。3用鍵盤控制蜂鳴器發(fā)聲,能有各種音調(diào)。三、實現(xiàn)方法本系統(tǒng)的系統(tǒng)組成及連接原理如圖3.1所示,主系統(tǒng)由四個功能模塊組成:分頻模塊為鍵盤掃描模塊和提供時鐘、鍵盤掃描模塊、LED點陣模塊、發(fā)聲模塊。LED點陣發(fā)聲模塊鍵盤掃描模塊分頻模塊時

2、鐘輸入接蜂鳴器接LED點陣接鍵盤圖3.1整體模塊劃分1、分頻模塊分頻模塊的作用是把2MHZ的時鐘分成1kHZ和500HZ,為鍵盤掃描模塊和LED點陣模塊提供時鐘。主要方法是通過計數(shù)器實現(xiàn)分頻。分頻模塊如圖3.2,clk是輸入時鐘,clkout_kb是輸入給鍵盤掃描模塊使用,clkout_LED是輸入給LED點陣模塊使用。圖3.2 分頻模塊視圖其仿真結果如圖3.3圖 3.3分頻模塊仿真2、鍵盤掃描模塊2.1行列式鍵盤原理行列式鍵盤又叫做矩陣式鍵盤。用帶有I/O口的線組成行列結構,按鍵設置在行列的交點上。本次試驗用到的是4×4的行列結構鍵盤,可以構成16個按鍵。這樣,當按鍵數(shù)量平方增長是

3、,I/O口只是線性增長,這樣就可以節(jié)省I/O口。行列式鍵盤的原理如圖3.4所示。CDEF89AB45670123keyin上拉電阻keydrv圖 3.4 行列式鍵盤的原理按鍵設置在行列線交叉點,行、列線分別連接到按鍵開關的兩端。列線通過上拉電阻接+5V的電壓,即列線的輸出被嵌位在高電平狀態(tài)。判斷按鍵中有無鍵按下時通過行線輸入掃描信號,然后從列線讀取到狀態(tài)實現(xiàn)的。其方法是依次給行線送低電平,檢查列線的輸入。如果列線信號全為高電平,那么代表低電平所在的行中無按鍵按下;如果列線有輸入為低電平,那么低電平信號所在的行和出現(xiàn)低電平的列的交點處有按鍵按下。設行掃描信號為keydrv3keydrv0,列線按

4、鍵輸入信號keyin3keyin0與按鍵位置的關系如表3.1所示表3.1行掃描信號、列線按鍵輸入信號與按鍵位置的關系keydrv3keydrv0keyin3keyin0對應的按鍵111011100110111011201113110111104110151011601117101111108110191011A0111B01111110C1101D1011E0111F2.2鍵盤掃描系統(tǒng)模塊劃分4×4鍵盤鍵盤譯碼電路掃描電路按鍵去抖動電路時鐘輸入輸入鍵盤值圖3.5 鍵盤掃描系統(tǒng)模塊劃分鍵盤掃描電路時用于產(chǎn)生keydrv3-keydrv0信號,其變化順序為1110110110110111

5、周而復始的掃描。其停留在每個狀態(tài)的時間大約有10ms。掃描電路的模型如下:圖3.6 掃描電路外觀接口掃描電路的仿真如圖3.7所示:圖3.7 掃描電路仿真鍵盤譯碼電路是從keydrv3keydrv0和keyin3keyin0譯出按鍵值的電路,它的真值表如表1所示。鍵盤譯碼電路的模型如圖3.8所示:圖3.8 鍵盤譯碼電路外觀其中鍵值keycode用5位編碼,keycode為0000001111表示鍵值0F,keycode為11111時表示無按鍵按下。譯碼電路的仿真如圖3.9所示:圖3.9譯碼電路仿真圖3.9仿真的是掃描信號在keydrv=1011時有按鍵按下,并且keyin=0111時的鍵值,由表

6、1可知這時的鍵值因該是B,而由圖中可以看出仿真結果是5h0B,即預測結果與仿真結果一致。2.3 按鍵去抖動電路實現(xiàn)由于機械觸點的彈性作用,觸點在閉合和斷開瞬間的電接觸情況不穩(wěn)定,造成了電壓信號的抖動現(xiàn)象,如圖3.10所示。鍵的抖動時間一般為 510ms。這種現(xiàn)象會引起FPGA對于一次鍵操作進行屢次處理,因此須設法消除鍵接通或斷時的抖動現(xiàn)象。去抖動的方法有硬件和軟件兩種:硬件去抖動和軟件去抖動。圖3.10按鍵抖動現(xiàn)象去抖動模塊采用屢次連續(xù)檢測輸入鍵值的原理防抖。當檢測到有鍵值輸入時并不馬上輸出,而是當16次輸入的鍵值都一樣時才輸出,其中只要有一次鍵值不同的話計數(shù)器都會置零,重新記數(shù)。這樣就能消除

7、按鍵的抖動影響。其模塊外觀如圖3.11所示。圖3.11去抖動模塊外觀按鍵去抖動仿真:圖3.12按鍵去抖動仿真由仿真圖形可以看出,輸入keyvaluein開始和結束時都產(chǎn)生抖動,但經(jīng)過去抖模塊后抖動消失了。起到了去抖動的功能。3、16×16 LED 點陣顯示屏的設計3.1 16x16 LED點陣的工作原理及連接組成方式:16x16 LED點陣的工作原理同8x8 LED點陣的工作原理,圖3.13是8x8的LED點陣單色行共陽模塊的內(nèi)部結構圖,其單點工作電壓Uf為18 V,正向電流IF為810 mA。當某一行線為高電平而某一列線為低時,其行列交叉的點就被點亮;而當其某一列線為高時,其行列交

8、叉的點為暗;當某一行線為低電平時,無論列線如何,對應這一行的點全部為暗。圖3.13:8x8的LED點陣單色行共陽模塊的內(nèi)部結構圖本實驗采用的16x16 LED點陣用四個8x8點陣顯示構成,其連接方法如圖3.14所示。圖中,將(A)和(B)的8列、(C)和(D)的8列分別對應相連,同時將(A)和(C)的8行、 (B)和(D)的8行分別對應相連。即可形成一個16行(每一行有16個LED)、16列(每一列也有16個LED)的16x16點陣顯示器,可將這256個點稱為一頁,這樣,顯示字符時。只要對一頁中對應的亮滅進行控制即可。圖3.14:四個8x8點陣顯示構成的16x16 LED點陣3.2 16x16

9、 LED點陣的驅(qū)動方式本實驗采用動態(tài)掃描型驅(qū)動方式顯示,即顯示屏上的16行發(fā)光二極管共用一組列驅(qū)動存放器,然后通過行驅(qū)動管的分時工作,來使每行LED的點亮時間占總時間的116。只要每行的刷新速率大于50 Hz,利用人眼的視覺暫留效應,人們就可以看到一幅完整的文字或畫面。掃描驅(qū)動分行掃描驅(qū)動和列掃描驅(qū)動。由于16x16點陣顯示器有16行,故使用行掃描信號,本電路中參加了一個4-16線譯碼器,其輸入是一個頻率為1000Hz的時鐘信號,內(nèi)部采用4位二進制加法器,分別為00001111,然后使每種狀態(tài)只控制一路輸出,解碼輸出為低態(tài)掃描信號,即會有16路輸出。本實驗的列信號由事先存于存放器中的16進制碼

10、構成,每個矩陣表示一個字符的列掃描信號,伴隨行掃描信號進行交替的掃描,其設計圖見附錄中16x16 LED點陣掃描設計草圖。本實驗所顯示的字符由鍵盤編碼所確定,其編碼與顯示字符對應的關系如表3.2所示:表3.2:鍵盤編碼與對應顯示字符鍵盤編碼00000000010001000011顯示字符0123鍵盤編碼00100001010011000111顯示字符4567鍵盤編碼01000010010101001011顯示字符89AB鍵盤編碼01100011010111001111顯示字符CDEF鍵盤編碼11111顯示字符音符圖形3.3 16x16 LED點陣驅(qū)動電路16x16 LED點陣驅(qū)動外觀電路如圖3

11、.15所示:圖3.15 16x16 LED點陣驅(qū)動電路外觀16x16 LED點陣驅(qū)動電路原理圖如圖3.16所示:圖3.16:16x16 LED點陣驅(qū)動電路原理圖驅(qū)動行信號仿真如圖3.17所示:圖3.17驅(qū)動行信號4、發(fā)聲模塊4.1音調(diào)的產(chǎn)生音調(diào)的產(chǎn)生是通過分頻實現(xiàn)的。設計要求產(chǎn)生不同的音調(diào),就需要不同的分頻器??梢韵葮嬙煲粋€分頻器,然后通過VHDL中的參數(shù)傳遞語句構造出十二個不同的分頻器,其分頻數(shù)見表3.2輸入時鐘是2MHz。表3.3音符頻率對照表鍵值音符頻率分頻數(shù)鍵值音符頻率分頻數(shù)0低53925102.04087中57842551.02041低64404545.45458中68802272.

12、72732低74944048.5839中79882024.29153中15233824.0918A高110461912.04594中25783460.2076B高211751702.12775中36593034.9014C高313181517.45076中46982865.3295D高413971431.63924.2電路實現(xiàn)發(fā)聲模塊其內(nèi)部是一個有一個輸入,十二個輸出的分頻器,用于產(chǎn)生十二種音調(diào)。然后根據(jù)鍵值判斷哪個口輸出。其頂層視圖如圖3.18所示。圖3.18發(fā)聲模塊外觀發(fā)聲模塊的仿真見圖3.19圖3.19發(fā)聲模塊仿真仿真波形中l(wèi)5h4是分頻器的十二個輸出口,當鍵值是C時speaker輸入的

13、是h3的值,到達了要求。5、頂層模塊實現(xiàn)頂層電路只是把分頻模塊、鍵盤掃描模塊、LED點陣模塊和發(fā)聲模塊連接起來,其外觀和內(nèi)部結構如圖3.20和3.21所示。圖3.20頂層模塊外觀圖3.21頂層模塊內(nèi)部結構6、管腳的定義管腳的定義如表3.4所示表3.4 管腳的定義I/O NameI/O DirectionLocBankclkInputP3BANK7SpeakerOutputP95BANK4keydrv<0>OutputP120BANK3keydrv<1>OutputP121BANK3keydrv<2>OutputP122BANK3keydrv<3>

14、OutputP123BANK3keyin<0>InputP125BANK3keyin<1>InputP127BANK3keyin<2>InputP129BANK3keyin<3>InputP132BANK2LEDcolumn<0>OutputP133BANK2LEDcolumn<1>OutputP134BANK2LEDcolumn<2>OutputP136BANK2LEDcolumn<3>OutputP138BANK2LEDcolumn<4>OutputP139BANK2LEDcolum

15、n<5>OutputP140BANK2LEDcolumn<6>OutputP141BANK2LEDcolumn<7>OutputP147BANK2LEDcolumn<8>OutputP148BANK2LEDcolumn<9>OutputP149BANK2LEDcolumn<10>OutputP150BANK2LEDcolumn<11>OutputP151BANK2LEDcolumn<12>OutputP152BANK2LEDcolumn<13>OutputP162BANK1LEDcolu

16、mn<14>OutputP163BANK1LEDcolumn<15>OutputP164BANK1LEDrow<0>OutputP165BANK1LEDrow<1>OutputP167BANK1LEDrow<2>OutputP73BANK5LEDrow<3>OutputP74BANK5LEDrow<4>OutputP70BANK5LEDrow<5>OutputP71BANK5LEDrow<6>OutputP68BANK5LEDrow<7>OutputP69BANK5LEDro

17、w<8>OutputP63BANK5LEDrow<9>OutputP67BANK5LEDrow<10>OutputP61BANK5LEDrow<11>OutputP62BANK5LEDrow<12>OutputP59BANK5LEDrow<13>OutputP60BANK5LEDrow<14>OutputP57BANK5LEDrow<15>OutputP58BANK5附錄 程序代碼1、頂層模塊library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_

18、LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity play_show is Port ( clk : in STD_LOGIC; keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : out STD_LOG

19、IC_VECTOR (3 downto 0);LEDrow : out STD_LOGIC_VECTOR(15 downto 0);-LED行掃描信號 LEDcolumn : out STD_LOGIC_VECTOR(15 downto 0); Displayshow: out STD_LOGIC_VECTOR (6 downto 0); Displayselect: out STD_LOGIC_VECTOR (3 downto 0); speaker : out STD_LOGIC);end play_show;architecture rtl of play_show iscomponen

20、t freq_divisionPort ( clk:in STD_LOGIC; clkout_kb:out STD_LOGIC; clkout_LED:out STD_LOGIC; clkout_display:out std_logic);end component;component keyboardPort ( clk : in STD_LOGIC;-掃描時鐘,周期10ms keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : out STD_LOGIC_VECTOR(3 downto 0); keyvalue : out STD_LOGI

21、C_VECTOR(4 downto 0);-輸出掃描信號end component;component LEDArrayPort ( clk : in STD_LOGIC;-時鐘信號,經(jīng)分燈韉玫1ms脈沖 keycode : in STD_LOGIC_VECTOR(4 downto 0);-鍵盤給的編碼 LEDrow : out STD_LOGIC_VECTOR(15 downto 0);-LED行掃描信號 LEDcolumn : out STD_LOGIC_VECTOR(15 downto 0)-LED列信號 );end component;component playport (clk:i

22、n STD_LOGIC;keyvalue:in STD_LOGIC_VECTOR(4 downto 0);speaker:out STD_LOGIC);end component;component IBUF port (I: in std_logic; O: out std_logic); end component;component Display Port ( Keyvalue : in STD_LOGIC_VECTOR (4 downto 0); clk: in STD_LOGIC; Display : out STD_LOGIC_VECTOR (6 downto 0); Disel

23、ect : out STD_LOGIC_VECTOR (3 downto 0);end component;-signal clkin:STD_LOGIC;signal clkout_kb,clkout_LED,clkout_display:STD_LOGIC;-signal keydrv1:STD_LOGIC_VECTOR (3 downto 0);signal keyvalue1:STD_LOGIC_VECTOR (4 downto 0);signal CLK_SIG: std_logic;begin-keydrv<=keydrv1;U1: IBUF port map (I =>

24、; clk, O => CLK_SIG);U2freq_division:freq_divisionport map(CLK_SIG,clkout_kb,clkout_LED,clkout_display);U3keyboard:keyboardport map(clkout_kb,keyin,keydrv,keyvalue1);U4LEDArray1616:LEDArrayport map(clkout_LED,keyvalue1,LEDrow,LEDcolumn);U5Uplay:playport map(CLK_SIG,keyvalue1,speaker);U6Display:Di

25、splayport map(keyvalue1,clkout_display,Displayshow,Displayselect);end rtl;2、分頻器entity fredivn isgeneric(N:integer:=2); Port ( clkin:in STD_LOGIC; clkout:out STD_LOGIC);end fredivn;architecture Behavioral of fredivn issignal clk1:std_logic:='0'signal counter:integer range 0 to n;beginprocess(

26、clkin)begin if rising_edge(clkin)then if counter=(n-1)/2 then clk1<=not clk1; counter<=0; else counter<=counter+1; end if; end if; end process;clkout<=clk1;end Behavioral;3、總分頻器entity freq_division isPort ( clk:in STD_LOGIC; clkout_kb:out STD_LOGIC; clkout_LED:out STD_LOGIC; clkout_displ

27、ay:out STD_LOGIC);end freq_division;architecture RTL of freq_division iscomponent fredivn isgeneric(N:positive); Port ( clkin:in STD_LOGIC; clkout:out STD_LOGIC);end component;beginU1:fredivngeneric map(N=>kb_N)port map(clk,clkout_kb);U2:fredivngeneric map(N=>LED_N)port map(clk,clkout_LED);U3:

28、fredivngeneric map(N=>display_N)port map(clk,clkout_display);end RTL;4、鍵盤掃描驅(qū)動entity keyscan is Port ( clkin : in STD_LOGIC;-掃描時鐘,周期20ms keydrv : out STD_LOGIC_VECTOR(3 downto 0);-輸出掃描信號end keyscan;architecture behavioral of keyscan issignal count : std_logic_vector(1 downto 0):="00"-計數(shù)器

29、信號beginprocess(clkin)beginif rising_edge(clkin) thenif count="11" thencount<="00"elsecount<=count+1;end if;end if;end process;process(count)begincase count iswhen "00"=>keydrv<="1110"when "01"=>keydrv<="1101"when "10&

30、quot;=>keydrv<="1011"when "11"=>keydrv<="0111"when others =>keydrv<="0000"end case;end process;end behavioral;5、鍵盤編碼entity keydecoder is Port ( clkin: in std_logic; keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : in STD_LOGIC_VECTOR (3 dow

31、nto 0); keycode : out STD_LOGIC_VECTOR (4 downto 0); end keydecoder;architecture Rtl of keydecoder issignal temp:STD_LOGIC_VECTOR (7 downto 0);signal keyvalue1:STD_LOGIC_VECTOR (4 downto 0):="11111"signal count:std_logic_vector(1 downto 0):="00"-signal keypressed:boolean:=false;-

32、signal q1,q2,q3,q4:boolean;begintemp<=keydrv&keyin;process(clkin)beginif falling_edge(clkin) thenif keyin="1111" thenif count="11" thenkeyvalue1<="11111"count<="00"elsecount<=count+1;end if;elsecount<="00"case temp iswhen"1110

33、1110"=>keyvalue1<="00000"when"11101101"=>keyvalue1<="00001"when"11101011"=>keyvalue1<="00010"when"11100111"=>keyvalue1<="00011"when"11011110"=>keyvalue1<="00100"when"1101

34、1101"=>keyvalue1<="00101"when"11011011"=>keyvalue1<="00110"when"11010111"=>keyvalue1<="00111"when"10111110"=>keyvalue1<="01000"when"10111101"=>keyvalue1<="01001"when"1011

35、1011"=>keyvalue1<="01010"when"10110111"=>keyvalue1<="01011"when"01111110"=>keyvalue1<="01100"when"01111101"=>keyvalue1<="01101"when"01111011"=>keyvalue1<="01110"when"0111

36、0111"=>keyvalue1<="01111"when others =>keyvalue1<=keyvalue1;end case;end if;end if;end process;keycode<=keyvalue1;end rtl;6、鍵盤防抖entity Antiwitter is Port ( clkin : in STD_LOGIC; keyvaluein : in STD_LOGIC_VECTOR (4 downto 0); keyvalueout : out STD_LOGIC_VECTOR (4 downto

37、0);end Antiwitter;architecture Behavioral of Antiwitter issignal TempNum:std_logic_vector(4 downto 0);signal Counter:std_logic_vector(4 downto 0);signal Start:std_logic;beginprocess(clkin)beginif rising_edge(clkin) then if Start='0' thenTempNum<="11111"keyvalueout<="1111

38、1"Start<='1'elseif keyvaluein/=TempNum thenTempNum<=Keyvaluein;Counter<="00000"elseif Counter="11111" thenkeyvalueout<=keyvaluein;Counter<="00000"elseCounter<=Counter+1;end if;end if;end if;end if;end process;end Behavioral;7、鍵盤頂層entity ke

39、yboard isPort ( clk : in STD_LOGIC;-掃描時鐘,周期10ms keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : out STD_LOGIC_VECTOR(3 downto 0); keyvalue : out STD_LOGIC_VECTOR(4 downto 0);-輸出掃描信號end keyboard;architecture RTL of keyboard iscomponent keyscanPort ( clkin : in STD_LOGIC;-掃描時鐘,周期10ms keydrv : out S

40、TD_LOGIC_VECTOR(3 downto 0);-輸出掃描信號end component;component keydecoderPort ( clkin:in std_logic; keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : in STD_LOGIC_VECTOR (3 downto 0); keycode : out STD_LOGIC_VECTOR (4 downto 0);end component;component Antiwitter Port ( clkin : in STD_LOGIC; keyvaluein

41、: in STD_LOGIC_VECTOR (4 downto 0); keyvalueout : out STD_LOGIC_VECTOR (4 downto 0);end component;signal keydrv1:STD_LOGIC_VECTOR (3 downto 0);signal key:std_logic_vector(4 downto 0);beginU1:keyscanport map(clk,keydrv1);U2:keydecoderport map(clk,keyin,keydrv1,key);U3:Antiwitterport map(clk,key,keyva

42、lue);keydrv<=keydrv1;end RTL;8、LED掃描entity LEDArray is Port ( clk : in STD_LOGIC;-時鐘信號,經(jīng)分頻器得到1ms脈沖 keycode : in STD_LOGIC_VECTOR(4 downto 0);-鍵盤給的編碼 LEDrow : out STD_LOGIC_VECTOR(15 downto 0);-LED行掃描信號 LEDcolumn : out STD_LOGIC_VECTOR(15 downto 0)-LED列信號 );end LEDArray;architecture Scan of LEDArr

43、ay issignal count : std_logic_vector(3 downto 0):="0000"-計數(shù)器信號begin-時鐘信號觸發(fā)的計數(shù)器計數(shù)-process(clk)beginif rising_edge(clk) thenif count="1111" thencount<="0000"elsecount<=count+1;end if;end if;end process;-由count信號引發(fā)的行列掃描-process(count)begin-列信號-case count iswhen "

44、;0000"=>LEDrow<=x"8000"when "0001"=>LEDrow<=x"4000"when "0010"=>LEDrow<=x"2000"when "0011"=>LEDrow<=x"1000"when "0100"=>LEDrow<=x"0800"when "0101"=>LEDrow<=x&q

45、uot;0400"when "0110"=>LEDrow<=x"0200"when "0111"=>LEDrow<=x"0100"when "1000"=>LEDrow<=x"0080"when "1001"=>LEDrow<=x"0040"when "1010"=>LEDrow<=x"0020"when "1011&

46、quot;=>LEDrow<=x"0010"when "1100"=>LEDrow<=x"0008"when "1101"=>LEDrow<=x"0004"when "1110"=>LEDrow<=x"0002"when "1111"=>LEDrow<=x"0001"when others=>LEDrow<=x"0000"en

47、d case;-行信號-case keycode is-顯示0-when "00000"=>case count iswhen "0000"=>LEDcolumn<=x"03C0"when "0001"=>LEDcolumn<=x"07E0"when "0010"=>LEDcolumn<=x"0E70"when "0011"=>LEDcolumn<=x"0C30"

48、when "0100"=>LEDcolumn<=x"0C30"when "0101"=>LEDcolumn<=x"0C30"when "0110"=>LEDcolumn<=x"0C30"when "0111"=>LEDcolumn<=x"0C30"when "1000"=>LEDcolumn<=x"0C30"when "1001

49、"=>LEDcolumn<=x"0C30"when "1010"=>LEDcolumn<=x"0C30"when "1011"=>LEDcolumn<=x"0C30"when "1100"=>LEDcolumn<=x"0C30"when "1101"=>LEDcolumn<=x"0E70"when "1110"=>LEDc

50、olumn<=x"07E0"when "1111"=>LEDcolumn<=x"03C0"when others=>LEDcolumn<=x"0000"end case;-顯示1-when "00001" =>case count iswhen "0000"=>LEDcolumn<=x"0080"when "0001"=>LEDcolumn<=x"0180"

51、when "0010"=>LEDcolumn<=x"0780"when "0011"=>LEDcolumn<=x"0F80"when "0100"=>LEDcolumn<=x"0180"when "0101"=>LEDcolumn<=x"0180"when "0110"=>LEDcolumn<=x"0180"when "0111

52、"=>LEDcolumn<=x"0180"when "1000"=>LEDcolumn<=x"0180"when "1001"=>LEDcolumn<=x"0180"when "1010"=>LEDcolumn<=x"0180"when "1011"=>LEDcolumn<=x"0180"when "1100"=>LEDc

53、olumn<=x"0180"when "1101"=>LEDcolumn<=x"0180"when "1110"=>LEDcolumn<=x"0FF0"when "1111"=>LEDcolumn<=x"0FF0"when others=>LEDcolumn<=x"0000"end case;-顯示2-when "00010"=>case count isw

54、hen "0000"=>LEDcolumn<=x"03C0"when "0001"=>LEDcolumn<=x"07E0"when "0010"=>LEDcolumn<=x"0E70"when "0011"=>LEDcolumn<=x"0C30"when "0100"=>LEDcolumn<=x"0C30"when "0101&

55、quot;=>LEDcolumn<=x"0C30"when "0110"=>LEDcolumn<=x"0070"when "0111"=>LEDcolumn<=x"00E0"when "1000"=>LEDcolumn<=x"01C0"when "1001"=>LEDcolumn<=x"0380"when "1010"=>LEDco

56、lumn<=x"0700"when "1011"=>LEDcolumn<=x"0E00"when "1100"=>LEDcolumn<=x"0C00"when "1101"=>LEDcolumn<=x"0C00"when "1110"=>LEDcolumn<=x"0FF0"when "1111"=>LEDcolumn<=x"

57、;0FF0"when others=>LEDcolumn<=x"0000"end case;-顯示3-when "00011"=>case count iswhen "0000"=>LEDcolumn<=x"03C0"when "0001"=>LEDcolumn<=x"07E0"when "0010"=>LEDcolumn<=x"0E70"when "0011&q

58、uot;=>LEDcolumn<=x"0C30"when "0100"=>LEDcolumn<=x"0C30"when "0101"=>LEDcolumn<=x"0C70"when "0110"=>LEDcolumn<=x"00E0"when "0111"=>LEDcolumn<=x"01C0"when "1000"=>LEDcol

59、umn<=x"00E0"when "1001"=>LEDcolumn<=x"0070"when "1010"=>LEDcolumn<=x"0030"when "1011"=>LEDcolumn<=x"0C30"when "1100"=>LEDcolumn<=x"0C30"when "1101"=>LEDcolumn<=x"0E70"when "1110"=>LEDcolumn<=x"07E0"when "1111"=>LEDcolumn<=x"03C0"when others=>LEDcolumn<=x"0000&q

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論