Witam Config Portb = &B11111100 : Portb = &B11111111 S1 Alias Pinb.0
|
|||
Mirley - Elektronika i Programowanieprojekty, programy.... wszystko o elektronice |
CiasteczkaStrona używa cookies (ciasteczek). Jeśli nie chcesz, by te pliki były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Czym są cookies? LogowaniePolecane StronyPopularne Dzisiaj
|
|
mirley (c) 2007-2020 Jeżeli chcesz pomóc w rozwoju witryny kliknij tutaj |
Nie wiem jak rozwiązałeś
Nie wiem jak rozwiązałeś sprzętowo sprawę buttonów - jeżeli masz podciągnięte napięcie do masy przez rezystor:
- jeżeli masz przyciski podłączone bezpośrednio do masy, to wtedy w warunku zamiast 0 musisz wpisać 1.
- jeżeli chcesz zmienną zwiększać/zmniejszać o inną wartość niż 1, to wtedy stosujesz składnię:
Powyższy kod zwiększy wartość zmiennej o 4.
Powodzenia!
Dzieki
Dziękuje za bardzo dobre wytłumaczenie :)))
Re: Przyciski
TO rozwiązanie bez żadnych opóźnień w pętli głównej nie będzie działać zbyt dobrze jeśli wogóle za działa. Przede wszystkim wyświetlacz LCD dostanie szału jeśli się do niego tak szybko dane wysyła, dodatkowo kasowanie napisów nie jest konieczne
dodanie krótkiego opóźnienia troszkę pomoże (bez opóźnienia jak będziesz miał pecha to przycisk zadziała pewnie z 1000 razy zanim go puścisz) ale to i tak nie jest eleganckie rozwiązanie. Powinieneś uruchomić timer i LCD wyświetlać wtedy jak wartość się zmieni a nie zawsze bo to jest bez sensu.
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.
kolego Mirley, trochę głupio
kolego Mirley, trochę głupio mi jest poprawiać tak doświadczonego elektronika jak Ty, ale uważam iż kasowanie zawartości jest (w tym przypadku) konieczne. W przypadku zwiększania o 1 - jeżeli osiągniemy wartość dwucyfrową, a potem zjedziemy do wartości jednocyfrowej cyfra "0" będzie wisiała na LCD na pozycji 1 , 2. Ta sama sytuacja będzie miała miejsce, gdy dojdziesz do liczb 3,4,5 cyfrowych :)
Co do opóźnień - oczywiście zapomniałem żeby dać chwilkę wytchnienia LCD :) Co do samych przycisków warto również zadbać o eliminacje drgań styków (tak jak pisał Mirley, bez tego kliknięcie przycisku może spowodować wielokrotne wykonanie zawartości warunku i np zwiększyć wartość nie o 1 a o 10), poprzez dodanie opóźnienia np:
Jeżeli chodzi o taki prosty program, to linijki do ustawiania kursora oraz samo wyświetlanie można dać w jako ostatnie polecenie warunku - wtedy wyświetlacz zostanie zaktualizowany tylko po przyciśnięciu któregokolwiek z przycisków.
Pisałeś, aby zastosować przerwania - mógłbyś podać w jaki sposób to zrobić? Siedziałem wczoraj i kombinowałem jak koń pod górę i nie miałem pojęcia jak się za to zabrać... :)
Pozdrawiam!
;)
Bardzo mnie cieszy że zainteresowaliście się tematem i opisujecie jaka funkcja co robi, dzięki wam dużo się nauczyłem, z waitms sie domyśliłem samemu:PP, mam mała prośbę do Mirleya, czy byś mógł nie zamykać tego tematu, jak będę czegoś nie wiedział bym pisał tutaj uniknęli byśmy śmieci na forum nowych tematów nie potrzebnych:> Powiedzmy że ten temat by był dla początkujących programistów takich jak ja. co wy na to?
Re: Bascom
No to jest fakt nie pomyslałem o wielu cyfrach ale i tak można to zrobić trochę prościej:
Oszczędzamy jedną instrujcję locate. Tylko że takie oszczędzanie nie zawsze ma sens, zależy co się pisze i jak to ma wszystko szybko działać. W tym przypadku najprościej jest chyba dac drugi raz polecenie Cls przed wyświetlaniem bo program w sumie nic innego program nie robi poza wyświetlaniem i oczekiwaniem na klawisz.
U mnie na stronie nie ma czegoś takiego jak "temat zamknięty". Zawsze możesz pytać o co chcesz, byle by był jakiś związek z tematem. Zastanawiałem się czy nie podzielić forum na więcej działów i wtedy byłby dział "Pytania o Bascom" w których sensowniej by było dawać nowe tematy a nie kontynuować w jednym. Zobaczymy jak będzie lepiej.....
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.