0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

工程師 ? 來源:未知 ? 作者:姚遠(yuǎn)香 ? 2019-03-06 15:05 ? 次閱讀

一個(gè)帶小數(shù)點(diǎn)的數(shù)碼管的所有8個(gè)發(fā)光二極管的正極或負(fù)極有一個(gè)公共端,通常必須接GND(共陰極數(shù)碼管)或者接VCC(共陽極數(shù)碼管),而另一個(gè)非公共端的8個(gè)引腳就留給用戶的I/O直接控制了。

所以,你做實(shí)驗(yàn)之前要明白自己的開發(fā)板的數(shù)碼管是共陽極的還是共陰極的,由于板子是師兄留給我的,我就不知道我的板子是共陽極的還是供陰極的,所以顯示數(shù)字出現(xiàn)亂碼時(shí),我就花了很長時(shí)間確定是共陽極的還是共陰極的,亂碼是這個(gè)原因還是引腳約束出問題了等等,很煩惱,當(dāng)然,最后成功的顯示數(shù)字之后,心里還是很舒服的。

我的Spartan-6 FPGA開發(fā)板中的數(shù)碼管是共陽極的,因此段選是低電平有效,也就是低電平時(shí),每一段對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮。

如下圖是數(shù)碼管的示意圖:

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

如果是共陰極的,那么譯碼表為:

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

每個(gè)數(shù)字或字符的編碼是怎么得到的呢?

如下表:

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

上表舉了0、1這兩個(gè)數(shù)字的編碼方式,應(yīng)該很明白了吧,從dot開始到a,依次編碼,亮為1,滅為0,如此規(guī)律,可以找到各個(gè)數(shù)字或字符對(duì)應(yīng)的16進(jìn)制編碼,該16進(jìn)制編碼最高位賦值給dot,然后是g、f依次到a,這樣的話,就應(yīng)該到時(shí)候分配引腳的時(shí)候,dot引腳對(duì)應(yīng)的編碼位數(shù)是最高位,a引腳對(duì)應(yīng)的是編碼位數(shù)的最低位。

不明白這一點(diǎn),弄錯(cuò)了,就會(huì)出現(xiàn)亂碼。

上面說的是共陰極的情況,那么共陽極的情況呢?對(duì)應(yīng)的編碼是多少呢?

可知根據(jù)規(guī)律自己推,這里就直接給出了:

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

下面說說這個(gè)實(shí)驗(yàn)的要求,由于只是初步了解數(shù)碼管的段選片選,所以就不要求那么復(fù)雜了,相對(duì)簡單一些:

看看你的開發(fā)板上有幾個(gè)數(shù)碼管,讓它們同時(shí)顯示數(shù)字從0 到 F。

下面給出我的FPGA設(shè)計(jì)的Verilog HDL硬件描述語言:

這個(gè)代碼是特權(quán)同學(xué)的,我改動(dòng)了下,適應(yīng)我的FPGA開發(fā)板,(數(shù)碼管是共陽極的,片選是低電平有效,8個(gè)數(shù)碼管。)

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////////

// Company:

// Engineer:

//

// Create Date: 14:03:17 08/17/2018

// Design Name:

// Module Name: leg_seg7

// Project Name:

// Target Devices:

// Tool versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////////

module led_seg7(

clk,rst_n,

sm_cs1_n,sm_db

);

input clk; // 50MHz

input rst_n; // 復(fù)位信號(hào),低有效

output[7:0] sm_cs1_n; //數(shù)碼管片選信號(hào),低有效

output[7:0] sm_db; //8段數(shù)碼管(包括小數(shù)點(diǎn))

reg[24:0] cnt; //計(jì)數(shù)器,最大可以計(jì)數(shù)到2的25次方*20ns=640ms

always @ (posedge clk or negedge rst_n)

if(!rst_n) cnt 《= 25‘d0;

else cnt 《= cnt+1’b1; //循環(huán)計(jì)數(shù)

reg[3:0] num; //顯示數(shù)值

always @ (posedge clk or negedge rst_n)

if(!rst_n) num 《= 4‘d0;

else if(cnt == 25’h1ffffff) num 《= num+1‘b1; //每640ms增一

//-------------------------------------------------------------------------------

