Witam serdecznie Chciałbym zmodyfikować program tak żeby po naciśnięciu przycisku 3 i po zaświeceniu się wszystkich diód program żeby nie reagował na naciskanie przyciski 1 i 2 dopiero po naciśnięciu kolejny raz przycisku 3 i wyłączeniu wszystkich diód. $regfile = "attiny2313.dat" $crystal = 8000000 Ddrb = &B11111111 : Portb = &B00000000 Ddrd = &B11111000 : Portd = &B00000111 Dim X As Byte Dim Y As Byte Sw1 Alias Pind.0 Sw2 Alias Pind.1 Sw3 Alias Pind.2 Do If Sw1 = 0 Then Waitms 20 If Sw1 = 0 Then For X = 7 To 0 Step -1 Portb.x = 1 Waitms 300 Next X For X = 6 To 5 Step -1 Portd.x = 1 Waitms 300 Next X For Y = 1 To 60 Waitms 200 Next X For X = 7 To 0 Step -1 Portb.x = 0 Waitms 300 Next X For X = 6 To 5 Step -1 Portd.x = 0 Waitms 300 Next X End If End If If Sw2 = 0 Then Waitms 20 If Sw2 = 0 Then For X = 5 To 6 Portd.x = 1 Waitms 300 Next X For X = 0 To 7 Portb.x = 1 Waitms 300 Next X For Y = 1 To 60 Waitms 200 Next Y For X = 5 To 6 Portd.x = 0 Waitms 300 Next X For X = 0 To 7 Portb.x = 0 Waitms 300 Next X End If End If Debounce Sw3 , 0 , Wlacz , Sub Loop Wlacz: Toggle Portb Toggle Portd.6 Toggle Portd.5 Return End próbowałem jeszcze wstawić w miejsce przycisku sw3 coś takiego: If Sw3 = 0 Then ' jesli jest wcisniety Waitms 20 If Sw3 = 0 Then ' jesli nadal jest wcisniety Do ' poczekaj az zostanie puszczony Loop Until Sw3 = 0 Portb = 255 'wlacz caly port Do ' poczekaj az zostanie ponownie wcisniety Loop Until Sw3 = 1 Portb = 0 ' wykasuj caly port Do Loop Until Sw3=0 ' poczekaj az zostanie puszczony End If End If ..ale jak naciskam sw3 to zapalają się diody i jak puszczam przycisk to gasną.
|
|||
Re: TIny
Co za konstrukcja z tymi loop until....
Wystarczy że po kliknięciu przycisku SW3 w procedurze włącz, dodasz jedną zmienną typu bit. która tez zmienia wartość.
Toggle Ena
a w obsłudze S1 i S2 np:
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Działa!!!
Jesteś wielki Mirku. Dziękuję za pomoc