chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

深入學(xué)習(xí)基于FPGA的數(shù)碼管動態(tài)掃描驅(qū)動設(shè)計

電子工程師 ? 來源:FPGA設(shè)計論壇 ? 作者:FPGA設(shè)計論壇 ? 2021-03-14 09:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于 FPGA數(shù)碼管動態(tài)掃描驅(qū)動設(shè)計

1. 實驗引言

在電子系統(tǒng)中,通常都需要有輸出設(shè)備來輸出或顯示一定的信息,以指示當前系統(tǒng)運行的狀態(tài)。在以單片機和 ARM 為主的電子系統(tǒng)中,液晶屏是理想的輸出設(shè)備。而 FPGA 則因為其獨特的硬件結(jié)構(gòu),如果用 RTL 級電路來驅(qū)動彩色液晶屏來顯示一定的數(shù)據(jù),勢必是非常不劃算的選擇,而且驅(qū)動也極為復(fù)雜。數(shù)碼管作為一種能夠直觀顯示一定數(shù)據(jù)信息的輸出設(shè)備,具有驅(qū)動簡單、顯示直觀的特點,尤其適合作為 FPGA 系統(tǒng)的輸出設(shè)備。本節(jié),我們就將和大家一起進行數(shù)碼管驅(qū)動的開發(fā)。

2. 實驗?zāi)康?/p>

實現(xiàn) 6 位 7 段數(shù)碼管的驅(qū)動,待顯示數(shù)據(jù)以 BCD 格式輸入。數(shù)碼管刷新時鐘為 1KHz。實驗使用了 4 個獨立按鍵作為輸入,通過按鍵來改變需要數(shù)碼管顯示的數(shù)據(jù),以驗證數(shù)碼管驅(qū)動的正確性,同時也可檢驗獨立按鍵消抖模塊的可靠性。

3. 實驗內(nèi)容

本實驗的內(nèi)容是數(shù)碼管動態(tài)掃描驅(qū)動的設(shè)計,通過外部四位按鍵的不同操作來驅(qū)動數(shù)碼管顯示不同的值。

4. 實驗原理

數(shù)碼管所謂的動態(tài)掃描,就是利用人眼的視覺暫留特性,在人眼能分辨的變化速度以外,快速分時的點亮各個數(shù)碼管及其對應(yīng)的段。因為分別點亮所有數(shù)碼管一次所用時間小于人眼的視覺暫留,因此,在人們眼里看來,這些數(shù)碼管都是同時持續(xù)點亮的,并不會有閃爍的感覺。

圖 1 為 3 位 7 段數(shù)碼管的等效電路圖,在這個圖中,可以明顯的看到 24個發(fā)光二極管被分為了三組,每一組的 8 個發(fā)光二極管正極被接在了一起,通過一個三極管與 VCC 相連。三極管的基極連接到了 FPGA 的 IO 上,因此,只需要 FPGA 對應(yīng)的 IO 上給出低電平,三極管便會導(dǎo)通。而三組 LED 中所有的相同編號的 LED 的負極被連接在了一起,并接到了 FPGA 的 IO 上。如果我們希望將最左邊一組的 led0、led5、led7 三個編號的 led 燈點亮,其它 led 不亮,則只需要給 Q0 的基極(sel0)連接上低電平,并將 led0、led5、led7 的負極(a、f、h)連接上低電平,其它所有端口都輸出高電平,則最左邊一組的對應(yīng)的三個 led 燈就會被點亮,而其它 led 則會處于熄滅狀態(tài)。 假如我們需要在三秒時間內(nèi),完成以下三次操作:第一次操作,點亮最左邊一組 led 燈的 led0、led5、led7;第二次操作,點亮中間一組 led 燈的 led1、led2、led3;第三次操作,點亮最右邊一組 led 燈的 led2、led4、led6;那么我們只需要按照如下表格中列出的真值表操作即可:

ee02c720-8433-11eb-8b86-12bb97331649.png

按照以上表格,我們就能知道該如何操作了,只需要在不同的時間給各個 IO 不同的電平,便能實現(xiàn)我們想要的亮滅組合。以上我們是以 1 秒為單位進行 led 組的切換的,假如我們將切換速度加快,變?yōu)?1 毫秒一切換,會是什么情況呢?在 1 毫秒一切換的速度下,完成所有操作所需時間為 3ms,遠遠超出了我們?nèi)搜鬯鼙孀R的變化速度范圍。如果我們讓以上三個操作永遠循環(huán)的進行下去,那么我們將看見三組 led 燈中,我們點亮的那幾個 led 是同時且一直處于亮著的狀態(tài)的,這便是動態(tài)掃描的原理,假如我們把每個 led做成一個長條型的,并按照如下形狀擺放,便就是我們常見的數(shù)碼管了。

