新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Altera MAX10: 3-8譯碼器

        Altera MAX10: 3-8譯碼器

        作者: 時間:2023-10-19 來源:電子森林 收藏

        在這個實驗里我們將學習如何用來實現

        本文引用地址:http://www.104case.com/article/202310/451768.htm

        電路是數字電路的重要部分,電路的輸出只與輸入的當前狀態相關的邏輯電路,常見的有選擇器、比較器、譯碼器、編碼器、編碼轉換等等。在本實驗里以最常見的3-8譯碼器為例說明如何用實現。3-8譯碼器的真值表如下:

        從前面的實驗可以知道,當輸出信號到LED為高電平時LED熄滅,反之LED變亮。同時我們可以以開關的信號模擬3-8譯碼器的輸入,這樣控制開關我們就能控制特定的LED變亮。

        // ********************************************************************
        // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
        // ********************************************************************
        // File name    : decode38.v
        // Module name  : decode38// Author       : STEP
        // Description  : 3-8decode control LED// Web          : www.stepfpga.com 
        // 
        // --------------------------------------------------------------------
        // Code Revision History : 
        // --------------------------------------------------------------------
        // Version: |Mod. Date:   |Changes Made:
        // V1.0     |2017/03/02   |Initial ver
        // --------------------------------------------------------------------
        // Module Function:利用3路開關的狀態作為輸出,通過3-8譯碼實現控制LED燈的顯示。 
        module decode38 (sw,led); 	
        input [2:0] sw;							//開關輸入信號,利用了其中3個開關作為3-8譯碼器的輸入
        	output [7:0] led;						//輸出信號控制特定LED         
        	reg [7:0] led;                                                  
        	//定義led為reg型變量,在always過程塊中只能對reg型變量賦值         
        	//always過程塊,括號中sw為敏感變量,當sw變化一次執行一次always中所有語句,否則保持不變
        	always @ (sw)
        	begin
        		case(sw)                                                   //case語句,一定要跟default語句
        			3'b000:	led=8'b0111_1111;                         
        			//條件跳轉,其中“_”下劃線只是為了閱讀方便,無實際意義  
        			3'b001:	led=8'b1011_1111;                         
        			//位寬'進制+數值是Verilog里常數的表達方法,進制可以是b、o、d、h(二、八、十、十六進制)
        			3'b010:	led=8'b1101_1111;
        			3'b011:	led=8'b1110_1111;
        			3'b100:	led=8'b1111_0111;
        			3'b101:	led=8'b1111_1011;
        			3'b110: led=8'b1111_1101;
        			3'b111:	led=8'b1111_1110;
        			default: ;
        		endcase
        	end endmodule

        綜合(synthesize)完成之后一定要配置的引腳到相應的外設。

        信號名稱分配管腳信號名稱分配管腳
        LED[0]N15SW[0]J12
        LED[1]N14SW[1]H11
        LED[2]M14SW[2]H12
        LED[3]M12SW[3]H13
        LED[4]L15

        LED[5]K12

        LED[6]L11

        LED[7]K11

        下載完程序后就可以實現3個開關控制不同LED燈的顯示,3-8譯碼器完成。

        實現了一個簡單的3-8譯碼器,在下一個數碼管顯示實驗我們將學習如何通過譯碼實現控制數碼管的顯示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 齐河县| 彩票| 临猗县| 泸水县| 丘北县| 苍梧县| 阳泉市| 平湖市| 高陵县| 延寿县| 红原县| 同心县| 富蕴县| 杭锦后旗| 安丘市| 个旧市| 彰化县| 阳江市| 布拖县| 蒲江县| 揭东县| 清远市| 玉山县| 惠安县| 长岭县| 乐亭县| 南江县| 砀山县| 伊通| 武穴市| 闻喜县| 柳江县| 扎兰屯市| 普兰县| 泗洪县| 宁南县| 班戈县| 四子王旗| 施甸县| 金塔县| 满洲里市|