Verilog數碼顯示器00 99迴圈計數器電路

2021-10-08 11:36:26 字數 3945 閱讀 7342

採用2位7段數碼顯示器設計乙個00~99迴圈計數器電路。輸入包括乙個時鐘輸入端和乙個低電平復位端,

復位時輸出88,兩個輸出分別控制高位和低位數碼顯示器。

7位數碼管顯示器的結構圖如下:

a~g分別對應輸出out中的0-7,由低位到高位,其中out0表示低位,out1表示高位。

`timescale 1ns /

1ps//

// company:

// engineer:

// // create date: 2020/07/24 10:00:19

// design name:

// module name: test1000

// project name:

// target devices:

// tool versions:

// description:

// // dependencies:

// // revision:

// revision 0.01 - file created

// additional comments:

// //

module test1000

(clk,reset,out0,out1)

;input clk,reset;

output [6:

0] out0,out1;

reg [6:

0] out0,out1;

reg [9:

0] cnt;

reg [3:

0] pr_state,nx_state;

reg [3:

0] state;

parameter s0=

0,s1=

1,s2=

2,s3=

3,s4=

4,s5=

5,s6=

6,s7=

7,s8=

8,s9=9;

parameter zero=

7'b0111111,one=7'b0000110,two=

7'b1011011,three=7'b1001111,four=

7'b1100110,five=7'b1101101,

six=

7'b1111101,seven=7'b0000111,eight=

7'b1111111,nine=7'b1101111;

always @(posedge clk or posedge reset)if(

!reset)

begin

pr_state<=s8;

state<=s8;

cnt=0;

endelse

begin

pr_state<=nx_state;

state<=cnt;

endalways @(pr_state)

case

(pr_state)

s0:begin

nx_state=s1;

out0=zero;

ends1:begin

nx_state=s2;

out0=one;

ends2:begin

nx_state=s3;

out0=two;

ends3:begin

nx_state=s4;

out0=three;

ends4:begin

nx_state=s5;

out0=four;

ends5:begin

nx_state=s6;

out0=five;

ends6:begin

nx_state=s7;

out0=six;

ends7:begin

nx_state=s8;

out0=seven;

ends8:begin

nx_state=s9;

out0=eight;

ends9:begin

nx_state=s0;

out0=nine;

cnt=cnt+1;

enddefault

:begin

nx_state=s0;

out0=zero;

state=zero;

endendcase

always@(state)

case

(state)

s0:begin

out1=zero;

ends1:begin

out1=one;

ends2:begin

out1=two;

ends3:begin

out1=three;

ends4:begin

out1=four;

ends5:begin

out1=five;

ends6:begin

out1=six;

ends7:begin

out1=seven;

ends8:begin

out1=eight;

ends9:begin

out1=nine;

enddefault

:begin

state=s0;

out1=zero;

endendcase

endmodule

測試**

`timescale 1ns /

1ps//

// company:

// engineer:

// // create date: 2020/07/24 10:27:04

// design name:

// module name: test1027

// project name:

// target devices:

// tool versions:

// description:

// // dependencies:

// // revision:

// revision 0.01 - file created

// additional comments:

// //

module test1027;

reg clk;

reg reset;

wire [6:

0] out0,out1;

initial begin

clk=0;

reset=0;

#100

; reset=1;

end

always begin

#10 clk=1;

#10 clk=0;

endtest1000 x1

(.clk (clk )

,.reset (reset )

,.out0 (out0 )

,.out1 (out1 ));

endmodule

**波形

因為**波形較長,這裡只展示部分,可以根據輸出out訊號來對照數碼管顯示的數字。第一**圖中,由於復位數為88,因此會直接跳至09,然後到10,之後會正常計數,第二個週期的完整迴圈將會從00開始。

實驗三 七段數碼顯示器

1.實驗內容 使用mcs 51組合語言編寫程式,完成以下功能 1.使用三個數碼管顯示十進位制數值 2.每隔0.1秒,該數值自動增一,到999後歸零繼續 3.當開關s1按下時,暫停計數 s1鬆開時,恢復計數 2.顯示 本開發平台有3個數碼管,使用序列方式連線在一起,具體電路參見實驗原理。要想輸出乙個字...

關閉顯示器

sendmessage hwnd 65535,274,61808,2 sendmessage hwnd,wm syscommand,sc monitorpower,2 wm syscommand 意為 視窗訊息 系統指令 sc monitorpower 意為 系統指令 顯示器電源 1 the dis...

顯示器引數

hdmi 1.4 hdmi 2.0 dp 1.2 dp 1.4 type c介面 雷電3介面 描述解析度的單位有 dpi 點每英吋 lpi 線每英吋 和ppi 畫素每英吋 從技術角度說,畫素 只存在於電腦顯示領域,而 點 只出現於列印或印刷領域。5k 5120 x 2,880 4k 4096 x 2...