Hallo,
ich bin ein blutiger Anfänger im Programmieren, vor allem beim Verilog /
HDL.
Ich arbeite derzeit mit einem EBlocks2 Board und dem LCD Combo Board
BL0114.
Ich habe auch einen Code geschrieben der soweit funktioniert, dass ein
Zeichen ausgegeben wird, sofern ein Knopf gedrückt wird. Jedoch will das
Clearen des Displays nicht funktionieren. Dafür setze ich LCD_RS auf 0
damit ein Befehl geladen wird und lade dann den Wert 8'b000000001 ein.
1 | always @ (posedge clk) begin
|
2 | count1 <= count1 + 1;
|
3 | case (state)
|
4 | STATE00: begin
|
5 | if(TasterR) begin
|
6 | ResetF <= 1;
|
7 | LCD_RS <= 0;
|
8 | state <= STATE01;
|
9 | end
|
10 | else if (TasterN) begin
|
11 | ResetF <= 0;
|
12 | LCD_RS <= 1;
|
13 | state <= STATE01;
|
14 | end
|
15 | end
|
16 |
|
17 | STATE01: begin //LCD hat nur 4 Datenpins
|
18 | if(count1 == 11'h1 & !ResetF) begin
|
19 | RxD_data <= 4'b0010; //Erster Teil für das Zeichen "$"
|
20 | state <= STATE02;
|
21 | end
|
22 | else if(count1 == 11'h1 & ResetF) begin
|
23 | RxD_data <= 4'b0001; // Erster Teil für das clearen des Displays
|
24 | state <= STATE02;
|
25 | end
|
26 | end
|
27 |
|
28 | STATE02: begin
|
29 | if(count1 == 11'h32) begin
|
30 | LCD_E <= 1;
|
31 | state <= STATE03;
|
32 | end
|
33 | end
|
34 |
|
35 | STATE03: begin
|
36 | if(count1 == 11'h64) begin
|
37 | LCD_E <=0;
|
38 | state <= STATE04;
|
39 | end
|
40 | end
|
41 |
|
42 | STATE04: begin
|
43 | if(count1 == 11'h96 & !ResetF) begin
|
44 | RxD_data <= 4'b0100; //Zweiter Teil für das Zeichen "$"
|
45 | state <= STATE05;
|
46 | end
|
47 | else if(count1 == 11'h96 & ResetF) begin
|
48 | RxD_data <= 4'b0000; // Zweiter Teil für das clearen des Displays
|
49 | state <= STATE05;
|
50 | end
|
51 | end
|
52 |
|
53 | STATE05: begin
|
54 | if(count1 == 11'hC8) begin
|
55 | LCD_E <= 1;
|
56 | state <= STATE06;
|
57 | end
|
58 | end
|
59 |
|
60 | STATE06: begin
|
61 | if(count1 == 11'hFA) begin
|
62 | LCD_E <= 0;
|
63 | state <= STATE07;
|
64 | end
|
65 | end
|
66 |
|
67 | STATE07: begin
|
68 | if(count1 == 11'h4E2) begin
|
69 | RxD_data <= 4'b0000;
|
70 | state <= STATE08;
|
71 | end
|
72 | end
|
73 |
|
74 | STATE08: state <= STATE00;
|
75 |
|
76 | default: ;
|
77 | endcase
|
78 | end
|
79 | endmodule
|
Hat hier jemand einen Tipp für mich? Das wäre wirklich super!
Viele Grüße,
Daniel