code VHDL pour écran LCD

J

j Hemangini

Guest
J'utilise Spartan-3A kit de démarrage et essayer d'écrire du code VHDL pour afficheur LCD (2 * 16 caractères).Mais je ne reçois pas le succès d'écrire le code approprié.Quelqu'un pourrait-il me fournir le code approprié pour afficher seulement "Bonjour le monde" sur l'affichage.
Merci.

 
Peut-être que mon exemple Verilog anciens vous aideront.Désolé, ce n'est pas VHDL.C'est simple code démo brut, pas optimisée., part xc3s700a-4-fg484.

J'ai modifié il à courir à la Xilinx Spartan
Digilent /-3A Starter Kit,
xc3s700a part-4-fg484.

Code:

module supérieur (clk, LCD_RS, lcd_rw, lcd_e, lcd_0, lcd_1, lcd_2, lcd_3, lcd_4, lcd_5, lcd_6, lcd_7);

paramètre k = 18;

(* LOC = "E12" *) d'entrée CLK / / synthèse attribut PERIODE CLK "50 MHz"

reg [k 8-1:0] count = 0;

reg lcd_busy = 1;

reg lcd_stb;

reg [5:0] lcd_code;

reg [6:0] lcd_stuff;

(* LOC = "Y14" *) de sortie LCD_RS reg;

(* LOC = "W13" *) reg sortie lcd_rw;

(* LOC = "Y15" *) reg sortie lcd_7;

(* LOC = "AB16" *) reg sortie lcd_6;

(* LOC = "Y16" *) reg sortie lcd_5;

(* LOC = "AA12" *) reg sortie lcd_4;

(* LOC = "AB12" *) reg sortie lcd_3;

(* LOC = "AB17" *) reg sortie lcd_2;

(* LOC = "AB18" *) reg sortie lcd_1;

(* LOC = "Y13" *) reg sortie lcd_0;

(* LOC = "AB4" *) lcd_e reg sortie;always @ (CLK posedge) commencent

count <= count 1;

cas (count [k 7: k 2])

0: lcd_code <= 6'h03; / / puissance sur l'initialisation

1: lcd_code <= 6'h03;

2: lcd_code <= 6'h03;

3: lcd_code <= 6'h02;

4: lcd_code <= 6'h02; / / fonction d'ensemble

5: lcd_code <= 6'h08;

6: lcd_code <= 6'h00; / / mode d'entrée de jeu

7: lcd_code <= 6'h06;

8: lcd_code <= 6'h00; / / affichage contrôle on / off

9: lcd_code <= 6'h0C;

10: lcd_code <= 6'h00; / / affichage clair

11: lcd_code <= 6'h01;

12: lcd_code <= 6'h24; / / H

13: lcd_code <= 6'h28;

14: lcd_code <= 6'h26; / / e

15: lcd_code <= 6'h25;

16: lcd_code <= 6'h26; / / l

17: lcd_code <= 6'h2C;

18: lcd_code <= 6'h26; / / l

19: lcd_code <= 6'h2C;

20: lcd_code <= 6'h26; / / o

21: lcd_code <= 6'h2F;

22: lcd_code <= 6'h22; / /

23: lcd_code <= 6'h20;

24: lcd_code <= 6'h25; / / W

25: lcd_code <= 6'h27;

26: lcd_code <= 6'h26; / / o

27: lcd_code <= 6'h2F;

28: lcd_code <= 6'h27; / / R

29: lcd_code <= 6'h22;

30: lcd_code <= 6'h26; / / l

31: lcd_code <= 6'h2C;

32: lcd_code <= 6'h26; / / d

33: lcd_code <= 6'h24;

34: lcd_code <= 6'h22; / /!

35: lcd_code <= 6'h21;

default: lcd_code <= 6'h10;

ENDCASE

/ / If (lcd_rw) / / comment-out pour répéter l'affichage

/ / Lcd_busy <= 0; / / comment-out pour répéter l'affichage

lcd_stb <count = ^ [k 1: k 0] & ~ lcd_rw & lcd_busy; / / clkrate / 2 ^ (k 2)

lcd_stuff <= (lcd_stb, lcd_code);

(lcd_e, LCD_RS, lcd_rw, lcd_7, lcd_6, lcd_5, lcd_4) <= lcd_stuff;

(lcd_3, lcd_2, lcd_1, lcd_0) <= 4'b1111;

fin

endmodule
 
qu'il sera possible de convertir au format VERILOG VHDL s'il vous plaît laissez-moi savoir si quelqu'un sait

 
Il est très facile de convertir ce code simple pour formater VHDL mais si U sont paresseux comme moi az

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />

vous pouvez rechercher des convertisseur automatique par googleing elle, c'est une paix de gâteau de trouver un bon.

 

Welcome to EDABoard.com

Sponsor

Back
Top