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

FPGA-DE2-115-實(shí)驗(yàn)一-亮度可調(diào)流水燈

這篇具有很好參考價(jià)值的文章主要介紹了FPGA-DE2-115-實(shí)驗(yàn)一-亮度可調(diào)流水燈。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言:
本文主要介紹了集成電路EDA這門(mén)課程的相關(guān)實(shí)驗(yàn)及代碼。使用的軟件是Quartus Ⅱ,該實(shí)驗(yàn)使用fpga芯片為cyclone IV EP4CE115F29C7。

(一)實(shí)驗(yàn)?zāi)康?/h2>

(1)熟悉流水燈的工作原理;
(2)了解設(shè)計(jì)中的優(yōu)化方案;
(3)進(jìn)一步掌握PWM信號(hào)的設(shè)計(jì);

(二)設(shè)計(jì)要求

利用FPGA板及4個(gè)LED發(fā)光二極管,設(shè)計(jì)一個(gè)亮度可調(diào)流水燈程序:
其中流水燈亮度使用PWM驅(qū)動(dòng),并且可以使用按鍵切換不同亮度。

(三)實(shí)驗(yàn)原理

流水燈的實(shí)質(zhì)是FPGA板各引腳在規(guī)定的時(shí)間逐個(gè)上電,使LED燈能逐個(gè)亮起來(lái)但過(guò)了該引腳通電的時(shí)間后便滅燈的過(guò)程,至于亮度可調(diào)則是使用PWM產(chǎn)生一定占空比的方波,實(shí)現(xiàn)輸出電壓變化,并可以通過(guò)調(diào)節(jié)占空比的大小改變輸出電壓值即LED燈的亮度。
實(shí)驗(yàn)中使用了單片機(jī)的P1端口和P4端口,對(duì)4個(gè)LED燈進(jìn)行控制,要實(shí)現(xiàn)逐個(gè)亮燈即將各端口逐一置零,中間使用延時(shí)函數(shù)調(diào)用隔開(kāi)各燈的亮滅。
本次實(shí)驗(yàn)先令四個(gè)燈全亮,延時(shí)500ms后再令四個(gè)燈全滅,之后點(diǎn)亮P4.7,P1.7兩個(gè)燈,延時(shí)500ms后熄滅,之后依次點(diǎn)亮P4.7,P4.6,P1.7,P1.6,(一個(gè)燈點(diǎn)亮500ms后熄滅,第二個(gè)燈再點(diǎn)亮),然后反向,按照P1.6,P1.7,P4.6,P4.7順序點(diǎn)亮一遍,如此往復(fù)循環(huán)。

(四)實(shí)驗(yàn)設(shè)備

(1)DE2-115型號(hào)FPGA板
(2)PC電腦

(五)實(shí)驗(yàn)結(jié)果

仿真圖:
在quartusⅱ利用鎖相環(huán)實(shí)現(xiàn)亮度70%的燈,集成電路EDA,fpga開(kāi)發(fā),fpga

PWM波形使用cnt_1ms與tim變量大小來(lái)產(chǎn)生,當(dāng)cnt_1ms<=tim時(shí)低電平否則高電平,圖中可以看到,初始值tim=0,此時(shí)當(dāng)cnt_1ms>tim時(shí)第一個(gè)燈亮,按下一次按鍵后,time自加8,此時(shí)當(dāng)cnt_1ms<=8時(shí),燈滅,否則第一個(gè)燈亮。
在quartusⅱ利用鎖相環(huán)實(shí)現(xiàn)亮度70%的燈,集成電路EDA,fpga開(kāi)發(fā),fpga

如上圖所示,可以看到當(dāng)cnt計(jì)數(shù)達(dá)到999時(shí),由第二個(gè)燈亮變成第三個(gè)燈亮,證明完成了燈的流水操作。
實(shí)物圖:
初始流水燈:
在quartusⅱ利用鎖相環(huán)實(shí)現(xiàn)亮度70%的燈,集成電路EDA,fpga開(kāi)發(fā),fpga

按下按鍵調(diào)節(jié)亮度后:
在quartusⅱ利用鎖相環(huán)實(shí)現(xiàn)亮度70%的燈,集成電路EDA,fpga開(kāi)發(fā),fpga

(六)結(jié)果分析

本次實(shí)驗(yàn)為了完成可調(diào)節(jié)亮度的流水燈的設(shè)計(jì),首先產(chǎn)生0.5s脈沖使得每0.5s更改亮燈的位置,之后通過(guò)按鍵更改PWM產(chǎn)生波形中的占空比,從而調(diào)節(jié)燈的亮度。

代碼:
1.頂層模塊water_led

//4個(gè)led_out_reg燈,依次點(diǎn)亮,間隔0.5s   50Mhz-20ns	25000000次-25位
module	water_led
(
	input	wire				sys_clk     ,
	input	wire				sys_rst_n   ,
    input   wire                key1        ,
	output	reg	[3:0]		    led_out      	
);

parameter	CNT_MAX=25'd24_999_999  ;   //0.5s
parameter	CNT_1US_MAX=6'd49       ;	//1個(gè)時(shí)鐘20ns,50個(gè)即1us
parameter	CNT_1MS_MAX=10'd999     ;	//計(jì)滿1000個(gè)即1ms

wire            key1_flag;
reg			    cnt_flag;
reg  [9:0]      tim;
reg [24:0]	    cnt;
reg	[5:0]		cnt_1us;
reg	[9:0]		cnt_1ms;
reg	[9:0]		cnt_1s;
reg [3:0]       i;
//0.5s間隔閃爍
always @(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		cnt<=25'd0;
	else if(cnt==CNT_MAX)
		cnt<=25'd0;
	else
		cnt<=cnt+25'd1;
//計(jì)數(shù)滿0.5s標(biāo)志位
always @(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		cnt_flag<=1'd0;
	else if(cnt==CNT_MAX-1)
		cnt_flag<=1'd1;
	else
		cnt_flag<=1'd0;
        
//亮度變量調(diào)整
always @(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
        tim <= 10'd0;
    else if(tim >= 10'd999)
        tim <= 10'd0;
    else if(key1_flag)
        tim <= tim + 10'd80;
    else
        tim <= tim;

//cnt_1us
always@(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		cnt_1us<=6'd0;
	else if(cnt_1us==CNT_1US_MAX)
		cnt_1us<=6'd0;
	else
		cnt_1us<=cnt_1us+6'd1;
//cnt_1ms
always@(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		cnt_1ms<=10'd0;
	else if((cnt_1ms==CNT_1MS_MAX)&&(cnt_1us==CNT_1US_MAX))
		cnt_1ms<=10'd0;
	else if(cnt_1us==CNT_1US_MAX)
		cnt_1ms<=cnt_1ms+10'd1;
	else
		cnt_1ms<=cnt_1ms;
//每0.5s,i自加1,即更改亮燈位置
always @(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
        i <= 3'd0;
    else if((cnt_flag == 1'd1)&&(i == 3))
        i <= 3'd0;
    else if(cnt_flag == 1'd1)
        i <= i + 1'd1;
    else
        i <= i;      

//輸出控制		
always @(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		led_out <= 4'b0001;
    else    
        begin
            if(cnt_1ms<=tim)  
                led_out <= 4'b0000;  
            else
                case(i)
                    3'd0: led_out <= 4'b0001;   
                    3'd1: led_out <= 4'b0010;      
                    3'd2: led_out <= 4'b0100;       
                    3'd3: led_out <= 4'b1000;         
                    default: led_out <= 4'b0000;
                endcase
        end   
//按鍵濾波模塊,按下按鍵后模塊輸出一個(gè)時(shí)鐘周期的高脈沖
key_filiter key_filiter_inst
(
	.sys_clk   (sys_clk  )  ,
	.sys_rst_n (sys_rst_n)  ,
	.key_in    (key1      )  ,
	.key_flag  (key1_flag)
);
        
endmodule

2.按鍵模塊key_filiter文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-762749.html

//按鍵濾波器,按下按鈕后即低電平輸入,經(jīng)過(guò)該模塊輸出一個(gè)系統(tǒng)時(shí)鐘周期的高脈沖
module	key_filiter
(
	input		sys_clk     ,
	input		sys_rst_n   ,
	input		key_in      ,
	output	reg	key_flag
);

reg	[19:0]	cnt_20ms;
parameter	CNT_MAX=20'd999999;

always@(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		cnt_20ms<=20'd0;
	else	if(key_in)
		cnt_20ms<=20'd0;
	else	if(cnt_20ms==CNT_MAX)	//最大值保持
		cnt_20ms<=CNT_MAX;
	else
		cnt_20ms<=cnt_20ms+1'd1;
		
always@(posedge sys_clk or negedge sys_rst_n)
	if(!sys_rst_n)
		key_flag<=1'b0;
	else	if(cnt_20ms==CNT_MAX-20'd1)
		key_flag<=1'b1;
	else
		key_flag<=1'b0;
		
endmodule

到了這里,關(guān)于FPGA-DE2-115-實(shí)驗(yàn)一-亮度可調(diào)流水燈的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • FPGA綜合設(shè)計(jì)實(shí)驗(yàn):基于PWM脈寬調(diào)制的呼吸流水燈設(shè)計(jì)

    目錄 一、引言 二、項(xiàng)目準(zhǔn)備 1.項(xiàng)目預(yù)期目標(biāo) 2.項(xiàng)目原理及總體實(shí)現(xiàn)思路

    2024年02月13日
    瀏覽(23)
  • 【FPGA】VGA顯示文字、彩條、圖片——基于DE2-115

    【FPGA】VGA顯示文字、彩條、圖片——基于DE2-115

    **VGA(Video Graphics Array)**視頻圖形陣列是IBM于1987年提出的一個(gè)使用模擬信號(hào)的電腦顯示標(biāo)準(zhǔn)。VGA接口即電腦采用VGA標(biāo)準(zhǔn)輸出數(shù)據(jù)的專用接口。VGA接口共有15針,分成3排,每排5個(gè)孔,顯卡上應(yīng)用最為廣泛的接口類型,絕大多數(shù)顯卡都帶有此種接口。它傳輸紅、綠、藍(lán)模擬信號(hào)

    2024年02月02日
    瀏覽(26)
  • fpga--流水燈

    fpga流水燈的設(shè)計(jì) 思路:外部時(shí)鐘頻率50mhz,若要實(shí)現(xiàn)每隔0.5s閃爍一次,則使用內(nèi)部計(jì)數(shù)器計(jì)數(shù)到24999999拉高一個(gè)周期電平,當(dāng)電平被拉高的時(shí)候,進(jìn)行LED燈電平的設(shè)置,每次檢測(cè)到高電平,就進(jìn)行一位LED燈的設(shè)置,進(jìn)行循環(huán)設(shè)置,就形成了流水燈的設(shè)計(jì)。 測(cè)試代碼 ?

    2024年02月15日
    瀏覽(32)
  • 流水燈——FPGA

    流水燈——FPGA

    環(huán)境: 1、Quartus18.0 2、vscode 3、板子型號(hào):EP4CE6F17C8 要求: 每隔0.2s循環(huán)亮起LED燈 從LED0開(kāi)始亮起到LED3又回到LED0循環(huán)往復(fù)。 流水燈 這里使用了拼接符對(duì)LED進(jìn)行處理加上一個(gè)0.2s的計(jì)時(shí)器進(jìn)行控制即可。 led流水燈

    2024年02月16日
    瀏覽(27)
  • FPGA學(xué)習(xí)——點(diǎn)亮流水燈

    FPGA學(xué)習(xí)——點(diǎn)亮流水燈

    在FPGA開(kāi)發(fā)板中,一般板載LED默認(rèn)高電平點(diǎn)亮,因此我們只需要將想要亮起的LED賦值為1即可。 本入門(mén)實(shí)驗(yàn)要求為每隔1s開(kāi)發(fā)板上的LED輪流亮起,因此我們需要一個(gè)1s的計(jì)數(shù)器, 由于開(kāi)發(fā)板晶振時(shí)鐘為50MHz,因此我們計(jì)數(shù)50_000_000即為1s。 注意:為了后續(xù)方便仿真所以這里MAX設(shè)置

    2024年02月13日
    瀏覽(46)
  • ARM實(shí)驗(yàn)5-流水燈仿真實(shí)驗(yàn)

    ARM實(shí)驗(yàn)5-流水燈仿真實(shí)驗(yàn)

    一、實(shí)驗(yàn)名稱:流水燈仿真實(shí)驗(yàn) 二、實(shí)驗(yàn)?zāi)康模?掌握ARM處理器的輸入輸出接口。 掌握通過(guò)MDK提供的仿真功能,實(shí)現(xiàn)系統(tǒng)的仿真運(yùn)行。 通過(guò)該編程實(shí)驗(yàn),進(jìn)一步鞏固和強(qiáng)化學(xué)生ARM匯編編程的能,ARM應(yīng)用程序框架,培養(yǎng)學(xué)生實(shí)際應(yīng)用的能力。 三、實(shí)驗(yàn)內(nèi)容: 按下面電路圖,編

    2024年02月15日
    瀏覽(18)
  • 按鍵控制流水燈方向——FPGA

    按鍵控制流水燈方向——FPGA

    環(huán)境: 1、Quartus18.0 2、vscode 3、板子型號(hào):EP4CE6F17C8 要求: 按鍵1按下,流水燈從右開(kāi)始向左開(kāi)始流動(dòng),按鍵2按下,流水燈從左開(kāi)始向右開(kāi)始流動(dòng),按鍵3按下LED每隔1s進(jìn)行亮滅,按鍵4按下LED常亮。 “自鎖”是指開(kāi)關(guān)能通過(guò)鎖定機(jī)構(gòu)保持某種狀態(tài)(通或斷),“輕觸”是說(shuō)明操

    2024年02月07日
    瀏覽(24)
  • 實(shí)驗(yàn) 6 流水燈設(shè)計(jì)

    實(shí)驗(yàn) 6 流水燈設(shè)計(jì)

    6.1 實(shí)驗(yàn)?zāi)康?編 寫(xiě) Verilog HDL 代 碼 驅(qū) 動(dòng) 開(kāi) 發(fā) 板 上 10 顆 LED 實(shí)現(xiàn)流水燈效果 6.2 實(shí) 驗(yàn) 儀 器 與 器 材 1. EDA 開(kāi)發(fā)軟件 一 套 2.微機(jī) 一 臺(tái) 3.實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng) 一 臺(tái) 4.打印機(jī) 一 臺(tái) 5.其他器件與材料 若 干 6.3 實(shí) 驗(yàn) 說(shuō) 明 1、 10 位的流水燈,從左到右流水,每隔 500ms 流動(dòng)一下

    2024年01月16日
    瀏覽(16)
  • 基于FPGA的3位十進(jìn)制密碼鎖VHDL代碼Quartus DE2-115開(kāi)發(fā)板

    基于FPGA的3位十進(jìn)制密碼鎖VHDL代碼Quartus DE2-115開(kāi)發(fā)板

    名稱:基于FPGA的3位十進(jìn)制密碼鎖VHDL代碼Quartus? DE2-115開(kāi)發(fā)板(文末獲?。?軟件:Quartus 語(yǔ)言:VHDL 代碼功能: 借助EDA工具和設(shè)計(jì)方法,學(xué)習(xí)硬件描述語(yǔ)言VHDL用編程的方法來(lái)設(shè)計(jì)電路,在QUARTUSⅡ軟件環(huán)境中,基于EDA實(shí)驗(yàn)室的開(kāi)發(fā)裝置DE2-115,其FPGA芯片型號(hào)為EP4CE115F29C7,進(jìn)行電

    2024年03月13日
    瀏覽(76)
  • SOC FPGA之流水燈設(shè)計(jì)

    SOC FPGA之流水燈設(shè)計(jì)

    ????????Altera Soc EDS開(kāi)發(fā)套件的核心是Altera版ARM Development Studio 5(DS-5)工具包,為SoC器件提供了完整的嵌入式開(kāi)發(fā)環(huán)境、FPGA自適應(yīng)調(diào)試和對(duì)Altera工具的兼容。 首先下載破解器 然后進(jìn)入cmd運(yùn)行,進(jìn)入到破解器所在文件夾 ?然后輸入patcher.exe --license ?:licensepath 最后顯示.dat文件即

    2024年02月14日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包