home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 April / CHIP4_98.ISO / software / ccconrad / basic.exe / CHIP / Programme.Bas / Beispiele_2 / TEMPLCD.BAS < prev    next >
Encoding:
BASIC Source File  |  1997-05-30  |  3.4 KB  |  191 lines

  1. '**************************************
  2. '
  3. ' C-Control/BASIC       TEMPLCD.BAS
  4. '
  5. ' Aufgabe:
  6. '
  7. ' - Innen- und Au▀enTemp1eratur
  8. ' - Minimum/Maximum
  9. ' - Anzeige ⁿber 2x8-LCD-Modul
  10. '
  11. '**************************************
  12. ' --- Definitionen --------------------
  13.  
  14.  
  15. define Datenbus byteport[1]
  16. define RS port[9]
  17. define RW port[10]
  18. define E port[11]
  19. define Daten byte    
  20.  
  21. define Taster port[16]
  22. define Eingang1 AD[1]
  23. define Eingang2 AD[2]
  24. define Temp word
  25. define Temp1Min word
  26. define Temp1Max word
  27. define Temp2Min word
  28. define Temp2Max word
  29. define Zahl word
  30. define Sekunde byte
  31.  
  32. ' --- Programmoperationen -------------
  33.  
  34. gosub Init
  35. Temp1Min = 999
  36. Temp1Max = 0
  37. Temp2Min = 999
  38. Temp2Max = 0
  39. #Loop
  40.   Daten = 0
  41.   gosub Cursor
  42.   looktab TempTab, Eingang1, Temp
  43.   if Temp1Min > Temp then Temp1Min = Temp
  44.   if Temp1Max < Temp then Temp1Max = Temp
  45.   gosub TempAusgabe
  46.   Daten = 64
  47.   gosub Cursor
  48.   looktab TempTab, Eingang2, Temp
  49.   if Temp2Min > Temp then Temp2Min = Temp
  50.   if Temp2Max < Temp then Temp2Max = Temp
  51.   gosub TempAusgabe
  52.  
  53.   #Loop2
  54.   if Sekunde = second then goto Loop2
  55.   Sekunde = second
  56.  
  57.   if Sekunde = 0 then goto MinAusgabe
  58.   if Sekunde = 1 then goto Maxausgabe
  59.   if Sekunde = 10 then goto Minausgabe
  60.   if Sekunde = 11 then goto Maxausgabe
  61.   if Sekunde = 20 then goto Minausgabe
  62.   if Sekunde = 21 then goto Maxausgabe
  63.   if Sekunde = 30 then goto Minausgabe
  64.   if Sekunde = 31 then goto Maxausgabe
  65.   if Sekunde = 40 then goto Minausgabe
  66.   if Sekunde = 41 then goto Maxausgabe
  67.   if Sekunde = 50 then goto Minausgabe
  68.   if Sekunde = 51 then goto Maxausgabe
  69.   if (not Taster) then gosub MinMaxReset
  70.   goto Loop
  71.  
  72. #Init
  73. E=0
  74. Daten = &H38    'Initialisierung
  75. gosub Kommando
  76. Daten = &H0E    'Display einschalten
  77. gosub Kommando
  78. Daten = &H01
  79. gosub Kommando
  80. return
  81.  
  82. #Kommando
  83. RW = 0
  84. RS = 0
  85. Datenbus = Daten
  86. pulse E
  87. return
  88.  
  89. #Zeichen
  90. RW = 0
  91. RS = 1
  92. Datenbus = Daten
  93. pulse E
  94. return
  95.  
  96. #Cursor
  97. RW = 0
  98. RS = 0
  99. Datenbus = Daten + &H80
  100. pulse E
  101. return
  102.  
  103. #MinMaxReset
  104. Temp1Min = 999
  105. Temp1Max = 0
  106. Temp2Min = 999
  107. Temp2Max = 0
  108. return
  109.  
  110. #MinAusgabe
  111. Daten = 0
  112. gosub Cursor
  113. Daten = 109     '"m"
  114. gosub Zeichen
  115. Daten = 105     '"i"
  116. gosub Zeichen
  117. Daten = 110     '"n"
  118. gosub Zeichen
  119. Daten = 32      '" "
  120. gosub Zeichen
  121. Temp = Temp1Min
  122. gosub TempAusgabe
  123. Daten = 64
  124. gosub Cursor
  125. Daten = 109     '"m"
  126. gosub Zeichen
  127. Daten = 105     '"i"
  128. gosub Zeichen
  129. Daten = 110     '"n"
  130. gosub Zeichen
  131. Daten = 32      '" "
  132. gosub Zeichen
  133. Temp = Temp2Min
  134. gosub TempAusgabe
  135. goto Loop2
  136.  
  137. #MaxAusgabe
  138. Daten = 0
  139. gosub Cursor
  140. Daten = 109     '"m"
  141. gosub Zeichen
  142. Daten = 97      '"a"
  143. gosub Zeichen
  144. Daten = 120     '"x"
  145. gosub Zeichen
  146. Daten = 32      '" "
  147. gosub Zeichen
  148. Temp = Temp1Max
  149. gosub TempAusgabe
  150. Daten = 64
  151. gosub Cursor
  152. Daten = 109     '"m"
  153. gosub Zeichen
  154. Daten = 97      '"a"
  155. gosub Zeichen
  156. Daten = 120     '"x"
  157. gosub Zeichen
  158. Daten = 32      '" "
  159. gosub Zeichen
  160. Temp = Temp2Max
  161. gosub TempAusgabe
  162. goto Loop2
  163.  
  164. #TempAusgabe    '##.#░C
  165. Daten = (Temp / 100) + 48
  166. gosub Zeichen
  167. Zahl = (Temp mod 100)
  168. Daten = (Zahl / 10) + 48
  169. gosub Zeichen
  170. Daten = 46      '"."
  171. gosub Zeichen
  172. Daten = (Zahl mod 10) + 48
  173. gosub Zeichen
  174. Daten = 223     '"░"
  175. gosub Zeichen
  176. Daten = 67      '"C"
  177. gosub Zeichen
  178. Daten = 32      '" "
  179. gosub Zeichen
  180. Daten = 32      '" "
  181. gosub Zeichen
  182. Daten = 32      '" "
  183. gosub Zeichen
  184. return
  185.  
  186. end
  187.  
  188. table TempTab ".\TABLES\KTY2.TAB"
  189.  
  190.  
  191.