Może zrób to inaczej. Podam sam pomysł bo osobiście nie programuję w C więc nie chcę głupot pisać, a podejrzewam że asembler Cię nie interesuje ;) Po naciśnięciu dowolnego przycisku wygeneruj opóźnienie. Po tym opóźnieniu sprawdź jakie przyciski są wciśnięte. Ale zwróć uwagę żeby przy każdej instrukcji if sprawdzać oba piny 1 i 2 portu B. Więc warunek...
Załóżmy, że to też błąd przy wklejaniu kodu (inaczej asembler zgłosiłby błąd). Powinno być R21 , a nie R121 . Być może to też błąd przy wklejaniu. Bity WGM12 , CS12 oraz CS10 nie znajdują się w rejestrze TCCR1A tylko w TCCR1B . Istotne jest jednak to, że ustawiając tylko bit WGM12 ustawiasz TIMER1 w tryb 4, czyli tryb CTC, w którym timer liczy od 0...
http://obrazki.elektroda.net/71_12692978... Witam, Do niedawna byłem przeciwnikiem płytek testowych (zestawów uruchomieniowych) różnej maści. Zawsze wolałem sklecić sobie coś na szybko na płytce stykowej i już. Nie mniej jednak przy dużej ilości wpadających pomysłów do głowy (a mam ich ciągle bez liku jak na razie), w końcu braknie tych płytek stykowych,...
Symulator Lasera http://images49.fotosik.pl/261/c05af04e8... Fot.0 Jedno ze zdjęć prototypu symulatora lasera Jest to opis kilku symulatorów zaprojektowanych i działających przeze mnie . Zarówno tych najprostszych opartych na popularnym tajmerze 555 , jak również do konstrukcji profesjonalnych opartych na mikrokontrolerach jednoukładowych...
Witam. Sposób wykonania niezbędnych połączeń elektrycznych jest opisany w PDF’ie (Multipleksowany wyświetlacz LED). Załóżmy chwilowo, że są już połączenia: - uaktywniony bufor (JP1 1-2), - bufor podłączony kablem (1 do 1) do portu np. P1 (JP2>>JP4), - sterowanie wspólnymi katodami wyświetlaczy podłączone do portu np. P2(JP3>>JP5). Zastosowane...
https://obrazki.elektroda.pl/1583763800_... Witam wszystkich Tym razem chciałbym zaprezentować programowy projekt zegara z datownikiem, którego program został napisany w asemblerze na mikrokontroler Z8681 z rodziny Z8 Ziloga. Być może ten projekt będzie interesujący dla osób lubiących od czasu do czasu zrobić sobie coś na starym (by...
a1: in r17,pina ; cpse r17,r31; czy moze byc "cp" ? ret ; dec r23 brne a1 Zmień na: a1: in r17,pina ; cpse r17,r31; czy moze byc "cp" ? jmp DALEJ ; ;Tutaj daj wszystkie POP z końca procedury "delay" RET DALEJ: dec r23 brne a1 Dawno nie pisałem w ASM, więc może być błąd ... ale pokazałem algorytm...
Próbowałem zrozumieć język C ale czasu brak. Dziwi mnie rozwiązanie w AVR, że przyciski dotykowe skoro są zaimplementowane w prockach to nie są jakoś prosto gotowe do użycia np. odczytaj jakiś rejestr, gdy jest = 1 przycisk jest dotknięty. Język C, podobnie jak większość rzeczy jest prosta. Jedyną barierą jest wmawianie sobie, że jest inaczej :) Także...
Witam Własciwie to mam na początku dwa pytania , pierwsze to : Konfiguruje port d jako wejscie z podciąganiem do plusa i potem w programie sprawdzam czy przycisk jest wciśnięty Sbis pind,6 Rcall podprogram i tu pytanie w AVR studnio podczas symulacji symulator zachowuje się tak jakby przycisk byl wciśnięty tzn panowal stan niski czyli skacze do podprogramu....
w tym kawałku należy po jednokrotnym dodaniu sprawdzic czy przycisk wrócił do stanu wyjściowego main: sbis PIND, 0 rcall dodaj loop1: ;tu przydałoby się jeszcze opóźnienie eliminujące trochę drgania przycisku sbis PIND,0 rjmp loop1 rjmp main
Tak na szybko : [syntax=asm] petla: ldi r20,250 ;opóźnienie czekaj na wciśnięcie (L) wait: sbic PIND,7 rjmp petla dec r20 brne wait .............. [/syntax] Analogicznie zrób zwolnienie przycisku [EDIT] Włąśnie zauważyłem że w twoim układzie jak jest wciśnięty to jest stan H na PIND,7, a ja zrobiłem odwrotnie, ale myślę że jak zrozumiesz zasadę to łatwo...
Na poczatek przepraszam,ze nie ma ogonkow, ale pisze na niemieckiej klawiaturze. sorry! Sorry? Mam niemiecką klawiaturę, pracuję pod Linuxem i Windowsem i jakoś mam polskie ogonki i ümlauty bez najmniejszych kłopotów. I potrzeby napisania ich w asemblerze. A co do pytania, to czym ma się różnić wykorzystanie RPi programując w asemblerze od C/C++, Pythona,...
[syntax=asm]; Odpalenie portu by wyświetlacz 7 segmentowy mógł działać CLR p1.2 ; ładujemy wartości z tablicy do rejestru start: MOV DPTR,#ZNAKI MOV r4,#0Fh ; sprawdzanie stanu przycisku, jezeli włączony skaczemy do pętli by wyświetlić bądź załadować kolejną liczbę przycisk: jnb p1.5,petla sjmp przycisk ; do akumulatora ladujemy wartosc z dptr by wyswietlic...
Witam Pracuję na zestawie EvB 4.3. Chciałem napisać program, który działa następująco: Wciskam przycisk S1 zapala się dioda D1, wciskam S2 zapala się D2 itd. Poniżej zamieszczam program, który niestety nie działa jak należy. Jeżeli ktoś mógłby powiedzieć gdzie tkwi błąd będę wdzięczny. .INCLUDE"M32DEF.INC" LDI R16,LOW(RAMEND) OUT SPL,R16 LDI R16,0XFF...
Witam Zlecę wykonanie schematu i programu, język programowania - Asembler lub C (Bascom odpada) Główne założenia (Hardware): 1.uC ATmega16l-8PU(Jeśli się uda to mega8l) 2.Ekran LCD PCF8833(132x132) 3.Karta SD/microSD/MMC(FAT do 4gb) 4.Termometr 5.Jak najdłuższe działanie na baterii 6.Jak najmniejszy koszt wszystkich częsci Zadania programu: faza I włączenie...
Witam Programowałem trochę w bascomie swego czasu i tam opóźnienie wprowadzało się bardzo prosto - wait x i już.. O co mi chodzi. Mam zrobić pragramik .include "m2561def.inc" rjmp START ;-------------------------------- START: .def rej1 = r16 .equ KeyPort = PORTD .equ KeyPins = KeyPort - 2 .equ LedPort = PORTB ldi rej1,low(RAMEND)...
Dzieki wielkie za odpowiedz Zmodyfikowalem troche program liczący w HEXie a noz sie komus przyda [syntax=asm]ORG 000H START: LCALL WAIT_KEY ; czekanie na przycisk z klawiatury SWAP A ; zamiana starszych i młodszych bitów MOV R0,A ; zapamiętanie warości pobranej z klawiatury w rejestrze R0 LCALL WAIT_KEY ; czekanie na przycisk z klawiatury ADD A,R0 ;...
Niestety koledzy mają rację co do poziomu absolwenta. Przychodząc do firmy (np. na praktyki) nie wiedzą, w którą stronę się śrubę odkręca :-). Mało tego, kiedyś dałem kandydatowi do zrobienia prosty układ (jeden przekaźnik + żarówka+ przyciski). Chodziło o zrobienie "automatyki" z podtrzymaniem (jeden przycisk załącza żarówkę, drugi wyłącza). Efekt...
Witam wszystkich majsterkowiczów :D Oto mój jeden z pierwszy programów napisanych na ATMEGE 8. Dotychczas programowanie mikrokontrolerów traktowałem jako zabawę, używając do tego BASCOMA i zestawu Treningowego. Obecnie stoję przed zamiarem budowy pewnego urządzenia ale przed rozpoczęciem prac chciałbym mieć pewność że część programowa będzie ok. Sam...
Witam, kiedyś bawiłem się mikrokontrolerkami AVR w Bascomie - ciekawa sprawa, ale po jakimś czasie zaczął mi się nudzić :). Postanowiłem więc spróbować sił w Asemblerze. Korzystam z kursu na stronie mikrokontrolery.net - ciekawy, ale trochę za mało jest wyjaśnień, dlatego bardzo proszę o pomoc :) Mam problem z układem czasowym, tzn. działa mi, ale ja...
Chodzi mi o linijkę zaznaczoną gwiazdkami . Kompilator wyrzuca mi błąd takiej treści error: Undefined symbol: SPL i nie wiem co jest nie tak, w tej linijce .include "2313def.inc" .def acc = r16 ; nadanie rejestrowi r16 nazwy symbolicznej .cseg .org 0x00 ldi acc, 0b11111111 ; załaduj do acc liczbę 255 (0xff) out DDRB, acc ; wpisanie...
Mi komenda lpm temp,Z zgłasza ostrzerzenie(komenda nie wspierana w tym procesorze) Asembler ma bardzo dużo tzw. "knyfów". Długo już w nim piszę i nie jeden program nie zadziałał. Czy oby na pewno wszyscy mówimy o ATMEGA8 bo ja odnoszę wrażenie że chyba każdy tutaj pisze pod inny procesor. Stos źle skonfigurowany. Chyba że kolega kompiluje pod zupełnie...
Kiedyś zrobiłem coś takiego dla s1200, 2313 itp. Jak chcesz to sobie przerób. Program odmierza czas, a po jego upłynięciu zaczyna migać żarówką (np wyłącza ją na 1s, potem zapala na 10s i tak 3 razy), a na koniec gasi żarówkę. Program nie jest jakoś super napisany, ale z tego co pamiętam działał. Do asemblacji radziłbym użyć oryginalnego assemblera...
Jak napisać program w asemblerze dla DDM-51, który po naciśnięciu przycisku góra powoduje maksymalne świecenie diody, po naciśnięciu dół minimalne świecenie diody, po naciśnięciu lewo powoduje zmniejszanie jasności diody za pomocą timerów, po naciśnięciu prawo zwiększa jasność świecenia diody za pomocą timerów. Z góry dziękuję
Jeżeli cię tego profesor nie nauczył do wal do niego a nie na elektrodę. No chyba że jest inaczej.
Zwracam pliki, dodalem rsrc. Jeśli zmieniasz myszką wymiary okna odświeżanie żle działa. Pozdrawiam
Chyba coś takiego kiedyś zrobiłem na 51. tylko nie pamiętam czy to na 7313 czy czymś podobnym. kilka przycisków, regulacja głośności, basów i sopranów impulsatorem. wyświetlacz lcd alfanumeryczny. wyświetla godzinę ale coś niedokładnie chodzi i nie za się jej zmienić (nieskończyłem tego). wszystko napisane w asemblerze. jak interesuję to podeślę tylko...
Witam, chciałbym zapytać w jaki najprostszy sposób można zaprogramować szybkość migania diod. Dajmy taki przykład, mam 8 diod na portach np. pd p1.0 do p1.7, zapalam je rozkazem clr p1.0 itd. Czas świecenia będę regulował lcall opoznienie1 itd, teraz tak ma wyglądać program: Przyciskiem p2.0 jeśli będzie na nim 1 mam przełączać tryby prędkości w górę...
Witam Odzyskałem z flash z uwalonego atmegi 88PA ale po wgraniu do nowego nic się nie dzieje, przekompilowałem do flash-asembler.hex. Może ktoś by popatrzył czy program jest ok, ma po przyciśnięciu przycisku START włączyć się zegar czasu oraz zliczać sztuki po podaniu sygnału wejściowego zewnątrz. Jest też przycisk STOP zatrzymujący zegar czasu i zliczanie...
Mikrokontroler najlepiej ze sprzętowym UART. Ogólnodostępne i tanie są mikrokontrolery 8-bitowe AVR, do tego celu wystarczyłby popularny ATtiny2313. Kosztuje on około 4zł. Należałoby go odpowiednio oprogramować - polecam C lub asembler. Do wgrania skompilowanego wsadu trzeba posłużyć się odpowiednim programatorem - schematów jest dużo, a najprostszy...
Schemat musisz sobie sam stworzyć, tak jak i program? Jak podejść? Od początku... Od zapoznania się z językiem C, architekturą mikrokontrolerów AVR oraz bibliotekami dla nich. Można podeprzeć się bibliotekami dla Arduino. Dla wytrwałych zostaje jeszcze asembler, tego typu program dość łatwo byłoby napisać właśnie w asemblerze. Trzeba odczytywać stan...
Jak chcesz zacząć programować procki AVR w asemblerze i go troszkę poznać, to koniecznie kup sobie takie książki: "Mikrokontrolery AVR ATtiny w praktyce" "Mikrokontrolery AVR ATmega w praktyce" obydwie są wydawnictwa BTC a autorem jest Rafał Baranowski. Są bardzo dobre i poza dokładnym i fajnym opisem procków rodziny AVR , ich bloków funkcjonalnych,...
Robisz dokłądnie tak samo - prawy przycisk na projekcie i add files - wybierasz new lub existing i wskazujesz plik (w przypadku new typ pliku, m.in. do wyboru jest .s). Oczywiście należy zachować konwencję zapisu mnemoników jak w gcc i ABI avr-gcc.
Gdybyś przeczytał to co Ci proponowałem to w w bardzo krótkim czasie mógłbyś napisać coś takiego i wiedziałbyś dlaczego warto jest zrobić wstawkę assemblerową. To co jest poniżej skopiuj i zapisz jako plik prj dla VMLAB gdybyś chciał pooglądać przebiegi bez lutowania. Częstotliwość można zmieniać przyciskami. ; ****************************************...
Witam Potrzebuję programu (kodu w asemblerze) do modułu mikrokontrolera (kit AVT-873 prosty uruchomieniowy moduł) na PICu 16f84. Program ma za zadanie: Po wciśnięciu co najmniej 3-ech przycisków i przytrzymaniu ich przez minute (równo 60s) ma zapalać 4-ery diody LED na czas równy 5 minut. Po upłynięciu 5 minut ma gasić LEDy. Jeśli ktoś by miał taki...
Witam, po dlugim czasie. Pierwsze kroki w asm dokonane wlaczanie i wylaczanie portu, odczytywanie klawiatury. Teraz przede mna wiekszy projekt niestety wymaga C a ja nie znalazlem prostych podstawowych programikow w C. Wszystkie od razu zlozone. W asm znalazlem wiele stron prowadzacych krok po kroku co tzeba zrobic. Moze jest na sieci jakis kurs pisania...
Ok ,a czy nie da sie odrazu zapisac sprawdzania przycisku pomijajac zaladowanie stanu portu do akumulatora ?? np : sprawdz: // petla sprawdania przyciskow P0-P7 jnb P2.0,wys0 // jesli P2.0 jest 0 skok do wysw0 jnb P2.1,wys1 jnb P2.2,wys2 . . . itd (...) Można sprawdzać stan linii portu 2 w ten sposób, nie trzeba wykorzystywać akumulatora. mov acc,...
Witam Zna ktos dobry symulator programowy na tego procka z wyswietlaczem i przyciskiem. Muszę napisac program w asemblerze wyswietlajacy daną cyfr , nastepnie po nacisnieciu przycisku na dwie sekundy wyswietla sie inna cyfra , po nacisnieciu dwa razy przycisku zapala sie inna cyfra . Czy ktos wie jak moze takie cos zrobic na tego procka . Moze ktos...
1. Atmel Studio 6 jako środowisko jest bardzo dopracowane, ale też ciężkie (nawet na nowszych komputerach chodzi jak chodzi). Jeśli nie zamierzasz korzystać z nowych procesorów (ATTiny4/5/9/10, ATXMega) to weź AVR Studio 4. wersji 5 unikaj jak ognia. 2. Nie za bardzo - niby da się, ale to jest kombinowanie i niebyt wygodnie i szybko to działa 3. Tak,...
Zna ktoś asemblera AVR ?
po pierwsze po dyrektywie .cseg podaj .org 0 a program niestety leci ci w maliny bo troszeczkę namieszałeś. gdy już zaczyna się pętla główna programu main: to sprawdzasz poleceniem SBIS PINC, 0 czy przycisk jest naciśnięty i jesli tak czyli PINC0 zwarty jest do masy to robisz skok do etykiet zwieksz i do tąd w takich rozważaniach jest ok a delej to...
Pisałem już wcześnniej na elektrodzie o tym -> przycisk SZUKAJ...
takich przykłądów jest tutaj mnustwo. Każda z osób przebywajaca na tymn forum zabiera się w końcu za i2c, 1wire (tak jak ty teraz). Wystarczy użyc przycisku "SZUKAJ" :)
hej mam taki problem a dodam jeszcze ze programuje '51 w asemblerze i teraz do setna naciskam przycisk i zwieksza mi sie zawartosc jakiegos rejestru i chce na bierzaco wyswietlac na LCD zawartosc tego rejestru np wcisna raz przycisk i na wyswietlaczu pojawi mi sie 1 wcisne np kolejne 25 razy i na LCD pojawi mi sie 26 i wlasnie w tym problem jak to najlatwiej...
Pewna niewygoda jest z tym, że sygnały muszą być podawane z określoną szybkością - czasy '1' i '0' albo 0,35µs i 0,9µs (z tolerancją 0,15µs), albo odwrotnie - to są czasy tysiące razy krótsze, niż milisekunda, i odmierza się je instrukcjami procesora. A nie wiadomo, co kompilator wygeneruje - trzeba pisać w asemblerze. Ale dają gotową...
zobacz tu http://www.elektroda.pl/rtvforum/topic22... czesto sie pojawia i brzmi nieslychanie niekolezensko ale: "polecam przycisk szukaj" Pozdr Dosinsky
Skoro dopiero się zaczynasz uczyć, to ciężkiego kalibru używasz (mam na myśli assemblera) a ja uważam, że to najlepszy pomysł - zaczynać od poznania asemblera. Pomimo, że początki są trudne to poznanie podstaw przynajmniej asemblera daje już dużą wiedzę co i jak można robić z prockami. A do większych później projektów czy nawet małych można spokojnie...
hey, ja bym Ci proponował tak to zrobić. Zczytać z odpowiedniego adresu, nie wiem gdzie masz podpięte te piny od przycisków stan danych przycisków najlepiej do akumulatora. Potem możesz odwoływać się z odpowiednich bitów akumulatora np ACC.0 czy ACC.1 i tak do ACC.7. Gdy mamy już stan tych przycisków w naszym ACU to teraz możesz sprawdzać np instrukcją...
Ale czego właściwie oczekujesz? Z tym, to raczej do wróżki. Widać tyle, że piny jakiegoś portu są zwierane do masy. Naciśnięcie przycisku jest więc odczytywane jako "0" na odpowiedniej pozycji. Ale który to port i jak są przypisane przyciski a nawet jakie w ogóle są przyciski na tej klawiaturze przecież nikt bez żadnych danych ci nie poda na forum.
http://www.elektroda.pl/rtvforum/topic24... Polecam przycisk Szukaj (na górze strony).
przycisk asembler asembler sprawdza przycisk asembler przycisk przerwania
indukcyjny odbiornik tecumseh ustawienie zaworów kocio instrukcja
le37c630 podświetlenie wypiekacz chleba
Arduino IDE komunikat "A programmer is required to upload" – ATtiny85, ATmega328P, STM32, ESP32, bootloader, programator Einhell Dual – nagły brak lasera w piła ukośna: typowe usterki, diagnostyka, naprawa