home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 April / CHIP4_98.ISO / software / ccconrad / basic.exe / CHIP / Programme.Bas / App-Board / keyb3.bas < prev    next >
Encoding:
BASIC Source File  |  1997-06-13  |  1.7 KB  |  84 lines

  1. '********************************************************************
  2. '
  3. ' C-Control/BASIC       KEYB3.BAS
  4. '
  5. ' Systemvoraussetzungen:
  6. '
  7. ' - Application Board mit angeschlossener Tastatur
  8. ' - serielle Verbindung zum PC
  9. ' - Terminalprogramm
  10. '
  11. ' Schwerpunkt:
  12. '
  13. ' - ASCII-Code der gedrueckten Taste
  14. '
  15. '********************************************************************
  16.  
  17. define key_nr byte
  18. define compare byte
  19. define key_ascii byte
  20.  
  21. define keyboard ad[8]
  22.  
  23.  
  24. ' die Reihenfolge der Tasten auf dem Keyboard
  25. define KEY_ASTERIX 0
  26. define KEY_7       1
  27. define KEY_4       2
  28. define KEY_1       3
  29. define KEY_0       4
  30. define KEY_8       5
  31. define KEY_5       6
  32. define KEY_2       7
  33. define KEY_CROSS   8
  34. define KEY_9       9
  35. define KEY_6       10
  36. define KEY_3       11
  37.  
  38.  
  39. ' --- Tastaturabfrageschleife ---
  40.  
  41. #LOOP
  42.  
  43. ' anhand einer Tabelle werden die vom A/D-Wandler gemessenen
  44. ' Spannungswerte einer Taste zugeordnet, dabei wird eine
  45. ' Toleranz von +- 3 zugelassen, um Widerstandstoleranzen
  46. ' zu kompensieren
  47.  
  48.   for key_nr = 0 to 11
  49.     looktab keycodes, key_nr, compare
  50.     if abs(keyboard-compare) < 3 then gosub HANDLE_KEY
  51.   next
  52.  
  53. 'kleine Pause
  54.   pause 10
  55.  
  56. ' Endlosschleife
  57. goto LOOP
  58.  
  59. ' --- Vergleichstabelle mit Werten, die mit keyb1.bas ermittelt wurden ---
  60.  
  61. ' sollten die von Ihnen festgestellten Tasten-A/D-Werte von dieser Tabelle
  62. ' etwas abweichen, so ist das normal und durch die Widerstandstoleranzen
  63. ' begruendet
  64.  
  65. table keycodes
  66.   0 23 46 68
  67.   90 111 132 152
  68.   173 193 214 235
  69. tabend
  70.  
  71.  
  72. ' --- Zuordnung von ASCII-Codes und byteweise Ausgabe ---
  73.  
  74. #HANDLE_KEY
  75.   looktab asciicodes, key_nr, key_ascii
  76.   put key_ascii
  77. return
  78.  
  79. table asciicodes
  80.   42 55 52 49
  81.   48 56 53 50
  82.   35 57 54 51
  83. tabend
  84.