LCD Program

You might also like

You are on page 1of 3

1.

`timescale 1ns / 1ps

2. /////////////////////////////////////////////////////////////////////
/////////////

3.

4. /////////////////////////////////////////////////////////////////////
/////////////

5. module keyboard(clk,data,sel,seg,parity,stop );

6. input clk;

7. input data;

8. output reg [3:0] sel;

9. output [6:0] seg;

10. output reg parity,stop;

11. reg [3:0]i=0;

12.

13. reg [7:0] out=0,a=0;

14.

15. reg z=1'b1;

16. always@(posedge clk)

17. begin

18. case(i)

19. 0 : begin z=data; end

20. 1 : a[0]=data;

21. 2 : a[1]=data;

22. 3 : a[2]=data;

23. 4 : a[3]=data;

24. 5 : a[4]=data;

25. 6 : a[5]=data;

26. 7 : a[6]=data;

27. 8 : a[7]=data;

28. 9 : parity=data;

29. 10 : stop=data;

30. endcase

31. if(z!=0)
32. begin

33. i=0;

34. end

35. else

36. begin

37. i=i+1'b1;

38. end

39. out=a;

40. end

41.

42. reg [6:0]tt=0;

43.

44. always @(out)

45. begin

46. sel=4'b1110;

47. case(out)

48. 8'h1c : tt=7'b0001000; //A=1c;

49. 8'h1b : tt=7'b0100100; //S=1b;

50. 8'h16 : tt=7'b1001111; // 1=16

51. 8'h1e : tt=7'b0010010; // 2=1E

52. 8'h26 : tt=7'b0000110; // 3=26

53. 8'h25 : tt=7'b1001100; // 4=25

54. 8'h2e : tt=7'b0100100; // 5=2e

55. 8'h36 : tt=7'b0100000; // 6=36

56. 8'h3d : tt=7'b0001111; // 7=3d

57. 8'h3e : tt=7'b0000000; // 8=3e

58. 8'h46 : tt=7'b0001100; // 9=46

59. 8'h45 : tt=7'b0000001; // 0=45

60.

61. default : tt=7'b1111110;

62. endcase

63. end

64. assign seg=tt;


65. endmodule

You might also like