5. 硬件設(shè)計

在這個圖中,共有 6 位數(shù)碼管,每個數(shù)碼管的正極被接在一個驅(qū)動三極管上,三極管的基極連接到三八譯碼器的 Y 端,則 FPGA 只需要三個引腳就可最多控制 8 個數(shù)碼管的位選。數(shù)碼管的段選在串接了 470 歐姆的電阻后與FPGA 的 IO 相連。這里 470 歐姆的電阻主要起到限流的作用,保證流過數(shù)碼管的電流在正常范圍內(nèi)。

6. 系統(tǒng)結(jié)構(gòu)框圖

eecb25d0-8433-11eb-8b86-12bb97331649.png

系統(tǒng)端口及其意義如下:

ef097f2e-8433-11eb-8b86-12bb97331649.png

內(nèi)部信號及其意義如下:

ef429d86-8433-11eb-8b86-12bb97331649.png

ef83c644-8433-11eb-8b86-12bb97331649.png

7. 代碼解釋

因為數(shù)碼管屬于低速設(shè)備,其正常的掃描頻率為 500~10KHz,掃描頻率太快,會導(dǎo)致系統(tǒng)功耗增加,顯示效果變暗。掃描頻率太慢,會有明顯的閃爍感。本實驗通過調(diào)試觀察,選擇以 1KHz 作為掃描頻率,實際顯示效果非常好。 因此本實驗首先就需要產(chǎn)生一個 1KHz 的掃描時鐘,該時鐘由系統(tǒng)時鐘分頻得到。產(chǎn)生 1KHz 掃描時鐘的代碼如下:

efc0cd78-8433-11eb-8b86-12bb97331649.png

其中,定義了一個全局參數(shù) system_clk,該參數(shù)為 Clk 的頻率,不同的時鐘頻率,只需要更改該參數(shù),就可改變分頻計數(shù)器的最大計數(shù)值,以保證 1KHz分頻的精準性。 在驅(qū)動中,數(shù)碼管的位選以掃描時鐘的速率進行切換,因為只有 6 位數(shù)碼管,因此當位選計數(shù)到 6-1 后必須清零從頭開始計數(shù)。相關(guān)代碼如下:

f029c9c2-8433-11eb-8b86-12bb97331649.png

每個數(shù)碼管需要顯示的內(nèi)容都不相同,由 Data 中相應(yīng)的位指定,Data中各位與數(shù)碼管的位對應(yīng)關(guān)系如下:

因此需要從 Data 中將每個數(shù)碼管被選中時需要顯示的數(shù)據(jù)提取出來,提取數(shù)據(jù)的代碼如下所示:

f09ceccc-8433-11eb-8b86-12bb97331649.png

因為提取出來的數(shù)據(jù)還是 BCD 碼的形式,還需要將 BCD 碼對應(yīng)的數(shù)據(jù)翻譯成為數(shù)碼管顯示對應(yīng)字符時應(yīng)該點亮或熄滅的對應(yīng)的 LED 的控制信號,因此必須還有一個 BCD 碼譯碼的過程,該過程代碼如下所示:

f0c01058-8433-11eb-8b86-12bb97331649.png

控制部分相對簡單,只需要根據(jù)對應(yīng)的 按鍵信息,給待顯示的數(shù)據(jù)加上一個對應(yīng)的值,該部分代碼如下所示:

f0f95624-8433-11eb-8b86-12bb97331649.png

f1399c48-8433-11eb-8b86-12bb97331649.png

8. 程序清單

(1)工程頂層模塊(文件名 top.v) 該模塊為工程頂層模塊,負責將按鍵檢測模塊(normal_keys_detect.v)、顯示控制模塊(ctrl.v)、數(shù)碼管驅(qū)動模塊(DIG_LED_DRIVE.v)按照邏輯關(guān)系級聯(lián)。

f1848014-8433-11eb-8b86-12bb97331649.png

f1cacaba-8433-11eb-8b86-12bb97331649.png

(2) 按鍵檢測模塊(文件名 normal_keys_detect.v) 該模塊為按鍵檢測模塊,負責檢測外部按鍵值,并完成按鍵消抖,輸出按鍵檢測標志。

f1fd9990-8433-11eb-8b86-12bb97331649.png

f2388dac-8433-11eb-8b86-12bb97331649.png

f2b533f2-8433-11eb-8b86-12bb97331649.png

f2fdbc08-8433-11eb-8b86-12bb97331649.png

