Spróbuj tego, masz napisane w komentarzach co było zmieniane. Nie kompilowałem tego kodu. ; ******* Generator klawiatury stoparzowej (wersja poprawiona) ******** ; ATtiny2313, wewnętrzny 8 MHz ; - 2 bazowe częstotliwości (TON1/TON2) -> podziały /2, /4, /8 => 6 wyjść: PD0..PD5 ; - PB4..PB0 – klawisze (wejścia z podciąganiem)...
Rejestry robocze Rn są 4 bankach, zależnie od stanu bitów RS w słowie stanu procesora, nazwy R0 do R7 wskazują na różne obszary pamięci RAM Banki przełącza się ustawiając bity D4(RS1) i D3(RS0) rejestru stanu PSW(D0h) Po restarcie mpsora bity RS1 i RS0 są wyzerowane a więc dostępny jest bank 0 (adresy 0-7 w RAM) Rn - rejestry robocze n=0,1,...,7 (R0,R1,...,R7)...
Witam serdecznie wszystkich użytkowników ! Chciałbym zaprezentować działający projekt nad którym spędziłem z grubsza pięć i pół roku, a licząc dokładniej około 6000 godzin. Pewnego majowego dnia roku 2014 poczułem niezrównaną chęć poznania dokładnej zasady działania dość banalnego sprzętu jakim jest kalkulator. Niby jest to proste urządzenie i tak oczywiste,...
rejestry maja stan poczatkowy okreslony natomias rejestry robocze maja po resecie przypadkowe wartosci. prosze moderatora o zamkniecie tematu.
https://obrazki.elektroda.pl/5132775900_... Chociaż na zdjęciu widać mini płytkę z PIC18F1220, to posłuży ona jedynie do praktycznego zaprezentowania obsługi wątków które zaimplementowałem. Obecne możliwości kodu który chce zaprezentować, to działanie równoległe 2 lub trzech wątków, w tym głównej funkcji main która jest pierwszym wątkiem....
R200 to rejestr roboczy , i zadawanie informacji do tego rejestru nie przyniesie skutków.
http://obrazki.elektroda.pl/3207877000_1... http://obrazki.elektroda.pl/9634776400_1... http://obrazki.elektroda.pl/8673988800_1... http://obrazki.elektroda.pl/3005768300_1... Termometr z funkcją pamiętania maksimum i minimum (zapisane w rejestrach, tracone przy braku zasilania). Program...
tylko co z tego wynika ?? jeszcze male pytanko odnosnie AVR czy rejestry robocze maja jakas poczatkowa wartosc po resecie ??
Jak odlozyc rejestry robocze na stos? Przy takim zapisie wyskakuje mi blad: PUSH R1 dlaczego kompilator tego nie przyjmuje?
Witam Kolegów Forumowiczów, mam taki dylemat: potrzebuję zrealizować programowy niezależny 3-kanałowy PWM sterujący pracą diody RGB. Napisałem program, który ładnie generuje PWM tylko jest problem - brakuje czasu na inne procedury. Z założenia program pisany jest w asemblerze na mikrokontroler AT89C2051, który ma sterować diodą mocy RGB, dodatkowo obsługiwać...
w sumie to masz 32 rejestry robocze R0-R31 czyli 32 akumulatory z 51 w tym te od R16 do R31 można obsługiwać na poziomie bitowym.
mikmas: a jednak wrzuciłeś esencje naszej rozmowy na forum... pic'e pracują nieco wolniej.. w większości piców 4 cykle zegara składają sie na 1 cykl maszynowy. poszczególne stany rdzenia są jednoznacznie identyfikowane. avr działają z szybkością 1:1 - 1 cykl zegara to 1 cykl maszynowy (w przypadku większości instrukcji prostych), ale poszczególne stany...
Najlepiej wykorzystać dwa albo trzy rejestry robocze Zakładam ze dioda jest podłączona do portu do pinu P3.1 strat: cpl P3.1 skok: djnzR0,$ djnzR1,skok djnzR2,skok jmpstart
Choćby tak, ale to jest średnio profesjonalne podejście: .nolist .include "m8def.inc" jmp Omin_conf .include "conf.asm" Omin_conf: .list ;STALE i ZMIENNE ;============== ;moje rejestry robocze .def tmp =R17 .def tmp2=R16 .def APP_STATUS =R1
Pierwszy fragment kodu przypisuje do stacktop (szyt stosu) wartość RAMEND - 100, czyli 100 bajtów przed końcem obszaru pamięci danych (RAMEND zalezy od ilosci pamieci RAM w mikrokontrolerze - oznacza adres ostatniej komórki RAM. Natomiast dyrektywa .org RAMEND - 99 powoduje że "buffer" zaczyna się 99 bajtów przed końcem tego obszaru. Natomiast obszar...
"Czy ktos bardziej kompetentny moglby mi powiedziec czym roznia się te mikroprocesory pod wzgledem programowania, konfiguracji portow, taktowania itp. " procesory '51 mają rdzeń CISC więc instrukcje maja różną długość w kodzie binarnym, wykonują się w różnym czasie, posiadają różne preskalery zegara np 1:12 mają 89c2051 więc przy kwarcu 12MHz wykonują...
Parę uwag: - Ten program WPADNIE w pętlę nieskończoną, bo mu ją wpisałeś ( while(1);, nawiasy {} nie są potrzebne - polecam "biblię" - Kernighan&Ritchie "ANSI C"), tyle, że w tej pętli nic konkretnego nie będzie robił. Co do returna z main - AVR gdy trafi na niedozwoloną lub niezdefiniowaną instrukcję (a na to prędzej czy później trafi jak się return-nie...
To bardzo slabo szukales. Taki temat pojawia sie co kilka dni. Srodowisko uruchomieniowe dla AVR-ow za darmo dostepne jest na strone producenta czyli Atmela. Nazywa sie AVR Studio i zawiera kompilator asemblera, symulator. Co do roznic to oczywiscie sa znaczace. AVR to inna architektura wiec inaczej sie robi pewne rzeczy. Do dyspozycji jest 32 rejestry...
8 bitowe 6502 i Z80 adresowały 16bitowo, tak samo zresztą 8051 i AVR. Były '51 z 24 bitowym adresowaniem. Z kolei 32 bitowe MC68000 adresowały 24 bitowo. 32 bitowe 680EC20 też. Dopiero pełna wersja 68020 adresowała 32bitowo. "bitowość" procesora to jest w uproszczeniu jaki jest natywny typ danych (!!) przetwarzanych przez procesor. Bawi mnie określanie...
Poza tym generowanie sygnału CLK przerwaniem timera to nie problem ale robienie takich długich operacji w przerwaniu jak wypełnianie całej tablicy to moim zdaniem partyzantka. Przerwanie ma robić jak najkrótsze polecenia np. tylko ustawiać flagi na jakieś zdarzenie. Na PK był taki profesor co jak zobaczył w przerwaniu jakieś pętle to od razu darł kartkę...
Co do tych punktów za plik to wpisałem że że ma być 0 pkt. i nie chce się ustawić na 0, nawet jak edytuje :(. Pliki powyżej 125KB zawsze są opunktowane. co do tłumaczenia.. Co do kwesti technicznych, 4051 ma 4kb flasza i jak znam życie po przerobieniu nie będzie chciał wleźć do 2kb 2313 i tu można się pomylić. AVR ma 32 rejestry robocze a '51 ma tylko...
0xGH już wogóle wygląda...innowacyjnie :P Te dwa rejestry co wymieniłeś to nie są komórki pamięci. Rejestry które deklarujesz w plikach nagłówkowych to są już *(adresy w pamięci) , dlatego jest mozliwość postawić tam wskaźnik. A da się postawić wskaznik na np. R2? Spróbuj...;] Procesor ma rejestry robocze , nie wmapowane w pamięć, na których wykonuje...
Ustawienie tych bitów jest łatwiejsze i bardziej czytelne niż w AVR. czytelność ustawiania bitów zależy raczej od samego programu - są nakładki graficzne, pola wyboru konkretnej konfiguracji, a są też pola tekstowe na wpisanie wartości. Ja osobiśie ustawiam fusebity za pomocą avrdude bezpośrednio z konsoli, wartości pobieram bezpośrednio z dokumentacji,...
..bardzo trudno uodpronic uklad na reset np od zaklocen, zwlaszcza avr'ki ;)... wystarczy jeden przypadkowy reset na miesiac i musimy ustawiac zegarek co miesiac :(..ale wpadlem na inny pomysl, wystarczy zapisywac do eeprom aktualny czas co 1h, w razie resetu w najgroszym przypadku stracimy 60min dokladnosci...na 10lat daje nam to 80k zapisow ;)..ale...
Witam, próbuje podłączyć wyświetlacz led do mojego sterownika frezarki cnc - (nie ma oryginalnie led ale wiem że są wersję z led więc chce wykorzystać te piny) namierzyłem sygnały zegarowe i data które idą do dwóch rejestrów 595 połączonych szeregowo - w sumie otrzymałem 16 wyjść sterujących które sterują 6 cyferkami led, problem jest taki że nie mam...
Do daty dzisiaj
Dzięki WojtasJD . Po wybraniu opcji logowania jako-->to konto-->Przeglądaj-->Zaawansowane-->Znaj... teraz i wybraniu z listy "Usługa lokalna" oraz zatwierdzeniu zapora znów jest aktywna :D. Ta Vista mnie zadziwia coraz bardziej :D Dodano po 4 Naprawdę Visa zaskakuje :D Nareszcie uzyskałem pierwsze pingi z XP na Vistę. Po udanym załączeniu zapory w Viście...
Na stos są odkładane dane tylko podczas wywoływania funkcji lub przy przerwaniach - wiadomo, adres powrotu, odkładanie rejestrów roboczych etc.. w takiej pętli nie ma operacji na stosie (nie powinno być). Jakkolwiek "goto na_zewnatrz" robi z kodu troche spaghetti - skoki goto są bardzo nie czytelne... tutaj lepiej użyć "break;" który kończy wykonywanie...
Rozumiem, że przez "obliczyć %" masz na myśli policzenie 100 * x/15360. Żeby było prościej liczysz x/153 - błąd nieduży - przy niskich wartościach niweluje potrzebę korekty zaokrąglania, przy bliskich 100% błąd jest największy i dochodzi do 0.5%. Możesz sobie ręcznie zoptymalizować procedurę dzielenia dla znanego dzielnika - 153 to 0x99 binarnie, a...
Kod przenośny dotyczący rejestrów roboczych uC???
Czy jest ktoś w stanie wskazać w listingu ochronę SREG w obsłudze przerwania? Ja widzę "tylko" 32 rejestry robocze. :) "Czy jest ktoś w stanie wytłumaczyć" ;) ... taką serię zapisów do UDR :?: loop_s1_krancowka: ldi a, 1 // wyslanie sygnalu ze zadzialala krancowka out UDR, a // ldi a, 0x4B // out UDR, a // ldi a, 0x00 // out UDR, a // mov a, pom1...
Brak jest również obsługi rejestru stanu SREG w przerwaniu a rejestr roboczy " i " uzywany jest także w pętli main. N.
Na przykładzie: [syntax=asm]INCF 0x20, 0x0[/syntax] Jaki jest sens podawania wartości 0x20 która jest zapisywana potem do pamięci programu skoro i tak instrukcja ta wykonywana jest na rejestrze roboczym?
W tym przypadku kompilator prawdopodobnie nie wrzuci zmiennej do RAM tylko wykorzysta w tym celu rejestry robocze. Chcesz wiedzieć więcej - zapoznaj się z asemblerem danego procesora i jego budową.
Dziękuję za szybką odpowiedź. Czy istnieje jakieś proste wyjaśnienie tego faktu? (at)EDIT: Próbowałem zaświecić diodę LED programując dwa górne wyprowadzenia: PC6 (który jest oznaczany jak reset) oraz PC5. Po wgraniu programu dioda się nie świeci. Czy są jakieś wyjątki od tej możliwości? Poniżej wstawiam program, który wgrałem: [syntax=asm]/* * dioda_asm_cw3.asm...
możesz mi to bardziej wyjąsnić... Tutaj masz opis jak to zrobić na stacji roboczej w rejestrze jak i za pomocą polis systemowych: https://superuser.com/questions/15596/au... Tutaj podobne podjeście - troszkę inaczej opisane, mozna zrobic skrypt .ps1 i rekurencyjnie po folderach wgłąb usuwać pliki: https://woshub.com/running-powershell-st...
Dobrze że przesuwasz bit w prawo w rejestrze ale musisz wpisywać bit w 7 bit rejestru i następnie go przesunąć w prawo. Ponieważ DS wysyła od najmłodszego(LSB) bitu. aby ustawić lub wyzerować bit w rejestrze roboczym musisz użyć następującej komendy: ustawianie bitu sbr r16,1<<7 ; 7 oznacza wagę bitu zerowanie bitu cbr r16,1<<7 ; 7 oznacza...
Zmienna opatrzona volatile nie jest nigdy tymczasowo 'przenoszona' do rejestrów roboczych procesora. To w jaki sposób CPU wykonana niej operację? :)
ściągnij sobie notę katalogową 51. Na jednej ze stron jest tabela z rozpisanymi wszystkimi rejestrami. http://katalogi.iele.polsl.gliwice.pl/se... a jeśli chodzi o robocze to od adresu 00h są od R0 do R7 a potem jeszcze 3 razy tak samo od R0 do R7 czyli cztery banki. Ostani roboczy kończy się na 1Fh
Bardzo chciałbym żeby wszystkie posty były wiarygodne. 51-ka ma cztery banki przełączalne (w danej chwili aktywny jest tylko jeden) a w kazdym banku osiem rejestrów R0-R7. Co w efekcie też daje 4x8=32 rejestry. Dla ścisłości te 32 rejestry w MCS51 to nie to samo co 32 rejestry w AVR ponieważ: "...32-bajtowy(bardzo duży) obszar rejestrów roboczych,...
Danych na HDD nie utracisz po instalacji windowsa na SSD, ale to jasne, że jeśli miałeś programy wpisane do rejestru na SSD i posiadające swoje katalogi robocze, biblioteki na SSD, a zainstalowane są na HDD, to mają prawo przestać działać.
W [url=https://pl.farnell.com/c/polprzewod... z UK dostaniesz a przesyłka 35 zł netto. Dostawa UPS w 2-3 dni robocze.
ldi R30,0 ;rejestr ZL ldi R31,0 ;rejestr ZH ijmp ;skok do adresu wpisanego do ZL i ZH w tym przyladku do $0000 --> TA instrukcja wpisuje wartości 0 do rejestrów ZH ZL. Są to rejestry indeksowe ogólnego przenaczenia. Zazwyczaj stosuje się je do pośredniego adresowania rejestrów roboczych względem adresu bazowego. --> Stąd po wykonaniu rozkazu IJMP lub...
No właśnie dla sbrc zgłasza błąd przy kompilacji:( D:\projekt asm\asembler\konfiguracja.asm(24): error: Invalid register No i chyba mam już powód: sbrc służy do pomijania następnej instrukcji jeśli bit jest wyzerowany ale dla rejestrów roboczych czyli jak rozumiem R0-R31:( Natomiast dla rejestrów funkcyjnych jest rozkaz sbic ale niestety też nie działa...
Mam takie pytanie, dlaczego rejestr roboczy W jak często spotykam w necie to jest odtwarzany po obsłudze przerwania w ten sposób? [syntax=asm]SWAPF W_TEMP, F SWAPF W_TEMP, W[/syntax] A nie na przykład w taki? [syntax=asm]MOVF W_TEMP, W[/syntax]
Masz wiec do wyboru: zadawanie częstotliwości napięciem 0~10V zadawanie częstotliwości prądem 4~20mA zadawanie częstotliwości sygnałem pulsacyjnym We wszystkich trzech przypadkach wystarczy przenieść od rejestru roboczego żądaną wartość. Z RS-em dał bym sobie spokój.
AT90S1200 ma mniej pamięci programu i nie ma pamięci SRAM (tylko rejestry robocze) więc dla większości kompilatorów języka wyższego poziomu jest bezużyteczny. Kolega wyżej dobrze radzi, jest to następca poszukiwanego układu, jednak wsady ze starego 2313 mogą nie działać poprawnie (Unlooper nie działa prawidłowo) Ale jeśli masz kody źródłowe, to wystarczy...
No niestety kropka tu nie pomoże, sprawdzałem to wcześniej. Jeśli chodzi o zmienną to próbowałem jakoś odczytać wartość rejestru do zmiennej ale nic to nie dało, błąd zgodności danych czy coś takiego. Poza tym zmienne same w sobie też mam umieszczone w rejestrach roboczych. Próbuje jakoś ten asm wpleść ale też mi topornie idzie, co oznacza "nop"?
czas trwania impulsu dodatniego częstotliwość tych impulsów to od 0 do 400 na sekunde a opis tej instrukcj to zerowanie bitu w rejestrze a jeśli załaduje rejestr roboczy funkcyjnym to wskazywany bit do zerowanie będzie pod nazwą bitu z rejestru funkcyjnego (a niejest tak???) to jesili nie to czemu wcześniejsze instrukcje działają np.ustawiają i zerują...
Dzięki za odpowiedź. Czy dysponujesz jakimiś materiałami bądź przykładami odnośnie tego w jaki sposób mam wykorzystać pamięć RAM jako bufor? Czy pamięć RAM ma wydzielony obszar dla buforu czy mam korzystać z rejestrów roboczych, a może ze stosu? Trochę nie mam pomysłu jak miałoby to wyglądać. ;)
napięcie robocze outlook robocze stanowisko robocze
huawei ładować wymiana membrany gaznika sterownik prędkość jazda
electrolux indukcja miernik skacze
Tabela kodów ASCII, dostępu i błędów w elektronice Jak zdjąć hasło z odtwarzacza DVD Philips 5990?