/* 共陽級(jí) :帶小數(shù)點(diǎn)

;0, 1, 2, 3, 4, 5, 6, 7,

db C0, F9, A4, B0, 99, 92, 82, F8

;8, 9, a, b, c, d, e, f , 滅

db 80, 90, 88, 83, C6, A1, 86, 8E, ff*/

parameter seg0 = 7’hC0,

seg1 = 7‘hF9,

seg2 = 7’hA4,

seg3 = 7‘hB0,

seg4 = 7’h99,

seg5 = 7‘h92,

seg6 = 7’h82,

seg7 = 7‘hF8,

seg8 = 7’h80,

seg9 = 7‘h90,

sega = 7’h88,

segb = 7‘h83,

segc = 7’hC6,

segd = 7‘hA1,

sege = 7’h86,

segf = 7‘h8E;

reg[7:0] sm_dbr; //8段數(shù)碼管(包括小數(shù)點(diǎn))

always @ (num)

case (num) //NUM值顯示在數(shù)碼管上

4’h0: sm_dbr 《= seg0;

4‘h1: sm_dbr 《= seg1;

4’h2: sm_dbr 《= seg2;

4‘h3: sm_dbr 《= seg3;

4’h4: sm_dbr 《= seg4;

4‘h5: sm_dbr 《= seg5;

4’h6: sm_dbr 《= seg6;

4‘h7: sm_dbr 《= seg7;

4’h8: sm_dbr 《= seg8;

4‘h9: sm_dbr 《= seg9;

4’ha: sm_dbr 《= sega;

4‘hb: sm_dbr 《= segb;

4’hc: sm_dbr 《= segc;

4‘hd: sm_dbr 《= segd;

4’he: sm_dbr 《= sege;

4‘hf: sm_dbr 《= segf;

default: ;

endcase

assign sm_db = sm_dbr;

assign sm_cs1_n = 8’b0000_0000; //數(shù)碼管常開

endmodule

對(duì)上述代碼需要解釋的是片選信號(hào)有8個(gè),低電平有效,我把8個(gè)數(shù)碼區(qū)的片選全部賦值為0了,這樣8個(gè)數(shù)碼管就全部有效,同步顯示0到F.(片選的意思是選擇哪一個(gè)數(shù)碼管有效)

這是我的數(shù)碼管的電路圖:

BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)

