- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Aufwärts- und Abwärtsschaltung mit Bascom

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.03.2005
    Ort
    Schifferstadt
    Alter
    42
    Beiträge
    318

    Aufwärts- und Abwärtsschaltung mit Bascom

    Anzeige

    Powerstation Test
    Hallo, habe foldenden Code :

    Code:
    $regfile = "8535def.dat"
    $crystal = 4000000
    $baud = 9600
    Config Porta = Output
    
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.1
    Config Lcd = 16 * 2
    
    Dim Zeit As String * 2
    
    
    Config Portc = &B11111100
    Portc.2 = 1
    Portc.3 = 1
    $eeprom
    
    Cls
    Cursor On
    Lcd "Sekunden"
    Lowerline
    Lcd ""
    Wait 1
    
    Main:
    
    
    If Pinc.1 = 0 Then Goto Zeitplus
    If Pinc.0 = 0 Then Goto Zeitminus
    
    Goto Main
    
    
    Tasterstart:
    
    Goto Main
    
    
    
    Tasterprog:
    
    Goto Main
    Jetzt soll der AVR, wenn ich TasteC.1 drücke, immer 1 hochzählen. Also von 0 auf 1, und wenn ich nochmal drücke von 1 auf 2 usw.

    Wenn ich TasteC.0 drücke, immer 1 runterzählen. Also von 2 auf 1, und wenn ich nochmal drücke von 1 auf 0

    Die Tasten funktionieren schon, nur das hoch und runterzählen klappt net. Hat jemand einen Tip, wie ich am besten damit anfange ?

    mfg Kay

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Mit INCR und DECR kannst du eine Variable um 1 erhöhen oder 1 abziehen.
    Dazu musst du aber Zahlen zählen und diese dann später in ein String umwandeln, wenn du absolut einen String brauchst.

    Code:
    ...
    
    dim Zeit as byte
    
    cls
    lcd "Sekunden"
    
    do
    if pinc.1 = 0 then gosub zeitplus
    if pinc.0 = 0 then gosub zeitminus
    gosub zeitanzeigen
    
    waitms 150 'entprellen der taster
    
    loop
    
    zeitplus:
    incr zeit
    if zeit > 60 then zeit = 60
    return
    
    zeitminus:
    decr zeit
    if zeit < 0 then zeit = 0
    return
    
    zeitanzeigen:
    lowerline
    lcd "  "
    lowerline
    lcd zeit
    return
    
    end

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.03.2005
    Ort
    Schifferstadt
    Alter
    42
    Beiträge
    318
    vielen Dank für die Antwort. funktioniert einwandfrei

Berechtigungen

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

12V Akku bauen