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

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