- Labornetzteil AliExpress         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 34

Thema: Bascom Uhr Problem

  1. #21
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Anzeige

    Powerstation Test
    Wait 5 ist ganz schlecht. Das hält das Programm 5 Sekunden lang an.

    Ich rufe in meinen Programmen im sectic solche Aufgaben. sectic wird bei Bascom sekündlich angesprungen, wenn in der config dcf77 oder config clock angegeben.

    Code:
    dim Lichtzeit as byte
    Licht alias portb.5
    .
    .
    .
    do
    if messung >300 then
       lichtzeit=5
       set licht
    end if
    
    
    loop
    end
    
    sectic:
       if lichtzeit>0 then
          decr lichtzeit
       end if
       if lichtzeit=0 then reset licht
    return
    
    ...
    Die Sekunden bekommst du weg, indem du hinter dem lcd date$ noch ein

    Code:
    lcd "   "
    einsetzt
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  2. #22
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    jo das mit dem date habe ich schon hinbekommen. nur wie schreibe ich nun ein programm welches das datum ausgibt?

  3. #23
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    habs mal so mit sectic rein gemacht allerdings passiert da nichts. das licht schaltet zwar ein aber geht sofort wieder aus. also bleibt keine 5 sekunden eingeschaltet.

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    den ganzen code mal posten...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #25
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    so hier der code.

    vermute allerdings dass es mit dem set befehl was zu tun hat da ich eine 0 zum einschalten des lichts brauche und set macht ja ne 1. habe aber auch schon versucht set und reset zu tauschen hat aber nix gebracht.

    Code:
    $regfile = "m8def.dat"
    $crystal = 1000000
    $baud = 19200
    $hwstack = 32
    $swstack = 10
    $framesize = 40
    
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 ,
    Db7 = Portb.4 , E = Portc.4 , Rs = Portc.5
    Config Lcd = 16 * 2
    
    Config Lcdbus = 4
    Cursor Off
    
    Config Portb.0 = Output
    Config Portb.5 = Output
    Config Portb.1 = Output
    
    Config Pind.0 = Input
    Config Pind.1 = Input
    Config Pind.2 = Input
    Config Pind.3 = Input
    Config Pinc.0 = Input
    
    Const Adc_multi = 0.00244140625
    Config Adc = Single , Prescaler = Auto
    Start Adc
    
    Portd.0 = 1
    Portd.1 = 1
    Portd.2 = 1
    Portd.3 = 1
    
    
    Enable Interrupts
    Config Clock = Soft
    Config Date = Mdy , Separator = /
    Declare Sub Stunde
    Declare Sub Minute
    Declare Sub Stundew
    Declare Sub Minutew
    Declare Sub Onoff
    Declare Sub Licht
    Declare Sub Stellenmenue
    
    Dim Stellenstunde As Byte
    Dim Stellenminute As Byte
    Dim Konfiguration As Byte
    Dim Anaus As Byte
    Dim Messung As Word
    dim Lichtzeit as byte
    Licht alias portb.5
    
    Cls
    
    Time$ = "00:00:00"
    Date$ = "01/01/00"
    
    Do
       If Konfiguration = 1 Then
             Locate 1 , 1
             If Stellenstunde < 10 Then Lcd "0"
                Lcd Stellenstunde ; ":"
             If Stellenminute < 10 Then Lcd "0"
                Lcd Stellenminute
             End If
    
       Locate 2 , 9
       Lcd Date$
    
       Debounce Pind.0 , 0 , Stellenmenue , Sub
    
    
       If Konfiguration = 0 Or Konfiguration = 2 Or Konfiguration = 3 Then
          Locate 1 , 1
          Lcd Time$
       End If
    
    
       If Konfiguration = 1 Then                                'Wecker
    stellen
          Debounce Pind.1 , 0 , Stundew , Sub
          Debounce Pind.2 , 0 , Minutew , Sub
       End If
    
    
       If Konfiguration = 2 Then                                'Uhr stellen
          Debounce Pind.1 , 0 , Stunde , Sub
          Debounce Pind.2 , 0 , Minute , Sub
       End If
    
       Debounce Pind.3 , 0 , Onoff , Sub
    
       If Konfiguration = 0 And Anaus = 0 Then                  'Wecker
    an/aus
                Locate 2 , 1
                Lcd "aus   "
              End If
    
       If Konfiguration = 0 And Anaus = 1 Then
                Locate 2 , 1
                Lcd "an    "
             End If
    
    
       If Stellenstunde = _hour And Stellenminute = _min And Anaus = 1 Then
                   Portb.1 = 1
                   Else
                   Portb.1 = 0
       End If
    
       Messung = Getadc (0)
       If _hour > 20 or _hour < 8 then
                  Portb.5 = 1
              		If Messung > 300 then
    			lichtzeit = 5
    			set licht
    			end if
    	      else
                  Portb.5 = 0
       End If 
    
    
    Loop
    
    
    
    'Stellenmenü                                                'Menü zum
    einstellen Wecker/Uhr/Datum
    Stellenmenue:
    Incr Konfiguration
       If Konfiguration = 4 Then Konfiguration = 0
    
    
       If Konfiguration = 1 Then
          Locate 2 , 1
          Lcd "Wecker"
       End If
    
    
    
       If Konfiguration = 2 Then
          Locate 2 , 1
          Lcd "Uhr   "
       End If
    
    
       If Konfiguration = 3 Then
          Locate 2 , 1
          Lcd "Datum "
       End If
    Return
    
    
    
    'Stunde                                                    'Hier wird
    die Stunde der Uhr hochgezählt
    Stunde:
       Incr _hour
       If _hour > 23 Then
          _hour = 00
       End If
    Return
    
    
    
    'Minute                                                     'Hier wird
    die Minute der Uhr hochgezählt
    Minute:
       Incr _min
       If _min > 59 Then
          _min = 00
       End If
    
    Return
    
    
    
    'MinuteW                                                    'Hier wird
    die Minute des Weckers hochgezählt
    Minutew:
    Incr Stellenminute
       If Stellenminute > 59 Then
       Stellenminute = 0
       End If
    Return
    
    
    
    'Stundew                                                    'Hier wird
    die Stunde des Weckers hochgezählt
    Stundew:
    Incr Stellenstunde
       If Stellenstunde > 23 Then
       Stellenstunde = 0
       End If
    Return
    
    
    
    'onoff                                                      'Hier wird
    der Wecker ein- und ausgeschaltet
    Onoff:
    Incr Anaus
       If Anaus = 2 Then Anaus = 0
    Return
    
    sectic:
       if lichtzeit>0 then
          decr lichtzeit
       end if
       if lichtzeit=0 then reset licht
    return

  6. #26
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    In einem anderen Forum wurde Dir ja schon geraten,
    daß Du Dich eventuell um ein anderes Hobby umschauen sollst.

    Du läßt Dir jedes kleines Problemchen von anderen lösen.
    Ist selber nachdenken so schwer?
    Und vorallem der alte Spruch "Lesen bildet" gilt auch noch heute. Wenn Du in die Bascom Help unter "Config Clock" schaust
    und natürlich auch liest was denn da steht, wirds vielleicht
    ein wenig heller werden mit Sectic.

    MfG
    Rone

  7. #27
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    was denkst du wohl warum ich dort nix mehr poste? weil solche leute wie du ankommen und einem das ganze madig machen.

    wenn du nix konstruktives dazu beitragen kannst bitte ich dich im anderen forum in meinen post zu schreiben der is ja dort zugemüllt genug. einmal mehr müll abladen is dort egal.

    ich hab zick mal gesagt dass ich anfänger bin. aber irgendwie blickt das keiner. woher soll ich bitte wissen wie man ein programm struckturell aufbaut und wo man welche befehle nimmt? du bist wieder so einer der die weisheit mit dem löffel gegessen hat.

  8. #28
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    nun, es gibt nen Grund warum im µC-net keiner mehr gepostet hat.
    Irgendwann haben's die Forenmitglieder leid einem die Arbeit zu machen. Dort wie auch hier im Forum wird es sehr gerne gesehen wenn sich die Leute erstmal Gedanken machen und bei Problemen dann fragen.
    Meist wird dann Hilfe zur Selbsthilfe gegeben.
    Die Taktik mit "sag mir wie's geht" geht dort wie hier nicht auf.

    Wer mir den Cde mal anschaun, vielleicht fällt mir ja was dazu ein.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  9. #29
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.05.2006
    Ort
    Oberschopfheim
    Alter
    36
    Beiträge
    380
    ja dass ist mir auch klar. aber hier rennen leute rumm die meinen ich hätte wirklich gar nix gemacht dabei habe ich ja nur mit kleinigkeiten probleme und dass halt nur weil ich sie zum ersten mal mache. zb dass mit dem adc oder so.

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    config clock = soft, gosub = sectic

    Du schaltest das Licht aber bei der nächsten Gelegenheit wieder ab. Da muss natürlich abgefangen werden, ob die Lichtzeit noch läuft.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests