日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

共阳极管的代码_《手把手教你学FPGA》第三章设计实例

發(fā)布時間:2023/12/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 共阳极管的代码_《手把手教你学FPGA》第三章设计实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

設(shè)計實例

3.1.1 流水燈設(shè)計

3.1.1 試驗任務(wù)

8個LED燈依次順序點亮,產(chǎn)生流水效果,相鄰LED燈發(fā)光時間間隔大約為0.5s,人眼可以明顯感知到這個間隔。

3.1.2 程序設(shè)計

1、設(shè)計思路

通過控制1/O口的高低電平可以實現(xiàn)LED發(fā)光或者熄滅,但是該怎樣使用計數(shù)器實現(xiàn)延時呢?

實驗要求相鄰的LED時間間隔為0.5s,FPGA開發(fā)板的晶振為50MHz,所以有0.5s/20ns=25000000(224<25000000<225),需要25位計數(shù)位寬。當(dāng)有效位計數(shù)達(dá)到最大值時,實現(xiàn)翻轉(zhuǎn)(全1變?nèi)?,往高一位進1)。

本實驗使用兩個計數(shù)器。第一個計數(shù)器實現(xiàn)延遲間隔,計數(shù)器位寬為25bit,計數(shù)器命名為counter;第二個計數(shù)器控制哪個LED燈亮,計數(shù)器位寬為3bit,計數(shù)器命名count。

counter會一直持續(xù)計數(shù),計數(shù)到最大值后,會翻轉(zhuǎn)為0.當(dāng)counter每計數(shù)至0的時候, count加1;當(dāng)count計數(shù)到最大值后,也會翻轉(zhuǎn)為0。

2、源代碼

module LED(

input sys_clk,

input sys_rst_n,

output reg[7:0] LED

);

reg [2:0] count;

reg [24:0] counter;

always @(posedge sys_clk or negedge sys_rst_n) begin

if (sys_rst_n == 1'b0)

counter <= 25'b0;

else

counter <= counter + 25'b1;

end

always @(posedge sys_clk or negedge sys_rst_n) begin

if(sys_rst_n == 1'b0)

count? <=3'b0;

else if(counter == 25'd0)

count <= count + 3'b1;

else ;

end

always @(posedge sys_clk or negedge sys_rst_n) begin

if(sys_rst_n == 1'b0)

LED <= 8'b0;

else begin

case(count)

0:LED = 8'b00000001;

1:LED = 8'b00000010;

2:LED = 8'b00000100;

3:LED = 8'b00001000;

4:LED = 8'b00010000;

5:LED = 8'b00100000;

6:LED = 8'b01000000;

7:LED = 8'b10000000;

default:LED = 8'b00000000;

endcase

end

end

endmodule

3.2 按鍵控制LED實驗

3.2.1 按鍵控制LED簡介

按鍵是最常用的輸入設(shè)備,廣泛用于單片機/FPGA/DSP的輸入控制,操作人員可以通過按鍵輸人數(shù)據(jù)或者命令,實現(xiàn)簡單的人機對話。FPGA開發(fā)板使用的按鍵是一種常開型的開關(guān),通常按鍵的兩個觸點不按下時處于斷開狀態(tài),按下時處于閉合狀態(tài)。

本實驗使用按鍵控制發(fā)光二極管。發(fā)光二極管輸入為高時發(fā)光,按鍵默認(rèn)未按下時由于上拉電阻原因輸出高電平,所以需要將按鍵輸入取反后賦值給發(fā)光二極管輸入端,即可控制發(fā)光二極管發(fā)光。按鍵未按下時LED燈處于熄滅狀態(tài),按鍵按下時LED燈處于點亮狀態(tài)。

3.2.3 實驗任務(wù)

一個按鍵控制兩個發(fā)光二極管,按下按鍵的可以使兩個LED燈發(fā)光,未按下時兩個LED燈不發(fā)光。

3.2.4 程序設(shè)計

1、設(shè)計思路

輸入為4個按鍵,輸出為8個LED,按鍵按下時按鍵輸入為低電平,而LED需要驅(qū)動為高電平才能亮,所以需要對按鍵輸入進行取反,作為LED的輸入。

2、源代碼

module KeyToLED(

input [3:0] key,

output wire [7:0] LED

);

assign LED = ~{key,key};

endmodule

3.3 七段數(shù)碼管靜態(tài)顯示實驗

3.3.1 數(shù)碼管簡介

數(shù)碼管由7個條狀和一個點狀發(fā)光二極管制成,通過七段發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字,字母以及其他符號。

2.LED數(shù)碼管分類

(1)共陰極接法(也叫共陰數(shù)碼管)

把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時公共陰極接地,這樣陽極端輸人高電平的段發(fā)光二極管就導(dǎo)通點亮,而輸入低電平的段發(fā)光二極管則不點亮。

(2)共陽極接法(也叫共陽數(shù)碼管)

把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時公共陽極接+5V,這樣陰極端輸人低電平的段發(fā)光二極管就導(dǎo)通點亮,而輸入高電平的段發(fā)光二極管則不點亮。

數(shù)碼管的邏輯圖如圖3.8所示,全部由發(fā)光二極管組合構(gòu)成。

本實驗使用的是共陽極數(shù)碼管,例如:假如要顯示數(shù)字1,則b、c接低電平。

總結(jié)

以上是生活随笔為你收集整理的共阳极管的代码_《手把手教你学FPGA》第三章设计实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。