Chodzi o tłumaczenie w czasie rzeczywistym rozkazów przeznaczonych dla PCF2112, dla nowego(wych) wyświetlacza(y). Przeważnie jest to mikrokontroler z napisanym oprogramowaniem. Ale trzeba wiedzieć co tam ma się wyświetlać, ilość cyfr, czy wyświetlacze mają ikony. Do tego nie ma chyba żadnej dokumentacji wiec inżynieria wsteczna. Jeżeli jest uszkodzone...
Generalnie instrukcje są wykonywane po kolei tak jak są zapisane w pamięci programu. Wyjątkiem są instrukcje skoku. Licznik rozkazów zawieraja adres następnego rozkazu lub obecnie wykonywanego. Dzięki niemu procesor wie do którego miejsca ma iść :) http://jarek.jamrozik.webpark.pl/bud.htm http://www.helionica.pl/index.php/Liczni... http://en.wikipedia.org/wiki/Program_cou...
To nie jest schemat działania, tylko schemat budowy... Bufory chyba nie wymagają wyjaśnień, akumulator służy do przechowywania argumentu/wyniku operacji, ALU czyli jednostka arytmetyczno-logiczna służy do wykonywania operacji arytmetycznych i logicznych (jak wynika ze schematu - na tym co jest w akumulatorze), PC to program counter, czyli licznik programu...
Szkoda, że nie chciałeś się dokładnie zapoznać z data sheet dla xx8xC52... 1. Licznik T2 może zliczać impulsy z wejścia T2 (P1.0), a wejście T2EX (P1.1) może służyć do zmiany kierunku liczenia lub generowania przerwania na opadającym zboczu. T2EX może też być wyjściem sygnału o programowanej częstotliwości. 2. Tak, dostęp do górnych 128 bajtów RAM jest...
Jeżeli są to modele kolejowe , to rozumiem, że ich zasilanie odbywa się za pomocą prądu stałego dołączonego do szyn. Wystarczy więc na ten prąd stały nałożyć impulsy o napięciu o 50% większym. Wykrywać je można za pomocą diody zenera na napięcie trochę większe niż zasilanie. Każda lokomotywa miałaby licznik 0-16 kasowany co 0.5 sekundy. Wyjście licznika...
Witam, fajne kolejne propozycje Dar.El ;) ... teraz coś ode mnie, myślę wprawdzie, że to makro nie będzie już tak uniwersalne jak poprzednio zaproponowane, ale idąc za ciosem, bo było mi to akurat często potrzebne: ;Increment, Jump if No HIGH ; IJNH licznik,etykieta pętli ; licznik - tylko rejestry R16 - R31 .MACRO IJNH INC (at)0 CPI (at)0, 255 BRNE...
Kolega wyżej podał bardzo fajną pętlę [syntax=avrasm] lpm R0,Z+ ;odczyt st Y+,R0 ;zapis dec R16 [/syntax] Jeśli chcesz kopiować od jakiegoś adresu w tablicy to do Z dodajeszsz offset przed rozpoczęciem petli a w r16 masz ilosc elementów do skopiowania. Jeśli chcesz więcej niz 256 to musisz zrobić licznik na dwóch rejestrach które będziesz dekrementował...
https://obrazki.elektroda.pl/3928983600_... Opiszę naprawę dość rzadkiej konsoli, polegającą na odtworzeniu schematu pierwowzoru, zaprojektowaniu i wykonaniu płyty głównej i dalszych krokach niezbędnych do przywrócenia jej życia i funkcjonalności, w których zastosowałem swoją nowatorską metodę. Będzie więc coś dla miłośników retro,...
MOV C, ACC.7 MOV P1.7, C MOV C, ACC.6 MOV P1.6, C MOV C, ACC.5 MOV P1.5, C MOV C, ACC.4 MOV P1.4, C Tablicę znaków można zadeklarować jako tablica: .db 30h .db 31h .db 32h itd. aż do 39h, a później kolejne 6 znaków to 41-46h. Jeśli w A znajdzie się liczba od 0 do 15 (czyli pojedyncza cyfra 16 bitowa) to na podstawie jej wartości w A można przypisać...
Próbowałem ostatnio uruchomić zlecenie *D z C800 (dzień tygodnia na podstawie podanej daty). Przyczyna nieprawidłowości działanie był błąd w wykonywaniu rozkazów ADD i SBC na liczbach 16-bitowych, błąd poprawiłem. Program daje błędne wyniki z powodu błędu w ustalaniu lat przestępnych (nie jest prawdą fakt, że każdy rok podzielny przez 4 jest rokiem...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Ponieważ kilka osób zwróciło się do mnie w sprawie odczytu pomiarów z dwukierunkowego licznika SDM630, udostępniam program, który pozwala dokonywać bieżących odczytów wskazań tego licznika. Do komputera PC należy podłączyć licznik przez konwerter np. USB-RS485, i w programie wpisać numer wirtualnego portu szeregowego oraz szybkość transmisji ustawiona...
https://obrazki.elektroda.pl/8661538600_... Zainspirowany podcastami o historii komputerów (podcast #19 - Słowo o architekturze i słowniczek pojęć By lepiej zrozumieć zagadnienie pamięci, musimy najpierw poznać architekturę, a dokładniej to części składowe procesora. Nie będziemy zagłębiać się w tajniki najnowszych Ryzenów czy i9,...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
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...
Bez przerwań nie da się zrobić absolutnie niczego, co jest bardziej skomplikowane. Dzięki zastosowaniu przerwań mikrokontroler nie musi stale sprawdzać, czy zaszło jakieś zdarzenie. Ciągłe sprawdzanie czegoś takiego (ang. polling) spowolniłoby program. Ponadto kolejny kłopot to odczytanie danej flagi z układu zewnętrznego (np. przez SPI/I2C) to dodatkowe...
Witam! Najpierw tytułem wstępu: Kompilator - program tłumaczący kod zrozumiały (język wyższego poziomu np C, Delphi itd) dla człowieka na kod zrozumiały dla maszyny, czyli binarny lub na język niższego poziomu np asembler. - asembler jest programem tłumaczącym kod napisany w języku niższego poziomu na język wewnątrzny maszyny czyli jw - binarny, zrozumiały...
Kolego, jesli pracujesz na pamięci wewnetrznej i przekręcisz licznik rozkazów to 51 w ZADNYM przypadku nie przełączy sie na pamięć zewnetrzną, a tylko następny rozkaz będzie wykonywał od adresu jaki ma w liczniku rozkazów. Praktycznie najczęściej pójdzie w maliny, choć może równie dobrze trafić na taką końcową sekwencję rozkazową, że wystartuje od adresu...
Do: MirekCz i Gieneks Ludzie czytajcie literaturę i nie piszcie jak nie jesteście pewni. Po kiego grzyba licznik rozkazów ma być odkładany na stos. Każde przerwanie i rozkazy wywołujące procedury, funkcje czy podprogramy na stos odkładaja tylko i wyłacznie adres powrotu (operacja hardwerowa) , wszystko inne na stosie to już działanie programisty. Adres...
Jest tak jak pisał petione. Program w LD jest wykonywany od góry do dołu. Ten kawałek cyklu odpowiadający za wykonanie programu wygląda tak: -aktualizacja stanów wejść do rejestru wejść -wrzucenie stanów wejść z rejestrów do RAMu - mikroprocesor zaciąga stany wejść z RAMu - wcześniej pobrał program np. z EEPROMA, resetuje licznik rozkazów i pobiera...
Cykle 1, 2 oraz 3 nie mogą miec takiego samego A0 bo kodyu tych rozkazów leżą one obok siebie w pamięci. Zatem A0 nie będzie stały przez 7 cykli. Popraw się. Wstępna ocena dostępnych informacji Użytkownik zwrócił uwagę na błąd w poprzedniej odpowiedzi dotyczący maksymalnej liczby cykli, podczas których procesor 6502 może nie zmieniać stanu linii adresowej...
... --> Stąd po wykonaniu rozkazu IJMP lub ICALL program jest KONTYNUOWANY od adresu wskazanego w rejestrze Z. Licznik rozkazów NIE JEST ZEROWANY! Spójrz na notę katalogową. Fantazjujesz ;) W nocie katalogowej (Instruction Set Summary) stoi: IJMP Indirect Jump to (Z) PC ← Z Czyż PC i "licznik rozkazów" to nie ten sam rejestr :?: Albo co się stanie...
...o ile wiem w baskołomie w trybie symulacji widać licznik rozkazów i czas wykoniania instrukcji. Pzdr.
Musisz zadeklarować początek stosu: ldi R16,high(RAMEND) ;konieczna inicjalizacja stosu out SPH,R16 ;wierzcholek na koncu RAMu ldi R16,low(RAMEND) ;stos "zwisajacy", jak w x86 out SPL,R16 Inaczej procesor nie wie gdzie zapisać licznik rozkazów po skoku do procedury (rcall) i później ładuje (po jej zakończeniu) do licznika rozkazów...
Proponowałbym po załączeniu zasilania wcisnąć przycisk RESET i dopiero wtedy sprawdzić działanie układu. Warto wymienić 8228 na jakiś inny egzemplarz. Najlepiej produkcji INTEL. Znalazłem kilka uszkodzonych UCY74S428, również w nowych egzemplarzach. Może to przypadek, ale możliwe też, że taka była jakość układów CEMI. Uszkodzenie polegało właśnie np....
Spróbuję prosto: - Takt to czas w którym procesor wykonuje pojedynczą czynność. Nie zawsze jest to pojedynczy rozkaz, chociaż bywają procesory z rozkazami, które wykonują się w pojedynczym takcie zegara. Częstotliwość taktowania to nie musi być częstotliwość kwarcu, bo np. ARM-y mogą pomnożyć/podzielić częstotliwość kwarcu i ustalić takt według uznania....
Jeśli pin EA zostanie na masie podczas resetu (program na zewnątrz) to licznik rozkazów startuje od zera a nie od jakichs innych wartosci. Przeciez tłumaczenie że jesli procek ma 4k wewnętrznej pamięci to z zewnętrznej bedzie wykonywał program powyżej tej 4k jest bzdurą. A gdyby procek miał swojej wewnętrznej pamięci np 64k to z zewnętrznej juz by nie...
ołłłłłłłłłłłłłłł prof. od arch. systemów komuterowych !!! ??? xD z czymś takim nie chciałem zadzierać, mam po prostu mega mega podstawowe pojęcie o architekturze systemów komputerowych. http://pl.wikipedia.org/wiki/Intel_8086 wiesz, może jest jakiś sposób, żeby to zrealizować na stosie, jednak nie będzie to rozwiązanie standardowe, ja Ci piszę o rozwiązaniach...
Witam, Po otrzymaniu przerwania od zewnętrznego przetwornika wchodzę do funkcji: void EXTI4_IRQHandler(void) { int b; b = c+d; //inna_funkcja(&b); if(EXTI_GetITStatus(EXTI_Line4) != RESET) { EXTI_ClearITPendingBit(EXTI_Line4); } } Program przechodzi przez dwie pierwsze instrukcje int b;b = c+d;.Po wykonaniu trzeciej czyli wywołaniu funkcji bibliotecznej...
Dzięki wielkie za udzieloną pomoc działa teraz pisze komunikacje na podstawie rozkazów licznika, big thx za podpowiedź ze skanowaniem portów :) Dodano po 2 Tryb odczytu danych napisałem, wykonuje się on pewnym rozkazem po czym licznik wysyła wartości. Kiedy odbiorę wszystkie wartości i wydam mu kolejny rozkaz odczytu tego samego(tej samej listy wartości)...
Odnosze wrażenie że albo nie do końca pojmujesz temet o którym piszesz, albo nieprecyzyjnie go określasz w poście. Jeżeli ja dobrze rozumiem to kożystasz z jakiejś formy emulacji, ale i to nie zmienia faktu że na początku programu możesz wstawić procedure inicjującą wyświetlacz (tak jak to napisał slawko_k) i jak licznik rozkazów zostanie ustawionu...
Czegoś tu chyba nie rozumiem. Obliczyć (określić) czas potrzebny na przerwanie? Czyli czas wykonania przerwania? Każdy czas nawet pojedynczego cyklu w [ms] można określić za pomocą symulatora działania programu zawartego w kompilatorze Bascom. Uruchamiamy program ale krok po kroku (każdy rozkaz na kliknięcie mychy), zadajemy (wymuszamy) przerwanie przyciskiem...
Nie jest ważne jaki wektor dla BOD tworzy GCC, bo licznik rozkazów jest zerowany sprzętowo. Ponadto procesor nie wstanie dopóki napięcie nie wzrośnie ponad ustawiony próg napięcia. Skoro napięcie może zaniknąć, to prawdopodobnie procesor jest zasilany z sieci. W takim wypadku najszybszym rozwiązaniem jest sprawdzanie obecności impulsów przed prostownikiem...
PCL to młodszy bajt licznika rozkazów PC. Licznik rozkazów wskazuje na adres słowa pamięci programu, w którym przechowywany jest następny do wykonania rozkaz (po tym, który się właśnie pobrał i wykonuje). PIC16F84 ma pamięć programu 1024 słowa więc do jej zaadresowania potrzeba aż 10 bitów (0 - 3FF czyli 0000000000 -1111111111). Jeśli np. twoje dane...
Właśnie próbuję uruchomić program z pamięci RAM. Usunąłem linijkę rom (rx) : org = 0x8000000 oraz zastąpiłem wszystkie "> rom AT > rom" na "> ram AT > ram" w pliku linkera. Program działa do momentu wywołania przerwania (w moim programie przerwania SysTick). Wtedy licznik rozkazów skacze z adresu 0x2.... pod adres 0x08000864.Czyli do pamięci flash i...
Witam! Każdy procesor zmienne, tablice czy inne dane, w ogólności całą pamięć, widzi wyłącznie w formie bajtów (czasem jeszcze bitów). Wszelkie typy abstrakcyjne takie jak liczby całkowite, zmiennoprzecinkowe, tablice, struktury itd zostały stworzone tylko po to aby było łatwiejsze do ogarnięcia przez człowieka. Po przetłumaczeniu (kompilacji) i połączeniu...
Mikroprocesor (CPU) ma ALU, licznik rozkazów itd W "itd" obecnie kryje się kontroler pamięci, kontroler pcie, koprocesor arytmetyczny, blok szyfrujący (AES), blok dekodujący strumienie wideo. Różnica zaciera się coraz mocniej w miarę jak rdzenie stają się potężniejsze. Już od dłuższego czasu są wśród producentów mikrokontrolerów dostępne układy hybrydowe...
... EDIT: dodam tylko, że wszystko dobrze działa, jeśli urzyję rejestru DPTR do przesyłania do zewnętrznego RAM. Niestety zmienna DPTR w tym programie jest wykorzystywana do pobierania znaku z wewnnętrznego ROM dlatego chcę wykorzystać ten drugi sposób z rejestrem R0 oraz P2 do wyslania znaku do RAM korzystam z symulatora Sim8051 Skoro symulator potrzebuje...
:arrow: monterek powiem tylko ... nieładnie (chyba za często wypinasz ten tyłek). :arrow: Karo660 - zgadzam się z Tobą ,chociaż rejestr rozkazów i licznik rozkazów są używane zamiennie.Myślę jednak ,że dla kogoś kto nie ma wiedzy w architekturze procesorów bardziej zrozumiałym terminem jest licznik .Rejestr to pojęcie bardziej skomplikowane (w odróżnieniu...
któreś ADuC mają możliwość pracy z 1MB zewnetrznego romu, trza poszukać zresztą prawie wszystkie '51 mogą pracować z zewnętrznym Romem (wtedy z architektury harwardzkiej przechodzą na Naumana (czy jakoś tak :)) chyba też dotyczy to AVR 8515.... Problem tylko z napisaniem takiego programu, który po zmianie bloku romu nie zawiesi się (po tej operacji...
C zawsze pod każdą postacią powodował drgawki, ale to czego przed chwilą nie udało mi się zrobić, przerosło mnie i muszę spytać się Was o co w tym chodzi: ... unsigned char i; int main(void){ while(1){ i++; if(i == 129){ i = 0; } } } ten program cały czas 'stoi' w miejscu int main(void){ a zmienna...
Zrobiłem to co mi poleciłeś jednak brak poprawy. Teraz na sztywno jest ustawiona prędkość transmisji na 9600 bps. Problem z resetowaniem występuje tylko podczas odbierania kilkunastu znaków z rzędu. Gdy sa przesyłane pojedyncze znaki to działa to bez problemu. void uart_init(unsigned int baud) { UCSR0B|=_BV(RXCIE0)|_BV(RXEN...
CJNE tłumaczy się jako Compare and Jump if Not Equal czyli porównaj i skocz jeśli różne, porównuje zawartość rejestru R2 z liczbą 2 i wykonuje skok jeśli są różne , MOV R2,TL0 przenosi zawartość TLO do R2 czyli w zasadzie porównujesz TL0 z liczbą 2 wniosek końcowy w TL0 jest liczba różna od 2 IPTR to pewni Instruction Pointer czyli coś takiego co wyznacza...
Witam! W muzealnym procku INTEL 80386 jest sześć rejestrów segmentowych: CS - rejestr segmentowy rozkazów stowarzyszony z licznikiem rozkazów SS - rejestr segmentowy stosu, stowarzyszony ze wskaźnikiem stosu DS - rejestr segmentowy danych, stowarzyszony z adresem danych ES - rejestr segmentowy dodatkowy 1 stowarzyszony z adresem danych FS - rejestr...
Ja miałem wersję y więc daję po kolei: 1. Bipolarny NPN 2. AND 3. Wzmacniacz 4. Środkowoprzepustowy 5. Tyrystor 6. Sterowanie wyświetlaczem ????? 7. Wykonanie podwójnych rozkazów ????? 8. licznik modulo 5 9. Detektor ????? 10. montarz powierzchniowy Znaki zapytania oznaczają niepewność
MOVC A, (at)A+DPTR - oznacza A:=ROM ; R0 -faza sinusa od 0 do 127 MOV DPTR,#TAB_SIN ; wskazanie tablicy z sinusem MOV R0,#00 ; wskazanie pierwszej próbki (faza=0) PETLA: MOV A, R0 ; załadowanie A fazą sinusa MOVC A, (at)A+DPTR MOV P1,A ; Wysłanie kolejnej próbki do portu P1, gdzie np. jest podłączony przetwornik D/A INC R0 ; zwiększenie...
At90S2313 to procesor 8-bitowy wiec wszystkie rejestry (oprócz licznika rozkazów i jeszcze jakiegos ktorego niepamietam) są 8 bitowe, równiez organizacja pamieci danych jest 8-bitowa więc jesli chcesz posługiwac się słowem 16-bitowym to musisz go sobie podzielić na dwie częsci i przechowywać w oddzielnych rejestrach ( lub komorkach pamięci Sram) .
Witam. Bardzo prosiłbym o pomoc, w następującym zadaniu: "Napisać program powodujący miganie diody LED z włączeniem innej diody LED po naciśnięciu klawisza K0. Wykorzystać liczniki T0 i T1 oraz system przerwań." To była treść mojego zadania, a teraz przedstawię algorytm działania tego na załączonym obrazku. http://obrazki.elektroda.net/24_12673127...
Kolega e_techman praktycznie wyjaśnił sprawę , układy serii TX2/RX2 z góry narzucają sposób kodowania oraz realizowane funkcje . Natomiast budowa na logicznych układach Cmos daje wiele możliwości kodowania rozkazów ponadto uniezależnia produkt ale tym samym tylko konkretne moduły będą z sobą współpracowały . Podane układy MC14024 , MC14001 mogą tworzyć...
Witam, Za każdym razem w trakcie uruchomiania mikrokontrolera po startowaniu konfiguracji debugowania GDB w eclipse licznik rozkazów skacze do : g_pfnVectors: 00000000: andne r0, r0, r0, lsr #16 <------------- 00000004: muleq r0, r1, r6 00000008: andeq r0, r0, r0 0000000c: andeq r0, r0, r0 a OpenOCD sypie błędami: Info : JTAG...
formaty rozkazów pilot rozkazów dekoder rozkazów
kolimator podczerwień tłumienność kabli stojan odkurzacza zelmer
samsung matryca panel lancia voyager
Demontaż górnych schowków przednich w Fiat Ulysse Instrukcja obsługi pralko suszarki Mastercook SPFD-1064