pamiętaj że dodajesz 8 spakowanych bajtów i dostajesz overflow'a przy $78+$88 wzwyż.
tak samo jak konwersja bin->dec, tylko odejmujesz kolejne potęgi liczby 16, czyli: 1. Od zadanej liczby odejmujesz sukcesywnie 16*16 i zliczasz liczbę odjęć aż do uzyskania liczby ujemnej. Do uzyskanej liczby odjęć dodajesz jeden i już masz starszą cyfrę hex. 2. Do uzyskanej liczby ujemnej dodajesz 16*16 3. Odejmujesz sukcesywnie 16 i zliczasz liczbę...
Tak liczbę hex przesuwasz w lewo po bicie i dodajesz 3 jeśli tetroda jest równa większa 5
kolejne pozycje cyfrowe dodajesz do ogólnego wyniku mnożąc przez kolejne potęgi liczby 16 (16^0, 16^1, ....) Na danej pozycji cyfry mają wartości od 0 do 15, powyżej 9 używa się pierwszysch liter alfabetu angielskiego: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
echo -ne "\xEF\x02\x01\x01\x03\x00\xAA\x01\x... > /dev/ttyS1 Bo to nie są liczby hex, tylko forma zapisu jest hex, liczba jest binarna. Dlatego dodajesz -e do echo. Swoja drogą rzeczywiście nie ma "\x" w manualu od echo. aron655: przez port wysyłasz znaki, najczęściej 8-bitowe, sposób zapisu może być tylko bitowy.
Witam Jest 8051. Z tego co wiem to liczby maja byc hex... Aha nie moge uzyc DPTR gdyz takie mam zalozenie programu (nauczyciel zabronil). Liczby dodawane maja zostac podzielone... bo 2047 to jest 7FF w hex wiec trzeba o jakos podzielic aby mozna bylo gdzies dalej wpisac (chyba do jakis rejestrow). Prosze o pomoc tylko jak bym moglo prosic to o napisanie...
Witam, aktualnie na pracowni wałkujemy DSM-51 i jest dla mnie sporo niewiadomych i prosiłbym o wyjaśnienie/pomoc. Do rzeczy, pierwsza sprawa; - sterowanie diodą i brzęczykiem, korzystałem z poniższego kodu: LEDEQUP1.7 BUZZER EQU P1.7 LJMPSTART ORG100H START: LOOP: CPLLED CPLBUZZER MOVA,#10;czekaj czas 10*100ms=1s LCALL DELAY_100MS LJMPLOOP Opis: definicja...
Luźne uwagi: -termin z kryptografii: „funkcja skrótu”, -jeśli będzie to przepisywane przez człowieka problemem jest rozróżnienie litery „O” od cyfry „0”, podobnie „l”, „I”, „1” (małe „L”, wielkie „i”, cyfra „1”), -wygodne i jednoznaczne będą liczby...
Trzeba jeszcze wspomnieć, że start mikroprocesora Z80CPU po załączeniu zasilania, czy też resecie rozpoczyna się czytaniem instrukcji (programu) od adresu 0000h. Wydawać by się mogło, że tam zawsze jest umieszczony program startujący komputera i nie można od tego adresu pisać swoich programów. Nic bardziej mylnego, Cobra1 posiada oszusta adresowego,...
Zawsze możesz wziąć liczbę hex, podzielić ją przez 10 i w reszcie z dzielenia masz cyfrę jedności (dodajesz do niej 30h i masz kod ASCII). Potem znów dzielisz pozostałą liczbę przez 10 i masz cyfrę dziesiątek. I robisz tak aż skończą Ci się cyfry w liczbie ;) Pozdrawiam ;)
Myślałem o tym wiele razy. 1) w read() nie nastąpi nigdy "sytuacja szczególna", bo nie ma prawa. Zobacz co robi available(), która jest wołana wcześniej. 2) nawet jakby nastąpił zwrot -1 (choć nie ma prawa się to wydarzyć) to liczba ujemna skonwertowana do HEX dała by ciąg "f". Jak się nie mylę chyba ośmiu. I w takiej sytuacji w tym ciągu dodawałoby...
Wyświetlasz tak jak znaki, tylko musisz zamienić swoją liczbę na ASCI. Stwórz sobie podprogram który będzie zamieniał liczbę z danego rejestru na ASCI z dowolnego formatu. Pamiętaj, że liczby są przechowywane w formacie HEX. Zobacz czy nie masz komendy która konwertuje HEX na BCD (dziesiętny), wtedy tylko dodajesz $30 to każdej cyfry z BCD i masz pikną...
dzielenie w bascomie zjada bardzo dużo zasobów... zamień liczbę na hexy albo binarnie i dodawaj albo odejmuj, [url=http://edu.i-lo.tarnow.pl/inf/alg/0... binarne to w zasadize odejmowanie z przesunięciem...
No, to już można stwierdzić, że to nie jest CRC z wielomianu w arytmetyce modulo 2 - jak wziąłem wszystkie dane, i przeliczyłem, to na końcu było: 00000006 => 1502 (5DE) 00000005 => 0173 (0AD) 00000004 => 1895 (767) 00000003 => 1865 (749) 00000002 => 1831 (727) 00000001 => 1716 (6B4) Gdyby to było takie CRC z wartością początkową, to exclusive-or (operator...
Hey. Zrob tak: Pierwszy sposób: #include <stdlib.h> .... float Wynik = 1.123; .... dtostrf(tmp,6,3,pomiar); //zamiana float na string wypiszNaLCD(pomiar); // twoja funkcja wypisująca ciąg znaków Drugi sposób (użycie printf-a): W pliku Makefile dodajesz: # If this is left blank, then it will use the Standard printf version. #PRINTF_LIB...
Chyba się udało :D Podsumowanie i przykładowe kody w Pythonie - wykorzystywany algorytm CRC MAXIM czyli wielomian x8+X5+X4+X0 jako generator ciągu pseudolosowego [syntax=python]# Define a function `crc8()` def crc8(x): if x & 0x01: x = (x >> 1) ^ 0x98 else: x = x >> 1 return x [/syntax] - obliczanie ograniczyłem tylko do obszaru danych...
Kazdy procesor operuje na liczbach. Dla niego nie jest zrozumiale P1, zrozumiale jest dla Ciebie, czlowieka. Ow tajemniczy plik z definicjami to wlasnie nic innego jak tlumacz. Zawarte w nim sa "tlumaczenia" z jezyka ludzkiego na liczby tak zeby kompilator wiedzial ze piszac P1 masz na mysli liczbe 90 hex. Takie pliki sa potrzebne zawsze jesli chcesz...
No coś tam już wiem:) Mam pojęcie o zapisie binarnym i heksadecymalnym. Potrafie napisać prosty kalkulator itp. Gdyby ktoś wkleił mi taki programik o jaki prosze, to potrafie go przeanalizowac i w miare możliwości zrozumieć. po prostu mam juz mało czasu (do soboty 9:00)....
witam, zwracam sie o pomoc do was z prosba o napisanie prostego programu w ASEMBLERZE dla układu 8051 realizujący funkcje dodawania 2 liczb 4-bitowych. moglby mi ktos zrobic/pomoc ? Jeżeli chodzi ci o DSM-51 to będzie tak: LJMP START ORG 100H START: LCALL LCD_CLR LCALL WAIT_KEY MOV R0,A LCALL WRITE_HEX MOV A,#'+' LCALL WRITE_DATA LCALL WAIT_KEY...
Witam Od razu zaznaczę, że jestem poczatkujacym w tej dziedzinie, uzywam Jagody. Mam taki program ktory dodaje 2 cyfry, moja wiedza pozwala mi to by go przerobic tak, ze bedzie dodawal np 3, 4 czy wiecej cyfr, ale chcialbym go zmodyfikowac tak, by sume wyswietlal na wyswietlaczu LCD dopiero po wcisnieciu Enter na klawiaturze matrycowej.... i tu pojawia...
Kolego, może byś dał przykład z tym dzieleniem starszego i młodszego bajtu. Za nic mi nie wychodzi, mam 1000 podzielic przez 100 , w hex ten tysiac to 3 E8 i jakbym teraz to nie dzielił i dodawał to nic z tego mi nie wychodzi.
Klawiature musisz potraktować jak jeden zwykły przycisk. Tyle że zwykły przycisk ma stan wysoki jeśli nienaciśnięty a ten przycisk zwraca 16 jeśli nienaciśnięty. Napisałem na szybko dwa przykłady. Jeden działa bezposrednio na wartosciach a drugi na stringu [syntax=vbnet] Dim Key As Byte Key_val As Byte , Lock As Byte , Licznik As Byte Dim Val_str As...
jak odczytac liczby szesnastkowe (hex ) z klawiatury i wyswietlic wynik musze napisac programi ktory bedzie np. dadawał liczby szesnastkowe licz:string Readln(licz1) ; Readln(licz2); wynik :=licz1+licz2 Oczywiscie taki program nie bedzie dzialal ..wiec prosze o pomoc
Najpierw zamienisza na dziesiętną: 0xh1h2 Ld=h1*16+h2 a potem: bajt_jednosci=(reszta z dzielenia)Ld/10; Ld=Ld/10; bajt_dziesiatek=(reszta z dzielenia)Ld/10; bajt_setek=Ld/10; Żeby teraz dostać z tego znaki assci dodajesz do bajtow 0x030 (czyli 48 dziesiętnie). BTW to szukaj, szukaj, szukaj - było to już omawiane wiele razy.
Mam napisać program pod mikro kontroler DSM51 w Asemblerze oto treść zadania: Należy dodać dwie trzybajtowe liczby NBC znajdujące się w pamięci I-RAM pod adresami 50H i 58H. Wynik dodawania należy zapisać pod adresem 60H. Składniki sumy pod wskazane adresy należy wczytać z klawiatury matrycowej jako sześciocyfrowe liczby heksadecymalne korzystając...
Witam serdecznie! Mam problem z programem który ma dodawać do siebie numery albumu indeksu. LJMP START ORG 100H START: LCALL LCD_CLR LCALL WAIT_KEY MOV R0,A LCALL WRITE_HEX LCALL WAIT_KEY MOV R1,A LCALL WRITE_HEX LCALL WAIT_KEY MOV R2,A LCALL WRITE_HEX LCALL WAIT_KEY MOV R3,A LCALL WRITE_HEX LCALL WAIT_KEY MOV R4,A LCALL WRITE_HEX MOV A,#'+' LCALL...
Ja robię to w ten sposób, że część całkowitą mnożę razy 10 a następnie dodaję do niej część ułamkową. Stosuję to do przesyłania danych przez RS , łatwiej przesyła mi się w formacie hex liczby integer. Można też np. część całkowitą przesunąć o 8 bitów w lewo i dodać do niej część ułamkową i wtedy w starszym bajcie masz część całkowitą a w młodszym ułamkową....
Ogólnie algorytm jest taki: (*) 1) bierzesz resztę z dzielenia przez 10 2) dodajesz do niej numer znaku '0' w kodzie ascii (41 czy coś) 3) dzielisz liczbę przez 10 4) wracasz do (*) i tak otrzymujesz kolejne cyfry dziesiętne. Potrzeba jeszcze optymalizacji dla danego procesora.
1600*819 = 1’310’400 = 0013’FEC0 hex 4’294’966’976 = FFFF’FEC0 hex FEC0 hex 1310400 ≡ 4294966976 (mod 65536) printf("wynik=%lu \n",test); a jakiego typu jest zmienna „test”? pewnie ma tylko 16 bitów. Jeżeli możesz pozwolić sobie na roztrwonienie 1’640 bajtów to może tak: unsigned amplitudy[820]...
Napisałem taki program konwersji decy na inny system. Możesz go sobie przerobić tylko na binarne #include <iostream> #include <conio.h> using namespace std; int reszta,liczba,i,j,k,wynik[20]; const char tab[6]= {'A','B','C','D','E','F'}; char ch; void bin(int); void oct(int); void hex(int);...
Witam serdecznie wszystkich forumowiczów. Mam taki oto problem. Napisałem program w assemblerze dla 8051 na bazie DSM-51. Napisany przeze mnie program dodaje 2 liczby dwucyfrowe i nie uwzględnia przepełnienia, czyli w przypadku otrzymania liczby ponad 99 wyświetla tylko ostatnie 2 cyfry. Potrzebuje pomocy ponieważ nie potrafię dodać cyfry setek z przodu,...
Oczywiście nie trzeba używać j, można zostawić i. Oczywiście wszystkie zmienne trzeba zadeklarować i przy wypisywaniu dodać wspomniane 48 aby uzyskać kod ASCII (Można to też maską bitową załatwić, ale nie będę w głowie koleżance mieszał ;) ) Nie w tym przypadku, bo tutaj bo tablica wynik jest typu int, więc nie trzeba nic dodawać. Procedura podana...
Mam taki kod zródłowy i jakos nie wiem jak to ze soba powiazac LJMP START ORG 100H START: LCALL LCD_CLR LCALL WAIT_KEY MOV R0,A MOV B , #10 DIV AB SWAP A ADD A, B LCALL WRITE_HEX MOV A, #'+' LCALL WRITE_DATA LCALL WAIT_KEY MOV R1,A MOV B , #10 DIV AB SWAP A ADD A, B LCALL WRITE_HEX MOV A, #'=' LCALL WRITE_DATA MOV A , R0 ADD A , R1 MOV B , #10 DIV AB...
No to mi wytłumaczcie moją głupotę. ADCL- 8 bitów. ADCH- 8 bitów. Napiecie- uint16_t. Dodaję dwie zmienne ośmiobitowe do zmiennej uint16_t. Gdzie jest pułapka? Odczytałeś z przetwornika liczbę: 340, binarnie 0b1 0101 0100, hex 0x0154 ADCH=0x01, ADCL=0x54 ADCH+ADCL=0b0000 0001 + 0b0101 0100=0b0101 0101=0x0055= 85 != 340 Chyba, że jest to jakaś czarna...
Witam. Na to pytanie odpowiedziałem na PW. Ale jak zgłaszasz taką prośbę to napisze tutaj. Zamiana BCD na HEX: ; w zmiennej tblicowej tab zapisane są kolejne cyfry BCD przy tym w komórce 1 jest najstarsza cyfra xor ax,ax xor dx,dx mov cx,.... ;tutaj wpisz ile masz cyfr Petla: mul 10 inc dx add ax,tab[dx] loop Petla ;w ax bedzie wynik w NKB...
Hmm. Może zacznijmy od podstaw. To co wstukujesz w okienku terminala np: "36h" to nie jest liczba tylko ciąg trzech znaków i komputer wysyła kody ASCII tych znaków, a nie wartość 36h jako taką. Po odebraniu tych kodów musisz zamienić je na wartość binarną ( tak się akurat składa ze dla cyfr wystarczy odjąć 48 ) otrzymując poszczegulne cyfry. Następnie...
Automatyczne zamykanie szyb przy deszczu, gdy zamknięty c.z. - 9 centralny zespół elektryczny, - 7 long coding(kodowanie) - Long Coding Helper (pomocnik kodowania) - bajt 0 - bit 6 zaznaczyć (rain sensor instaled) + - 46 moduł komfortu, - long coding(kodowanie) - Long Coding Helper (pomocnik kodowania) - bajt 9 - bit 2 odznaczyć + - 9 centralny zespół...
Dawno temu programista ,to był człowiek z wiedzą ,który znał asembler i potrafił myśleć binarnie . Ale że człowiek sobie upraszcza to dziś mamy arma w czajniku który przyspiesza mało optymalny bo uniwersalny kod. Rzeczywiście działa szybciej na 100MHz zegarze w stosunku do starej 0C51 która miała cykl rozkazowy 12 taktów zegara czyli przy zawrotnych...
Witam. Mam dwie liczby zapisane w kodzie U2 a=2E(hex) ; b=F9(hex) . Zatem bitowa reprezentacja tych liczb to: a = 0010.1110 b = 1111.1001 w systemie dziesiętnym: a = 2+1/2+1/4+1/8 = 2+7/8 = 2,875 b = -2^3+4+2+1+1/2+1/16 = -8+7+9/16 = -1+0,5625 = -0,4375 1)chcę te liczby dodać do siebie: a+b 0010.1110 1111.1001 ---------- 0010.0111 dodatkowo przeniesienie...
Witam, mam za zadanie wymnożenie dwóch liczb decymalnych używając do tego operacji na procesorze 8080. Wiem jak podejść do tematu poprzez wielokrotne dodawanie liczby A do siebie oraz dekrementacje B, lecz problem pojawia gdy podczas pętli pojawiają się wartości heksadecymalne bo przecież na nich operujemy (mimo ze widzimy je jako decymalne), a dokładnie...
http://obrazki.elektroda.pl/6914408400_1... http://obrazki.elektroda.pl/8024236400_1... ATxmegi to łakomy kąsek dla kogoś, kto już poznał "stare" AVRki - zwiększona szybkość (32MHz!), o wiele więcej peryferiów (5 UARTów! 16 kanałów PWM!), modularna budowa i można używać tych samych dobrze znanych narzędzi. Ale potem...
krystii --> nie, nie - z tym porównywaniem to już wyrżnąłem wszystko z programu. Po prostu można wczytać sobie fuski i zobaczyć czy są takie same jak przed wczytaniem - to tylko 2-3 liczby hex WERYFIKACJA - teraz służy tylko do tego, żeby sam AVRDUDE dokonywał albo nie - weryfikacji - wtedy gdy jest potrzebna. Po prostu dodawana jest flaga -V aby wyłączać...
Zróbmy program w którym wyświetlana liczba na LCD (jako HEX) będzie inkrementowana co 1s. Do tego potrzebujemy Timer. Wykorzystamy T0 ze zgłaszaniem przerwania przy przepełnieniu. [syntax=asm];Ustawienia Timera 0 TRYB_T0 EQU 1 C_T_T0 EQU 0 ;zliczanie impulsów wewnętrznych fclk/12 GATE_T0 EQU 0 ;zliczanie, gdy TR0=1 TL0_T0 EQU 0AFh ;młodsza część Timera...
Masz rację - trochę się pomyliłem. jako x otrzymuję 66 czyli kod znaku w ASCII, a nie wartość hex. I to jest prawidłowe. Bowiem 'B' to inaczej wartość (liczba 1 bajtowa) 66. Jeśli chcesz pojedynczy znak (HEX, a nie ASCII) zamieniać na wartość - musisz w tym celu dopisać sobie funkcję to robiącą. [syntax=c]char HexCharToInt(char n) { if (n >= '0'...
Ma ktoś taki kalkulator??? Normalny umiem zrobić, ale jak już dochodzą takie funkcje i obsługa myszki to padam na kolana. Chciałbym się nauczyć robić taki kalkulator, a w żadnej z książek, które mam nie ma napisane nic o takim kalkulatorze... Proszę o pomoc :cry:. Kalkulator z funkcjami: a)działania na liczbach rzeczywistych - dodawanie (przycisk "+"...
1. Plikow c się nie includuje tylko dodaje do projektu. Includuje się pliki z deklaracjami. 2. AS7 doskonale daje sobie radę z największą nawet liczba plików źródłowych 3. Twoje problemy wynikają jedynie z tego że masz straszna świeczkę w tych plikach, a nie z braków AS7 Ad1 Czy to oznacza że jeśli dodam plik przez użycie sekwencji Add/New Item/CFile/...
Też tak myślę, że książka do tego celu jest niepotrzebna. Powiedz jakiego środowiska chcesz używać. PS. do Pascala mogę podrzucić CI instrukcję, chyba robi się to w ten sposób: PORT[$378]:= no i tu liczbę podajesz (tzn. podasz 15 to na porcie pojawią się jedynki w taki sposób 00001111); - sluzy do zapisu do portu bajt:=PORT[$378] - slozy do odczytu....
Przyjmujesz, że pierwsza wprowadzana cyfra to dziesiątki: {W nawiasach klamrowych wynik danej operacji } Pom=0; Wczytaj x1; {Mnożenie przez 10} pom:=x1; pom:=pom+pom; {pom=x*2} pom:=pom+pom; {pom=x*4} pom:=pom+x1; {pom=x*5} pom:=pom+pom; {pom=x*10} Wczytaj x2; pom:=pom+x2 {pom zawiera teraz x1*10+x2, x1,x2, wpisane cyfry} jeżeli pom jest jednym bajtem...
Działa dobrze, możesz sobie sprawdzić nawet na kartce papieru. Wystarczy, że weźmiesz pod uwagę specyfkację formatu U2, jak binarnie zapisana jest liczba -2 i co się stanie, gdy "na kartce" dodasz do niej np. liczbę trzy. Poniżej zamieszczam program testowy dla 32/64-bitowego systemu operacyjnego, przedstawiający składniki i wynik w trzech systemach...
Sam komplikujesz sobie życie bez zagłębiania się dokładnie w notę i brak matematycznego myślenia oraz dokładnego sprawdzenie tego co napisali inni. To moja podstawowa uwaga, jednak możesz zrobić jak poniżej napisałem: - pobierasz częstotliwość wyjściową (np klawiatura dziesiętna) - podstawiasz do przekształconego wzoru na wyliczanie wartości ładowanej...
dodawanie liczb dodawanie liczb excel dodawanie liczb binarnych
cisnienie piecu zegar wtórny zdalne sterowanie autko
renault master rozładowuje renault master rozładowuje
T-CON brak 3,3V na PG, jeden LVDS, napięcia OK, diagnostyka zasilania matrycy Schemat wzmacniacza radia Nord Klang na TEA2025 IC301 – aplikacja stereo, podłączenia, wartości elementów