更多關(guān)于BJ-EPM240學(xué)習(xí)板之?dāng)?shù)碼管顯示實(shí)驗(yàn)請(qǐng)看視頻。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21568

    瀏覽量

    600622
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1873

    瀏覽量

    90740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    簡述led數(shù)碼管的類型和顯示原理

    LED數(shù)碼管是一種常見的顯示設(shè)備,廣泛應(yīng)用于各種電子設(shè)備和系統(tǒng)中。本文將介紹LED數(shù)碼管的類型和顯示原理,以幫助讀者更好地了解這種設(shè)備。 LED數(shù)碼
    的頭像 發(fā)表于 08-29 09:11 ?363次閱讀

    數(shù)碼管顯示屏的靜態(tài)顯示編程是什么

    數(shù)碼管顯示屏的靜態(tài)顯示編程是一種簡單的顯示方式,它指的是在任意時(shí)刻,數(shù)碼管上的所有段(a, b, c, d, e, f, g, dp等,具體
    的頭像 發(fā)表于 08-28 17:14 ?347次閱讀

    數(shù)碼管顯示屏的作用和功能是什么

    數(shù)碼管顯示屏是一種廣泛應(yīng)用于各種電子設(shè)備中的顯示技術(shù),它具有多種作用和功能。 一、數(shù)碼管顯示屏的基本概念 1.1
    的頭像 發(fā)表于 08-28 17:11 ?487次閱讀

    什么原因造成數(shù)碼管顯示錯(cuò)誤

    數(shù)碼管顯示錯(cuò)誤是一個(gè)常見的問題,可能由多種原因引起。 一、引言 數(shù)碼管是一種常用的顯示設(shè)備,廣泛應(yīng)用于各種電子設(shè)備中,如電子鐘、計(jì)算器、溫度計(jì)等。然而,在使用過程中,
    的頭像 發(fā)表于 08-28 16:36 ?775次閱讀

    數(shù)碼管顯示不全是什么原因造成的

    數(shù)碼管顯示不全的原因主要有以下幾個(gè)方面: 顯示模塊故障:數(shù)碼管顯示不全可能是由于顯示模塊自身出現(xiàn)
    的頭像 發(fā)表于 12-26 13:58 ?6265次閱讀

    單片機(jī)是如何控制數(shù)碼管顯示各種字符的?

    單片機(jī)是一種集成電路,它由中央處理器、存儲(chǔ)器、輸入輸出接口和定時(shí)器等組成。它用于在電子設(shè)備中控制各種功能,包括數(shù)碼管顯示數(shù)碼管是一種常見的顯示裝置,用于
    的頭像 發(fā)表于 12-15 10:22 ?1515次閱讀

    【每周一練】盤古1K開發(fā) 練習(xí)三:動(dòng)態(tài)數(shù)碼管顯示

    實(shí)驗(yàn)目的: 掌握數(shù)碼管顯示原理,實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示 實(shí)驗(yàn)要求: 實(shí)現(xiàn)四個(gè)
    發(fā)表于 12-10 16:45

    【每周一練】盤古1K開發(fā) 練習(xí)三:動(dòng)態(tài)數(shù)碼管顯示實(shí)驗(yàn)

    實(shí)驗(yàn)目的 動(dòng)態(tài)控制 4 位數(shù)碼管顯示不同的數(shù)值; 實(shí)驗(yàn)要求 四個(gè)數(shù)碼管顯示不同的數(shù)字, 按鍵 K
    發(fā)表于 12-09 15:09

    STM32 I2C寫入驅(qū)動(dòng)數(shù)碼管顯示實(shí)驗(yàn)

    本次實(shí)驗(yàn)所用到的simulink模型如圖5.2所示,電路原理圖如圖5.3所示,實(shí)驗(yàn)效果為數(shù)碼管從‘0’~‘A’輪流顯示,如圖5.1所示。
    的頭像 發(fā)表于 12-06 16:09 ?1953次閱讀
    STM32 I2C寫入驅(qū)動(dòng)<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>顯示</b><b class='flag-5'>實(shí)驗(yàn)</b>

    【每周一練】盤古1K開發(fā) 練習(xí)三:動(dòng)態(tài)數(shù)碼管顯示實(shí)驗(yàn)

    實(shí)驗(yàn)目的:掌握數(shù)碼管顯示原理,實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示 實(shí)驗(yàn)要求:實(shí)現(xiàn)四個(gè)
    發(fā)表于 11-24 11:21

    動(dòng)態(tài)數(shù)碼管顯示原理詳解

    動(dòng)態(tài)顯示的特點(diǎn)是將所有數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描
    的頭像 發(fā)表于 11-10 11:38 ?4346次閱讀
    動(dòng)態(tài)<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>顯示</b>原理詳解

    數(shù)碼管筆記

    1.共陰極/共陽極數(shù)碼管的內(nèi)部組成結(jié)構(gòu)2..共陰極/共陽極數(shù)碼管的驅(qū)動(dòng)電路3.數(shù)碼管顯示的字符/段選/位選
    發(fā)表于 11-06 17:18 ?3次下載

    數(shù)碼管驅(qū)動(dòng)學(xué)習(xí)筆記

    電子發(fā)燒友網(wǎng)站提供《數(shù)碼管驅(qū)動(dòng)學(xué)習(xí)筆記.pdf》資料免費(fèi)下載
    發(fā)表于 11-05 17:28 ?0次下載

    基于單片機(jī)的數(shù)碼管靜態(tài)及動(dòng)態(tài)顯示

    上圖是獨(dú)立共陽數(shù)碼管,用于演示數(shù)碼管顯示原理
    的頭像 發(fā)表于 10-31 15:51 ?1597次閱讀
    基于單片機(jī)的<b class='flag-5'>數(shù)碼管</b>靜態(tài)及動(dòng)態(tài)<b class='flag-5'>顯示</b>

    基于單片機(jī)的數(shù)碼管電路設(shè)計(jì)

    前面一課通過流水燈實(shí)驗(yàn),學(xué)會(huì)了流水燈電路模型設(shè)計(jì),掌握了循環(huán)移位和時(shí)間延遲算法的程序編寫。本次實(shí)驗(yàn)完成數(shù)碼管顯示電路模型設(shè)計(jì)和編程,在實(shí)驗(yàn)
    的頭像 發(fā)表于 10-31 14:57 ?1783次閱讀
    基于單片機(jī)的<b class='flag-5'>數(shù)碼管</b>電路設(shè)計(jì)