1) jeśli używasz przycisków to zawsze podłącz go tak aby przyciśnięcie zwierało nóżkę portu do masy czyli do -. To naprawdę ułatwia sprawę i zawsze działa 2) dobra praktyka - przyciski, jumpery itp podłączaj do pinu procesora przez rezystor np 180 omów. Chodzi o to że kiedyś możesz się pomylić, ustawić pin jako wyjście, dać na nim 1 czyli napięcie +...
Zmień schemat: Przyciski podłącz do masy, elektrolit zamień na ceramik 100nF a diodę podłącz przez rezystor do zasilania a katoda do uc. Program: $regfile = "attiny2313.dat" $crystal = 1000000 ddrb =&B11111100 PORTB = &B00000011 ddrd =&B11111111 PORTD = &B00000000 do if pinb.0 =0 then waitms 100 portd.0 = 0 end if if pinb.1 =0 then waitms...
instrukcja Pinx.y służy do odczytu stanu portu natomiast Portx.y do ustawienia stanu na porcie
1.Konfiguruje się PORT 2.Podciąganie do plusa włącza się w PORT 3.Przyciski czyta się z PIN Sterować można PORT`em a sprawdza się PIN [syntax=basic4gl] Config PORT.x = Input 'nie podłaczamy driverow - port bedzie wejsciem PORT.x = 1 'sterujemy portem, podłączamy wewnętrzny rezystor Przycisk Alias PIN.x ' PIN PIN PIN PIN! [/syntax]
A Twój program nie chce działać? Jaki jest problem. To co w programie masz nieprawidłowo to odczyt stanu przycisku. Procedura odczytu przycisku powinna przewidywać takie sytuacje jak drgania styków lub przypadkowe zakłócenia na linii przycisku. Jedną z możliwość odczytu przycisku jest: [syntax=basic4gl]If Wejscie = 0 Then Waitms 100 If Wejscie = 0 Then...
Witam Jestem nowy na forum i w temacie mikrokontrolerów. Mam płytkę Evb 4.3 v4 na procesorze Atmega644p (duży sprzęt jak na początkującego, ale lepiej kupić raz a lepiej). Czytałem trochę na temat programowania w BASCOMIE na stronie http://www.dioda.com.pl/forum/topics20/k... (kopiowałem sobie programiki...
Dawno nie pisałem w Bascomie, ale myślę że na końcu każdego podprogramu musisz dać return. Inaczej program idzie w następne etykiety. A u ciebie jest tylko na końcu ostatniej .
tak, teraz te 2 przypisania odnoszą się do Timera 1 i wyprowadzeń oc1a i oc1b, więc poprawnie zakładając, że konfiguracja uwzględnia tryb 10-bit, czyli: Config Timer1 = Pwm , Pwm = 10, Compare A Pwm = Clear Up, Compare B Pwm = Clear Up, Prescale = 1
[syntax=basic4gl]while a=1 x++ if x==100 zapal led if x==200 zgas led x=0 waitms 5 wend zgas led[/syntax]
Chodzi Ci o zapalanie diody stanem niskim? Musisz ustawić kierunek pinu na wyjście i wpisać do niego 0. Tylko tyle:) P.S. Sprecyzuj, czy chodzi Ci o zapalanie diody, czy obsługę jakiegoś przycisku, po naciśnięciu którego dioda ma się zapalić.
Witam Mam problem z odczytem zwyklego przycisku na tej atmedze. podlaczenie: gnd +rezys 10k+port.d=2 nastepnie podaje przyciskiem +5v na port.d2. kod: config PORTD.2= input config pinb.5=output set PORTD.2 . . Do if PIND.2=1 then waitms 30 if PIND.2=1 then Toggle pinb.5 end if end if loop Przycisk zapala diode ale jej nie gasi w/g mnie nie wraca do...
Napisz podprogramik migniecia dioda i wywołuj go po każdym warunku sprawdzającym czy jest wciśnięty przycisk.
To pokaż jak ustawione są fusebity po ich przeprogramowaniu przez ciebie, (może zrzut ekranu z MkAvrCalculator) po wciśnięciu żółtego przycisku "Sprawdź podłączony AVR" w zakładce programator - ok?
Stawiam na brak podciągania wejść przycisków.
sam impuls nie będzie miał jakiejś dużej szybkości maksymalnie 300 impulsów na sekunde , natomiast ważne jest możliwie najmniejsze opóźnienie pomiędzy "nacisnieciem przycisku " a "zapaleniem diody"
Najprościej coś takiego: 1. pętla czeka na naciśnięcie przycisku 2. zmiena stanu diody led 3. pętla czeka na puszczenie przycisku 4. idź do pkt1 PS obie pętle muszą jeszcze dodatkowo mieć wprowadzone opóźnienia w celu debouncingu przycisku.
Problem powoduje używanie waitms. Podczas wykonywania waitms procesor pracuje tak jakby w pętli do..loop i nie reaguje na nic. W zasadzie nie powinna być używana. Rodzi więcej problemow, a wcale nic nie ułatwia. Zastosuj timer do sterowania diodą zamiast waitms.
Jeżeli przyciski masz do VCC, to todaj rezystory od pinów do masy (10...100k). Dodano po 7 W pierwszym programie pomyliłeś porty. Portb ustawiłeś jako wejście a tam podłączyłeś diodę. Portd ustawiłeś jako wyjście i tak podłączyłeś przycisk.
Witam ! Źle ! Do Set P1.7 WAIT 0.5 Reset P1.7 Loop Kod na miganie jednej diody powinien wyglądać tak: $regfile = "89c2051.DAT" ' tę linię można zadeklarować w opcjach $crystal = 8000000 ' tę linię można zadeklarować w opcjach do set p1.7 waitms 250 ' 250 to chyba max w Bascomie 8051 waitms 250 ' 2x250ms około 0,5sek reset p1.7 waitms 250 '...
BASCOM'a nie znam więc nie pomogę, ale czy na pewno masz poprawnie podłączony mikrokontroler (pytam o to, czego nie ma na pokazanym schemacie)? Włączyłeś rezystory pull-up dla pinów przycisków?
Witam mam takie pytanko jak napisac w bascomie avr aby np po nacisnieciu chwilowym (wyłacznik niestabilny) zapaliła się się dioda zaś po przytrzymaniu przucisku przez około 5 sekund zapaliła druga dioda ?
Na pasku narzędzi symulatora wciśnij przedostatni przycisk (rączka wskazyjąca na kartkę). W konfiguracji portu z zer zmień na jedynki (zero - wejście, jedynka - wyjście)
tak jak w temacie chciałem zrobić tak żeby po naciśnięciu przycisku zapala sie dioda :P i niewiem jaką komendą to mam zrobic Pomocy
i odrazu po wait'cie daj ponowne sprawdzanie przycisku czy jest wcisniety
Tak. Tak. Tak. Tak.
diody na D a przycisk na B
Załadowałem do symulatora i program DZIAŁA! A symulator w BASCOMie to wyrocznia? Wiele moich programów działa na hardware a symulator się wysypał... A tak poza tym, skoro symulator działa to poszukałbym błędów w połaczeniach fizycznych. Nie wiem jaka masz wersje BASCOMa, ale może zamiast CALL BUZKA daj CALL SUB BUZKA. I może zacznij od standardowego...
To pytanie na szybko odemnie, czy "config Pinb.0 = input : Portb.0=1" spowoduje ze do portu nie trzeba dodać rezystora aby działał z przyciskiem?
Jak podciągniesz wszystkie wejścia do '+' to masz dla nich jedynkę. Nie napisałeś żadnego warunku, co się stanie jak jest "1", więc nic się nie zmienia: If Pind.0 = 0 Then Portb.0 = 0 ;tutaj dla "zera" If Pind.1 = 0 Then Portb.0 = 1 ;tutaj tez dla "zera" Ponieważ piny są podciągnięte do "1", żaden z tych warunków się nie wykona, czyli nadal będzie "0"....
Witam. Można tak: $regfile = "attiny13.dat" $crystal = 1200000 Config Portb.3 = Output Config Pinb.4 = Input set pinb.4 reset portb.3 do if pinb.4=0 then do Set PORTB.3 Wait 1 Reset PORTB.3 Wait 1 Loop end if Loop W pętli odczytujesz stan przycisku i jak będzie niski zacznie migać.
Mam pytanie do kolegi bo nie wiem na jaki procesor chciał podłączyć te przyciski AVR czy 8051 bo jak ten drugi to podana funkcja toggle nie istnieje dla 8051 trzeba zanegować bit portu przy pomocy NOT początek taki sam jak kolega Adamusx podał powyżej tylko w ciele funkcji if musi znaleźć sie zanegowany bit portu na który jest podpięta dioda.
Ciepło, ciepło :) Na początek selekcje najlepiej umieść jako podprogram wywoływany z pętli głównej - w sumie może być razem z podprogramem "Wlacz:". W pętli głównej natomiast zastosuj jakieś opóźnienie zrobione w nieblokujący sposób - możesz się oprzeć o rozwiązanie jak [url=http://www.elektroda.pl/rtvforum/vi... które...
A ile maksymalnie możesz (chcesz) policzyć bo np: przy kwarcu 12Mhz taktów zegara po 10s jest 120 000 000, taktów maszynowych 10 000 000. Widzisz, że liczby robią się dosyć poważne wiec ten LCD musi mieć dużo miejsca do wyświetlenia. Do liczenia najlepiej użyć timera w trybie 16bitów. Za każdym razem jak policzy do końca wiesz że taktów zegara było...
Led Alias P ort b.1 Przycisk Alias P in b.2 I wszystko jasne. Dioda do Vcc przez 470 ohm, przycisk do masy.
Czyli która to nóżka przy GND 10k? Ta do której masz podłączony przycisk S1
rozwiązałem mój problem. w przykładach Bascom GETRC5 jest tam linijka: Command = Command And &B10111111 doszedłem po długich testach do tego, że u mnie musi to wyglądać tak: Command = Command And &B01111111 nie wnikałem dlaczego tak się dzieje! pilot działa raczej w RC5 bo mogę nim sterować też drugi TV w innym pokoju (NEPTUN) w oryginalnym pilocie...
Odpuść sobie BASCOM, jak już coś robiłeś w Bascomie to czas na przesiadkę na C. A jak nie to tym lepiej, nie będziesz miał złych nawyków. A tak poważnie, jak zaczynasz przygodę z mikrokontrolerami, obojętnie w Bascomie czy w C czy ASM, zacznij od najprostszych rzeczy, jak np sterowanie diodą LED, stanu przycisku. Inaczej zajedziesz się od razu i stracisz...
1. rezystor wywalić - przyciski bezpośrednio do GND 2. diody odwrotnie (obydwie) 3. w kodzie (część konfiguracyjna) uaktywnić wewnętrzne podciąganie do Vcc PIND5 i PIND6 (PORT.X = 1 : DDR.X = 0) 4. no i oczywiście zmienić interpretację przycisków w programie na przeciwny stan Pozdr, Light-I
a ja bym to zrobił na przerwaniu. podpinasz wszystkie przyciski przez diody do jednego z wyprowadzeń (int0) i po problemie ;-)
Fnkcja LOAD robi przeliczenia za ciebie. Jeżeli użyjesz Timerx = y to będziesz musiał sam poodejmować. Najlepiej przenieś zmianę stanu portu do przerwania, a w pętli głównej daj tylko wyświetlanie i obsługę przycisków.
Przyciski na pb2 pb4, wyjście na pb1, wyjście idzie na bramkę buz11, dren do wiatraczka, źródło do masy, równolegle z wiatraczkiem wpięta dioda anodą do drenu, katoda diody i druga noga wiatraczka idzie na +12V:) Polecam się:) P.S. nie chce mi się tego rysować:) Aha no i 8MHz kwarc:)
W stanie rozwartych przycisków układ nie posiada połączenia z masą czyli prąd nie popłynie przez kontroler czyli kontroler nie działa. Przy wciśniętym przycisku diody również skutecznie zapobiegną umownemu przepływowi prądu w kierunku masy czyli kontroler również nie działa. Zaiste skąd taki pomysł, że to zadziała? Może lepszym rozwiązaniem byłoby normalne...
Po zgaszeniu diody dodaj oczekiwanie na zwolnienie przycisku
If P3.3 = 0 then Wait 5 'To czas trzymania przycisku, po którym zaświeci się LED if P3.3 = 0 then Led = 0 End If P: If P3.3 = 0 then Goto P Else Led = 1 End if Za Led wstaw konkretną końcówkę do której podłączyłeś diodę - świeci jak końcówka = stan niski. Przycisk zwiera końcówkę P3.3 z masą. P. S. Nie wiem czy składnia jest zgodna z Bascom 8051...
zapewne tak tez bedzie działać, udalo mi sie z tym poradzić tyle że ja użylem komendy toggle, ale dzieki za pomoc:) If I3 >= 270 Then ' jezeli temp i3> 600 to... If Flaga2 = 0 Then Lowerline Lcd " !!PIEC!!" ; Ss ; Chr(0) Sound Speaker , 329 , 63 ' nuta dzwiekowa Sound Speaker , 369 , 99 ' nuta dziwekowa Portb.2 = 1 'zapalamy...
Uuuupsss a jak to się stało, że tego nie zauważyłem ?????? Trzeba ubierać okulary. :D Ale to i tak delikatne tłumaczenie, ja znam wersję z fu...... zamiast F :)
Czy aby na pewno masz dobrze ustawione bity w rejestrach ? Sprawdzałeś np. za pomocą diody wyjście INT ?
Sprawdziłem właśnie powyższy program i działa na zasadzie zapalenia diody przy włączeniu i gdy nacisnę i trzymam switch PD.0 zwarty do masy to dioda gaśnie, zapala ponownie się po puszczeniu switcha. Podłącz diodę w odwrotnej polaryzacji, będziesz miał odwrotny skutek... Zdaje się że o to ci chodzi. Robisz próby statyczne z przyciskiem, to tak mniej...
Możesz podłączyć poprzez rezystory bezpośrednio do portów, tylko trzeba pamiętać, że diody mogą wziąć 20mA i to teoretycznie pin ma wytrzymać, ale też chyba nie można brać więcej niż 100mA na cały port. To tyle teorii a w praktyce to sam sprawdzisz i pewnie procek to zniesie. Wprowadziłbym jednak pewna optymalizację. Wyświetlacze podłącz do portów PB...
Witaj, powiem tak, niewiele nauczysz się zlecając komuś pracę. Jeżeli urządzenie ma służyć do nauki to może spróbowałbyś je sam wykonać. Ja polecałbym Ci zacząć od prostych rzeczy, jak np wykonanie płytki(jakiś starter kit na avr'ce) lub coś prostszego znalezionego w sieci. Potem zacząć pisać proste programiki jak np migająca dioda, obsługa przycisku,...
hmm no dobra w takim razie obadam motyw z dioda, zeby sie upewnic na 100%
Jakiś użytkownik też miał z tym kiedyś problem, rozwiązał to w taki sposób: Pinb.0 = 0 ' pin RW Waitms 100 Initlcd Nie sądzę, że jest to potrzebne, gdy pin został skonfigurowany w config lcdpin . Co z tą częstotliwością? W symulatorze raczej jest podany czas wykonywania kodu (sprawdź bez $sim ). Nie podałeś, jaki masz kod, ile się wykonuje na mikrokontrolerze,...
Witam Robie pierwsze kroki w programowaniu w języku bascom. Stanąłem przed problemem zdefiniowania w tym języku pewnych warunkowych komend dla procka atmega8. Jeśli ktoś może mnie nakierować to z góry dziękuję. O to moje problemy: 1. Konkretnie chodzi o to by układ reagował np poprzez zapalenie diody led w chwili gdy przycisk podłączony do tego układu...
A co nie chciało iść do przodu? Skoro już sięgasz po C tzn jest szansa abyś się jednak na niego zdecydował i to Ci właśnie proponuje - prędzej czy później i tak zmienisz język a najgorsze jest w tym to, że zmienisz go (bo będziesz zmuszony) robiąc już dość zaawansowane programy a po zmianie języka znów zaczniesz wszytko od początku czyli od zapalenia...
Użyj przerwania timera do migania diodą, a najlepiej do wszystkiego (czyli również do sprawdzania stanu przycisków).
Dzięki, o ile dobrze zrozumiałem, celem kodu o który zapytałem jest usunięcie informacji o dłuższym przytrzymaniu przycisku. Czyli po wciśnięciu i przytrzymaniu "dłuższy czas przycisku 1 na pilocie dioda sama zmienia stan na 1 i potem 0 i tak w kółko..."
Pisałem abyś wszystkie diody LED połączył przez rezystory do +5V , a Ty tego nie zrobiłeś ? Mam rację ? Dziękuję za 10, nie trzeba było. GG6293398
Nie obsługę przycisków zrób w głównej pętli
Pętla była gdy ta dioda miała migać, ale ponieważ nie migała więc postanowiłem napisać prostszą wersję tylko by wygasić diodę czyli ustawić stan wysoki na PB1 (Przycisk=1 albo inaczej PINB.1=1).
witam. od jakiegoś czasu zacząłem sie bawić z AVR. Chcę zaprogramować w bascomie AT90S2313 tak, aby po nacisnięciu przycisku losował jedną z 12 diod, po wylosowaniu, gdy wciśniety zostanie przycisk diody powinny wracać do pierwotnego stanu (diody wygaszone), diody reaguja na stan niski i sa podpiete pod wszystkie porty prócz d0-przycisk, d4 i d5- kwarc....
Mam wielką prośbę mianowicie: napisałem już wiele programów i wszystkie działały zgodnie z moimi oczekiwaniami (w symulacji programowej :) ), ale nigdy ich nie wrzucałem do procka, no i nadszedł ten sądny dzień kiedy to zbudowałem układ, ale za nic w świecie nie mogę sobie poradzić z obsługą pinów procka i tu moja prośba czy mógł by ktoś napisać najprostszy...
Podłącz tak 1745968800_1454575169|HF0m6G20JH ... i wrzuć ten kod Dioda powinna świecić tylko kiedy naciśniesz przycisk. [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '********* TUTAJ SOBIE USTAW JAK CI PASUJE ********** Pin_wyjsciowy Alias Portb.0 Przycisk Alias Pind.1 : Set Portd.1 '***************************************...
Kolega napisał: "guzik", zwierany chwilowo do masy więc nie zostaje na 1. Faktem jest, że przycisk będzie działał odwrotnie.
Wiem o tym, czytałem te wszystkie wywody na temat jaki to Bascom jest plugawy , ... Zastanów się młody człowieku co czytasz i piszesz. ... stąd też przy tym głupieję ( sam fakt, że muszę w tym Bascomie operować jest dość... ). :) ... ale nie mam wyboru - z przyczyn ode mnie niezależnych muszę go jakoś okiełznać... (a przynajmniej w stopniu podstawowym)...
$regfile = "m32def.dat" $crystal = 16000000 Config Portb.2 = Output Config Pinb.7 = Input portb.2 = 0 portb.7 = 1 Do If Pinb.7 = 0 Then Toggle Portb.2 wait 1 End If loop End spróbuj ten lekko poprawiony kod zamiast pinb.7 = 1 daj Portb.7 = 1, sprawdziłem na atmedze8 ten poprzedni kod bez tej zmiany u mnie też nie poszło, a po tej zmianie...
Osobiście też już nie pisze w Bascomie ale robisz błędy które łatwo wychwycić. Na pierwszy ogień zapomniałeś o pull-upie. Po za tym jak już opóźnienie to w warunku(eliminacja drgań). Do autora tematu: popraw schemat bo nawet rezystorów nie dałeś do diod.
Ponieważ jesteś zielony w temacie, to zacznij od książki w ZIELONEJ okładce, podanej na końcu :))) wyjaśni ci wszystko od początku. -Jaki mikrokontroler najlepiej kupić? Taki jaki jest potrzebny do konkretnego projektu. :)))) (żeby można było go programować bascomem AVR, żeby miał wbudowany oscylator, więcej niż 4KB pamięci,żebym mógł do niego alfanumeryczny...
Może jest to spowodowane drganiami styków klawiszy? Spróbuj przylutować kondensatory(1nF-100nF) równolegle do przycisków. U mnie takie coś pomogło. Pozdrawiam Yakuza
Musisz przyjąć że pin normalnie jest wyjściem i steruje diodą. Co jakiś czas zapamiętujesz stan wyjścia, przełączasz na wejście, odczekujesz moment na ustabilizowanie się stanu na wejściu i pobierasz stan wejścia a następnie przełączasz port na wyjście i odtwarzasz jego stan z przed odczytu stanu przycisku.
Przycisk jest programowo podciągnięty do 1. Portd.0=1 Dioda ma się zapalać tylko wtedy gdy wciśnięty jest S1 czyli gdy na pinie d.0 będzie stan niski.
Sorry że takie pytania zadaje ale w sprawach uC jestem początkujący. Robiłem kiedyś samochody elektryczne ale bez takich mikrokontrolerów i stąd te pytania :). Do silnika tranzystory, a do innych rzeczy? Np. do diod, albo jakichś przycisków.
Zacznij od timera - przerwanie z częstotliwścią np. 100 Hz, w nim testowanie przycisków i sterowanie diodami.
Nie rozumiem po co dioda LED ukazująca stan nawiewu jest podłączona do osobnego pinu. Nie ma takiej potrzeby, a nawet jest to nie wskazane. Stan wejściowy pinu portu D, nawet kiedy w DDRD jest on ustawiony jako wyjście, można odczytać z rejestru PIND, natomiast wyjściowy z PORTD - tak, ten rejestr można również odczytywać. Nie programuję w Bascom, ale...
Witam. Poszukuję pomysłu na sterowanie jednym przyciskiem (docelowo odbiornikiem podczerwieni) zapalaniem diod. Tzn. chodzi mi o coś takiego: Wciskam przycisk Zaświeca się 1 dioda Wciskam drugi raz Zaświeca się dioda 2 a gaśnie 1 Wciskam trzeci raz Zaświeca się dioda 1 i 2 Wciskam czwarty gasną diody 1 i 2 Napisałem program do tego, ale nie działa prawidłowo....
Dziękuje za szybką odpowiedź, jednak chciałbym pozostać przy rozwiązaniu że uP nie pobiera nic a nic w stanie spoczynku, chce by mój pilot był tak jak inne (zwykłe piloty od tv/radia itp) gdzie używamy tylko jednego przycisku.
Witam. 1./ Jeżeli definiujemy piny jako wejście najlepiej używać instrukcji config pinb.0=input ' przycisk pierwszy config pinb.1=input ' przycisk drugi config portd.0=input ' pin sterujący diodą LED 2./ Podłączenie przycisków do plusa zasilanie tak jak w tym kursie jest złe. przyciski powinny być podłączone do masy. Po prostu przycisk po wcisnięciu...
Hej! Oto programik w Bascom-AVR. Jeżeli naciśniesz przycisk(portd.0) na mniej niż pieć sekund to zapli Ci się dioda(Portb.7), a jeżeli będziesz trzymał przycisk wciśnięty przez pięć sekund to przesunie Ci jedynkę po całym porcie b. Config Pind.0 = Input Config Portb = Output Dim I As Dim I=1 Program: Do If Pind.0 = 0 Then For I = 1 To 5 Wait 1 If Pind.0...
Dzień dobry. Kompilator przecież pisze o co chodzi :D Zamiast "jeśli przycisk = 0" napisałeś "jeśli przycisk = Duża litera O" Brakuje też przecinka przed Right. http://obrazki.elektroda.pl/7581088600_1... Poniżej film z uruchomionej symulacji :D https://filmy.elektroda.pl/100_144731640... Miłego dnia. P.S. Do Gunslinger - Myślę że...
Mam problem z zaprogramowaniem procesora, ściślej chodzi mi o napisanie programu pod niego w Bascomie . Jestem zielony w tym języku i proszę o podanie mi wyjaśnienia komend jakie w tym języku występują. Prydał by się kod źródłowy do jakiegoś prostego programu np. migacz led z jakimś tam przyciskiem po naciśnięciu będzie następowało najpierw miganie...
Masz błąd na schemacie. AVR nie mają pull-down, więc przycisk powinien zwierać z masą (minusem baterii). Program też nie wydaje się dobry, choć nie znam Bascom. Na moje oko trzeba tak: $regfile = "m8def.dat" $crystal = 8000000 Config Portb = Output Config Portd = Output Config Portd.4 = Input P Alias Pind.4 D Alias Portb.6 Set Portd.4 Do If...
Witam. Mam pytanie odnoście Bascoma, czy da się napisany program zapisać w procesorze attiny 2313 za pomocą programatora VP990 ( programator ten obsługuje takie układy)? Chcę się nauczyć pisać jakieś programy ( nigdy z tym nie miałem do czynienia) posiadam na zakładzie taki programator więc nie chciałem robić żadnych pająków do programowania przez Bascoma...
http://obrazki.elektroda.pl/3094119600_1... W obliczu tego że przez dłuższy czas posiadałem kilka niepotrzebnych mikrokontroklerów Attiny2313 i dwa duże wyświetlacze LED postanowiłem je w jakiś twórczy sposób wykorzystać. W ten sposób wpadł mi do głowy pomysł na zbudowanie urządzenia przeznaczonego do przeprowadzania teleturniejów....
po pierwsze dodaj podciąganie do linii przycisków po drugie poczytaj nieco o timerach to wyeliminujesz wait'y i program będzie działał jak chcesz ;-)
Witam. Jestem poczatkujacy w zwiazku z czym prosba. Mam prosbe odnosnie napisania programu pod ATMELA np. 89C52, gdyz taki posiadam obecnie. Zalozenia: -Dwa przyciski ( S1 i S2) -12 diod -Porty dowolne -Po przycisnieciu niech nie wykonuje kolejnej czynnosci, dopiero po zwolnieniu przycisku i ponownym kliknieciu Program mialby dzialac nastepujaco: -Kazde...
Z racji tego, że raczkuję w BASCOM potrzebował bym podpowiedzi od was jak zabrać się za funkcję która ma za zadanie: - zliczać impulsy z portu (INT0)PORTD.2 i przeliczać je na obroty (1 impuls = 1 obrót) - na wyświetlaczu LCD ustawiać za pomocą przycisku wartość obrotów przy których zapali się dioda LED (wartość ustawiana byłaby poprzez przytrzymanie...
W ogóle jak patrzę na ten kod to mam wrażenie że nie znacz poleceń shift i rotate. No nie znam, muszę zaopatrzyć się w jakąś dobrą książkę o Bascomie dla początkujących z przykładami. Internetowe kursy jakoś mi nie leżą. Układ zadziałał. Dopatrzyłem się swojego błędu. Źle podlutowana druga nóżka GND. Dziękuję wszystkim szukającym błędu. Ale mam kolejne...
Jak napisać program w bascomie i jak wszystko połączyć do siebie żeby jak nacisnę przycisk [url=http://allegro.pl/item762862203_prz... to dioda się zapali i za 2 sec zgaśnie i cały układ się wyłączy.
W pętli czekaj aż przycisk zostanie naciśnięty, zrób co należy dla odpowiedniego przycisku po czym czekaj aż przycisk zostanie zwolniony. Unikniesz w ten sposób wielokrotnych operacji przy trzymaniu wciśniętego przycisku. Albo po wykonaniu poczekaj jakieś 0,5s wówczas diody zmieniać będą się co taki czas.
W pętli głównej wpisz Debounce Pinb.0 , 0 , Zatrzymaj , Sub a na końcu programu po słowie End wpisz Zatrzymaj: Wait 2 Return Jak wciśniesz przycisk to program wskoczy do podprogramu gdzie zatrzyma się na 2 sekundy. Potem wróci do pętli głównej, w której będzie dalej migało diodą lub diodami.
Tak jak sam napisales jest to przerwanie programu obojetnie w ktorym momencie, to do tego sluzy takie cos jak "przerwanie" int0/1 Uzyj wyszukiwarki i helpa do bascom, a o wszystkim sie dowiesz.
Zdecydowanie jakis mniejszy mikrokontroler :) W bascomie można spokojnie takie cos napisać.
mam schemat ale tutaj mi cos ten przycisk wstaw obrazek nie dziala:/ wyskakuje mi IOError. nie chodzi o lenistwo po prostu nie chce mi to dzialac
Zrób tak żeby ci się dioda nie spaliła: http://obrazki.elektroda.net/42_12592744... Natomiast żeby się "mocno świeciła" przy sterowaniu procesorem, to w programie zrób w pętli: - odczyt (kilka taktów procesora), - ustaw 0 na pinie i delay 500 czy 200 ms. ps. ustawianie rezystora pull-up na porcie jest zbędne, i tak ci dioda na nóżkę podaje napięcie...
A moze moglbym otrzymac jakis schemacik i listing zebym sobie wklepal w bascomie np programik do zapalenia diody przyciskiem albo jakis innym dowolny sposob zebym byl pewien w 100% ze kablek jak i mikrokontorler sa sprawne? Nie przeczytałeś dokładnie tego wątku... Za karę :) poszukaj w nim linku w moim poście w temacie "Kurs Bascoma" (w większości...
hmmm zastanowie sie na temat tego multipleksowania. Zobacze czy uda mi sie plytke zaprojektowac na ktorej by bylo dosyc miejsca na popodlanczanie diod do osobnych wejsc mikro. Co do uspienia gdy diody beda zmultipleksowane jest to mozliwe gdy diody beda sie zaplac na przycisk. czy jest mozliwosc uspienia porcesora w jezyku bascom?
witam, chciałem uruchomić program na avr [url=http://mirley.firlej.org/odbieranie... Tylko, że zamiast TSOP1736 użyłem TSOP31236 podłączony do PD2, i dioda pod PD6 do masy, żadnej filozofii, a jednak nie działa. Czy to przez brak zewnętrznego rezonatora, czy jest inna przyczyna? A może ktoś testował ten program? To chyba nie jest wina...
Weź diodę LED. Anodę przez rezystor 680R podłącz do VCC, a katodę do PD1. Powinna mrugać z częstotliwością 0,25Hz.
1. Trzeba zdecydować się na język, w którym ma być napisane oprogramowanie; BASCOM, C++, ASM 2. Wstępne założenia sprzętowe; ilość diod; ilość przycisków sterujących 3. Algorytm działania zegarka Zobacz jak zrobiony jest na większym ATmega: http://www.elektroda.pl/rtvforum/topic64...
No to extra. Widać już, że można zatrzymać Timer i go uruchomić. Teraz sprawdź warunek if. Wyrzuć kod w waitami jednosekundowymi i wróć do kodu z If. Tak jak pisałem poprzednio prawdopodobnie nie jest rozpoznawany w instrukcji If warunek ..And TCCR1B=&B00000000. Potrzebna jest zmienna w tym miejscu. Ale po kolei. najpierw sprawdź sam przycisk czy działa....
Sorki nie było mnie przez chwile:( Ale ten program co tu mam to troszke błąd zrobiłem, a program wziełem z tej strony http://www.dioda.com.pl/forum/topics20/k... Oczywiscie po małej przeróbce czyli porty mi tak pasowały na mojej płytce testowej. To może napisze jeszcze raz jaki mam problem przede...
bascom diody przyciski bascom diody bascom atmega8 przyciski
piekarnik amica podświetlenie ogniwa kalkulatora znajduje filtr oleju
mikrokomputer cobra1 uszkodzone wejście ładowania
Zasilanie rozrusznika Peugeot 307 - diagnostyka i naprawa Nissan Almera Tino - komunikat "SECURE" na zielonym tle