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

tylko program i tak nie działa jak powinien. Chodziło mi o to żeby regulować częstotliwości mrugania diody za pomocą przycisków.

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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.