<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Lattice MXO2: 2位7段數碼管顯示

Lattice MXO2: 2位7段數碼管顯示

作者: 時(shí)間:2023-10-26 來(lái)源:電子森林 收藏


本實(shí)驗將會(huì )讓你熟悉上最后一種有意思的外設七段數碼管。

本文引用地址:http://dyxdggzs.com/article/202310/452078.htm

硬件說(shuō)明


數碼管是工程設計中使用很廣的一種顯示輸出器件。一個(gè)7段數碼管(如果包括右下的小點(diǎn)可以認為是8段)分別由a、b、c、d、e、f、g位段和表示小數點(diǎn)的dp位段組成。實(shí)際是由8個(gè)LED燈組成的,控制每個(gè)LED的點(diǎn)亮或熄滅實(shí)現數字顯示。通常數碼管分為共陽(yáng)極數碼管和共陰極數碼管,結構如下圖所示:

共陽(yáng)極、共陰極數碼管

圖1 共陽(yáng)極、共陰極數碼管

共陰8段數碼管的信號端低電平有效,而共陽(yáng)端接高電平有效。當共陽(yáng)端接高電平時(shí)只要在各個(gè)位段上加上相應的低電平信號就可以使相應的位段發(fā)光。比如:要使a段發(fā)光,則在a段信號端加上低電平即可。共陰極的數碼管則相反。 可以看到數碼管的控制和LED的控制有相似之處,在STEP-MXO2 V2開(kāi)發(fā)板上有兩位共陰極數碼管,

數碼管所有的信號都連接到的管腳,作為輸出信號控制。只要輸出這些信號就能夠控制數碼管的那一段LED亮或者滅。這樣我們可以通過(guò)開(kāi)關(guān)來(lái)控制的輸出,和3. 3-8譯碼器實(shí)驗一樣,通過(guò)組合邏輯的輸出來(lái)控制數字,下面是的表格

這其實(shí)是一個(gè)4-16譯碼器,如果我們想數碼管能顯示16進(jìn)制可以全譯碼,如果只想顯示數字,可以只利用其中10個(gè)譯碼,下面看看如果用Verilog來(lái)實(shí)現。

Verilog代碼


// ********************************************************************
// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
// ********************************************************************
// File name    : segment.v
// Module name  : segment
// Author       : STEP
// Description  : segment initial
// Web          : www.stepfpga.com 
// 
// --------------------------------------------------------------------
// Code Revision History : 
// --------------------------------------------------------------------
// Version: |Mod. Date:   |Changes Made:
// V1.0     |2017/03/02   |Initial ver
// --------------------------------------------------------------------
// Module Function:數碼管的譯碼模塊初始化 
module LED (seg_data_1,seg_data_2,seg_led_1,seg_led_2); 	
input [3:0] seg_data_1;						//數碼管需要顯示0~9十個(gè)數字,所以最少需要4位輸入做譯碼
	input [3:0] seg_data_2;						//上第二個(gè)數碼管
	output [8:0] seg_led_1;						//在小腳丫上控制一個(gè)數碼管需要9個(gè)信號 
	MSB~LSB=DIG、DP、G、F、E、D、C、B、A
	output [8:0] seg_led_2;						//在小腳丫上第二個(gè)數碼管的控制信號  
	MSB~LSB=DIG、DP、G、F、E、D、C、B、A         
	reg [8:0] seg [9:0];                                            
	//定義了一個(gè)reg型的數組變量,相當于一個(gè)10*9的存儲器,存儲器一共有10個(gè)數,每個(gè)數有9位寬         
	
	initial            
	                                             
	//在過(guò)程塊中只能給reg型變量賦值,Verilog中有兩種過(guò)程塊always和initial
                                                                        //initial和always不同,其中語(yǔ)句只執行一次
	    begin
              seg[0] = 9'h3f;                                           
              //對存儲器中第一個(gè)數賦值9'b00_0011_1111,相當于共陰極接地,DP點(diǎn)變低不亮,7段顯示數字  0
	      seg[1] = 9'h06;                                           //7段顯示數字  1
	      seg[2] = 9'h5b;                                           //7段顯示數字  2
	      seg[3] = 9'h4f;                                           //7段顯示數字  3
	      seg[4] = 9'h66;                                           //7段顯示數字  4
	      seg[5] = 9'h6d;                                           //7段顯示數字  5
	      seg[6] = 9'h7d;                                           //7段顯示數字  6
	      seg[7] = 9'h07;                                           //7段顯示數字  7
	      seg[8] = 9'h7f;                                           //7段顯示數字  8
	      seg[9] = 9'h6f;                                           //7段顯示數字  9
            end         
        assign seg_led_1 = seg[seg_data_1];                         
            //連續賦值,這樣輸入不同四位數,就能輸出對于譯碼的9位輸出
        assign seg_led_2 = seg[seg_data_2]; 
        endmodule

引腳分配


小腳丫上正好有4路按鍵和4路開(kāi)關(guān),可以用來(lái)作為輸入信號分別控制數碼管的輸出。按照下面表格定義輸入輸出信號

信號引腳信號引腳
segdata1(0)M7segdata2(0)L14
segdata1(1)M8segdata2(1)M13
segdata1(2)M9segdata2(2)M14
segdata1(3)M10segdata2(3)N14

信號引腳信號引腳
segled1(0)A10segled2(0)C12
segled1(1)C11segled2(1)B14
segled1(2)F2segled2(2)J1
segled1(3)E1segled2(3)H1
segled1(4)E2segled2(4)H2
segled1(5)A9segled2(5)B12
segled1(6)B9segled2(6)A11
segled1(7)F1segled2(7)K1
segled1(8)C9segled2(8)A12


配置好以后編譯下載程序。這樣可以通過(guò)按鍵或者開(kāi)關(guān)來(lái)控制相應的數碼管顯示數字。如果你想顯示16進(jìn)制的AbCDeF在數碼管,可以試試修改程序。這時(shí)候一定要定義一個(gè)16*9的存儲器來(lái)初始化。

小結


了解了小腳丫數碼管的工作原理,在下個(gè)實(shí)驗我們將進(jìn)行到有趣的時(shí)序邏輯。首先是如何控制時(shí)鐘分頻。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>