(3) 控制模塊(文件名 ctrl.v) 該模塊為數(shù)碼管顯示控制模塊,通過檢測到的鍵值驅(qū)動數(shù)碼管顯示出不同的值。

f34f9578-8433-11eb-8b86-12bb97331649.png

(4) 數(shù)碼管顯示驅(qū)動模塊(文件名 DIG_LED_DRIVE.v) 該模塊為數(shù)碼管顯示驅(qū)動模塊,負責將輸入的數(shù)據(jù)正確顯示到數(shù)碼管對應(yīng)位。

f39bed7e-8433-11eb-8b86-12bb97331649.png

f3d76e76-8433-11eb-8b86-12bb97331649.png

f429022c-8433-11eb-8b86-12bb97331649.png

f45c50d2-8433-11eb-8b86-12bb97331649.png

f4ace6dc-8433-11eb-8b86-12bb97331649.png

f4e2cd74-8433-11eb-8b86-12bb97331649.png

(5) 測試仿真模塊(文件名 DIG_LED_DRIVE_tb.v) 該模塊為數(shù)碼管顯示驅(qū)動測試模塊,用于仿真查看數(shù)碼管驅(qū)動邏輯是否正確。

f51d2988-8433-11eb-8b86-12bb97331649.png

f5721bf0-8433-11eb-8b86-12bb97331649.png

責任編輯:lq6

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

    關(guān)注

    1660

    文章

    22395

    瀏覽量

    635606
  • 單片機
    +關(guān)注

    關(guān)注

    6076

    文章

    45479

    瀏覽量

    669621
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9548

    瀏覽量

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

    關(guān)注

    32

    文章

    1894

    瀏覽量

    94081

