Skocz do zawartości

[bascom] Problem z kodem


Turboasm

Pomocna odpowiedź

mam kod:

$regfile = "m8def.dat" 
$crystal = 8000000
Config Pinc.5 = Output
Portc.5 = 0
Config Pinc.4 = Input
Portc.4 = 1
Config Pinc.3 = Input
Portc.3 = 1
Do
Dim X As Byte
X = 1
If Pinc.4 = 0 Then
X = X + 1

End If
If Pinc.3 = 0 Then
X = X - 1

End If

Waitms X
Toggle Portc.5
Loop

End

jak zmodyfikować ten kod aby reagował zaraz po naciśnięciu przycisku i aby zmienna X była zapamiętywana w eeprom ?

Link do komentarza
Share on other sites

$regfile = "m8def.dat" 
$crystal = 8000000
Config Port.5 = Output
Portc.5 = 0
Config Pinc.4 = Input

Config Pinc.3 = Input

Dim X As Byte
Dim Y As Eram Byte

X = 1

Do

If Pinc.4 = 0 Then Incr X

If Pinc.3 = 0 Then Decr X

Waitms X
Toggle Portc.5
Loop

End

Cały kod był źle napisany, poprawiłem go. Aby zapamiętać wartość X musisz po prostu w odpowiednim miejscu wpisać Y = X, a gdy chcesz odczytać wartość X wpisujesz X = Y.

  • Lubię! 1
Link do komentarza
Share on other sites

Może działa, tylko jak zaczynasz od 1 ms przerwy i dodajesz tylko jeden to musiałbyś 100 razy nacisnąć przycisk żeby mrugała co sek.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

wpisywałem program do procesora. i mam do PC5 podłączoną diodę przez rezystor 100ohm a do pc3-4 przyciski zwierające do masy. Program powoduje albo stałe świecenie diody lub po naciśnięciu przycisku ( pare razy ) zaskakuje po pewnym czasie.

Link do komentarza
Share on other sites

Może sprawdź działanie dla migania co 1+ sekundę? Wydaje mi się, że 1-15ms nie sprawia oku większej różnicy, chociaż to tylko spekulacje :]

Którego przycisku?

Link do komentarza
Share on other sites

Aby nie zakładać nowego tematu odgrzewam ten. Jak rozwiązać problem aby po wciśnięciu przycisku zmienna X została zapamiętana w eeprom ( P ).

$regfile = "attiny13.dat" 
$crystal = 1200000

Config Pinb.0 = Output
Config Pinb.3 = Input
Portb.3 = 1
Config Pinb.4 = Input
Portb.4 = 1

Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down
Start Timer0

Dim X As Byte
Dim P As Eram Byte
X = 50
Do

If Pinb.4 = 0 Then
Waitms 10
X = X + 10
End If

If Pinb.3 = 0 Then
Waitms 10
P = X
End If

Pwm0a = X

Loop
End

Aby program po włączeniu zasilania nie wracał do ustawienia X = 50.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.