witam, na pierwszy rzut oka widać że niepoprawnie przypisujesz sygnały w komponentach ass1_interface:ass PORT MAP(PRZESUN_IN,A0,B0,S0,K); ass2_interface:ass PORT MAP(K,A1,B1,S1,L); ass3_interface:ass PORT MAP(L,A2,B2,S2,M); ass4_interface:ass PORT MAP(M,A3,B3,S3,PRZESUN_OUT); jak wynika z symualcji sygnały...
Proste dodawanie jest OK, tyle, że 16 bitowe ze znakiem. Procedura do znalezienia wszędzie. A tego i tak nie unikniesz, bo jak sam piszesz może być przepełnienie. Albert
Musze Cie zmartwić ale nie da się tego zrobić na jednej tabelce .. dla kazdej sumy i przeniesienia musisz robić oddzielną funkcje. W załączniku masz skan z ksiązki przedstawiający sumator jednobitowy, tablice karnaughta dla niego i symbol graficzny .. aby zrobić sumator dwubitowy ... trzeba takie dwa sumatory jednobitowe połączyć ze sobą równolegle...
Jak opisać słownie dodawanie liczb 24-bitowych przez procesor 8 bitowy
Po co w ogóle coś liczyć - dodajemy kolejno przychodzące 8 lub 16 pomiarów a na koniec przesuwamy wynik o 3 lub 4 miejsca w prawo i mamy średnią. Ciekawą opcją jest średnia z 256 pomiarów dla przetwornika w trybie 8 bitowym: dodajemy kolejne 256 pomiarów a uśredniony arytmetycznie wynik sam ląduje w starszym bajcie zmiennej typu unsigned int.
Po pierwsze należy się zapoznać z procesorem, na który ma być pisany program. Szczególną uwagę należy zwrócić na rejestry i organizację pamięci. Dopiero później można pisać program. Podejrzewam, że dowolna książka traktująca o 8051 zaczyna się zwykle od takich informacji. W moim przypadku sprawdziła się np. "Podstawy programowania mikrokontrolera 8051",...
Dodawanie ADD i ADC różni się tylko tym, że ADC uwzględnia przeniesienie wchodzące jako trzeci argument. Jeśli chcesz dodać dwie liczby 16-bitowe, to najpierw dodajesz mniej znaczące bajty używając ADD, a następnie dodajesz bardziej znaczące bajty używając ADC. Twój pierwszy program - to pierwsza połówka tego, co masz zrobić. Drugi - to błędna wersja...
Coś pomyliłeś. Spróbuj znaleźć jakiś programowy symulator i porównać symulację z rzeczywistością - np. miernikiem stany logiczne na wejściach i wyjściach bramek. Dobrym pomysłem może być rozpoczęcie od 1-bitowego sumatora i późniejsze dodawanie kolejnych bitów - stopni.
Układ 7483 to jest coś takiego, co ma wejścia A0,A1,A2,A3, B0,B1,B2,B3, CIN, i wyjścia S0,S1,S2,S3, COUT. Na wejścia A podajesz jedną liczbę (na A0 najmniej znaczący bit, na A3 najbardziej znaczący), na wejścia B drugą. W ten sposób dodajesz 2 liczby 4-bitowe, CIN łączysz wtedy do masy. Żeby dodawać większe potrzebujesz połączyć kilka takich układów,...
Problem jest banalny:) Dzielisz swoją liczbę przez 10 i masz cyfrę dziesiątek. Reszta z dzielenia przez 10 (czyli %), to cyfra jedności. Dziesiątki przesuwasz o 4 pozycje w prawo (operator <<) i dodajesz bitową sumą do jedności.
pokaz swoje wypociny
Już kilka razy pisano Ci powyżej, że problem leży w tym, że wynik mnożenia dwóch liczb 16-bitowych na AVR ma 16 bitów, i że wystarczy napisać: suma+= (uint32_t) tab[indeks]*tab[indeks]; żeby iloczyn miał 32 bity, to po pierwsze. Po drugie - algorytm, który przyjąłeś, jest zabójczy dla 8-bitowego AVR. Co chwila zmieniasz założenia, a kompletnego kodu...
Witam. ostatnio zainteresowałem się elektroniką cyfrową i zastanawia mnie jak na przykład procesor intel 4004 po dodaniu dwóch liczb 4 bitowych 9+9 na wyjściu przedstawiał liczbę 18 bo ona jest zapisana w 5 bitach Ona jest zapisana w dwóch liczbach 4 bitowych. Ciekawostką jest zamiana tego kodu na kod wielosegmentowy. Co jest proste, widać to na wielu...
nie, chodzi mi o 4 bitowe liczby
Dodajesz i odejmujesz 8bitowe kawałki oddzielnie i jeśli nastąpi przeniesienie w młodszym kawałku to dodajesz/odejmujesz jeden do starszego
Dla zapisu całego słowa do portu (w 16bitowych uK - 16bitów) nie ma znaczenia czy użyjesz LATx czy PORTx, ale wykonując operacje na bitach (pinach) portu lub nawet na całym porcie, typu: przesuwanie bitowe, dodawanie itp. to wykonywane jest to w sposób taki: odczyt-zmiana-zapis. Np. wykonując bezpośrednio po sobie rozkazy: bclr PORTB,1 bclr PORTB,2...
Jeżeli te operacje mają na celu np. monofonizację sygnału to robi to się wg następujacego wzoru: M=\frac{X+Y}{2} (****) Dodajemy w zmiennej 16 bitowej ze znakiem a wynik po podzieleniu przez 2 zapisujemy w 8 bitowej ze znakiem. Nie podzielenie wyniku przez dwa powoduje wyprowadzenie wyniku poza zakres 8 bitowy. Obcinanie typu if x>127 then x=127 nie...
dla ZbeeGin: chce zrobic dodawanie liczb 16-bitowych ze znakiem w kodzie BCD.
Zobacz na http://www.avrbeginners.net AVR Assembler->Math->Multiple byte maths. Są tam co prawda krótkie, ale dobrze opisane przykłady operacji na liczbach 2 i nawet 4 bajtowych: dodawanie, odejmowanie, porównania itp. Pozdrawiam
Witam wszystkch, Od razu zaznaczę że jestem mocno początkujący i jeżeli coś będzie niejasne to proszę pytać :-) Chciałbym zbudować sobie takie prosty układ logiczny który wykonuje dwie operacje np dodawana 1 bitowych wartośći i odejmowania (bez bitu przeniesienia)) ich. Wiem jak zbudować te układu osobno, natomiast teraz chciałbym je połaczyć: Czyli...
W załączniku jest akumulator 12 bitowy dodający liczby 8 bitowe. Dodanie liczby następuje na narastającym zboczu sygnału DODAJ. Zerowanie wyniku następuje przez wymuszenie stanu niskiego na lini zeruj.
Witam. Zaczynam naukę mikroprocesora 8086. Trochę poczytałem i chcę napisać swój pierwszy program, dodawania 3 liczb 8-bitowych. Czy może to wyglądać w ten sposób? .model small .stack 100h .data .code start: mov ah,0 int 16h ;pobiera znak z klawiatury i zwraca w AL mov bl,al ;przerzucam liczbe z AL do BL mov ah,0 int 16h ;pobiera drugi znak z klawiatury...
Ale zasada działania jest ta sama? Tzn. sumuje słowa 32 bitowe, "łamie na pol" do dwóch słów 16 bitowych, dodaje do siebie i wynik neguje? A ten wielomian to po co?
Bardzo dziękuję, raczej użyje tej metody z dodawaniem A+A, bo jest dość prosta
Witam wszystkich. mam problem z napisaniem programu: arytmetyka (dokladnie dodawanie i odejmowanie) liczb co najmniej dwubajtowa dla mikrokontrolera 8051 bede wdzieczny za kazda pomoc rade i wskazowke moje gg 4070278 (zawsze na niewidocznym) e-mail: yatatakeru(at)interia.pl lub tutaj:) z gory dzieki za pomoc. pozdrawiam
Chodzi mi o to żeby zwiększyć maxymalna ilość jaka może wejść, bo ja w opisie mam napisane 4 Gb max, I tego nie przeskoczysz. I tutaj mam pytanie czy bd czytało taką ilość ramu, i jak można to zrobić żeby system odczytał taka ilość ? Zależy jaki system ilu bitowy.
Witam. czy mógłby mi ktoś pomóc w zadaniu o takiej treści: Zapisać tablicę prawdy dla dodawania dwóch liczb 2-bitowych. Nie miałem tego typu zadań na zajęciach ale na zaliczeniu się pojawiło i nie mam pojęcia jak to rozwiązać. będę bardzo wdzięczny za rozwiązanie pozdrawiam
Jeszcze jedno mam pytanie. Szybciej w STM32 wykona się dodawanie/odejmowanie 32 bitowych zmiennych, czy 8 bit ? A jak w powyższym jest z mnożeniem i dzieleniem ?
robiłem to tak ze mierze w jednakowych odcinkach czasu napięcie i prąd, mnożyłem je se sobą, a otrzymany wynik dodawałem do 32 bitowej zmiennej, a jeśli wartość tej zmiennej przekroczyła jakąś wartość( doświadczalnie przy kalibracji) to do zmiennej Wh ( nie kWh bo by mi tych 32 bitów brakło :D ) dodawałem jeden, a od zmiennej 32 bitowej odejmowałem...
Może ktoś ma pomysł na dobry przykład tego polecenia na 51, ja mam zaćme nie moge nic sensownego sklecić. najprostszy: dodawanie 2 liczb 16 bitowych. Najpierw dodajesz młodsze bajty przez ADD - generuje przeniesienie (Carry), gdy wynik przekroczy FF a potem dodajesz starsze bajty przez ADDC (dodaje też przeniesienie)
Można użyć operacji stałoprzecinkowych zamiast operacji na float. Autor nie ma nigdzie operacji float. (100 - volume_coefficient) *127)/100 Ta część obliczeń jest stałą w pętli, więc nie powinna wprowadzać żadnych obciążeń. W wielu miejscach rzutujesz typ na 32-bity, podczas, gdy wynik operacji nie może przekroczyć 16 bitów. Takie rzutowanie wprowadza...
Wygląda na to, że bit znaku jest dodawany do liczby 12-bitowej i otrzymujesz liczbę 13-bitową zapisaną w kodzie U2: (https://pl.m.wikipedia.org/wiki/Kod_uzu... ) Jedynie temperatura 2.8 st.C nie pasuje do tej układanki. Jest też więcej próbek, więc można będzie zrobić lepszą analizę CRC, ale to pewnie dopiero wieczorem, jeśli...
Jeszcze można to uprościć dodając jedną zmienną bitową która była by odpowiedzialna za włączanie i wyłączanie światła , a warunki skrócić. Domyślasz się oco chodzi?
Chcę zrobić prosty kalkulator ( dodawanie ) dwóch liczb 8 bitowych, ale potrzebuję sumatora, najlepiej 1 bitowego tak abym mógł dla każdej pozycji dwójkowej wprowadzić 2xinput, 1x carry, 1xsuma, 1xcarry_z_poprzedniego. Czy ktoś orientuje się gdzie mogę taki sumator dostać, musi być do płytki stykowej. Z góry dziękuję
to jak zlituje sie ktos nademną ;d i pomoze w tym zadaniu ??? spróbujcie bede wdzieczny
musisz przejść na liczby zapisane w systemie dziesiętnym, gdzie każdą cyfrę masz zapisaną w oddzielnym rejestrze jeżeli każdą cyfrę masz zapisaną w rejestrach to trzeba dodać 30h i masz kod ASCII do wyświetlenia na lcd zobacz in acc2,adcl ; odczytanie wartosci z przetwornika AC ; ADLAR = 1 > wazny tylko adch clr d100 ; podstawa setek w dec ldi acc,0x64...
Stos w '51 jest analogią stosu talerzy (np. po zmywaniu a przed wycieraniem, przy założeniu że nie masz suszarki :-)) Najpierw myjesz i kładziesz jeden na drugim a następnie zdejmujesz od góry (czyli nie możesz wyciągnąć nic ze środka). Ostatni talerz umyty jest jednocześnie pierwszym wytartym. Konkret. PUSH ACC kładzie na stosie akumulator, PUSH B...
Ale proc ma 128 bitowe jednostki obliczeniowe, i o to się rozchodzi. Na czym szybciej zrobisz dodawanie 2 liczb 128 bitowych na 32 bitowym 486 czy 64 bitowym P II. Chodzi cały czas o jednostki obliczeniowe, a nie zbiór instrukcji, który w obu przypadkach jest 32 bitowy.
Drugi bajt ma u Ciebie 9 bitów. :P Przykładowo dla sumy 8-bitowej: 11001100+10110110=1 10000010 Dziewiąty bit wyniku (licząc od LSB) odrzucasz i dodajesz do wyniku kolejny bajt w ten sam sposób. Odrzucenie tego bajtu jest właśnie operacją modulo.
:? Potrzebuje schemat i opis prostego procesora 8-bitowego w ktorym bedzie zastosowana pamiec, rejestry, ALU które wykona działania arytmetyczne i logiczne (dodawanie. odejmowanie, mnożenie) za pomoc bardzo dziekuje
Prosze o kawałek kodu z dodawaniem dwóch 8 bitowych z wynikiem 16 bitowym. Przykładowy kod: in r17,ADCH clr r16 PETLA_PRZESUN_LEWO: lsl r17 inc r16 cpi r16,8 brne PETLA_PRZESUN_LEWO in r16,ADCL movw XH:XL,r17:r16 Po tej operacji poprawny wynik jest w rejestrach XL i XH. Temperatura nie przekroczy 255 stopni wiec teoretycznie (w/g mnie)...
Przerwanie ADC jest wywoływane po zakończeniu konwersji, a ta zależy od częstotliwości taktowania ADC (preskalera). A uśrednić można przez dodawanie i na końcu odpowiednie przesunięcie bitowe - np. dodajesz 8 próbek i przesuwasz o 3 bity w prawo (dzielisz przez 8). Można też zrobić to inaczej - odejmować od średniej np. 1/8*śrendia i dodawać 1/8 wyniku....
poczytaj o przesunięciu bitowym... zamiast wpisywać do tablicy możesz zadeklarować jakiegoś integera przesuwać o 1 bit i dodawać kolejne odczytane bity, w ten sposób będziesz miał liczbę całkowitą reprezentującą odebrany kod a zamiast wielu if możesz użyć case trochę to uprości.
bo ja też popełniłem błąd myśląc, że to jest pięć sumatorów Bo to jest 5 sumatorów. Tylko jak w samochodzie wsiadasz jednym wejściem to przeważnie wychodzisz tym samym, a nie przez bagażnik, chociaż i tak się da. Tutaj jest podobnie, jeśli dodajesz 7 wejść bitowych dostajesz wynik na wyjściach 2(n+x). Natomiast piąty sumator sumuje dodatkowo dwa przeniesienia...
powiedz prowadzacemu zajecia, ze nauka ahdl to czysta strata czasu; a moze lepiej nic nie mow ... :) /.../wydaje mi się że dobrze/.../ troche bledow jest :) 1. variable A S powinno byc zadeklarowane jako 5 bitowe DFF, a obliczane tak samo jak powyzej: S[] = ( 0, S_ab[] ) + ( ... 4.wyj[]=S[] div B"0100"; ahdl nie pozwoli ci na dzielenie niczego poza...
na początek w 1 bajcie możesz zapisać maksymalnie liczbę 255 a dodawanie takie robi się tak: np. liczbę 32 bitową musisz w zasadzie pobierać z pamięci i tam trafi wynik: od adresu 020h mov a,020h ;pierwszy bajt 1 liczby do akumulatora add a,023h ;dodajesz bez znacznika CY pierwszy bajt 2 liczby mov 026h,a ;do pamięci dajesz pierwszy bajt wyniku mov...
Czy ktos wie jak zrealizowac podstawowe funkcje arytmetyczne ( dodawanie ,odejmowanie, dzielenie mnożenie) na liczbach 16- bitowych w procsorze 99c51.
Jeśli chcesz na kompie stacjonarnym widzieć pliki udostępnione na lapku musisz na viście w lapku we właściwościach udostępnianego folderu w zakładce udostępnianie, zezwolić na udostępnianie gościowi dodając go do listy użytkowników Co do udostępniania internetu w poprzez PC, to jakiego masz windowsa XP, 32-bitowego? bo chyba w edycji 64-bitowej Windowsa...
Odejmowanie to tak naprawdę dodawanie liczby przeciwnej. Dodawanie już masz, więc potrzebujesz wyznaczyć liczbę przeciwną do liczby odejmowanej. Tutaj masz dobry opis: http://www.i-lo.tarnow.pl/edu/inf/alg/nu... . Następnie musisz dobudować blok, który będzie reagował na znak działania i w razie potrzeby wyznaczał liczbę przeciwną do drugiego...
Wymyśliłem tymczasowo inna drogę obejścia problemu. Po wygenerowaniu netlisty edytuje plik system.vhd i tam dodaje dodatkowy sygnal 32 bitowy i przypisuje odpowiednio w kodzie sygnał do odpowiednich portow. ( w jednym przypadku caly, a w drugim (11 downto 0).
Witam, Skoro nie można użyć mikrokontrolera to chyba zapisywanie wyniku w pamięci ROM jes tchyba lekkim bezsensem :). Ale jeśli nie mikrokontroler to nie znaczy, że musi to być układ zlożony z bramek. Zamiast tego można zastosować układ 74S181, który jes TTL-owską jednostką arytmetyczno-logiczną - akurat 4-bitową z 16-toma różnymi funkcjami (dodawanie,...
Witam wszystkich. Mam małą prośbę mam do zrobienia układzik mnożący liczby 8 bitowe bez znaku (mnożenie przez dodawanie i przesuniecie). nie wiem zbytnio od czego mam zacząć. prosiłbym o pomoc. z góry dzięki dla wszystkich którzy pomogą.
Zaprojektować układ logiczny dodający dwie n-bitowe liczby NKB Proszę o pomoc bo nie mam pojęcia jak to zrobić....
W jakim kodzie są dodawane liczby - bin czy BCD? I w jakim kodzie ma być wynik bo jeśli w bin to dodając do siebie dwie 11-bitowe liczby potrzebujesz tylko dwóch rejestrów 8 bitowych na reprezentacje wyniku.
Mam wrażenie, że PORTB ^= (255)|(170); i PORTD ^= (255)|(170); działają tak samo, jakbyś użył PORTB ^= 255; PORTD ^= 255; - kompilator i tak zrobi to samo. To powinno dać równo 50%, zmiana sposobu odmierzania 128 sekund może co najwyżej pomóc ustawić równo 128 s, a nie np. coś w stylu 128 000 032 us. Dla 50% istotne jest, że _te same_ instrukcje odmierzają...
Nie ma 34 bitowych systemów. Jeżeli nie będziesz dodawał większej ilości pamięci RAM to możesz zainstalować 32 bitowy. Na tej konfiguracji spokojnie ruszy 64 bitowy. Systemy te są szybsze od 32 bitowych, mają więcej możliwości. Osobiście polecałbym zainstalować 64 bity, nie będzie problemu jak będziesz chciał rozbudować zestaw.
Witam Co do odczytywania parametrów konfiguracyjnych, to tam są wartości 16 bitowe zapisane jako dwa 8 bitowe bajty. Robisz odczyt w następujący sposób: [syntax=c] AC1 = readFromAddress(0xAA); AC1 <<= 8; x = readFromAddress(0xAB); AC1 = AC1 + x; //i tutaj masz błąd [/syntax] Operacja dodawania arytmetycznego + i dodawania logicznego | nie są tożsame....
Nic, po prostu dodawaj. Zakładając ośmio bitową średnią ze znakiem, zakresem jest -128 do +127 Liczba zero prezentuje się jako 00000000, jedynka to 00000001, -1 to 11111111, -2 to 11111110 Dodając -1 do liczby 0 wychodzi binarnie 11111111. Sprawdzając najstarszy bit - jeśli jest ustawiony - to oznacza że liczba jest ujemna, a żeby obliczyć jej bezwzględną...
Ale już dodawanie 32-bitowe, to dla ARM 1 takt, dla AVR - 4 takty. Ok, dodajmy pobranie i zapisanie rejestrów, żeby AVR pognębić to mamy ARM 3-4 takty, AVR - 20 taktów. Ale już dla obliczeń na 8-bitach przewagę uzyskuje AVR, bo operacje 8-bitowe są na ARM kosztowne. Pytanie po co je stosować, skoro możemy bezkarnie wydłużyć typ. Są dziesiątki innych...
Odejmujesz czy dodajesz bity w sumatorach?
No przecież jest addc. Czyli dodawanie z przeniesieniem.
Poza tym biblioteka I2C też nie pasuje do tego mikrokontrolera. Należy zastosować tę: https://github.com/Taur-Tech/dsPIC30F-I2... Ten projekt z przykładu oparty był prawdopodobnie na kontrolerze 8-bitowym 16F877.
Dzięki za odpowiedź, stało się to dla mnie jasne. Już widzę, gdzie popełniałem błąd - uważałem, że każdy sumator powinien być o 1 bit większy od poprzedniego, żeby nie doszło do przepełnienia, co jest twierdzeniem niepoprawnym, bo ciągle dodajemy przecież liczbę 32 bitową - jeden ze składników sumy ma stałą liczbę bitów.
hd 58 Kasek21 za odpowiedź, chciałbym tylko jeszcze znać zdanie innych co do tej karty?
tplewa: Zobacz, jak długi jest kod wygenerowany przez kompilator dla typowych, prostych operacji w C, np. dodawanie liczb 16-bitowych, sumowanie wektora takich liczb itp.. AVR jest przyjazny dla kompilatora (chociaż kompilator niekoniecznie w to wierzy), 51 i PIC (8-bitowy) to nie są architektury, na które daje się normalnie generować kod z języka wysokiego...
Witam. Szkielet programu asemblera na 51' zamieszczałem w poście pod koniec wątku: [url=http://www.elektroda.pl/rtvforum/vi... Dodawanie 3 liczb 8-bitowych - może się Koledze przyda. Do kompilacji najczęściej używam ASEM'a. Pozdrawiam.
Nie wydaje mi sie, ze ALU tu decyduje. Wezmy takie AVRy, niby 8-bitowce, ale ALU ma tez pewne operacje 16-bitowe - dodawanie i odejmowanie stalej, inkrementacja, dekrementacja, mnozenie. Wiec jest mieszane, mimo, ze procesor jest stricte 8-bitowy. Poza tym czy rejestry X, Y i Z traktowac jako pary rejestrow, czy moze ich 8-bitowe czesci to tylko skladniki...
Przy dodawaniu dwóch wartości 12-bitowych wynik może być 13-bitowy.
Proble z obliczeniami w AVR ie polega na braku dzielenia, a na tym, że liczymy na 8 bitach. Prosta operacja 16-bitowa - to min. 2..3 instrukcje, 32-bitowe - 8..12 instrukcji. W 8-bitowym procesorze nie ma żadnego pożytku z dzielenia, bo w programach, w których potrzebne jest dzielenie, używa się danych 16- lub 32-bitowych, a w przeciwieństwie do mnożenia...
Przesuwa sie w prawo bo na ostatnim miejscu nic już sie nie zmieni i dodaje sie wprost wartość jak sie okręci rejestrem określona ilość razy to i tak wyjdzie dokładnie to co ma wyjść może to troszkę bez logiki ale działa jak powinno. A wynika to z tego że rejestr z wynikiem jest 16 bitowy składa sie z 2 rejestrów. Jak kolega by chciał przesunąć liczbę...
sumatory pewnie 4 bitowe, połączone w 8 bitowy sumator (przeniesienie). Odejmowanie realizujesz przez negację jednego czynnika przed sumowaniem i dodanie 1 na przeniesieniu na najniższej pozycji (c0). Negację można zrobic na inwerterach lub bramkach EXOR (układ uniwersalny - dodatkowym sygnałem decydujesz co układ ma robić: dodawać czy odejmować) Sumatory...
Innymy słowy - normalizujesz (Sprowadzasz do wspólnej cechy), dodajesz mantysy, zachowujesz cechę :)
"Uwielbiam" czepialskich co to się czepiają dla samego czepiania wcinając się w cudze wypowiedzi do tego nie zrozumiawszy ich do końca - to do anonimowego anonima, którego nie znam z imienia, nazwiska ani loginu, który to chyba uważa, że dzień bez ANONIMOWEGO DONOSU to dzień stracony. A teraz do tematu: Czy w tym zadaniu masz narzucone rozwiązanie...
Oj nie tak, sympatyczny kolego ... ... my TU się dzielimy swoją wiedzą :D Zakładamy , że wynik nie przekroczy 16-tu bitów , czyli dziesiętnie 65535.Dane pobieramy w kolejności od jedności do dziesiątek tysięcy. 1)Wynik = 0 ;zerujemy iloczyn 2)Wynik = Wynik + cyfra ;dodajemy liczbę 8-mio bitową , do 16-to bitowej 3)jeśli to była ostatnia cyfra , to...
No właśnie on normalnie konwertuje. Bez dodawania. Czyli na uC ma też nie być odejmowania. Jeżeli nie wyświetlasz napisów na LCD to mógł byś przejść na tryb 8-mio bitowy co jeszcze przyspieszy odświeżanie o kilkanaście %. Ale do tego to znowu trzeba będzie nowy zawirusowany program na PC :D
Poza tym pobieżnie przejżałem DS ATTiny i nie widzę instrukcji analogicznej do DIV w 8051?? Jak w nim dzielić liczby?? A czy znalazłeś MUL? ;) Do takich obliczeń niestety trzeba pisać własne funkcje. Można mnożyć i dzielić poprzez wielokrotne dodawanie lub odejmowanie danej liczby, ale to jest oczywiście dosyć mało optymalna metoda. Oczywiście mnożenie...
Trafo, dopóki nie wchodzi w nasycenie, to nie generuje harmonicznych. Sprzężenie zwrotne z trafa możesz zrobić z dodatkowego niskonapieciowego uzwojenia. Właściwie, dla demonstracji, najłatwiej by było zrobić to jako program graficzny na kompie. Kiedyś w czasach 8-bitowych Atari (ale już z grafiką!) robiłem takie rzeczy w Basicu. Wygodą jest to, że...
Oj to będzie gorzej. Jak to pisałem to algorytm był z jakiejś książki a jak zadziałało to przeszła biblioteka do archiwum jako sprawdzona i do tego już nie muszę wracać. Z tego co tam widzę to polega to na dodawaniu liczby 0x03 w odpowiednich momentach. Przy odwrotnej konwersji dodaje się chyba 0x05
pojawiają się do wybory x86 albo x64. Który mam wybrać jeśli mam 64 bitowy procesor, do tego dodaję że sprawdzałem jeszcze architekturę procesora w takim programie i mi się wyświetliła x86-64 Przy 3GB RAM instalacja 64-bitowej wersji OS nie ma najmniejszego sensu...
Mnoży się starszy bajt * 256 i dodaje się młodszy !
Po prostu po przesunięciu dodajesz bitwo 1 do wyniku przesunięcia:-)
Zadanie: . Zaprojektować jednostkę arytmetyczno-logiczna, która będzie realizować dodawanie i odejmowanie 4-bitowych liczb binarnych w kodzie U2 oraz ma informować o przekroczeniu zakresu. Zrobiłem taki układ: http://obrazki.elektroda.net/18_12442034... Dobrze zrobiłem ten układ? Jak zrobić, żeby informował o przekroczeniu zakresu? Pozdrawiam...
A czy umiesz mnożyć pisemnie - tak w kolumnach? To teraz wyobraź sobie że robisz to w układzie dwójkowym, gdzie są tylko dwie cyfry - 0 i 1. Mnożenie przez 0 daje 0, a przez 1 daje wynik równy drugiemu mnożnikowi. Bierzesz 4 bitową liczbę, mnożysz niezależnie przez oba bity tej drugiej liczby. Wynik mnożenia przez starszy bit przesuwać o 1 bit w lewo...
Napisz jaką potrzebujesz dokładność, jeśli niewielką to najlepiej użyć gotowej tablicy. Jeśli dużej to trzeba rozłożyć funkcję pierwiatkowania np. na szereg Taylora i wtedy obliczać kolejne przybliżenia, ale to wymaga napisania procedur operacji zmiennoprzecinkowych (głownie mnożenie i dodawanie zmiennoprzecinkowe).
A skąd jest ten drugi kod? Bo jest bardziej rozbudowany od pierwszego i nie nadążam za Tobą to byl ten sam kod co wczesniej podalem tylko wycialem sam fragment po strcmp i w komentarzach rozpisywalem jak kazda linijke rozumiem Oj, raczej nie, w tym drugim kodzie jest więcej porównań/warunków i skoków, ale go nie analizowałem, więc nie wiem jak działa...
Witam Muszę sprawdzić, czy zawartość rejestru jest większa, czy mniejsza od pewnej stalej... Np. ldi r16,112 subi czas,112 brcs czas_jest_mniejszy_od_112 breq czas_jest_rowny_112 czas_wiekszy_od_112: rjmp main czas_jest_mniejszy_od_112: rjmp main czas_jest_rowny_112: rjmp main Zapewniam Cię , że rozwiązań na odejmowanie/porównanie 2 bajtów...
Dodaje jeśli jest cykliczne z przeniesieniem Cy:)
Wogóle nie działa ten program trzeci wienc nieweim co to ma wspólnego z tym co jest napisane. Ostatni rozkaz byl blednie zapisany ma byc JR NZ,przesuniecie lub JP NZ,adres etykiety. Oczywiscie w wersji ze skokiem wzglednym kompilator musi wyliczyc wartosc przesuniecia jaka ma byc umieszczona w kodzie na podstawie podanej etykiety. L1 i L2 to liczby...
Warning: overflow is possible in 8 bit addition, casting may be required. W wolnym tłumaczneniu: OSTRZEŻENIE: możliwe przepełnienie przy dodawaniu 8 bitowym, konieczne uszczegółowienie (doprecyzowanie zapisu). Chodzi raczej o [i+1], jakiego typu jest i?
Totalnie zapomniałem napisać o uP. Przepraszam. Chodzi mi o MSP430. Operować będę musiał na liczbach 32b. Moim zadanie jest wyświetlić na LCD liczbę 32 bitową która jest wynikiem np dodawania. Mógłbym mi ktoś podpowiedzieć jak mam to zrobić bo teraz mam nawet problem z wyświetleniem wyniku dodawania liczb 4 bitowych. Dlatego potrzebowałem instrukcji...
Taktujesz wyjście bitowe powiedzmy z częstotliwością 1 kHz, na wyjściu są impulsy o okresie 1 ms i szerokości zmienianej od 0 do (4095/4096) ms Można też generować sygnał o zmiennej ilości (gęstości impulsów w okresie). Czyli cały okres ma 4096 impulsów a potem rozkładasz w miarę równomiernie 1,2,3...4096 impulsów w tym okresie (taki sygnał dostajemy...
No na pewno będzie niestabilny temperaturowo ,choć jakby tak tranzystor zbliżyć do ładowanego kondensatora no to może by pomogło Ale tak mi się wydaje że jest jeszcze przetwornik temperatura/PWM (3 nóżkowy) no i oczywiście popularne Dallasy :idea: Liniowość obu rozwiązań (źródeł pr.) wydaje się mi jednak za mała do rozdzilczości 16 bitowej :?: Jak dodawać...
Co właściwie trzeba uzyskać? Czy coś takiego, że jeśli włączysz N przycisków, to niezależnie od tego, które to będą, wyświetlacz pokaże liczbę N? Być może użyteczny byłby tu 74275 = 7-bit slice Wallace tree, ale nie wiem, czy jest do kupienia, a poza tym zliczy tylko 7... 2 takie układy i 74x83? Można też użyć pamięci (E)PROM 1024-bajtowej i przełączniki...
Witam, Co do instrukcji dodającej 0 w 7 linijce kodu, należałoby sprawdzić rodzaj zmiennej "Temp_1". Jeżeli jest to zmienna 16-bitowa, to operacja +I ma prawdopodobnie za zadanie zmianę liczby 32-bitowej (powstałej po operacji mnożenia) na liczbę 16-bitową (dlatego dodawane jest 0). Fragment opisu funkcji +I z help'a w Step7: The instruction produces...
http://zto.ita.pwr.wroc.pl/~luban/uklady...
Step 5 umozliwia dodawanie i odejmowanie liczb 16-o bitowych ze znakiem (zakres od -32768 do +32767). Ale czy jest mozliwość dodawania i odejmowania liczb 16-o bitowych bez znaku ? (zakres od 0 do 65535; 0h to 0, a FFFFh to 65535)
Jasne, można sobie kupić FPGA całkiem nietaniego, z setkami wyprowadzeń, po to, aby w nim zsyntetyzować soft-CPU - pomysł kompletnie z czapy. Ja pisałem o dodaniu prostego FPGA, aby można było dodać to co potrzebuję. Np, mam procek, który mi oferuje 8 timerów 16-bitowych i 8 UARTów, a potrzebuję np. 15 timerów 8-bitowych. Więc kasuję z opisu te timery...
Mam najnowsza wersję pod win7 64 bit tekst komunikatu: "...nieprawidłowa aplikacja Win 32 ... A nie lepiej zamiast czekać na pomoc przeczytać komunikat ze zrozumieniem. Wynika z niego że masz system 32 bitowy a zainstalowałeś program 64 bitowy. Gdyby było odwrotnie zapewne wszystko by grało a tak nie przejdzie.
Witam Użyj ADIW co bardzo uprości dodawanie, przeczytaj w helpie jak to działa.
Sądziłem, że to nie obsłuży 4 zmiennych 32-bitowych, albo będzie muliło. Już miałem w zanadrzu: Redukcja wszystkich zmiennych analogowych do 4 bitowych. Prawdopodobnie rozdzielczość będzie zadowalająca. Dodawanie logarytmów (też by było niezłe) - ale pewnie trzeba by wrzucić bibliotekę math. Nawet myślałem o jakiejś mapie zerojedynkowej i wsadzie, gdzie...
assembler dodawanie bitowe przesuniecie bitowe mikrokontrolery bitowe
livebox router bezprzewodowo olimpiada wiedzy technicznej z18xe wymiana silnika
jacuzzi dmuchane jacuzzi dmuchane
Kod P0011 w Ford Transit 2017 - diagnoza i naprawa Audi A4 B7 TDI: Temperatura Włączenia Świec Żarowych