Można pozmieniać nazwy segmentów i etykiet - byle konsekwentnie. Można poprawić błąd, o którym napisałem - dodanie na początku "mov CX,1000" spowoduje, że po wpisaniu 1000 znaków program się zakończy, choćby nie został wciśnięty Enter. Na klawiaturze oprócz znaków możliwych do wyświetlenia są np. klawisze funkcyjne, strzałki, Home, End,... nie bardzo...
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...
Witam. Szczęśliwie dla użytkowników praktycznie wszystkie wyświetlacze alfanumeryczne LCD obsługuje się tak samo. Ich chipy sterujące są zgodne z HD44780. W skrócie obsługa LCD'ka wygląda tak: - inicjalizacja (zestaw komend sterujących, ustawia się min. sposób podłączenia 4/8 bit, ilość linii itp itd.). Sprawa dosyć dobrze opisana w większości datasheet'ów...
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,...
Wprowadź do programu dodatkowe zmienne (flagi) zmieniając ich wartość/stan i monitoruj je. Jeśli użyjesz zmiennych bajtowych, to użyj np rozkazu "cjne" i porównaj to do zera lub jedynki. Wartości zmiennych ustawiasz przy sprawdzaniu wciśniętych klawiszy, natomiast ich stan sprawdzasz w pętli.
niestety nie udało mi się rozwiązać tego problemu (czyt. sprawdzania 4 bitowego kodu). nigdzie nie umiałem znaleźć choćby powierzchownego wyjaśnienia działania tablic w asemblerze. (jeśli ktoś wie gdzie znajdę takie info - proszę o PW) zauważyłem że sporo osób czytało mój post, więc samolubnie uznając go za ciekawy, napiszę moje, proste rozwiązanie....
A dlaczego miał by startować od początku? Niech wraca tam gdzie skończył. Nie widzę też konieczności stosowania przerwania do przycisków. Moja propozycja: Przerwanie timera wywoływane co sekundę. W przerwaniu tym zwiększany jest licznik czasu, ewentualnie ustawiana odpowiednia flaga, a potem w pętli głównej jeżeli flaga ta była ustawiona, to odczytywany...
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...
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)...
nie wiem jaki tam jest assembler. na Atmege16 mam coś takiego. procedura jest wywoływana z tajmera co 20 ms ;#######################################... skan_klawiszy: ldi acc,0x0F ;ustawienie wierszy jako WEJ, a kolumn jako WYJ out DDRB,acc ldi acc,0xF0 ; wlaczenie pull-up na WEJ out PORTB,acc out PINB,acc...
>dondu Autor tematu w pierwszym poście nic nie pisał o przesyłaniu komend assemblera a jedynie w następnym poście potwierdził sugestię Piotrus_999 która w tym przypadku jest błędna a autor wątku przyjął to za dobra monetę. Piotrus_999 nie wie jak jest skonfigurowany moduł Easy8051 więc pianie o rozkazie MOV P1,P2 nie ma żadnych podstaw merytorycznych....
W wywołaniach masz odwołania do main3 i main4 których nie ma w kodzie. Nie ma gdyż one są prawie identyczne jak te wyżej. Różnica polega na innych zawartościach rejestrów DDRD i PORTD. Napisałem o tym w pierwszym poście: Zamieszczam fragment programu: W całości program składa się z 4 pętli (zamieściłem tylko dwie, żeby zobrazować jak to ma działać)....
Witam. Piszę właśnie program na Atmegę8 i jestem zmuszony zoptymalizować kod do wymaganych 4kb kodu (dla wersji Demo). Chciałbym skorzystać z wstawek asemblerowych do sprawdzania stanu przycisku. Do tej pory wykorzystywałem Config debounce, ale jest on zbyt pamięciożerny. Próbowałem z: $asm sbis pinb, 0 $end Asm Ale niestety nie spełnia on moich oczekiwań....
Wiem ze bylo milion razy, wciskalem przycisk szukaj, ale dla laika to i tak za trudne wiec prosze o wyrozumialosc ;) Potrzebuje po otrzymaniu stanu niskiego na wejsciu wlaczyc timer na 5 do 10 sekund i potrzebuje prostego opisu co gdzie ustawic, tzn. np setb TR0 ;wlacza przerwania, ale nie wiem jak dalej poustawiac i jak wyliczyc czas (bede potrzebowal...
Chyba za wcześnie się pochwaliłem,że wszystko działa. Działało mi prawidłowo w w MPLABIE i PIC Simulatorze. A później dopiero zacząłem sprawdzać uC w praktyce. Niestety nie działa. Dodatkowo dla sprawdzenia zaprogrmowałm 16F84A i uruchomiłem na rezonatorze 2MHz i mniejwiecej działa(na 2MHz oczywiście za wolno),gdy to samo zrobiłem z 16F628 to podłączone...
Diagram stanów ilustruje stany systemu i możliwe przejścia pomiędzy stanami. Przejścia mogą być warunkowe, a z każdym przejściem może być powiązana akcja (np. zmiana stanów wyjściowych, przypisanie zmiennych itp). Opisując system za pomocą automatu jesteś zmuszony przemyśleć jak układ będzie reagował na każde zdarzenie będąc w zadanym stanie. Dzięki...
Witam Na początek może zapodam oryginalny plik .hex , który otrzymałem od autora projektu oto on :(na samym dole bo nie udało mi sie zamieśćić go tu: I co mogę powiedzieć. Załadowałem go i po włączeniu zasilania sinusoida owszem od razu się pojawia ale komunikacja niestety kuleje podobnie jak w pozostałych wcześniejszych kodach przerobionych przez Light'I,...
Jak kiedyś zlitowałem się nad SAB600 i postanowiłem go zastąpić czymś bardziej orginalnym to powstał taki twór. Twór o tyle ciekawy, że w asemblerze ale pod Bascomowym interfejsem. Program oprócz generowania dźwięków robi jeszcze parę innych rzeczy, ale chyba tyle to już się można zorientować w kodzie. [syntax=basic4gl] '***********************Tiny13_Gong1...
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ą...
Diody działają poprawnie, Jest to Attiny2313 tylko z przyciskami nie chce działać. Sprawdzałem woltomierzem to na porcie jest 5V po naciśnięciu przycisku 0 więc od strony mechanicznej wszystko ok. .include "tn2313def.inc" .org 0 ldi r24,LOW(RAMEND) out SPL,r24 ser r24 out DDRB,r24 ; port B - wyjscia out PORTB,r24 ldi r24,0 out DDRD,r24...
Witam, mam pytanko. Napisałem program który po wciśnięciu przycisku wyświetla na wyświetlaczu liczby kolejno od 0 do F. Jest to wywoływane przyciskiem na porcie p1.5 teraz druga sprawa. Chciałbym by przyciskiem p1.4 móc obniżać wartość liczby, przypuśćmy gdy będzie 7, a wcisne p1.4 pojawi mi się 6. Jakim sposobem to zrobić? Oto program: [syntax=asm];...
Przykładów mnoży elektroda: trudno uszkodzić czujnik podłaczając parasite a przy 3 przewodach lamenty co drugi post w tej sprawie Druga sprawa to trzy druty to już tłok przynajmniej dla mnie nawet RS puszczam po 2 drutach. Trzeci przykład przy dwóch drutach mamy dodatkowy switch w każdym punkcie pomiaru temp więc nie trudno sobie wyobrazić zastosowan...
Hmmmm... tylko timerów potrzebuje do innych celów (m.in. do UART). W asemblerze robiłem tak, że w głównej pętli chodziła mi klawiatura, po nacićnięciu przycisku wykonywała się procedura i albo następował powrót do sprawdzania klawiatury, albo w procedurze było oczekiwanie na naciśnięcie określonego klawisza (nie było "omiatania" przez cały czas). Chodzi...
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....
https://obrazki.elektroda.pl/5718944600_... Przedstawiam efekty mojej próby zmierzenia się z tematem sterowania bramą garażową. Taka potrzeba pojawiła się po awarii oryginalnej elektroniki napędu. Zamiast kupować następną identyczną płytkę sterującą (która znowu padnie po jakimś czasie), można przecież zrobić swoją, prostszą, i potem...
Tak wiec plik glowny wyglada to nastepujaco #include <at89c5131.h> #include "zmienne.h" #include "funkcje_lib.h" extern GET_KEY(); BYTE Tablica[10]; //Tablica[0] sekundy //Tablica[1] minuty //Tablica[2] godziny //Tablica[3] dni void RTC_INIT() { RCAP2H =(0-10000)>>8; // licznik zlicza impulsy RCAP2L = (0-10000); // opoznienie 10ms - sprawdzone...
Panowie mam pytanie co robię nie tak że mi nie obsługuje klawiszy. przyciski mam dołaczone do PA0...PA4. Do PA5 i PA6 mam dołączone przekaźniki (wyraźnie słychać czy się przełaczają), zamiast sterowania przekaźnikiem dawałem komendę zerowania LCD i nic. Tak jakby się gdzieś zawiesił albo coś. Wiem że całe życie się człowiek uczy i pewnie jest tu jakiś...
Nigdy nie korzystałem i nie śledzę rozwoju AI, więc mam pytanie. Czy i ewentualnie jak dobrze, modele językowe radzą sobie z pisaniem programów w asemblerze, np. mikrokontrolerów 8-bitowych? Coś tam generują, ale nie sprawdzałem w rzeczywistym układzie. DeepSeek wygenerował coś takiego: Poniżej znajduje się przykładowy program w asemblerze dla mikrokontrolera...
Rzeczywiście, Atmega32 nie ma PCINT. Niemniej jak wspomniałem takie skanowanie lepiej jest zrealizować w oparciu o cykliczny odczyt. Wyklikałem poniższy kod ale nie gwarantuję, że jest on na 100% poprawny bo: - dawno nie pisałem w asemblerze - nie mam jak sprawdzić jego poprawności Idea jest taka, że w przerwaniu od przepełnienia T0 sprawdzamy klawiaturę...
http://obrazki.elektroda.pl/6126504700_1... Tiny_Nixie Zegar inny niż wszystkie Chciałem zaprezentować konstrukcję, której realizacja trwała około 10 lat ;), bo mniej więcej tyle minęło odkąd zakupiłem cztery Lampy LC-531 na krakowskiej giełdzie elektronicznej. W tym samym czasie też wpadły mi w ręce pierwsze AVR-y z niektórymi z nich...
Tak jak pisałem, obsługa przerwania ze względu na uwarunkowania kompilatora jest piekielnie długa i naprawdę na tym nic nie zyskujesz. Zobacz jak wygląda wygenerowany kod asemblerowy nawet dla prostej funkcji. Piszesz o sprawdzeniu stanu klawisza co chwile, a czym to się różni od sprawdzania co chwilę flagi, którą zmienisz w przerwaniu? Tym, że w każdą...
https://obrazki.elektroda.pl/2554706100_... Witam wszystkich. Tym razem chciałbym zaprezentować jeszcze jeden projekt zegara (z kalendarzem i budzikiem) zbudowanego z użyciem Zilog Z8681 oraz RTC MCP7940, który jest rozwinięciem prezentowanego wcześniej na Elektrodzie projektu zegara z tym samym mikrokontrolerem ( https://www.elektroda.pl/rtvforum/topic3...
http://obrazki.elektroda.pl/5297296700_1... Podstawą pracy układu jest „generatorowa” metoda pomiaru. W roli generatora wykorzystano przerzutnik Schmitta, który zapewnia działanie urządzenia w pełnym zakresie pomiarowym. W celu pomiaru C i L wykorzystano oddzielne generatory, przełączane w zależności od ustawionego trybu...
Stąd pytanie czy ktoś z was pisze całe programy w asm czy tylko wstawki asm w C ? Ja pisze prawie całe programy w asemblerze. Prawie całe ponieważ inicjacje mam w C ze względu na IDE w jakim pracuje - LCPXpresso. Funkcja main natomiast jest już w całości napisana w asemblerze. Pisze głównie dla układów z rdzeniem Cortex-M0 (LPC111x) ponieważ ten rdzeń...
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...
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
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...
https://obrazki.elektroda.pl/7853440200_... *Icebox thermostat* jest termostatem do lodówki zawierającym mniej i bardziej wymyślne funkcjonalności, przy czym większości z nich z pewnością nie znajdziecie w pospolitych termostatach. Zostały uznane za całkowicie zbędne i pozbawione sensu ;) Konfiguracji termostatu dokonuje się bezprzewodowo...
Mam wrażenie, że jeśli te sygnały nie muszą być HiFi, to da się zrobić 23 sygnały na jednym module STM32F103C8T6. Ale trochę trzeba się postarać. Podliczyłem - STM32F103C8T6 ma 19 pinów "5V tolerant" (A8-12, A15, B2-4, B6-15) i 11 z ograniczeniem do V_DD=3.3V (A0-7 B0,1,5); z tego B2 to BOOT1 (służy do wybierania, z jakiej pamięci ma startować, ale...
Po kursie asemblera x86 w szkole, dopiero zaczynam sie przesiadac z bascoma na ASM, wiec pewnie jeszcze do tego dojde bo narazie ledwo wiem jakie znaczniki ustawiasz ;) Ale mimo wszystko dzieki. Z drugiej strony czytalem ze podejscie polegajace na sprawdzanie stanow przyciskow co okreslony czas jest bardzo popularne. Jednak zastanawialem sie jak na...
IC4505 CD4015 wszystkie nóżki 0V tylko zasilanie na 16=5V IC 4504 CD4014 2- 2,5V 5- 5V 6- 5V 7- 5V 11- 5V 13- 5V 14- 5V 16- 5V IC 4503 CD 4014 1- 5V 4- 5V 5- 5V 6- 5V 7- 5V 12- 5V 13- 5V 14- 5V 15- 5V 16- 5V Cieszę się że poświęciłeś czas na napisanie "dissasemblera" choć niewiele mi to mówi, ale asembler to język programowania? Co jest mi potrzebne...
http://obrazki.elektroda.pl/3413210700_1... Witam serdecznie :D Chciałbym przedstawić wszystkim mój autorski projekt prostej konsoli stworzonej w ramach konkursu obecnie prowadzonego na elektrodzie. Każdy pewnie zapyta dlaczego akurat SharkII? To wskazywałoby jakby istniała pierwsza część, ale w sumie gdzie ona jest? W dawnych czasach...
http://obrazki.elektroda.net/15_12188254... Witam Chciałem przedstawić mój projekt: Metronom cyfrowy do pianina. Zawsze mnie zastanawiało dlaczego firmy tak zdzierają za metronomy. Na Alledrogo najtańsze chińskie modele kosztują ok 40zl, nie mówiąc już o lepszych. Moich wymagań i tak żaden z nich nie spełniał, więc postanowiłem zrobić własny....
Witam Próbuje od dłuższego czasu uruchomić UART'a w układzie, ale nie bardzo wychodzi. Z rozpędu kupiłem sobie ATTiny26, który go nie posiada, płytka i układ jest zaprojektowana (i już zlutowana) pod niego, więc w pewnym sensie zmusiłem się do napisania obsługi komunikacji. Nie chce tego już zmieniać, a programowanie chciałem potraktować jako kolejne...
Nie wiem czy sie przyda ale mam opis bootloadera ale na ATmega8 oto on napisany w bascomie: 'Program Bootloadera (monitora) dla ATmega8 umożliwiający ładowanie 'programu do pamięci Flash przez interfejs RS232 z prędkością 19200 'bodów 'Bity fuse należy ustawić, by na Bootloader było przeznaczonych 128 'bajtów 'Początek adresu programu Bootloadera:...
Witam Tak Panowie ja się z Wami zgadzam (z racji tego iż w programowaniu jestem jak but) chociaż z tymi diodami i analogowym wskaźnikiem zupelnie nie. Jeżeli chodzi o program to od początku miałem takie wrażenie, że cos jest nie tak. Uważałem, że trzeba to napisać co najmniej w C, ale najlepiej w asemblerze - niestety programista mi nie powiedział w...
ZbeeGin Najwidoczniej nie wykonujesz procesu kompilacji poprzez wywołania polecenia Assemble jeśli chodzi o ustawienia AVRStudio to mam tak jak na obrazku czyli lewe okno: Debug platform - wybrane AVRSimulator prawe okno: Device - wybrane ATmega8 http://obrazki.elektroda.net/92_12689068... Następnie pod przyciskiem F7 lub CTRL+F7 mam zamiast...
http://obrazki.elektroda.pl/6038046600_1... http://obrazki.elektroda.pl/9492337500_1... http://obrazki.elektroda.pl/8744464400_1... http://obrazki.elektroda.pl/7450126200_1... Jak to w życiu bywa, człowiek kolejny raz staje przed wyborem kupienia wątpliwej jakości chińskiego produktu,...
Przedstawiam "CLR2313"; czyli miernik pojemności, indukcyjności i rezystancji na ATtiny2313 (AT90S2313). Pomiar parametrów elementów pasywnych to jeden z problemów w pracy majsterkowicza. Chciałem zaprojektować urządzenie, które parametrami nie będzie zbytnio odbiegać od podobnych amatorskich konstrukcji. Oczywiście, i wśród konstrukcji amatorskich...
https://obrazki.elektroda.pl/5705909000_... NA WSTĘPIE Wiem, wiem, ktoś zaraz powie, że układów aktywnego obciążenia nie sposób zliczyć i kolejny taki projekt przyczynia się do klęski urodzaju… 8-) Mimo wszystko chciałbym przedstawić projekt aktywnego obciążenia. Aktywne obciążenie samo w sobie nie jest czymś szczególnym, ale...
Interpreter 1-wire sterowany przez rs232 Ponieważ posiadana płytka testowa z wyświetlaczem LCD 2x16 i 4 przyciskami nie zapewniała możliwości wygodnego testowania układów 1-wire powstał interpreter wykorzystujący standardowy komputer jako urządzenie wyj/wej i komunikujący się przez port RS232 przy pomocy kabla null modem. Hardware : Interpreter został...
http://obrazki.elektroda.pl/5313552500_1... Sterownik włącza/wyłącza do 8 urządzeń grzewczych i chłodniczych. Stan wyjść zależy od: temperatury mierzonej w dowolnej liczbie punktów, wewnętrznego zegara czasu rzeczywistego, programu grzania i chłodzenia przechowywanego w pamięci EEPROM. Architektura sterownika Sterownik jest oparty na...
Witam,zrobiłem program sklejąć z laborek i troche używająć umiejetność który gra dzwięk o jednej czestotliwosci przez 2 sekundy,następnie gra drugi o innej tez przez 2 sekundy . Jest to dwutonowy sygnal z głośnika. Dzwięk właczany jest na przycisk pierwszej linii. Jak zrobić by przestawał grac jak wciśne inny przycisk niż tym którym go właczyłem ? Albo...
Witam serdecznie, borykam się ze zrealizowaniem zadania o poniższej treści: Zaprojektować w asemblerze system mikroprocesorowy złożony z mikrokontrolera 8051. System ma realizować licznik modulo 100 generujący skalę czasową co 1s. Uruchomienie licznika i start od zera następuje poprzez podanie sygnału 1 na przycisku, wyłączenie przycisku (zero) powoduje...
http://obrazki.elektroda.pl/3234430100_1... W Podatność na wstrzykiwanie komend Jedną z częstszych i łatwych do odnalezienia dziur jest podatność na wstrzykiwanie komend poprzez np. interfejs użytkownika. Sama idea tego ataku jest prosta – załóżmy, że podajemy gdzieś tekst, który następnie wykorzystywany jest do skonstruowania...
Interpreter 1-wire sterowany przez rs232Ponieważ posiadana płytka testowa z wyświetlaczem LCD 2x16 i 4 przyciskami nie zapewniała możliwości wygodnego testowania układów 1-wire powstał interpreter wykorzystujący standardowy komputer jako urządzenie wyj/wej i komunikujący się przez port RS232 przy pomocy kabla null modem. Hardware : Interpreter został...
przycisk asembler asembler przycisk asembler przycisk przerwania
wyłącznik różnicowo prądowy zasada fujitsu siemens reset baterii peugeot partner zawory
Kalibracja skrzyni biegów w Case CS100: Przewodnik Sklejenie pękniętej karty dekodera telewizyjnego