- 最後登錄
- 2024-1-20
- 在線時間
- 1 小時
- 註冊時間
- 2023-5-15
- 閱讀權限
- 10
- 精華
- 0
- UID
- 1462738
- 帖子
- 0
- 積分
- 0 點
- 潛水值
- 40 米
| 若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。 本帖最後由 snowflying 於 2015-11-18 02:27 AM 編輯
如題目 利用12個指撥開關 配合RESET鍵
來驅動3個七段顯示器
下面是我的程式碼 但是只有兩個七段顯示器會亮
請問要怎麼修改 才能亮三個燈?
- module Seg72(Seg,S,B0,B1,B2,clk,reset);
- input [3:0]B0,B1,B2;
- input clk,reset;
- output [2:0]S;
- output reg [6:0]Seg;
-
- reg [2:0]S;
- reg sel;
- reg [6:0]Seg0;
- reg [6:0]Seg1;
- reg [6:0]Seg2;
-
-
- always@(posedge clk)begin
- if(!reset)begin
- S[2:0]<=2'b000;
- sel<=0;
- end
-
- else
- sel<=sel+1;
-
- if(sel==0)
-
- S[2:0]=2'b010;
-
-
- else if(sel==1)begin
-
- S[2:0]=2'b100;
- S[2:0]=2'b111;
- end
- end
-
-
-
-
-
- always@(B0,B1,B2)begin
-
- case(B0)
- 4'b0000:Seg0[6:0]=7'b0111111;
- 4'b0001:Seg0[6:0]=7'b0000110;
- 4'b0010:Seg0[6:0]=7'b1011011;
- 4'b0011:Seg0[6:0]=7'b1001111;
- 4'b0100:Seg0[6:0]=7'b1100110;
- 4'b0101:Seg0[6:0]=7'b1101101;
- 4'b0110:Seg0[6:0]=7'b1111101;
- 4'b0111:Seg0[6:0]=7'b0000111;
- 4'b1000:Seg0[6:0]=7'b1111111;
- 4'b1001:Seg0[6:0]=7'b1101111;
-
- default:Seg0[6:0]=7'bx;
-
- endcase
-
- case(B1)
- 4'b0000:Seg1[6:0]=7'b0111111;
- 4'b0001:Seg1[6:0]=7'b0000110;
- 4'b0010:Seg1[6:0]=7'b1011011;
- 4'b0011:Seg1[6:0]=7'b1001111;
- 4'b0100:Seg1[6:0]=7'b1100110;
- 4'b0101:Seg1[6:0]=7'b1101101;
- 4'b0110:Seg1[6:0]=7'b1111101;
- 4'b0111:Seg1[6:0]=7'b0000111;
- 4'b1000:Seg1[6:0]=7'b1111111;
- 4'b1001:Seg1[6:0]=7'b1101111;
-
- default:Seg1[6:0]=7'bx;
-
- endcase
-
- case(B2)
- 4'b0000:Seg2[6:0]=7'b0111111;
- 4'b0001:Seg2[6:0]=7'b0000110;
- 4'b0010:Seg2[6:0]=7'b1011011;
- 4'b0011:Seg2[6:0]=7'b1001111;
- 4'b0100:Seg2[6:0]=7'b1100110;
- 4'b0101:Seg2[6:0]=7'b1101101;
- 4'b0110:Seg2[6:0]=7'b1111101;
- 4'b0111:Seg2[6:0]=7'b0000111;
- 4'b1000:Seg2[6:0]=7'b1111111;
- 4'b1001:Seg2[6:0]=7'b1101111;
-
- default:Seg2[6:0]=7'bx;
-
- endcase
-
-
- if(sel==0)
- Seg[6:0]=Seg0[6:0];
-
-
- else if(sel==1)begin
-
- Seg[6:0]=Seg1[6:0];
- Seg[6:0]=Seg2[6:0];
- end
- end
- endmodule
-
複製代碼
... |
|