国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

可編程邏輯器件之?dāng)?shù)碼管顯示實(shí)驗(yàn)

這篇具有很好參考價(jià)值的文章主要介紹了可編程邏輯器件之?dāng)?shù)碼管顯示實(shí)驗(yàn)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、實(shí)驗(yàn)?zāi)繕?biāo)

能夠熟練的進(jìn)行可編程邏輯器件開發(fā),能夠通過具體工程需求進(jìn)行需求分析、模塊劃分、代碼編寫、功能仿真、綜合分析、板級驗(yàn)證,能夠獨(dú)立正確的進(jìn)行實(shí)驗(yàn)操作,培養(yǎng)學(xué)生的工程實(shí)踐研究能力和動(dòng)手實(shí)踐能力,具備借助可編程邏輯器件開發(fā)平臺和仿真工具科學(xué)的獲取實(shí)驗(yàn)數(shù)據(jù)或?qū)嶒?yàn)現(xiàn)象,并能夠?qū)Σ杉降臄?shù)據(jù)或?qū)嶒?yàn)現(xiàn)象進(jìn)行合理的分析與解釋的能力。

二、實(shí)驗(yàn)內(nèi)容

數(shù)碼管成本低廉、穩(wěn)定性好、容易控制,在汽車電子中具有廣泛的應(yīng)用,例如汽車儀表盤、顯示屏等。本實(shí)驗(yàn)是一個(gè)汽車數(shù)碼管顯示系統(tǒng)設(shè)計(jì),模擬汽車儀表盤各類數(shù)據(jù)的數(shù)碼管顯示。

三、實(shí)驗(yàn)要求

1、 使用 FPGA 開發(fā)工具 Quartus II 及仿真工具 Modelsim 打開對應(yīng)工程,記錄工程占用資源,說明仿真信號波形與硬件對應(yīng)關(guān)系或作用;

2、 說明數(shù)碼管動(dòng)態(tài)掃描顯示原理;

3、 分析八段式數(shù)碼管顯示原理及 0-9 數(shù)字顯示對應(yīng)關(guān)系;

4、 將給定的程序上板驗(yàn)證,驗(yàn)證是否正確,并描述正確實(shí)驗(yàn)現(xiàn)象。

四、實(shí)驗(yàn)預(yù)習(xí)(實(shí)驗(yàn)原理、整體設(shè)計(jì)方案等)

(一)、實(shí)驗(yàn)基本原理:

本次實(shí)驗(yàn)是設(shè)計(jì)一個(gè)汽車數(shù)碼管顯示系統(tǒng),其基本設(shè)計(jì)原理為:通過控制MINI_FPGA開發(fā)板上配有的6個(gè)七段數(shù)碼管 DIG1-DIG6(當(dāng)正放 MINI_FPGA 開發(fā)板時(shí),從左至右依次數(shù)過去)模擬顯示汽車儀表盤上的各類數(shù)據(jù)。具體為先設(shè)置數(shù)碼管的動(dòng)態(tài)掃描周期,然后產(chǎn)生片選信號,再對片選信號進(jìn)行譯碼使得6個(gè)數(shù)碼管中所需的對應(yīng)數(shù)碼管啟用,最后通過由Testbench設(shè)計(jì)的對應(yīng)輸入信號,在對應(yīng)的數(shù)碼管上顯示出對應(yīng)的數(shù)字。

(二)、整體設(shè)計(jì)方案:

1.啟用所需的數(shù)碼管

先確定控制動(dòng)態(tài)掃描的周期為:Timex =8'd200 ,然后通過Count變量重復(fù)在動(dòng)態(tài)掃描周期內(nèi)重復(fù)計(jì)數(shù)、清零產(chǎn)生片選信號cs(由于本次實(shí)驗(yàn)僅啟用了兩個(gè)數(shù)碼管,所以cs的值在0和1之間變換),再將片選信號進(jìn)行譯碼,使得所需的對應(yīng)數(shù)碼管啟用,由此完成數(shù)碼管的啟用。

2.數(shù)碼管顯示對應(yīng)的數(shù)字

首先將待顯示的數(shù)據(jù)變量SingleNum初始化為零,然后通過片選信號的不斷變化,控制由Testbench上的測試文件數(shù)據(jù)賦給待顯示的數(shù)據(jù)變量SingleNum,再將待顯示的數(shù)據(jù)變量SingleNum譯碼成共陰極數(shù)碼管驅(qū)動(dòng)格式,使得啟用的數(shù)碼管顯示出對應(yīng)的數(shù)字。

五、測試驗(yàn)證(仿真、硬件測試)

仿真測試文件:

odule sy1(  clk , rst_n , result , digitron_out , digitroncs_ou,可編程邏輯器件,fpga開發(fā),Powered by 金山文檔

仿真結(jié)果圖:

odule sy1(  clk , rst_n , result , digitron_out , digitroncs_ou,可編程邏輯器件,fpga開發(fā),Powered by 金山文檔

通過將仿真文件與仿真結(jié)果可以看到,當(dāng)按鍵RST_N為0時(shí)(按鍵復(fù)位時(shí)),數(shù)碼管啟動(dòng)信號DigitronCS_Out<= 6'd0 (所有數(shù)碼管均不啟用),且待顯示數(shù)也初始化為0,同時(shí)測試文件設(shè)計(jì)的復(fù)位時(shí)間1ns與仿真結(jié)果圖上現(xiàn)實(shí)的結(jié)果一致。

當(dāng)按鍵RST_N為1時(shí),在由仿真文件輸入數(shù)據(jù)為Result = 8'h23 期間,對應(yīng)的數(shù)碼管DigitronCS_Out <= 6'b11_1110(十位)顯示為Digitron_Out<= N_3(數(shù)字3);對應(yīng)的數(shù)碼管DigitronCS_Out<= 6'b11_1101(個(gè)位)顯示為Digitron_Out <= N_5(數(shù)字5),時(shí)測試文件設(shè)計(jì)的Result = 8'h23時(shí)間區(qū)間10ns,兩個(gè)數(shù)碼管各自掃描一次的時(shí)間4ns與仿真結(jié)果圖上現(xiàn)實(shí)的結(jié)果一致,測試文件與仿真結(jié)果完全一致,實(shí)驗(yàn)仿真成功。

六、實(shí)驗(yàn)小結(jié)

本次實(shí)驗(yàn)是通過控制MINI_FPGA開發(fā)板上配有的6個(gè)七段數(shù)碼管 DIG1-DIG6模擬顯示汽車儀表盤上的各類數(shù)據(jù)。我在本次實(shí)驗(yàn)課程中懂得了Quartus以及modelsim軟件的基本使用,能夠創(chuàng)建新的項(xiàng)目文件,同時(shí)也可以利用modelsim軟件進(jìn)行仿真。也學(xué)會了如何編寫實(shí)驗(yàn)?zāi)愦a以及測試文件,充分了解到了實(shí)驗(yàn)代碼編寫的基本結(jié)構(gòu),以及一些常用的數(shù)據(jù)類型,同時(shí)也了解到了測試代碼的基本結(jié)構(gòu),以及測試代碼的功能作用,并且能夠編寫簡單的測試代碼用于實(shí)驗(yàn)代碼的測試。

我對于實(shí)驗(yàn)設(shè)計(jì)的過程也有了進(jìn)一步的了解,能夠仿照著寫出一些功能簡單的代碼,諸如基于本次實(shí)驗(yàn)使得相應(yīng)的數(shù)字在數(shù)碼管上顯示,我可以在這個(gè)功能的基礎(chǔ)上添加按鍵功能,使得測試代碼能夠上板進(jìn)行測試,通過按一個(gè)按鍵,使得數(shù)碼管顯示一個(gè)特別的數(shù)字或者符號。

本次的實(shí)驗(yàn)雖然簡單,但是也是重要的基礎(chǔ),F(xiàn)PGA的很多項(xiàng)目中都需要利用數(shù)碼管進(jìn)行顯示,用于上板測試代碼是否符合自己的需求或者是顯示出需要的數(shù)字符號給他人看。所有的學(xué)習(xí)都需要從基礎(chǔ)開始,正所謂“萬丈高樓平地起”,只要努力去學(xué)習(xí)提高自己,我們終會有所提高、有所進(jìn)步。

七、實(shí)驗(yàn)代碼

module sy1(

CLK ,

RST_N ,

Result ,

Digitron_Out ,

DigitronCS_Out

);

input CLK ;//外部時(shí)鐘50M

input RST_N ;//復(fù)位信號

input [7:0]Result ;//輸入待顯示數(shù)據(jù)

output [7:0]Digitron_Out ;//數(shù)碼管譯碼顯示數(shù)據(jù)

output [5:0]DigitronCS_Out;//數(shù)碼管片選

//------------信號類型申明+中間變量------------

reg [7:0]Digitron_Out ;

reg [5:0]DigitronCS_Out;

reg [7:0]Count ;//控制動(dòng)態(tài)掃描周期

reg [3:0]SingleNum ;//待顯示數(shù)據(jù)

reg [2:0]cs ;//片選相關(guān)中間信號

parameter Timex = 8'd200 ;//控制動(dòng)態(tài)掃描周期

parameter CS_NUM= 3'd2 ;//需要用到的數(shù)碼管個(gè)數(shù)

parameter N_0 = 8'b0011_1111, N_1 = 8'b0000_0110, N_2 = 8'b0101_1011,

N_3 = 8'b0100_1111, N_4 = 8'b0110_0110, N_5 = 8'b0110_1101,

N_6 = 8'b0111_1101, N_7 = 8'b0000_0111, N_8 = 8'b0111_1111,

N_9 = 8'b0110_1111;

//-----設(shè)置動(dòng)態(tài)掃描周期-------------------

always @( posedge CLK )

begin

if(!RST_N)

Count <= 8'd0 ;

else if(Count == Timex)

Count <= 8'd0 ;

else

Count <= Count + 8'd1 ;

end

//---根據(jù)掃描周期產(chǎn)生片選信號----------

always @ ( posedge CLK )

begin

if(!RST_N)

cs <= 3'd0 ;

else if(Count == Timex)

begin

if(cs == CS_NUM - 3'd1)

cs <= 3'd0 ;

else

cs <= cs + 3'd1 ;

end

end

//------結(jié)合電路將片選信號譯碼---------

always @ ( posedge CLK )

begin

if(!RST_N)

DigitronCS_Out <= 6'd0 ;

else

begin

case(cs)

3'd0: DigitronCS_Out <= 6'b11_1110;

3'd1: DigitronCS_Out <= 6'b11_1101;

3'd2: DigitronCS_Out <= 6'b11_1011;

3'd3: DigitronCS_Out <= 6'b11_0111;

3'd4: DigitronCS_Out <= 6'b10_1111;

3'd5: DigitronCS_Out <= 6'b01_1111;

default: DigitronCS_Out <= 6'b11_1111;

endcase

end

end

//---------根據(jù)輸入將待顯示分配到個(gè)位、十位----------------

always @ ( posedge CLK )

begin

if(!RST_N)

SingleNum <= 4'd0 ;

else

begin

case(cs)

3'd0: SingleNum <= Result[3:0];//個(gè)位

3'd1: SingleNum <= Result[7:4];//十位

default: SingleNum <= 4'd0;

endcase

end

end

//---待顯示數(shù)據(jù)譯碼成共陰極數(shù)碼管驅(qū)動(dòng)格式-------

always @( posedge CLK )

begin

if(!RST_N)

Digitron_Out <= 8'd0 ;

else

begin

case(SingleNum)

4'd0: Digitron_Out <= N_0;//個(gè)位

4'd1: Digitron_Out <= N_1;//十位

4'd2: Digitron_Out <= N_2;//個(gè)位

4'd3: Digitron_Out <= N_3;//十位

4'd4: Digitron_Out <= N_4;//個(gè)位

4'd5: Digitron_Out <= N_5;//十位

4'd6: Digitron_Out <= N_6;//個(gè)位

4'd7: Digitron_Out <= N_7;//十位

4'd8: Digitron_Out <= N_8;//個(gè)位

4'd9: Digitron_Out <= N_9;//十位

default: Digitron_Out <= 8'd0;

endcase

end

end

endmodule

八、測試文件

// Copyright (C) 1991-2013 Altera Corporation

// Your use of Altera Corporation's design tools, logic functions

// and other software and tools, and its AMPP partner logic

// functions, and any output files from any of the foregoing

// (including device programming or simulation files), and any

// associated documentation or information are expressly subject

// to the terms and conditions of the Altera Program License

// Subscription Agreement, Altera MegaCore Function License

// Agreement, or other applicable license agreement, including,

// without limitation, that your use is for the sole purpose of

// programming logic devices manufactured by Altera and sold by

// Altera or its authorized distributors. Please refer to the

// applicable agreement for further details.

// *****************************************************************************

// This file contains a Verilog test bench template that is freely editable to

// suit user's needs .Comments are provided in each section to help the user

// fill out necessary details.

// *****************************************************************************

// Generated on "04/08/2022 11:33:50"

// Verilog Test Bench template for design : sy1

//

// Simulation tool : ModelSim-Altera (Verilog)

//

`timescale 1 ps/ 1 ps

module sy1_vlg_tst();

// constants

// general purpose registers

//reg eachvec;

// test vector input registers

reg CLK;

reg RST_N;

reg [7:0] Result;

// wires

wire [5:0] DigitronCS_Out;

wire [7:0] Digitron_Out;

// assign statements (if any)

sy1 i1 (

// port map - connection between master ports and signals/registers

.CLK(CLK),

.DigitronCS_Out(DigitronCS_Out),

.Digitron_Out(Digitron_Out),

.RST_N(RST_N),

.Result(Result)

);

initial

begin

CLK = 0 ;

RST_N = 0 ;

Result = 8'h12 ;

#1000;

RST_N = 1 ;

Result = 8'h23 ;

#10000;

Result = 8'h48 ;

#10000;

Result = 8'h51 ;

#10000;

Result = 8'h64 ;

#10000;

Result = 8'h73 ;

#10000;

Result = 8'h26 ;

#10000;

$stop;

end

always #10 CLK = ~CLK ;

endmodule文章來源地址http://www.zghlxwxcb.cn/news/detail-785708.html

到了這里,關(guān)于可編程邏輯器件之?dāng)?shù)碼管顯示實(shí)驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FPGA的可編程邏輯單元(LUT和寄存器)

    FPGA的可編程邏輯單元(LUT和寄存器)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 文章目錄 前言 一、pandas是什么? 二、使用步驟 1.引入庫 2.讀入數(shù)據(jù) 總結(jié) 1.根據(jù)PLD器件單片集成度的高低,可將PLD分為低密度可編程邏輯器件和高密度可編程邏輯器件。 2.按器件結(jié)構(gòu)類型劃分 ?????

    2024年02月19日
    瀏覽(25)
  • 零基礎(chǔ)學(xué)FPGA(八):可編程邏輯單元(基本結(jié)構(gòu),Xilinx+Altera)

    零基礎(chǔ)學(xué)FPGA(八):可編程邏輯單元(基本結(jié)構(gòu),Xilinx+Altera)

    ??????在寫這篇文章之前,對這個(gè)專欄做一個(gè)補(bǔ)充解釋。本來按我之前的想法是,把這個(gè)專欄寫成一個(gè)比較層次化,一層一層慢慢深入的系統(tǒng)化專欄。但是,在工作的時(shí)候,剛好在做某一件事,在這個(gè)時(shí)間段,對這個(gè)知識點(diǎn)比較深刻,所以就提前把這篇文章寫了,導(dǎo)致此專

    2024年02月01日
    瀏覽(29)
  • 【FPGA】Verilog:組合邏輯電路應(yīng)用 | 數(shù)碼管 | 8421BCD編碼 | 轉(zhuǎn)換七段數(shù)碼管段碼

    【FPGA】Verilog:組合邏輯電路應(yīng)用 | 數(shù)碼管 | 8421BCD編碼 | 轉(zhuǎn)換七段數(shù)碼管段碼

    前言: 本章內(nèi)容主要是演示Vivado下利用Verilog語言進(jìn)行電路設(shè)計(jì)、仿真、綜合和下載 示例:數(shù)碼管的使用 功能特性:?采用?Xilinx Artix-7 XC7A35T芯片? 配置方式:USB-JTAG/SPI Flash 高達(dá)100MHz 的內(nèi)部時(shí)鐘速度? 存儲器:2Mbit SRAM ??N25Q064A SPI Flash(樣圖舊款為N25Q032A) 通用IO:Switch :

    2024年02月03日
    瀏覽(30)
  • 鋇錸技術(shù)集IO數(shù)據(jù)采集可編程邏輯控制PLC無線4G環(huán)保物聯(lián)網(wǎng)關(guān)

    鋇錸技術(shù)集IO數(shù)據(jù)采集可編程邏輯控制PLC無線4G環(huán)保物聯(lián)網(wǎng)關(guān)

    背景 ? ? ? ?數(shù)據(jù)采集傳輸對于環(huán)保企業(yè)進(jìn)行分析和決策是十分重要的,而實(shí)時(shí)數(shù)據(jù)采集更能提升環(huán)保生產(chǎn)的執(zhí)行力度,從而采取到更加及時(shí)高效的措施。因此實(shí)時(shí)數(shù)據(jù)采集RTU成為環(huán)保企業(yè)的必備產(chǎn)品之一。 產(chǎn)品介紹 在推進(jìn)環(huán)保行業(yè)物聯(lián)網(wǎng)升級過程中,環(huán)保RTU在環(huán)保方面發(fā)

    2024年02月03日
    瀏覽(38)
  • XC6SLX9-2FTG256C 一款Spartan-6系列可編程邏輯FPGA

    詳情描述: The Spartan?-6系列提供領(lǐng)先的系統(tǒng)集成能力,以最低的總成本為高容量的應(yīng)用。 這個(gè)13人家庭提供了從3,840到147,443個(gè)邏輯單元的擴(kuò)展密度,其功耗是以前的一半。 Spartan?-6系速度更快,連接更全面。建立在成熟的45 nm低功率銅工藝基礎(chǔ)上提供最佳的成本,功率和性能

    2024年04月10日
    瀏覽(30)
  • XILINX XC7A200T-2FBG676C PLC可編程邏輯控制器

    FPGA, Artix-7, MMCM, PLL, 400 I/O, 628 MHz, 215360單元, 950 mV至1.05 V, FCBGA-676 XILINX?Artix?-7 FPGA系列是一款高性價(jià)比FPGA,提供高性能/功耗比, 高收發(fā)器線路速率, DSP處理,集成AMS。該系列具有MicroBlaze?軟處理器, 支持1066Mb/s DDR3,是成本和功耗敏感應(yīng)用的最佳選擇,例如軟件定義無線電

    2024年02月07日
    瀏覽(23)
  • 51單片機(jī)---編程實(shí)現(xiàn)流水燈----鍵盤控制數(shù)碼管顯示--利用74LS164擴(kuò)展并行輸出口---定時(shí)中斷方式驅(qū)動(dòng)一個(gè)數(shù)碼管

    目錄 基于51單片機(jī),用c語言編程實(shí)現(xiàn)流水燈 代碼: 使用C語言編寫的基于51單片機(jī)的鍵盤控制數(shù)碼管顯示 代碼: 基于51單片機(jī),用c語言編程實(shí)現(xiàn)利用74LS164擴(kuò)展并行輸出口 代碼: 基于51單片機(jī),用c語言編程實(shí)現(xiàn)定時(shí)中斷方式驅(qū)動(dòng)一個(gè)數(shù)碼管? 代碼:? 1- 2- 上述代碼中,使用

    2024年02月16日
    瀏覽(19)
  • 51單片機(jī)——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    51單片機(jī)——數(shù)碼管、按鍵、矩陣按鍵C語言入門編程

    目錄 數(shù)碼管: 1.靜態(tài)數(shù)碼管:第二位數(shù)碼管顯示0 2.動(dòng)態(tài)數(shù)碼管:每一位數(shù)碼管依次顯示對應(yīng)位數(shù) 按鍵: 1.獨(dú)立按鍵:按下按鍵對應(yīng)LED亮滅 矩陣按鍵: 1.矩陣按鍵:按下的每個(gè)按鍵,數(shù)碼管顯示對應(yīng)鍵碼 ???????? 數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管

    2024年01月23日
    瀏覽(23)
  • 基于FPGA的四位數(shù)碼管顯示按鍵計(jì)數(shù)器設(shè)計(jì)(verilog編程)

    基于FPGA的四位數(shù)碼管顯示按鍵計(jì)數(shù)器設(shè)計(jì)(verilog編程)

    軟件:Vivado 2022.2 硬件:BASYS 3 設(shè)計(jì)描述:通過開發(fā)板上的四個(gè)按鍵,按下一次記數(shù)加一,分別由四個(gè)數(shù)碼管從左到右分別顯示四個(gè)按鍵記數(shù)情況。 例: 1.初始值為0000,意為無記數(shù) 2.當(dāng)按下第一個(gè)按鍵,記數(shù)加一,數(shù)碼管顯示1000 3.再次按下一第一個(gè)按鍵,記數(shù)加一,數(shù)碼管顯

    2024年02月08日
    瀏覽(34)
  • 【雕爺學(xué)編程】Arduino動(dòng)手做(81)--- 8位LED數(shù)碼管模塊5

    【雕爺學(xué)編程】Arduino動(dòng)手做(81)--- 8位LED數(shù)碼管模塊5

    37款傳感器與執(zhí)行器的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟?,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動(dòng)手嘗試系列實(shí)驗(yàn),不管成功(程序走通)

    2024年02月15日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包