No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

KeyboardToASCII.vhd 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ----------------------------------------------------------------------------------
  2. -- Company:
  3. -- Engineer:
  4. --
  5. -- Create Date: 02.07.2021 10:43:18
  6. -- Design Name:
  7. -- Module Name: KeyboardToASCII - Behavioral
  8. -- Project Name:
  9. -- Target Devices:
  10. -- Tool Versions:
  11. -- Description:
  12. --
  13. -- Dependencies:
  14. --
  15. -- Revision:
  16. -- Revision 0.01 - File Created
  17. -- Additional Comments:
  18. --
  19. ----------------------------------------------------------------------------------
  20. library IEEE;
  21. use IEEE.STD_LOGIC_1164.ALL;
  22. entity KeyboardToASCII is
  23. Port ( KeyCode : in STD_LOGIC_VECTOR (0 to 7);
  24. CodeASCII : out STD_LOGIC_VECTOR (0 to 6));
  25. end KeyboardToASCII;
  26. architecture Behavioral of KeyboardToASCII is
  27. begin
  28. CodeASCII <= "0000000" when (KeyCode = x"05") else -- F1 -> flush
  29. "0001101" when (KeyCode = x"5a") else -- Enter
  30. "1111111" when (KeyCode = x"66") else -- Del
  31. "1000001" when (KeyCode = x"15") else -- A
  32. "1000010" when (KeyCode = x"32") else -- B
  33. "1000011" when (KeyCode = x"21") else -- C
  34. "1000100" when (KeyCode = x"23") else -- D
  35. "1000101" when (KeyCode = x"24") else -- E
  36. "1000110" when (KeyCode = x"2b") else -- F
  37. "1000111" when (KeyCode = x"34") else -- G
  38. "1001000" when (KeyCode = x"33") else -- H
  39. "1001001" when (KeyCode = x"43") else -- I
  40. "1001010" when (KeyCode = x"3b") else -- J
  41. "1001011" when (KeyCode = x"42") else -- K
  42. "1001100" when (KeyCode = x"4b") else -- L
  43. "1001101" when (KeyCode = x"4c") else -- M
  44. "1001110" when (KeyCode = x"31") else -- N
  45. "1001111" when (KeyCode = x"44") else -- O
  46. "1010000" when (KeyCode = x"4d") else -- P
  47. "1010001" when (KeyCode = x"1c") else -- Q
  48. "1010010" when (KeyCode = x"2d") else -- R
  49. "1010011" when (KeyCode = x"1b") else -- S
  50. "1010100" when (KeyCode = x"2c") else -- T
  51. "1010101" when (KeyCode = x"3c") else -- U
  52. "1010110" when (KeyCode = x"2a") else -- V
  53. "1010111" when (KeyCode = x"1a") else -- W
  54. "1011000" when (KeyCode = x"22") else -- X
  55. "1011001" when (KeyCode = x"35") else -- Y
  56. "1011010" when (KeyCode = x"1d") else -- Z
  57. "0110000" when (KeyCode = x"70") else -- 0
  58. "0110001" when (KeyCode = x"69") else -- 1
  59. "0110010" when (KeyCode = x"72") else -- 2
  60. "0110011" when (KeyCode = x"7a") else -- 3
  61. "0110100" when (KeyCode = x"6b") else -- 4
  62. "0110101" when (KeyCode = x"73") else -- 5
  63. "0110110" when (KeyCode = x"74") else -- 6
  64. "0110111" when (KeyCode = x"6c") else -- 7
  65. "0111000" when (KeyCode = x"75") else -- 8
  66. "0111001" when (KeyCode = x"7d") else -- 9
  67. "0000001"; -- Rien
  68. end Behavioral;