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...
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) .
Jeśli chcesz wyzerować LICZNIK to tak: MOV LICZNIK,#0 Zwróć uwagę na znak # bez niego rozkaz nie umieszcza w LICZNIK zera a wartość ram-u o adresie 0 czyli bez # jet to rozkaz: MOV LICZNI,R0
Procesory AVR mają 16 bitową organizację rozkazów. Zatem jeden rozkaz, to jedno 2 bajtowe słowo. Jeśli ATMEL napisał, że ATmega128 ma 128 kB pamięci programu, to oznacza to, że ma ona 64 k słów 2 bajtowych. Zatem licznik rozkazu musi mieć 16 b, aby obsłużyć taką ilość pamięci. Nie można przecież posądzać ATMELA o tak idiotyczne posunięcie, jak wkładanie...
Tak, to stan mocy chwilowej. Informacja dla strażnika mocy jak dobrać moc oddaną na grzałkę. Tych danych nie całkuję. Natomiast dane z mocy chwilowej falownika istotnie całkuję, ale to inne zagadnienie. Z dokumentacji do pozytona wynika że mogę odczytać te liczniki. Rozkaz odczytowy R1: (S41) Eezx() Odpowiedz licznika: (S42) y.8.x.(nnnnnn.nn)[CR][LF]...
Ja też taki byłem, do czasu jak zacząłem mierzyć prędkość "obrotu" pętli głównej - wyraźnie widać, że im więcej się tam dokłada, tym wolniej się ona kręci. Jak miałem tylko 8 maszyn stanów to czas obrotu wynosił średnio ok 3us, jak dodałem następne cztery to już wynosi 5-6 us (at) 168MHz F4. W assemblerze to było o tyle optymalne, że do licznika rozkazów...
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...
Witam ponownie 1) Co do trybów polecam poczytanie rozdziału 2.9 z [url=http://www.atmel.com/dyn/resources/... 2) Patrz manual 3) Właściwie nic nie trzeba robic po prostu go nie uruchamiasz, np używasz tylko T0 to go uruchamiasz TR0=1, a dla licznika T1 robisz TR1=0 (poczytaj manuala) 4) Można 5) Przepełnienie licznika...
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...
licznik programu? tzn chodzi Ci o IP- instruction pointer (wskaznik rozkazow,licznik rozkazów, licznik instrukcji)
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...
...o ile wiem w baskołomie w trybie symulacji widać licznik rozkazów i czas wykoniania instrukcji. Pzdr.
... --> 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...
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...
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...
Piloty Normstahl są kodowane Keeloq. To jednak nie popularny dedykowany układ HCS zajmuje się kodowaniem, a uniwersalny procesor. Niezbyt dobrze napisany program na ten procesor powoduje że pilot przypadkowo zmienia licznik emisji i napęd rozkaz ze starą transmisją ( złym licznikiem) uważa za już wykorzystany (stary) i na niego nie reaguje. Jeżeli masz...
Witam! Jeśli już piszesz w kodzie maszynowym, to tak dla formalności przypominam, że przy skokach względnych adres docelowy jest obliczany z uwzględnieniem bieżącego stanu licznika rozkazów czyli adres rozkazu skoku względnego plus 2. Pozdrawiam KG
(at)lazor Dlaczego patrzysz przez pryzmat architektury, którą znasz, a nie odnosisz się do artykułu? Wszystkie 3 części dotyczą prostych struktur 8-bitowych jakie były na rynku 10-20 lat temu, gdzie jedynym efektem przejścia do obsługi przerwania jest załadowanie licznika rozkazów adresem ISR i ustawienie flagi obsługi przerwania. A jeśli robisz w userlandzie...
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...
LD B , 4Eh do rejestru 'b' załaduj wartość 4E ('h' oznacza kod szesnastkowy czasem oznaczany znakiem '$' z przodu); PC = 3BFC oznacza stan licznika rozkazów (bodajże tak to się nazywa), podaje on w którym miejscu pamięci znajduje się pierwszy bajt wykonywanego rozkazu (też szesnastkowo); Poszukaj w sieci listy rozkazów, a wszystko stanie się jasne....
Cały ten bajzel to porażka absolutna. Powinni karać więzieniem za protokoły transmisji radiowej bez sum kontrolnych...;] Dziwne że ten robot nie dostaje kociokwiku jak się oddali od nadajnika a tylko po prostu przestaje reagować na rozkazy. Masz dużo szczęścia. Masz również dużo szczęscia dlatego, że to w ogóle działa, zważając na zaśmiecenie pasma...
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...
Nie wiem czy to ważne ale 8-bitowce były programowane w maszynowym bezpośrednio wszystkie. Asm to nic innego jak bezpośrednie komendy procesora. Tu się nie zgadzam - język maszynowy jest dwójkowy i tak pisałem na laboratorium proste programy na Mera 305 (procesor Momik 8b). Pisałem to chyba nie precyzyjne słowo - wprowadzałem do pamięci. Na klawiszach...
Altair 8080 albo IMSAI 8080 A po nich ZX80, ZX81. W tym samym czasie powstawały też mikrokomputery na 680x. 6502 był tanią alternatywą 680x, było nawet wykonanie zgodne pin-pin (jak AVR zgodny z 8051). 6502 to chyba jedyny prawdziwy procesor 8-bit. Wszystkie rejestry, łącznie z wskaźnikiem stosu są 8-bit (pomijam licznik rozkazów). Wszystkie inne (8080,...
Pisząc RESET masz na myśli sprzętowy reset czy programowy poprzez zerowanie licznika rozkazów? Strzelam, że to 1 a wtedy przecież ponownie wystartuje sekcja bootloadera chyba, że po zostaną w niej zmienione fusebity a w aplikacji ponownie ustawione na start z obszaru bootsektora a nie aplikacji - zamotane ma maksa o ile w ogóle możliwe.
Potrzeba mi dokładny opis najlepiej na schemacie blokowym lub tylko opis taki np podczas wykonywania funkcji mv ad1, ad2 procesor pobiera rozkaz z licznika rozkazów następnie wysyła go na szynę danych gdzie zostaje dekodowany i przesłany.... itd to jest tylko przykład poniżej jest cześć mojego już oprjby ktoś mógł sprawdzić i ocenicz czy to jest dobrze...
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...
1. Chyba najlepsza jeśli chodzi o łopatoligiczny opis budowy procesora jest ksiażka Gałki albo braci Gałków pt "Podstawy programowanie mikroprocesora 8051" 3. Mikrooperacje są to operacje z których zbudowane są rozkazy. Przykładem są operacje skoku do procedury, w trakcie kolejno wykonuje się zapamiętanie adresu powrotu ,wpisanie nowego numeru rozkazu...
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...
Poczytaj trochę książek (może na początek Anatomia PC). Zacznij od opisu procesora 8086 (segmentacja pamięci). Po resecie komputera procesor zeruje wszystkie rejestry (włącznie z licznikiem rozkazów), ustawia na FFFFH rejestry segmentowe. Pobiera kod rozkazu z piewrwszego adresu (FFFFH:0) interpretuje go i wykonuje - najpierw "idzie" POST (Power On...
Przerwania procesora działają w procesorach AVR na takiej zasadzie, że (pomijając inne operacje) po wystąpieniu danego przerwania ( podczas obsługi przez procesor ) następuje zapamiętanie rozkazu następnego, który byłby wykonany, gdyby procesor nie przyjął przerwania (jego adresu w pamięci flash) i skok pod jeden z adresów z samego początku pamięci...
Witam, poszukuję informacji dotyczących licznika rozkazu w procesorze PIC16F84A. Wiem że licznik ten składa się z 13 bitów i tworzony jest w następujący sposób 5 bitów PCLATH + 8 bitów PCL. Jasną sprawą jest to że procesor po wykonaniu każdej kolejnej instrukcji inkrementuje takowy licznik +1. Jak to się jednak odbywa? Czy po złożeniu kompletnych 13...
Można też zrobić to tak: start: mov C,P3.5 mov P3.0,C ljmp start ljmp jest rozkazem skoku bezwzględnego, co oznacza, że do rejestru PC (licznika rozkazów) wpisywany jest bezpośrednio adres etykiety start. Natomiast sjmp spowoduje dodanie do PC wartości z zakresu <-128;127>, co przy dłuższych programach spowoduje błąd kompilacji "address out...
W 8051 domyślnie pod adresem obsługi przerwania nic nie ma. W tym konkretnym przykładzie procesor wykonuje skok do pamięci programu pod adres (0BH ) obsługi przerwania timer0. I wykonuje to co tam znajdzie :). (oczywiście zapisuje aktualny stan licznika rozkazów aby mógł wykonać skok powrotu obsługi przerwania RETI ) Tzn zawsze trzeba zadbać by pod...
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...
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...
Po wykryciu jakiegość przerwania procek wrzuca na stos licznik rozkazu, i nic więcej. Ale co się dzieje w bascomie to inna sprawa, możliwe że bez parametru NOSAVE procek działa standardowo w momencie gdy brak tego parametru bascom pewnia zapisuje dodatkowo pare standardowych rejestrów np. ACC, B czy PSW, ale to tylko spekulacja. Dzięki takiej konstrukcji...
Jednak to aż takie proste nie będzie dla mnie jakby się wydawało. Nigdy nie pisałem żadnego procesora i nie wiem jak się zabrać za to, od czego zacząć. Myślałem żeby w takiej kolejności : 1. Pamięć RAM 2. ALU 3. Dekoder instrukcji, licznik rozkazów, pipeline 4. Pamięć ROM 5. Port wyjściowy 6. Port wejściowy Na początek to byłby prosty procesor 1 port...
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...
wartości rejestrów można zapisywać w ramie, ale zrzut wszystkiego na stos jest chyba prostsze -dajesz tyle popów i puszów :) ile trzeba - nie musisz pamiętać co do której komórki zapisałeś - a czasu (cykli) zajmie to tyle samo Stos możesz jeszcze użyć do odczytania zawartości licznika rozkazów - wykonujesz skokl do jakiejś procedurki, która odczytuje...
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...
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...
Powiedzcie, dlaczego instrukcja RET, zawsze powoduje u mnie powrót do początku programu, a nie w miejsce wywołania danego skoku? Modyfikacja stosu, czy licznika rozkazów(PC) nic nie daje. Nie można zrobić żadnego poważnego programu(w którym kilka razy coś powtarzam) wykorzystującego skoki(RCALL, ICALL, RJMP, IJMP), bo nie można z nich powrócić. :| Dopiero...
Kolejne pytanie: Wg. noty atmegi16 wektor przerwania od przepełnienia timera0 (Timer0 OVF) znajduje sie pod adresem $012 natomiast w symulacji i rzeczywistym środowisku przerwanie działa tylko gdy skok do niego jest ustawiony pod adresem $030 (taka wartość ląduje w liczniku rozkazów w momencie wystąpienia przerwania). Czego nie wiem co deklaruje niewłaściwie...
W uC serii '51 (czyli m.in. w AT89C2051) zegar jest wewnętrznie dzielony przez 12, tzn. jeden cykl maszynowy trwa 12 cykli zegarowych, podczas tych 12 cykli zegarowych wykonywane są czynności związane z pobieraniem danych z pamięci, operacjami na stosie, liczniku rozkazów etc. Liczba 12 jest tutaj charakterystyczna dla '51 (ale uwaga na klony, bo z...
... 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...
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)...
(w odniesieniu do AVR) Bascom jak dla mnie zachowuje sie bardzo dziwnie - w momencie przerwania przekazując dane na stos, pisząc np w czystym asemblerze ma sie pełną kontrole nad wykonywanym programem, wywołując procedurę (rcall) wiemy ze na stos odkładana jest zawartosc licznika rozkazów by po napotkaniu na RET mógł tą zawartosc przywrócic lub RETI...
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...
Majcher - Faktycznie program wykona GOTO POCZATEK zawsze. ... Nie GOTO POCZATEK tylko po ... SPL=&HDF RET ... do licznika rozkazów(PC) zostanie załadowana wartość 0x0000 czyli adres soft reset .Dlaczego , ano dla tego , że np. w 90s2313 &HDF jest najwyższym adresem pamięci RAM , a procek po powyższej sekwencji rozkazów , załaduje do PC dane spod adresu...
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...
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...
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...
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...
: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...
No osobiscie tez uwazam, ze niektore pytania byly nietrafione. Bylo pytanie o licznik PC (niepamietam dokladnie ktore, a nie mam jak sprawdzic bo pisze z tel kom) i tez zastanawiam sie czy 2 odpowiedzi nie byly poprawne. Bo po kazdym wykonaniu rozkazu licznik zwieksza sie o 1 no i przechowuje adres kolejnego rozkazu.
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...
Czyli jak na 8253 moge zrealizowac ten zegar czasu rzeczywistego? A jak ma zrealizowac ten dzielnik wiem ze w slowie programujacym mam ustawic tryb 2. A jak wpisac wartosci do liczników? Jaki to jest rozkaz, i jak nazywa sie licznik?
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...
Witam, Podłączyłem się do licznika 16EC3gr1 (PAF5EC3gr1) po rs232. Mam problem z odczytem rejestrów , na każdy rozkaz trybu rejestrowego licznik odpowiada [NAK] ([SOH]R1[STX] kod rozkazu [ETX][BCC]). Na "żądanie hasła" np.: [SOH]P0[STX](46492756)[ETX][BCC:i] wysyłałem puste : [SOH]P1[STX]()[ETX][BCC:a] odpowiedź [SOH]B0[ETX][BCC:q] i zerwanie komunikacji),...
Taki program mógłby wyglądać tak: Mnożna: rejestr E Mnożnik: rejestr A Wynik: rejestr HL LD HL,0000 ;inicjacja wyniku LD B,08 ;licznik pętli LD D,00 ;zerowanie bardziej znaczącego bajtu DE NXBIT ADD HL,HL ;przesunięcie wyniku w lewo RLA ;sprawdzenie cyfry monożnika JR NC, FIN ;opuszczenie zera ADD HL,DE ;dodanie mnoznej FIN DJNZ NXBIT ;powrót do początku...
Problem do rozwiązania z wykorzystaniem przerwań. Wykorzystujesz przerwania od licznika np. T0. W programie głównym wpisujesz wartości do 16 bitowego licznika T0 włączasz przerwania EA i ET0 na końcu przerwania rozkaz RETI. W zależności od oscylatora ustalasz wartości wpisu do TH0 i TL0 wiedząc ,że jest on incrementowany raz na 12 cyki oscylatora. W...
Asmox, sprawdź opis rozkazu brge, bo ja widzę, że on wykonuje skok, gdy wynik porównania wartości całkowitych jest nieujemny, czyli signed w opisie). Najlepiej pasuje tutaj BRNE - branch if not equal.
Witam szanownego kolegę ! Jeśli chodzi o SCPI to polecam książkę W. Mielczarka "Urządzenia pomiarowe i systemy kompatybilne ze standardem SCPI" wydaną przez Helion. Posiadam tę książkę i sporo dzięki niej się nauczyłem. Język SCPI to zbiór rozkazów, który można zaimplementować w dowolnym środowisku, ja robiłem to w LabVIEW. Wysyłałem też rozkazy po...
Osobiście uważam, że te przepisy są bez sensu, a przynajmniej dla posiadaczy starych aut. Komu i po co w starociu chciałoby się cofać licznik? Jednak mnie zastanawia inna sprawa, co będzie gdy policjant w czasie kontroli pomyli się w cyferkach i wpisze więcej niż jest w rzeczywistości, a kilkanaście czy kilkadziesiąt kilometrów dalej będzie następna...
Witam, pisze programy w asemblerze na mikrokontrolery AVR. Chciałbym po zgłoszeniu przerwania przejść do procedury jego obsługi ale juz nie wracać i aby program mógł dalej działać prawidłowo. Wiem, że po przejściu do procedury obsługi przerwania zerowany jest znacznik I w SREG, mam pytanie czy wystarczy poprostu ustawic flage piszac SEI w procedurze...
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...
W procesorach RISC jest to rozwiązane na 2 sposoby (przynajmniej ja znam). Jeden to taki że magistrala adresowa ma inną długość niż magistrala danych programu. Wtedy może być np rozkaz 18bitowy a przestrzeń pamięci programu (skoków) 16bitowa. Drugi trick polega na tym że rejestr numeru instrukcji składa się z 2 części, starszej i młodszej. Młodsza jest...
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...
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...
A więc jeszcze raz :) org 0 ;początek programu sjmp start ;skok do programu głównego org 000bh ;tu skoczy program po przepełnieniu licznika T0 inc B ;zwiększenie licznika B o 1 cjne b,0,koniec skok do etykiety "koniec" gdy B różne od 0 ;-------tu instrukcje zostaną wykonane jeśli odliczono 2^24 clr tr0 ;wyłączenie zliczania T0 (nie pamiętam...
Witam! Zgłębiam tajniki pierwszych komputerów i nadal nie rozumiem jednego... o ile na początku cała ogromna architektura była obsługiwana programem zapisanym na dziurkowanej taśmie...zakładam ze ta taśma była przewijana i zakładając że na przykład ..dwie blaszki były z dwóch stron taśmy to jak przechodziły przez dziurkę to było 1,a jak taśma nie miała...
Jestem dyslektykiem to dla twojej wiadomości. Ale chodzi mi czy po przepełnieniu licznika to przez ten rozkaz on skacze do timer0.Możesz mi wytłumaczyć jak to sie dzieje i jakie są zasady tego działania. chodzi mi tylko o tę czesc kiedy licznik sie przepełnia i wykonuje ten fragment programu.
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,...
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...
Witam! Niejednokrotnie już korzystałem z usług tego forum lecz pierwszy raz zdecydowałem się założyć własny temat (po prostu nie znalazłem odpowiedzi na nurtujące mnie pytania w tematach już istniejących). Otóż mam następujące pytania: 1) Jak można inaczej zapisać instrukcje PUSH i POP w asemblerze nie używając tychże instrukcji? Do dyspozycji mam rejestry:...
Trzeba było wykorzystać elektronikę wbudowaną w zegar do generacji impulsów co sekundę, w celu odmierzania czasu przez procesor. Tak, ale w takiej sytuacji trzeba programowo zliczać te impulsy za pomocą przerwania zewnętrznego. Już samo wejście do przerwania to jakieś dwa cykle maszynowe do tego trzeba kilkunastu cykli na wykonanie licznika. Język...
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ść
Zanim przystąpiłem do prób z zaproponowaną procedurą do obsługi UARTu, przeprowadziłem testy siłowe za pomocą kodu: $regfile = "m16def.dat" $crystal = 16000000 $baud = 38400 Dim Licznik As Integer Dim Rozkaz As String * 2 Licznik = 0 Do Incr Licznik Print Licznik ; " : 1023:1023:1023:1023:1023...
Mikrokontroler wewnątrz to nic innego jak układ cyfrowy składający się z bramek (które są z tranzystorów:-)). Bramki te są połączone w bloki (rejestry, przerzutniki, liczniki itp.). Te zaś tworzą bardziej skomplikowane struktury (np.ALU) itd. Pobrane rozkazy z pamięci (które są w postaci binarnej (0-1)) są podawane na wejścia układów wewnętrznych, które...
Co 3.88us wywołujesz przerwanie od przepełnienia timera. A przetwarzanie ADC w pętli while trwa 0.12ms- czyli 120us. Czyli podczas tej pętli pojawi się wielokrotnie przerwanie od timera0. A jeśli się pojawi podczas sprawdzania warunków tej pętli to moga się dziać dziwne rzeczy. Jedna instrukcja przy 8Mhz trwa 0.125us. Czyli obsługa przerwania powinna...
Najprostszy uklad jaki mozna zrealizowac - spelniajac postulat minimalnej liczby polaczen i autonumeracji urzadzen na szynie - poprzez szyne rs232 w ukladzie Daisy-chain. polaczenie takie moze byc zrealizowane w ten sposob, ze od glownego procesora (centralki) idzie linia nadawania do pierwszego urzadzenia w szeregu, z niego z kolei do nastepnego i...
SMB47 to jak wiesz rejestr sterujący pracą HSC1: Jesli wpisujesz do niego: 16#0C - 11000000 - to 1->SM47.7 - Licznik aktywny 1->SM47.6 - Rozkaz przepisania nowej wartości bieżacej z SMD48. W SMD48 masz 0 więc niejako go kasujesz Reszty nie ruszasz (wpisujesz tam 0) dzięki temu licznik nie zmienia sposobu działania, trybu, kierunku, itd. Jesli do SMB47...
MOV direct,#data Bytes: 3 Cycles: 2 Encoding: 0 1 1 1 0 1 0 1 direct address immediate data Operation: MOV (direct) ¬ #data co oznaczaja liczby w pierwszym bajcie?? Pierwszy bajt jest kodem rozkazu i informuje procesor, co zrobić i jakie są argumenty (oczywiście o ile dana instrukcja ma argumenty, a w tym przypadku ma). ADD A,#data Bity: 2 Cykle:...
Watchdog - to układ czasomierza zerowanego programowo, np. odpowiednim rozkazem procesora. Rozkaz ten umieszcza się np. w głównej pętli programu lub podprogramie, który ma być wywoływany okresowo. Jeżeli z jakiegoś powodu (np. zakłócenia) program pójdzie w maliny to licznik watchdoga nie zostanie wyzerowany i zostanie wygenerowany sygnał RESET procesora...
Witam, Problem polega prawdobodobnie na braku wywłaszczania przerwania TIM1 przez przerwanie Systick-a o wyższym priorytecie. Otóż w trakcie wywołania przerwania od timera wywołuję sobie funkcję delay-a: void TIM1_CC_IRQHandler(void) { if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) { TIM_ClearITPendingBit(TIM1,...
Ściągnąłem Terminal V1.9b i tam testowałem wszystkie parametry nastawy. Ale licznik dalej nie odpowiada. Widzę ze dane lecą do licznika bo dioda nadawcza miga. Albo wpisujemy błędny rozkaz albo coś jest walnięte.
a znasz moze jakie sa pamieci w tej karcie?jak jest zaadresowana?jakie obszary sa dostepne?gdzie mozna zapisywac?ilu bitowy jest licznik adresu?gdzie moge dostac dokladna rospiske tego typu rzeczy?
Po pierwsze to jaki to jest procesor? Bo standardowy '52 nie ma 6 cykli na rozkaz, a na początku napisałeś 8051. ATMEL TS80C32X2 Po drugie to to o co Ci chodzi z tym zatrzaskiwaniem? zatrzaskiwanie wartosci licznika 16 bitowego jednym rozkazem. Liczniki maja taki tryb, ale w przypadku T2 (tylko t2 zatrzaskuje 16 bit) sa do tego uzywane rejestry rcpa2H...
Dzień dobry. Ilekolwiek wolnego czasu byśmy nie mieli, zawsze przydałoby się więcej... Znowu się nie wyrobiłem, choć jak zwykle zmieniłem plany. Postanowiłem wysłać cokolwiek przez port szeregowy. Dostatecznie długo się do tego przygotowywałem, więc oczekiwałem szybkiego sukcesu. Ponieważ Tniasm nie jest zbyt wygodny w użyciu, a Pani Tasza poleca Sbasm,...
od.1. Flaga ta ustawiana jest sprzętowo przepełnieniem odpowiedniego licznika. Jeżeli nie używasz przrwania to musisz ją sam skasować, natomiast w sytuacji kiedy przepełnienie to generuje przerwanie to rozkaz RETI kasuje tą flagę. od.2. W '51 timery napewno liczą do tyłu. Co do liczników to musiał bym zprawdzić w manualu. 1) Flagi TF0 i TF1 przepełnienia...
Zobacz w Helpie Bascoma, rozkaz DEBOUNCE Px.y , state , label [ , SUB] w szczególnie Config Debonuce
działa, a co jeśli chcę, aby czart świecenia i nieświecenia diody był 4 razy dłuższy od buzzera? Przez komendę MOV A,#40, znowu będzie źle Musisz dodać licznik na przykład na którymś z rejestrów roboczych. Ładujesz go na początku wartością 4 i przy każdym przejściu przez rozkaz wyłączania buzzera dekrementujesz ją. Następnie używając rozkazu CJNE sprawdzasz...
Witam, Biorąc gotowy przetwornik, tylko 8 bitowy, nie wiem czy dobrze rozumuje: 1. Dekoder uruchamia zegar, będzie dawał osiem taktów na licznik 2. Licznik wysyła jedynke i zaczynam próbkować 3. Słowo 8 bitowe z ADC będzie sumowane z jakims slowem 8 bitowym - czyli sumator minimum 11-bitowy bo po 8 sumach dostane 11 bitowe slowo 4. Wynik będzie wpisywany...
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...
Odwrotnie. Skoro zmienia licznik programu to znaczy że jednak adres następnego rozkazu ma. Ale ma adres a nie rozkaz. Więc najpierw pobiera adres i to mu zajmuje jedną instrukcję, później rozkaz ale to jest nowy rozkaz więc musi poczekać jeszcze jedną instrukcję aż rozkaz się zdekoduje i dopiero w trzeciej instrukcji wykona rozkaz. Czyli w 3 instrukcjach...
Słoweńska Iskra ma kontrole zdjęcia kapy na liczniku Ja tylko dodam, że Iskra ma również moduły wykonawcze do swoich liczników, które po otrzymaniu rozkazu od nadrzędnego systemu lub urządzenia potrafią np. ograniczyć pobór energii. Jest to ukłon w stronę spółek, którym odbiorcy komunalni nagminnie nie płacą rachunków - można im ograniczyć przepustowość...
rozkaz atmega8 rozkaz wyświetlacz rozkaz komputerowy
amica instrukcja amica kopanie bitcoin karta pamieci aparatu
wozek widlowy nissan sterowniki kierownicy
Klekot lub świst po wymianie rozrusznika w Passat B5 1.9 TDI Audi A2: Kontrolka klocków po skręcie w prawo