home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 April / CHIP4_98.ISO / software / ccconrad / basic.exe / CHIP / C-Control Setup / _SETUP.1 / 015.bas < prev    next >
Encoding:
BASIC Source File  |  1997-03-13  |  2.1 KB  |  98 lines

  1. '********************************************************************
  2. '
  3. ' C-Control/BASIC       015.BAS
  4. '
  5. ' Systemvoraussetzungen:
  6. '
  7. ' - 25k-Potentiometer, mit den Aussenkontakten
  8. '   zwischen 5V und GND geschaltet, Schleifer verbunden
  9. '   mit A/D 1
  10. ' - Referenzspannungseingang mit 5V verbunden
  11. ' - serielle Verbindung zum PC
  12. ' - Terminalprogramm
  13. ' - Low-Current-LEDs an Port 1 bis Port 7, Vorwiderstand ca. 1k,
  14. '   alle Kathoden nach GND
  15. ' - Taster an Port 9 und Port 11 nach GND
  16. '
  17. ' Schwerpunkte:
  18. '
  19. ' - Datenaufzeichnung
  20. ' - Verwendung der integrierten Echtzeituhr
  21. ' - Aufruf von Unterroutinen
  22. '
  23. ' Das Programm misst zu jeder vollen Minute einen Analogwert und
  24. ' speichert ihn im EEPROM-Chip. Auf Tastendruck werden alle Daten
  25. ' seriell ausgegeben. Ist der Speicher voll, endet die Aufzeichnung
  26. ' und eine LED wird eingeschaltet.
  27. '********************************************************************
  28.  
  29. ' --- Definitionen --------------------------------------------------
  30.  
  31. define count word
  32. define value word
  33. define lastsec byte
  34.  
  35. define key port[9]
  36. define led port[1]
  37.  
  38. define poti ad[1]
  39.  
  40.  
  41. ' --- Programmoperationen -------------------------------------------
  42.  
  43. count = 0
  44. led = 0
  45. lastsec = 0
  46.  
  47. ' Datei ruecksetzen
  48. open# for write
  49. close#
  50.  
  51. ' Programmschleife (mit RESET beenden)
  52.  
  53. #loop1
  54.  
  55.   ' wenn Minute voll und in dieser Sekunde nicht schon geschrieben
  56.   ' dann messen und aufzeichnen
  57.   if second = 0 and second <> lastsec then gosub log 
  58.   lastsec = second  
  59.  
  60. #loop2
  61.  
  62.   ' wenn Taste gedrueckt, dann ausgeben
  63.   if not key then gosub dump
  64.  
  65.   ' kleine Pause
  66.   pause 20
  67.   
  68. ' wenn led ein, dann Datei voll, dann nur noch Taste abfragen
  69. if led then goto loop2 else goto loop1
  70.  
  71.  
  72. ' messen und speichern
  73. #log
  74.   beep 100, 10, 0
  75.   open# for append
  76.     if filefree then print# poti else goto filefull
  77.   close#
  78.   count = count + 1
  79. return
  80.  
  81. #filefull
  82.   close#
  83.   led = ON
  84. return
  85.  
  86.  
  87. ' Messwerte ausgeben
  88. #dump
  89.   print
  90.   print count, " Messwerte"
  91.   open# for read
  92.  
  93. #dumpnext
  94.   if eof then return
  95.   input# value
  96.   print value; " ";
  97. goto dumpnext
  98.