Advertisement
Udo01

Bodensensor

Aug 6th, 2017
3,062
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '*******************
  2. '*   Udo Lorenz    *
  3. '*   06.08.2017    *
  4. '*  mit DUO-LED    *
  5. '*******************
  6.  'Low Fuse (0xE4)
  7.  'High Fuse (0xDF)
  8.  'Lockbits (0xFF)
  9.  'VCC = 3V
  10.  
  11. '$sim
  12. $regfile = "attiny85.dat"
  13. $crystal = 128000                                           ' Oszillator Frequenz 128 kHz
  14. $hwstack = 80
  15. $swstack = 80
  16. $framesize = 100
  17.  
  18. Dim Z As Byte , W As Word , Z1 As Byte , Summe As Dword
  19. Summe = 1
  20.  
  21. Ddrb = &B00011011                                           'b.0,1,3,4  als Ausgang, die restlichen als Eingang (1 = Ausgang, 0 = Eingang)
  22.  
  23.  
  24. Config Adc = Single , Prescaler = Auto , Reference = Internal_1.1
  25.  
  26. 'Start Programm
  27.  
  28. Portb.4 = 1
  29. Portb.3 = 0                                                 'Messspannung einschalten
  30. Start Adc
  31. Waitms 200
  32.  
  33.  For Z1 = 0 To 9                                            '10 x Messung
  34.   W = Getadc(1)                                             'Portb.2=ADC-Eingang
  35.   Summe = Summe + W
  36.   Next Z1
  37. Stop Adc
  38.  
  39.  
  40. Portb.4 = 0                                                 'Messspannung wieder aus
  41. Portb.3 = 1                                                 'Spannung Umpolen
  42. Waitms 200                                                  'Umpolzeit einstellen
  43. Portb.3 = 0                                                 'Spannung komplett aus
  44. W = Summe / 10
  45.  
  46.  If W < 550 Then                                            'Wert anpassen je nach Feuchte
  47.   Gosub Blinker                                             'Blinker ROT bei Alarm
  48.   Else
  49.   Portb.1 = 1
  50.   Waitms 100                                                '1 * Blinken Grün, "alles Gut!"
  51.   Portb.1 = 0
  52.  End If
  53.  
  54.  
  55.   'Start Watchdog
  56.   Wdtcr = &B00101001                                        'Watchdog Config und Einschalten ca. 8 Sekunden
  57.   Config Powermode = Powerdown                              'Powerdown
  58.  
  59. End
  60.  
  61. Blinker:
  62.  
  63.  For Z = 0 To 13
  64.   Toggle Portb.0
  65.   Waitms 80
  66.  Next Z
  67.  
  68. Return
  69. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement