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 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)...
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...
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.
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...
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ą...
>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....
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...
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...
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...
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 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....
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...
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...
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....
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 ponownie Wykonałem płytkę poskładałem wszystko załadowałem hexa do 90s2313 i układ nie działa :( :( :cry: .Układ jest wykonany prawidłowo wg. schematu nie wstawiłem tam tylko MAX603 bo według mnie jest on tan tylko po to aby oszczędzać baterie i podaje zasilanie dopiero wtedy gdy układ jest podpięty do kompa. Połączyłem tylko nogi w podstawce(odmax603)...
[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...
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...
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...
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ń...
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ć)....
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ę...
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...
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...
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ń....
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...
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...
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...
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...
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...
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...
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...
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...
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ś...
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....
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...
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 widzę nigdzie deklaracji typu funkcyjnego fnDLL, ale zakładam, że gdzieś go tam masz? Tak, oczywiście jest. HINSTANCE jest zdefiniowane bodajże w Windows.h - dołącz ten plik. Dało radę w końcu! Teraz napisałem sobie prosty kod: private: System::Void button26_Click(System::Objec... sender, System::EventArgs^ e)...
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ą...
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...
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,...
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...
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...
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:...
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...
asembler przycisk przycisk asembler sprawdza przycisk przerwa
współczynnik odbicie sterowniki samochodowe radio skody
vestel 17ips72 daniel rakowiecki
Electrolux EKI 54500OX/OW instrukcja obsługi PDF, instalacja, kody błędów 7012S Car Multimedia Player Firmware: Identifying Correct Version for Sunplus, Allwinner, Rockchip Models