原文標題:至芯入門實驗| 基于 FPGA 的數(shù)碼管動態(tài)掃描驅(qū)動設(shè)計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)碼管 選型手冊2025年最新版

    數(shù)碼管具有高亮度、多種顏色、寬視角、簡單驅(qū)動、長壽命、抗震抗沖擊、節(jié)能環(huán)保和成本低等特點。適用于電子設(shè)備、工業(yè)控制和家用電器等領(lǐng)域的數(shù)字顯示,提供清晰、均勻的顯示效果,易于集成和控制。
    發(fā)表于 12-30 11:34 ?0次下載

    【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+串行數(shù)碼管的顯示驅(qū)動

    在開發(fā)板上,為用戶預(yù)留了3個GPIO引腳以便測試和使用,見圖1所示。 圖1預(yù)留的GPIO資源 這3個GPIO引腳的位置見圖2所示,用它可驅(qū)動串行數(shù)碼管顯示模塊來實現(xiàn)顯示功能。 圖2 引腳位置 為此
    發(fā)表于 12-24 19:03

    第6章 中斷與數(shù)碼管動態(tài)顯示(6.1 6.2)

    中斷是單片機系統(tǒng)重點中的重點,因為有了中斷,單片機就具備了快速協(xié)調(diào)多模塊工作的能力,可以完成復(fù)雜的任務(wù)。本章將首先帶領(lǐng)大家學(xué)習(xí)一些必要的C語言基礎(chǔ)知識,然后講解數(shù)碼管動態(tài)顯示的原理,并最終借助于中斷
    的頭像 發(fā)表于 12-08 17:03 ?621次閱讀

    FZH217 帶鍵盤掃描接口的大筆段 LED 驅(qū)動控制專用電路 原廠技術(shù)支持

    應(yīng)用LED數(shù)碼管驅(qū)動o 通過配置寄存器數(shù)據(jù)控制各段/位的亮滅,如圖(6)和圖(7)所示,共陰數(shù)碼管顯示“0”需寫入數(shù)據(jù)3FH到地址00H。按鍵掃描電路o 如圖(10)所示,連接按鍵矩陣
    發(fā)表于 12-03 11:01

    第5章 定時器與數(shù)碼管基礎(chǔ)(5.3)

    5.3 數(shù)碼管學(xué)習(xí) LED小燈是一種簡單的LED,只能通過亮和滅來表達簡單的信息。這節(jié)課學(xué)習(xí)一種能表達更復(fù)雜信息的器件——LED數(shù)碼管。 5.3.1
    的頭像 發(fā)表于 12-02 15:57 ?659次閱讀
    第5章 定時器與<b class='flag-5'>數(shù)碼管</b>基礎(chǔ)(5.3)

    FZH183 帶鍵盤掃描接口的LED(發(fā)光二極顯示器)驅(qū)動控制專用電路--方中禾科技

    、STB、DIO),內(nèi)置450KHz±5% RC振蕩器。其他特性:內(nèi)置上電復(fù)位電路,工作電壓5V±10%。關(guān)鍵功能模塊顯示控制支持共陰/共陽數(shù)碼管驅(qū)動。顯示數(shù)據(jù)通過16字節(jié)寄存器(00H-0FH)存儲
    發(fā)表于 11-28 09:31

    FZH182 帶鍵盤掃描接口的LED(發(fā)光二極顯示器)驅(qū)動控制專用電路

    驅(qū)動。o 顯示數(shù)據(jù)通過16字節(jié)寄存器(00H-0FH)存儲,數(shù)據(jù)按低位到高位寫入。o 示例:共陰數(shù)碼管顯示“0”需向地址00H寫入數(shù)據(jù)3FH。鍵盤掃描o 自動完成鍵掃描,用戶需按時序讀
    發(fā)表于 11-27 14:58

    【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示

    ); } /** * @brief 數(shù)碼管動態(tài)掃描顯示 * @note 采用動態(tài)掃描方式,每次顯示一位數(shù)字 */ void seg_
    發(fā)表于 11-27 00:52

    FZH181 一種帶鍵盤掃描接口的LED(發(fā)光二極顯示器)驅(qū)動控制專用電路

    ,工作電壓5V±10%。關(guān)鍵功能模塊顯示控制o 支持共陰/共陽數(shù)碼管驅(qū)動。o 顯示數(shù)據(jù)通過14字節(jié)寄存器(00H-0DH)存儲,數(shù)據(jù)按低位到高位寫入。o 示例:共陰數(shù)碼管顯示“0”需向地址00H寫入
    發(fā)表于 11-26 15:46

    原廠 FZH114C  一款LED(發(fā)光二極數(shù)碼管、點陣屏)驅(qū)動控制專用芯片

    FZH114C通過靈活的亮度調(diào)節(jié)、單線通訊和動態(tài)掃描設(shè)計,顯著簡化了多位數(shù)碼管或LED點陣屏的驅(qū)動電路設(shè)計。其獨特的引腳排列(如VDD位于引腳13)和SOP16封裝,使其在緊湊型設(shè)計中
    發(fā)表于 11-19 14:43

    FZH114  LED(發(fā)光二極數(shù)碼管、點陣屏)驅(qū)動控制專用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器

    )FZH114 是一款LED(發(fā)光二極、數(shù)碼管、點陣屏)驅(qū)動控制專用芯片,內(nèi)部集成了數(shù)字通訊電路、解碼電路、數(shù)據(jù)鎖存器、震蕩器、LED驅(qū)動電路。通訊方式采用異步串口通信(UART)協(xié)
    發(fā)表于 11-19 11:13

    FZH100 帶鍵盤掃描接口的 LED(發(fā)光二極顯示器)驅(qū)動控制專用 IC 原廠技術(shù)支持

    是一種帶鍵盤掃描接口的 LED(發(fā)光二極顯示器)驅(qū)動控制專用 IC,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 驅(qū)動、鍵盤掃描等電
    發(fā)表于 11-18 09:26

    級聯(lián)動態(tài)掃描顯示數(shù)碼管問題

    GD32F103C8T6 硬件SPI連接移位寄存器74HC595級聯(lián),動態(tài)掃描顯示五位數(shù)碼管 是否需要電平轉(zhuǎn)換芯片TXB0104 數(shù)碼管選擇共陰極和共陽極區(qū)別是什么 若使用TXB010
    發(fā)表于 10-07 20:36

    【應(yīng)用】工業(yè)現(xiàn)場的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析

    數(shù)碼管。億佰特新推出的EID051-1xx系列Modbus數(shù)碼管,以多種核心優(yōu)勢,成為工業(yè)現(xiàn)場的一大助力。一.什么是Modbus數(shù)碼管?Modbus數(shù)碼管是一種通過R
    的頭像 發(fā)表于 07-17 19:34 ?624次閱讀
    【應(yīng)用】工業(yè)現(xiàn)場的“智能顯示管家”:億佰特EID051-1xx系列 Modbus<b class='flag-5'>數(shù)碼管</b>解析

    防干擾數(shù)碼管驅(qū)動LED數(shù)碼管驅(qū)動芯片VK1668

    產(chǎn)品型號:VK1668 產(chǎn)品品牌:永嘉微電/VINKA 封裝形式:SOP24 概述 VK1668是一種帶鍵盤掃描接口的數(shù)碼管或點陣LED驅(qū)動控制專用芯片,內(nèi)部集成有3線串行接口、數(shù)據(jù)鎖存器、LED
    發(fā)表于 03-25 17:13