! to negacja logiczna, a nie bitowa i jeżeli zrobisz taką negację na zmienną różną od zera to dostaniesz w wyniku wartośc logiczną fałsz... Jka wyżej kolega napisał, negacja bitowa to ~, przy czym enkoder BCD jest zapewnei czterobitowy, więc przy odczycie jego stanu warto zastosować maskę, np. jeżeli enkoder jest podłączony do starszej połowy portu...
a=255-a gdzie a to Twoja zmienna.
Jeszcze w kwestii formalnej. W kilku miejscach używasz negacje zmiennych wejściowych i tworzysz te negacje tyle razy ile razy używasz zmiennej. Wystarczy utworzyć negację raz i używać tyle razy ile trzeba (wyjścia bramki w wersji standardowej można obciążać 10 wejściami). A jeżeli chodzi o zasilanie Vcc i GND to w wykonaniu praktycznym powinno się odsprzęgać...
Schemat narysowałeś błędnie. Dla podanej tabeli prawdy nic nie da się zminimalizować i musisz użyć wszystkich 4 zmiennych wejściowych z negacjami. Twoje funkcje wyjściowe będą sumą tych stanów, dla których odpowiednie wyjście jest równe "1". Pozdrawiam wszystkich jjanek
Co robi się z tym zerem które zostaje samo w segmencie D? Wypisuje się dla niego wszystkie 4 zmienne czy po prostu się je omija? Jeżeli masz jedną kratkę, której nie możesz powiązać z innymi, to znaczy, że musisz ją opisać wszystkimi 4 zmiennymi (pełne dekodowanie danego stanu) Jeżeli jest pojedyńcza kratka -> 4 zmienne we wzorze Jeżeli jest kratka...
Na kartce masz gdzieś błąd, bo program do minimalizacji po wpisaniu Twojej funkcji dał tak wynik: Y = B*D+|C*D+|B*C*|D+|A*B*C+A*B*|C gdzie w zapisie |B oznacza że zmienna wejściowa B jest w tym miejscu zanegowana. Realizacja tej funkcji wygląda tak, że każdy iloczyn tworzysz na jednej bramce AND, a następnie wyjścia tych bramek wprowadzasz na bramkę...
Ok, dzięki za szczegółowe wyjaśnienie. Definicje negacji i ten typ zmiennej znałem już wcześniej z wykładów. Problem w tym, że nie wiem jak odnieść się z tą teorią do tych zadań.
Witam Dobra, funkcja wygląda tak: F=a+b• a +b•c+ b przecież powyższe wyrażenie jest, moim zdaniem, zapisane już w najprostszej postaci dysjunkcyjno - konjukcyjnej, a więc jako suma iloczynów, można je, co prawda, przekształcić do postaci konjukcyjno - dysjunkcyjnej, a więc do iloczynu sum, ale uprościć nic nie można. Przypomnę podstawowe...
Witam, tabelki i funkcja logiczna wydają się być w porządku. Ponieważ zadanie jest "szkolne" zapewne chodzi o syntezę układu kombinacyjnego wyłącznie z bramek NAND lub NOR . Ponieważ skleiłeś w tabeli jedynki możesz syntezować układ wyłącznie z bramek NAND. Zaneguj dwukrotnie swoją funkcję logiczną, wówczas "wewnątrz" będziesz miał negację sumy , która...
Wypełnij tabelki: Bierzesz kolejne stany DOCELOWE, np. dla stanu aktualnego 3 następnym stanem jest stan 1 (00001), * 3 00011 -> 1 00001 bity 00001 odpowiadają kolejno wymaganym wartościom funkcji wzbudzeń: De Dd Dc Db Da, czyli do odpowiedniej tabelki (jakie podałem) na pozycji odpowiadającej stanowi AKTUALNEMU (tu trzeciemu) wpisujesz: W tabelce dla...
Nie śledzę tego wnikliwie, ale przy przerwaniach: 1) dodaj volatile do deklaracji zmiennych 2) wrzuć tam sobie negacje jakiegoś pinu i sprawdź oscyloskopem czy masz impulsy 3) poczytaj czy da się je wywołać programowo (w starych avr za zwyczaj można było ustawić stosowną flagę) i spróbuj je wyzwolić z głównej pętli. 4) napisz prosty, oddzielny program...
pgp zanim zaczniesz pouczać innych , sam się naucz praw algebry boola i nie wprowadzaj innych w błąd. To co jest prwdziwe dla jednej zmiennej i jej negacji nie jest poprawne dla iloczynu dwóch (jub więcej zmiennych) i iloczynu ich negacji. marcinahk nie da się tych dwóch funkcji zminimalizować, ponieważ różnią się na więcej niż na jednym miejscu (podstawowy...
Spróbuj w ten deseń (załóżmy, że klawisz (PORTA.B0) aktywny przy zwarciu do masy, dioda na PORTA.B1): while (...) .... if (~PORTA.B0) PORTA.B1 = ~PORTA.B1; .... end ...czyli: jeśli RA0 zwarte do masy (znaczek ~ oznacza negację, w przypadku zmiennych typu boolean 0 oznacza false) to zmień stan RA1 na odwrotny, niż był.
Nie łatwiej zrobić kondensator z pojedynczych blaszek które wchodzą jedna w drugą tak jak to jest w trymerze ? http://pl.wikipedia.org/wiki/Kondensator... jeśli potrzeba dwóch kondensatorów gdzie przy wzroście pojemności malała druga to można połączyć dwa trymery, jeden bezpośrednio do osi, drugi poprzez dwie zębatki aby była negacja.
#define KEY1_PIN !(PINB & (1<<PB0)) #define KEY2_PIN !(PINB & (1<<PB1)) Ponieważ użyłeś negacji logicznej [!] zamiast bitowej [~] zmienne KEY1_PIN,KEY2_PIN będą przyjmowały wartości 0 [0b00000000] lub 1 [0b00000001], dalej piszesz: DDRB &= ~(KEY1_PIN | KEY2_PIN); jest to w tym przypadku bez sensu ponieważ przypisanie powinno...
Multipleks wyzwalany jest stanem niskim. No nieee :P Teraz to sobie sam kombinuj z negacją bitową, albo zadaj pełne, konkretne pytanie
Aktualnie jestem w pracy więc nie mam takiej możliwości chyba że napiszę go tu razem z wami. Po za tym nurtuje mnie jeszcze kilka pytań: 1. Co z rezystorami dla linii sda i scl czy są wymagane? W żadnym poradniku nic o nich nie piszą albo przynajmniej ja nie zauważyłem takowego który zawierał by na ich temat informacje ale na forum się o nich czyta...
Ma gasić diodę na porcie PD3. Skompiluj poniższy program w CManiaku: http://mikrokontrolery.blogspot.com/p/cm... i zastanów się dlaczego działa inaczej niż oczekujesz. Chciałem się spytać czy funkcja Sonar_pobierz_pomiar w funkcji głównej ma prawidłowe zmienne? Otrzymujesz przecież ostrzeżenie: ../Proba_10.c:50: warning:...
Być może ktoś nie chciał lub nie wiedział jak używać volatile flags bądź zerować zmiennych w XOB16.
No tak. To wiem. Podwojna negacja sie znosi. Ale jak zastapic 2 wejsciowymi bramkami 4 wejsciowa :| ??
Mam zrobic cos takiego y={0,2,3,6,10,11/4,12} Mam to zrobic na nandach. Skad mam wiedziesz ila pol ma miec tabela prawdy ? Tabela ma zawsze ilość pól będącą potęgą liczby 2, czyli: 2,4,8,16,32 ... Patrzysz jaka jest najwyższy stan w nawiasach {} i przyjmujesz rozmiar tablicy najbliższy większy z dostępnych od tego stanu. Tj.jak nawiasach są stany {0...
Wg mnie rzecz leży w zmiennej 'word' typu 'int'. Jest ona 16bitowa, po przypisaniu do niej wartości 8bitowej (czyli wartości portu) pozostałe bity mają wartość '0', dlatego działa poprawnie. W momnecie gdy zrobisz negację, negujesz całe 16bitów, więc starsze 8bitów zmiennej typu 'int' przyjmą wartości '1'. Otrzymujesz więc wartość której wogóle nie...
Czyli prościej, nie możesz tej jedynki skleić, więc opisujesz ją, bo dla tej jedynki xyzt są zmienne, Funkcja dla tej 1 będzie wyglądać tak F=xyZt gdzie duża litera to negacja.
Dla pierwszej funkcji z tablicy Karnaugha wychodzi: xQb Qa+ x Qb Qa +xQc Qa +x Qc Qa (podkreślone zmienne to są negacje) Dla drugiej funkcji niestety nie da się nic zminimalizować i muszą występić wszystkie 8 składników w pełnej postaci. Dla trzeciej funkcji mamy xQcQb + x QcQb+xQc Qb +x Qc Qb Pozdrawiam wszystkich jjanek
OK, już coś stabilnie wyświetla. Modyfikowałem w przerwaniu do liczenia czasu rzeczywistego TCNT1, aby czas wyliczać, stąd miałem później błędny ICR1.Napisałem poniższy kod: 1A , gdzie pierwsze 3B są zawsze takie same, a zmienia się czwarty . Wg protokołu pierwszy to adres (wartość stała), negacja bitów adresu, komenda (tu powinno być zmienne) i jej...
Witam serdecznie, mam pytanie odnośnie projektu, który mam wykonać. Muszę wykonać modyfikację licznika 74193 za pomocą bramki NAND oraz przerzutników D, ~S~R (~ == negacja) tak aby liczył ze zmiennym okresem od 15 -> 0 , 5->0, 15->0, 5->0 itd Problem mam taki, że nie wiem jak się zabrać do rzeczywistej konstrukcji układu, bo na papierze to potrafię...
W danych zapisujesz jasność, a nie "ciemność" składowej. Mój program sterował diodą RGB ze wspólną anodą. Jeśli u Ciebie dioda świeci przy stanie wysokim, to zamiast zapisywać "ciemność" lepiej odwrócić sterowania - to modyfikacja 5 linijek kodu. Operacje &= na zmiennej portb zastąp &= z negacją i odwrotnie - cała filozofia Jeśli poszczególne fazy mają...
Po pierwsze minimalizację metodą tablicy Karnaugha przeprowadza się właściwie zapisując samą tablicę: http://obrazki.elektroda.net/90_11960333... numery w rogach pól odpowiadają wartościom dziesiętnym kombinacji bitów http://obrazki.elektroda.net/97_11960335... Następnie zaznaczasz grupy jedynek (lub zer zależnie od wymaganej postaci funkcji)...
Konwencje w tworzeniu oznaczeń dla zmiennych czy funkcji są niezwykle widoczne. Warto jest używać spójnego sposobu tworzenia nazw w swoich projektach - schematach urządzeń elektrycznych, oprogramowaniu etc. Dzięki temu będą one znacznie czytelniejsze dla odbiorców. W poniższym materiale przyjrzymy się kilku konwencjom, stosowanych w różnych aplikacjach....
znowu troche asm-a. zrób tak ( np ): ... 4 - sprawdzasz najstarszy bit zmiennej temp jesli zero to temperatura jest dodatnia; i znajduje sie w zmiennej temp. jeżeli bit ustawiony to temperatura jest ujemna, wtedy robisz negacje wszystkich bitów i juz masz temperaturke. ... Tylko ujemna temperaturka , będzie "oszukana" o 1 C :D O rozdzielczości 0.1...
A po co je wyświetlać? Wpisujesz je chyba do zmiennej a nie do zeszytu :D A pobieranie kodu ROM nie polega tylko na wysłaniu SEARCH ROM i czytaniu 8-miu bajtów. Do tego służy pewien algorytm na bazie drzewa bitowego. U mnie wygląda to tak(kod algorytmu nie jest mojego autorstwa): [syntax=c] /***************************************...
while ((index < end) &&(! found)) Pętla sprawdza dwie zmienne : pozycję w tablicy tzn. czy licznik dotarł do końca tablicy oraz czy szukana liczba została znaleziona; stąd found=False na początku. Negacja (!) False da wynik True, dlatego program wejdzie w pętlę. Możesz pominąć ten warunek, ale wtedy pętla będzie się wykonywać zawsze określoną...
Jak masz takie duże sumy, to najlepiej sobie właśnie siateczkę walnąć i ładnie na niej widać, że np. że zawsze x3=1... do tematu: jak masz właśnie te obszary, to tak dokładnie wyglądają złączenia boolowskie: patrzysz parami na 2 składniki sumy i sprawdzasz czy są takie dwa, dla których jest tylko jeden element "na odwrót", czyli z negacją i bez, przykład:...
Program, który podałeś jest żywcem skopiowany z książki wydawnicta AVT. Jeżeli w takiej formie chcesz go zaprezentować w szkole, to musisz miec bardzo tolerancyjnego nauczyciela, który będzie udawał, że wierzy w to, że połowa klasy była tak samo inteligentna i napisała identyczny program , a nawet zmienne tak samo nazwali. Żeby skompilować musisz zadeklarować...
Witam, przecież to proste. Np. korzystając z dysjunkcyjnej postaci kanonicznej dla kombinacyjnej funkcji logicznej Y(A, B, C) rozpisujemy iloczyny składników jedynki dla wyrażeń podanych w Tabeli Prawdy, jak niżej, tylko dla tych argumetów które są prawdą (Y = "1"): ABC|Y 000|0 001|1 010|1 011|1 100|0 101|0 110|0 111|1 a więc: Y(A, B, C) = A •...
Witam serdecznie. Nie mogę poradzić sobie z zadaniem o następującej treści: Zadanie 1.1. Zaimplementować następującą funkcję logiczną (narysować schemat logiczny): (Negację oznaczę poprzez podkreślenie) f (a,b,c,d) =(a + b + c) * (a + c + d) * (a + d ) * b wykorzystując tylko bramki NAND. Założyć, że są dostępne zarówno zmienne, jak również...
Ogólnie tak, że tworzy się prostokątną lub kwadratową siatkę (zależnie od ilości zmiennych) w której kolumnom i wierszom przypisuje się odpowiednie kombinacje zer i jedynek zmiennych wejściowych. Zasada jest taka, że dla sąsiadujących pionowo lub poziomo komórek zmienia się tylko jedna zmienna wejściowa: 2 zmienne: x1, x0 kolumny x0: 0, 1 wiersze x1:...
w warunkach negacją jest znak ! http://www.java2s.com/Tutorial/C/0100__O... http://hobby.abxyz.bplaced.net/index.php...
:arrow: Ujemny To nie ma znaczenia. W C nie ma typu bool, a nawet w C++ bool jest naprawdę typu int, gdzie wartość 0 oznacza false, a nie-zero oznacza true. Jeżeli to byłoby C++, to porównanie "b == true" nawet by zadziałało, ale w C to już zależy, jak zostanie zdefiniowane "true", bo jest to normalne porównanie arytmetyczne. Ale jeżeli piszesz "(bool)b...
Dlatego, że przy sklejaniu jedynek (w tablicy), do każdego iloczynu bierzemy te zmienne, które nie zmieniają wartości wewnątrz grupy. To wiesz... Te zmienne mogą mieć wewnątrz grupy wartość jeden albo zero (w nagłówkach). Jeśli są jedynkami bierzemy afirmacje, a jeżeli są zerami bierzemy negacje. Dodatkowo, dla uniknięcia hazardu należałoby skleić ze...
Ogólnie to układy dzielimy na analogowe i cyfrowe. Analogowe obsługują sygnały ciągłe czyli takie, które mogą przyjąć dowolną wartość z przedziału dopuszczalnego dla danego układu. W cyfrowych mamy do czynienia tylko z dwoma stanami wielkości umownie klasyfikowanymi jako niski lub wysoki. Przykładowy układ analogowy ma zakres dopuszczalnych napięć wejściowych...
Wywala błędy, bo próbujesz operować na rejestrach, których nie ma. ATtiny2313 nie posiada portu C, a rejestr sterujący licznikiem nazywa sie trochę inaczej (i jest ich więcej). Popraw rejestry, albo zmień mikrokontroler. PORTC = ~led++; oznacza, że należy do lciznika przepełnień dodać 1, oraz wysłać jego negację na port C (kolejności nie kojarzę jaka...
Dziękuję za odpowiedź. Widziałem tamten wątek. Co do przedstawionego przez Ciebie pomysłu, to owszem jest on realizowalny, ale znacznie bardziej skomplikowany od tego który chce zrobić. Wydaje mi się że wystarczy zrobić jednotranzystorowe bufory do poszczególnych części segmentów, a do bacgroundów - dwutranzystorowe (z negacją) a ledy wpinać poprzez...
Freddie: W Twoim jest jedna zmienna statyczna, za to większych rozmiarów - na jedno wychodzi ;) Jak nie zmienne statyczne, to kod wywołujący procedurę musi przekazywać jej stan w parametrach. Alternatywą są zmienne globalne - czyli też statyczne, ale za to każda część kodu może je zmieniać... Kod jest prosty - rejestr przesuwny do zapamiętywania 8 poprzednich...
Heh, dokładnie ten sam standard jak w pilocie, który ja rozpracowywałem: długi stan niski (70ck) to synchronizacja/początek, krótki stan niski (4ck) to krawędź. Zaraz po synchronizacji jest dość długi stan wysoki oznaczający kod przycisku (trochę krótszy jest w moim pilocie do sygnalizacji trzymania przycisku), pomiędzy niskimi stanami jest stan wysoki...
a co do zapamiętania stanu przycisku.. dla początkującego najprościej będzie zrobić programowy przerzutnik który zmienia stan po naciśnięciu przycisku, a do debouncowania wystarczy _delay_ms(25), póżniej w pętli sprawdzać stan zmiennej ustawionej przez "przerzutnik" i układ gotowy Dodano po 2 Od jakiej negacji? suma logiczna będzie dawała wynik 1 jeżeli...
No to masz 4-bajtowy znacznik początku ramki, w dodatku niejednoznaczny, tylko po co? Przy automacie masz zmienną - stan automatu, którą elegancko robi się jaku enum, a dalej switch zapewniający obsługę kolejnego bajtu i przejścia pomiędzy stanami. Do obsługi tego początku, jaki masz, potrzebujesz czterech stanów automatu (piąty stan to odbiór danych)...
Ilmarinen ma rację. Ten program trzeba napisać lepiej. Nawet teraz widzę że można dodać ulepszenia. 1) Program powinien mierzyć długość bitu. Obecnie jest to ustawione na sztywno na taktowanie 8MHz. I tu jest problem: piloty maja rozrzut, a wewnętrzny generator RC AVR ma zbyt duże wahania częstotliwości żeby to super działało. 2) Mnożenie i dzielenie...
Witam, bramka różnicy symetrycznej ALBO --> Ex-OR (Exlusive-Or) realizuje funkcję logiczną F(X, Y) dwóch zmiennych logicznych X i Y według zależności: F(X, Y) = X• Y + X •Y (negacja -> podkreślenie ), czyli według poniższej tablicy prawdy: X Y | F(X, Y) 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 Lub dla dwóch wektorów zmiennych logicznych i wtedy wynikiem...
Witam W mojej książce do cyfrówki nic o tym nie zostało napisane, a w internecie nie mogę znaleźć wytłumaczenia minimalizacji funkcji "po skosie" za pomocą tabel Karnaugh. Załóżmy, taki przykład: http://img709.imageshack.us/img709/9222/... Z obserwacji jednego (innego) przykładu zacząłem się domyślać, że: * na początku (minimalizacja po jedynkach)...
Zerknąłem w załaczony link, kod dość skomplikowany, zmian zbocza itp. Ja od wielu lat używam takiego kodu: [syntax=c]//============================... // Inicjalizacja INT 6 (Enkoder impulsowy) //--------------------------------------... void InitInt6() { EICRB |= (23<<ISC60);//...
No to masz "negację" Twojego przebiegu. Ponieaż w kości została Ci jeszcze 1 bramka, wykorzystaj ją do "odwrócenia" przebiegu: jej oba wejścia dołącz do dotychczasowego wyjścia, a teraz nowe wyjście będzie z tej ostatniej bramki.
A ja sprawdziłem tę drugą bibliotekę <IRremote.hpp> i po ustawieniu wszystkiego też zadziałało i się nie wykłada. No to czas na trzecią wersje od Ciebie. :) Tak na szybko patrzę, dobrze było by w tych 32bitach sprawdzić poprawność. W NECu 2-bajty idą wprost 2 są negacją. https://obrazki.elektroda.pl/9828209700_... (at)MajsterXXL...
Przeczytaj sobie, najpierw tu: http://www.wckp.lodz.pl/leonardo/elektro... Postacie kanoniczne są po prostu albo sumą iloczynów albo iloczynem sum. W pierwszym przypadku dla każdej kombinacji wejść, która ma dać na wyjściu jedynkę zapisujesz sobie iloczyn stanów wejść i ich negacji dla danej...
przepraszam że dopiero teraz sie odzywam ale wcześniej nie mogłem, skompilowałem program i po uruchomieniu napięcie strojenia rośnie na maxa i na tym się kończy reset procka nic nie zmienia(dla tego dodatkowego x zrobiłem nową zmienną) P.S wielkie dzięki Atom1477 za poprawienie kodu Dodano po 29 poprawiłem w dwóch miejscach były jeszcze zastosowane...
Zmienna tr_wysw - używasz jej do blokowania aktualizacji zmiennych wyświetlacza. Z tego co widzę jeśli jest 1 - to jest blokada, jeśli jest 0 - zmienne są aktualizowane. [syntax=c]if (!tr_wysw){ dziesiatki = aktualna_temp / 10; jednosci = aktualna_temp % 10; } [/syntax] Bo masz tam negację. Ja bym jednak nie polecał tej metody, bo masz tam 2 razy dzielenie,...
No to ja to inaczej rozumiem bo to co dałeś w komentarzu czyli CLK : in STD_LOGIC; -- zegar wejsciowy np 1 Hz to totalna bzdura z zegra 1Hz nie ma możliwości aby dzielnik dał ci 10ns. Wyjdźmy od początku. Na wejściu masz częstotliwość X i chcesz z niej otrzymać okres o czasie trwania 10 ns to masz trzy przypadki 1) Częstotliwość X jest większa czyli...
Witam. Mam taki problem. Po minimalizacji funkcji metodą Karnaugh wychodzi mi coś takiego A'B'C+A"BC'+ABC+AB'C' (' oznacza negację). Facet na zajęciach powiedział że to jest AxorBxorC tylko trzeba to wyprowadzić z tego poprzedniego równania i nie wiem jak to zrobić. Pomoże ktoś? To mi się przyda nawet nie do tego konkretnego zadania ale też na przyszłość...
Ciężko opisać, ale spróbuję.. To działa tak, że zaznaczasz grupy jedynek (albo zer) w odpowiedni sposób, ale to pewnie wiesz. Bierzesz na pierwszy plan daną grupę, dajmy dla przykładu tą zaznaczoną na czerwono.. I teraz szukasz, które ze "zmiennych" a,b,c,d są wspólne dla całej grupy. Dla przykładu czerwonej: Są tu dwie jedynki. Dla każdej z nich a=0,...
Najpierw zdefiniuj co rozumiesz przez "dwa przebiegi ... przesunięte o 180 stopni" Bo dla mnie to oznacza, że jeden jest negacją drugiego, czyli wystarczy zwykły negator. Ale tu (przy sygnale o różnym wypełnieniu) nie jako układ cyfrowy, bo wiele z nich (np. przerzutniki) dają sygnał wyjściowy o stałym wypełnieniu 50%. Ale najprostszym negatorem jest...
Nadal mam problemy ze zrozumieniem, co dokładnie próbujesz osiągnąć. Masz jeden przełącznik termiczny i chcesz go używać zarówno do chłodzenia, jak i ogrzewania? Czy możesz podać listę oddzielnych czujników i wyjść, które posiadasz? Czy masz jeden przełącznik termiczny - czy dwa? Czy masz oddzielną chłodnicę i grzałkę? A może mówiąc "chłodzenie" masz...
30mV to jest 0,03V. Czy to tak trudno zrozumieć, że takie wahania mogą powstać przy np. pracującym u sąsiada urządzeniu dużej mocy, okresowo zmiennej i niewydolności układu stabilizatora? Mnie się zdarzało, że przyczyną podanych anomalii było pracujące CB-radio. Obecnie modne panele fotowoltaiczne też mogą sporo namieszać. Napięcie sieciowe waha się...
[syntax=pascal]If a then b := true else b:=false[/syntax]zastępuje się[syntax=pascal]b:=a[/syntax]Można do tego stosować dodatkowo operatory logiczne, np negacji. Po prostu bezsensownym jest wywoływanie warunku wyłącznie do celu przypisania wartości zmiennej logicznej. Przykładowo [syntax=pascal] if (Zjedz.wspolX>=385) AND (Zjedz.wspolX<=435)...
To nie tak. Masz miejsce na np. 128 zmiennych w każdym sektorze. Zapisujesz po kolei 128 wartości do pierwszego sektora, potem następne 128 do drugiego sektora. Kiedy jesteś na końcu drugiego sektora - kasujesz pierwszy i zaczynasz kolejne wartości zapisywać do pierwszego. każdą wartość możesz dodatkowo zabezpieczyć np. jej negacją. Po uruchomieniu...
Napisać program realizacji funkcji logicznej : w = a ^ b ^ (!c). Przecież to proste (+ -> OR logiczne, * -> and logiczne ) a^b=!a*b+a*!b a ^ b ^ (c!) rozbijasz na w=a^b c=!c w=w^c ' obliczenie a ^ b MOVE, a ' aku:=a NOT ' aku:=!a AND,b ' aku:=!a*b STORE, w ' w:=!a*b '------------------------- MOVE,b ' aku:=b NOT ' aku:=!b AND,a...
Nie zajmuje sie tym "na codzien". A dla takiego prostego ukladu mapy Karnaugha sa nawet zbedne. Owszem piec zmiennych wynika z liczby czujnikow, ale wystarczy zauwazyc, ze jak tasma nie dziala (X0=0), to wszystkie wyjscia sa zero, no bo co tu sprawdzac, czy popychac . Znaczy to, ze w rozwiazaniu bedzie musial byc iloczyn X0 (X0=1) z pozostalymi operandami....
Co to jest "//Prikazi drgo stevilko" albo to "//prepreci premocno gorjenje druge"? Ogólnie rzecz ujmując kod jest napisany źle - na zdjęciu widać że gościowi prześwitują te liczby (coś w stylu smurzenia w lcd). Mam tablicę - w niej kody dla cyfr, i mam numer w zmiennej. Gdy używam zmiennej jako indeksu tablicy to pod tym indeksem mam kod dla tego numeru...
010203 to string danych Jeśli to string, to CRC liczysz w następujący sposób: -Sumujesz kody ASCII tych znaków. Suma powinna być zadeklarowana jako unsigned char, żeby była brana bez znaku i działała modulo 256. -sumę zmieniasz na liczbę ujemną (a w kodzie uzupełnien do 2: negacja bitowa, zwiększenie o 1) no i gotowe :) skleciłem prosty kodzik na poczekaniu,...
Może zamiast rozwiązywania za ciebie (od czego mało się nauczysz) podrzucę ci elementy rozwiązania. 1. Negacja (czyli nie x) jest realizowana przez styk ROZWIERNY przekaźnika, tj. zasilenie cewki przekaźnika powoduje rozwarcie styków. 2. Suma logiczna jest realizowana przez RÓWNOLEGŁE łączenie styków zwiernych różnych przekaźników, 3. Iloczyn logiczny...
Wiecie co?? Patrzę na to i się przerażam..... Do autora pytania Algebra Boole'a ma tylko dwa stany H i L ( wysoki i niski ) które są równoważne zapisowi 1 i 0. Korzystając z aksjomatów i troszkę pomyśląc suma to taka funkcja gdzie jeśli jest jedynka to na wyjściu też jest jeden czyli : L+1=1 I H+1=1 jest to tzw element zerowy... Czyli jeśli mamy dwie...
może coś takiego if(y & 00000100) x = x | 00000100; else x = x & 00000100; Oczywiście że takie konstrukcje są ok (chociaż ta akurat ma błąd bo brakuje negacji w drugim warunku) ale cały czas są to b.skomplikowane rozwiązania. Mój problem polega na tym że potrzebuje wielokrotnie z takich operacji korzystać, mam napisany program w pierwszej wersji w...
Witam Jeśli temp jest zmienną zawierającą temperaturę odczytaną z ds18b20 to jest to zmienna 16 bitowa ze znakiem. W związku z tym proponuję: - odczytać najstarszy bit (znak) i gdzieś go zapamiętać - jeśli liczba jest ujemna (MSB = 1), wykonać bitową negację i dodać 1 W tym momencie wykonanie operacji przesunięcia bitowego o 4 w prawo zwróci wartość...
Wydaje mi się, że nie ma konieczności negacji sygnałów przed czy za transoptorami ponieważ sygnały IN są tak naprawdę w przeciwfazie względem siebie. Są to generowane przez wyjścia Attiny OCB1 i !OCB1 sygnały SPWM. Jeśli poprzez sam transoptor zaneguję oba sygnały to mimo, że się odwrócą i tak pozostaną w przeciwfazie - a to chyba tutaj najważniejsze....
napisz program do arduino aby zaprogramować przyciski i dwa limit switche połączone według obrazka https://obrazki.elektroda.pl/7053605400_... Na podstawie dostarczonego schematu, można zaprogramować Arduino tak, aby obsługiwało sygnały z przycisków i limit switchy (przełączników krańcowych). Oto przykładowy kod, który może spełniać te funkcje....
Dobra poprawiony skrypcik na zmiennej sesyjniej, dorzuca +1 dopiero po wyłączeniu i włączeniu przeglądarki, tak myślę... : <?php session_start(); if (isset($_SESSION['blokada'])){ $plik=fopen("dane/licznik.txt", "r"); $licznik=fgets($plik); fclose($plik); echo "$licznik"; } else { $plik=fopen("dane/licznik.txt", "r"); $licznik=fgets($plik); fclose($plik);...
Hmmm no jednak przed wczesnie sie cieszylem;/ co prawda wyswietla mi sie kod ale zdaje mi sie ze nie dokladnie taki jak powinien tzn. kod rodziny sie zgadza (stad moja przed wczesna radosc) a co do reszty nie jestem pewny jednak biorac pod uwage ze na trzech najbardziej znaczacych bajtach mam wartosci 00 gdzie miedzy innymi znajduje sie wartosc sumy...
Prawda READ. A co do tej konwersji to już kiedyś napisałem jak to zrobić, zaraz znajdę post. Znalazłem. Jeśli temp jest zmienną zawierającą temperaturę odczytaną z ds18b20 to jest to zmienna 16 bitowa ze znakiem. W związku z tym proponuję: - odczytać najstarszy bit (znak) i gdzieś go zapamiętać - jeśli liczba jest ujemna (MSB = 1), wykonać bitową negację...
Cóż, jeżeli działa to się cieszę, ale ja bym to zrobił inaczej. Triak jakiś porządny, optotriak załączany w dowolnym momencie. Zasilanie układu pociągnięte z obwodu który w oryginale zasila cewkę przekaźnika załączającego transformator (mam nadzieję że jest tam niskie napięcie, a jeżeli nie to zasilacz beztransformatorowy). Dodatkowo transoptor do badania...
Jak to fajnie było w ASM gdzie łatwo wymusić umieszczenie zmiennej na początku czy końcu programu :-) AVR-GCC ma taka właściwość, że umieszcza stałe zaraz za obszarem wektorów przerwań. Przyczyna takiego postępowania jest oczywista (prawie). Dostęp do stałych przekraczających 64kB wymaga ustawiania RAMPZ. Takie odwołania wykonują się dłużej. Umieszczanie...
Witam Moj problem polega na tym, iz program ktory napisalem do odczytu kodu z ds 18B20 nie do konca dziala tak jak powinien bynajmniej tak mi sie wydaje biorac pod uwage wyswietlone na LCD kombinacje: 40 38 86 67 12 00 00 00 wyswietlam od najmniej znaczacego bajtu zatem kod rodziny sie zgadza co do reszty nie wiem;/ ale biorac pod uwage ze ostatni bajt...
Pomóżcie koledzy, bo pomroczność jasna ogarnęła albo mnie, albo kompilator Bascoma. Taki fragment kodu: [syntax=basic4gl] Config Pind.0 = Output Led_open Alias Portd.0 Dim Zawor As Byte Dim Miganie As Bit Led_open = Not Zawor.1 And Miganie [/syntax] Czemu to się właściwie nie chce skompilować? Odpowiedź kompilatora brzmi "104 3 parameters expected"...
Zapis:[syntax=vb]Private Sub Worksheet_Change(ByVal Target.Address(0,0)="A1" As Range)[/syntax] jest oczywiście błędem (jest zresztą w edytorze VB wyświetlany czerwoną czcionką). Target jest zadeklarowana jako zmienna typu Range, i jest odwołaniem do aktualnie zmienianej komórki. W deklaracji zmiennej nie ma miejsca na przypisywanie jej wartości. Właściwie...
mam problem z uruchomieniem przetwornika AC w atmedze, po polaczeniu ukladu zgodnie z tym schematem http://www.voytek.tkdami.net/programy/ad... wszystkie ledy na ktorych ma byc wyswietlany wynik caly czas sie swieca mimo ze w programie jest ustawiony stan wysoki w konf. portow (diody sa prawidlowo polaczone). do przetwornika...
Witam, mam zadanie i nie wiem czy dobrze je rozwiązuje, więc proszę o pomoc. Zadanie. Zaprojektować układ automatycznego sterowania ruchem manipulatora. Listę sygnałów sterujących przedstawiono poniżej. Ruchem manipulatora sterują wyjścia o nazwach W_PRAWO, W_LEWO, W_GORE i W_DOL. Prawe położenie ramienia zakończonego chwytakiem wykrywa czujnik końca...
drobna poprawka Zamiast "trwa świecenie" będziemy tworzyli nową zmienną kontroli stanu na porcie ? Nie bo ta informacja jest zapisana, tylko gdzie? ... w przerzutniku portu C ponieważ właśnie powyżej stan portuC zmieniliśmy na przeciwny. Niestety nie wiemy czy na 1 czy na 0? Ale wystarczy teraz ten bit odczytać z portu i sprawdzić czy jest 1 Dodano...
Chyba już był taki temat. Myślałem, aby wykorzystać sumator 4-bitowy i jakoś go uprościć, aby dodawał dwie liczby, czyli nieznaną liczbę + 6 (DCBA + 0110). Raczej nie chodzi o to żebyś przerysował sumator 4-bitowy i na jedno z wejść podał 0110. Podpowiedź: zastosuj połączone sumatory 1-bitowe z przeniesieniem. Też raczej nie chodzi o to, układ nie ma...
Doczepię się to makr: [syntax=c]#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) //ustawienie bitu (set bit) #define cbi(port, bit) ((port) &= ~(1 << (bit))) //kasowanie bitu (clear bit) #define tbi(port,bit) (port ^= _BV(bit)); //negacja bitu #define bis(port, bit) ( port & (1 << (bit))) //makro zwracajace wartosc 1 lub 0 zależnie...
Wpisałem coś takiego: [syntax=c]NVIC_EnableIRQ(DMA1_Channel1_I... Odblokowanie przerwania od kanału 1 DMA1 bo w konfiguracji DMA kanał 1 miałem: [syntax=c]DMA1_Channel1->CCR = (DMA_CCR1_PL_0 | DMA_CCR1_PL_1 | DMA_CCR1_MSIZE_0 | DMA_CCR1_PSIZE_0 | DMA_CCR1_MINC | DMA_CCR1_TCIE | DMA_CCR1_EN);[/syntax] TCIE włączenie przerwania od zakończenia...
Kol. Kwazor zbudowałeś fajną przetwornicę do ładowania akumulatorów , być może MPPT i tym możesz się pochwalić. Nie ma nigdzie opisu działania, szkoda. Na opis zasady działania nie można się doczekać, szkoda. Jeżeli ona działa to tym się pochwal. Lecz gdy zjawia się opis urządzeń innych użytkowników, pojawia się reklama Twego MPPT i negacja innych pomysłów,...
Witam, Od dłuższego czasu próbuję rozwiązać problem przy pewnym projekcie gdzie bardzo uporczywie dają mi się we znaki błędy powodujące kompletnie nieprzewidywalne efekty. Dodałem do kodu funkcję zwracającą ilość wolnej pamięci na podstawie książki M. Kardasia. Metodą prób i błędów udało mi się doprowadzić do sytuacji, w której pamięć zapełnia mi konkretny...
Witam. Zwracam się z prośbą o pomoc w znalezieniu błędu. Siedzę 6h i próbuję ogarnąć od podstaw liczniki i ADC. Moim celem jest wygenerowanie sygnału o zmiennej częstotliwości. Jak piszę coś na sam ADC to działa, na licznik też działa, a jak próbuję połączyć to za nic;/ Problemem jest chyba przepisywanie rejestru ADC do OCR1A którego używam do CTC licznika...
Witam, coś mi poprzednie odpowiedzi nie pasują... :cry: Multiplekser czterowejściowy realizuje funkcję kombinacyjną f od logicznych zmiennych wejściowych S0 i S1 (adres) oraz in0 , in1 , in2 , in3 (argument): f(S0, S1, in0, in1, in2, in3) = S0 • S1 •in0 + S0• S1 •in1 + S0 •S1•in2 + S0•S1•in3 , ale: S0...
To nie jest żadna przedwczesna optymizacja. Jest to kod dostosowany do moich potrzeb. Algorytm odczytywania wziąłem ze strony maxim-dallas, więc powinno wszystko, grać a jednak tak nie jest. Sprawdzam to z jednym urządzeniem i dwoma, cały czas mam sytuację, że odczytuje mi pierwszy bit, a następnie zamiera mi wszystko kiedy odczytuję 1 i 1 jako drugi...
Proszę o konstruktywne opinie. Może to nie będzie zbyt konstruktywne, ale chciałbym zwrócić uwagę na pewne rzeczy. const uint8_t top_neu=45; To nie błąd, ale dobrą praktyką jest używać zamiast tego: #define top_neu 45 Dzięki temu oszczędzasz RAM i przyspieszasz program, bo nie trzeba ładować stałych z RAM do rejestru np. w celu porównania ze zmienną....
Nie znam działania programatora HV ani jego sposobu programowania więc ciężko mi stwierdzić co jest nie tak z kodem od strony funkcyjnej. Podeślij jakiś link dot. działania tego programatora to zobaczymy co dalej. A co do samego sposobu pisania to masz kilka kwiatków w kodzie które nie są mistrzostwem w programowaniu: ldi r29,0b01000000 a to co Ty wpisałeś...
No, no, no. Nie sądziłem że tak szybko uzyskam odpowiedź na zadany problem. Zaczne od podziękowania: paluszastemu za trafienie w dziesiątkę, ponieważ faktycznie po przestawieniu THEN w linie z warunkiem i pozbyciu się jednego endif kompilator już nie widział błędów, a także podziękowania dla Ahcingi za naprowadzenie mnie no dobry tok myślenia. Rzeczywiście...
Witam Mam problem z sterownikiem do lampek choinkowych, układ powstał w oparciu o kit AVT2770. Jest sterowany uKontrolerem AT89C2051. Problem w tym. że P1.0 uKontrolera powinien sterować optotriakiem (podawać stan niski) jednak nie steruje. Przy wyciągnietym uK z podstawki i zwarciu końcówki P1.0 do masy lampki się zapalają. Program napisany w Bacomie...
Witam. Chciałem podzielić się z wami moim projektem opartym o ESP8266. Projekt działa z aplikacją Blynk lot(W załączniku przesyłam krótką konfigurację aplikacji i kodu) Części potrzebne do budowy projektu to: WeMos D1 mini Przekaźniki 4x(lub dowolna ilość) Zasilacz 24V Zasilacz 5V Przewody arduino Elektrozawory 4x(lub dowolna ilość) Podłączenie płyta...
Napięcia na liniach ustawiaja się odpowiednio do bitów liczby którą wysłało sie do portu danych - jeśli bit jest jedynką, to na odpowiadającej mu lini jest napiuęcie. Tak więc wysłanie zera wyłączy wszystkie linie, natomiast wysłanie 255 (binarnie to 11111111), wszystkie włączy. Aby zmieniac stany niezależnie, trzeba na liczbach wykonywac operacje logiczne...
Pisze drugi raz o tym odejmowaniu i coś tam wymyśliłem. Wersja pierwsza: MOV R0,#2 MOV R1,#8 MOV A,R1 CPL A MOV R1,A MOV A,R0 ADD A,R1 CPL A MOV R3,A END Gdy odejmuje np mniejsza - większa daje wynik dobry tylko że dodatni. Co gorsza program całkowicie nie działa gdy odejmujemy większa-mniejsza. PROSZĘ o POMOC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
negacja mosfet negacja wejście negacja sygnału
wiercenie betonie programowanie bramy normstahl monter elektronik
inwerter wyspowy dewalt dcb107
Reset systemów po wyjęciu akumulatora - bagażnik i szyba nie działają Spadek prędkości internetu w zależności od pory dnia