Można dopisać takie funkcje żeby niepotrzebnie nie ustawiał wartości portów jeśli te się nie zmieniły, ale to chyba gra nie warta świeczki :D Pominąłem PORTD bo widzę tam jakąś transmisje RS w configu. [syntax=vbnet]$regfile = "m128def.dat" $hwstack = 80 $swstack = 80 $framesize = 160 $crystal = 8000000 $baud = 19200 Config Porta = Output Config Portb...
Może spłycę :) wypowiedzi przedmówców, ale w skrócie chodzi o to. 1. Wyświetlanie wszystkich 4-ech segmentów sterowanie jest tym samym portem, w tym przypadku P1 2. Tranzystory powodują po prostu dostarczenie napięcia do odpowiedniego segmentu. 3. Wysyłając jakiś sygnał na port P1, wysyłamy ten sam sygnał do wszystkich segmentów, a sterując odpowiedni...
Jestem w trakcie tworzenia programu do syntezy na SAA1057 ,do tego 4 wyświetlacze 7 segmentowe ,utknąłem w momencie gdy trzeba było przekonwertować liczbę całkowitą (bo w takiej przechowuję na częstotliwość) na poszczególne jej cyfry ,tak aby można było to wysłać do zmiennych obsługi multipleksu.
Jak już to nie : Cyfra1kodu = A * 1000 Cyfra2kodu = B * 100 Cyfra3kodu = C * 10 Cyfra4kodu = D Code = Code + A Code = Code + B Code = Code + C Code = Code + D tylko: Cyfra1kodu = A * 1000 Cyfra2kodu = B * 100 Cyfra3kodu = C * 10 Cyfra4kodu = D Code = Code + Cyfra1kodu Code = Code + Cyfra2kodu Code = Code + Cyfra3kodu Code = Code + Cyfra4kodu
Timer w przerwaniu obsługuje wyświetlacz LED i inkrementuje zmienną byte, która w pętli głównej w instrukcji Case wybiera konkretne funkcjonalne fragmenty programu do wykonania, których wykonanie czasowo mieści się pomiędzy przerwaniami od timera. W przerwaniu od timera ustawia się także flaga przerwania, która uruchamia za pomocą If Then instrukcję...
W celu eliminacji drgań styków należy użyć przerwania licznika, by odczytywać stan przycisku tylko raz na około 10 ms . Nie używamy funkcji Debounce i delay_ms ! Czy przycisk został naciśnięty sprawdzamy w zmiennej globalnej dostępnej w programie głównym.
Wait nie stopuje programu. To nie całkiem prawda. Wait zatrzymuje główny program. Nie dotyczy to przerwań, które jak sama nazwa wskazuje przerywają działanie programu głównego, a więc i waita. Tak więc waity nie przeszkadzają przerwaniom, ale przerwania wydłużają czas waita. Przykład: Przerwanie o częstotliwości 400Hz w ciągu 100ms wykona się 40 razy....
Źle podchodzisz do problemu - zmienna i (czyli numer wyświetlanej cyfry) powinna być zmienną globalną, którą w przerwaniu od timera zwiększasz, a następnie wykonujesz blok switch (i) { ... }. Oczywiście delay w przerwaniu to "bluźnierstwo" :) Preskaler ustaw sobie na 64, wtedy przerwanie od timera dostniesz ok. 400x na sekundę, czyli odświeżanie całego...
No i mam problem...zegar ładnie chodził w pająku ale podczas ustawiania czasu zwarłem przez przypadek reset do jakiś...9V a P0.2 do masy...i od tego czasu układ nie startuje...zegar się nie uruchamia, podczas próby odczytu sygnatury jest "Device not known (00,00,00)", nie reaguje na reset... Czy ubiłem procka...? Jest to AT89S52-24PU. Sprawdzone - spalony...
czyli jak w programie zmienie multipleks na timer 1 to bedzie działało?
Zobacz sobie krótki opis [url=http://bart-projects.cba.pl/multipl... Zacznij krok po kroku i w 20 minut opanujesz temat. Co prawda tam akurat nie multipleksuję w przerwaniu chociaż tak to właśnie robię najczęściej. Spowodowane to było tym że akurat musiałem pogodzić multipleksowanie sześciu wyświetlaczy z odczytem 1Wire i czasem "naciągałem"...
Twoje przerwanie odbywa się co około 4ms..... a ty w tym przerwaniu ładujesz WAITMS 4 i to aż cztery razy !!!! co daje ci łącznie 16ms. Tak więc zaczyna się przerwanie - trwa jak kolega wyżej napisał KOSMICZNIE DŁUGO, ale ok potem się kończy, i niestety od razu procek wykonuje następne przerwanie i tak wokółko ;) ..... widzisz co się dzieje???? procek...
Wszystko zależy od inwencji twórczej. Teoretycznie da się i sterować 100 wierszy po kolei w multipleksie :D
...NIGDY nie robi się multipleksowania na tym samym Timerze , który jest wykorzystany do odmierzania czasu... ...Mega 8 na pewno ma dwa Timery, więc jeden na przerwania związane z czasem oczekiwania klawiszy, natomiast drugi do multipleksacji.... Hmmm... nie wiem czy dobrze zrozumiałem, ale jeśli się mylę to mnie popraw i wytłumacz dlaczego wszystko...
dziekuje juz do tego doszedlem o co chodzi z tym mux'em PROSZE o jakis schemat jak podlaczyc napiecie 0---15V i jakim poleceniem w BASCOM je odczytac plisssss
Witam, od wczoraj zmagam się z problemem odbioru kodu RC5 w urządzeniu, w którym mam multipleks dużej ilości wyświetlaczy 7-segmentowych LED. Przerwania na multipleks przychodzą co około 4ms. Multipleksowanych cyfr jest łącznie 48, ale pogrupowane są one, tak jakby były tylko 4 cyfry. W każdym przerwaniu kody segmentów wysyłane są szeregowo na 3 rejestry...
http://obrazki.elektroda.pl/3973217100_1... Witam! Pewnie wielu z was zetknęło się z problemem braku wystarczającej ilości wyjść w mikrokontrolerze. Mnie także to spotkało. Przy okazji innego projektu zaszła konieczność dołożenia wyświetlacza do już istniejącej płytki sterownika, ale jak to bywa - prawie wszystkie piny miałem zajęte....
Po zapoznaniu się z datasheet Atmegi 8 (str.186-188 oraz rejestrów na str.309) troszkę mi się rozjaśniło. Oto poniższy kod który stworzyłem na podstawie powyższego. ....... Sprawdzę działanie w praktyce jutro. Gdyby było coś jeszcze w nim nie tak to proszę o reakcję :) \] O to właśnie chodziło! Dodam jeszcze: -zwróc uwagę na rejestr ADUMX. Trzy górne...
A w ogóle to umieszczenie wyświetlania w przerwaniu timera nie jest dobrym pomysłem, to co było powodem oryginalnego problemu. W przerwaniu Timera (1), lub(0) odmierzajacym czas dla multiplexing, umieśc tylko flagę, a procedurę wyświetlania przesuń do instrukcji warunkowej uczulonej na tą flagę , jednocześnie kasując tą flagę w tej instrukcji i umieśc...
Witam, Przeszukałem forum, goglowałem i niestety nie mogę znaleźć rozwiązania pewnego problemu. Poskładałem mały projekcik oparty na atmega8 i 6 segmentach LED. Do anod użyłem 6xbc327 sterowanych z portu d przez rezystory 10k. Katody steruje z portu c przez rezystorki 220 ohm. Programy testowałem różne - pisałem je w bascom - ostatni służący do testów,...
Co to za procesor ? Podaj przyporządkowanie linii portów (co która robi) ? W którym momencie masz ten błąd (przy ustawianiu, której cyfry) ? Procesor 89C51 No to jest Tak Port P0 steruje segmentami czyli P0.0 = A P0.1 = B P0.2 = C P0.3 = D P0.4 = E P0.5 = F P0.6 = G P0.7 = Kropka "nie wykorzystuje" Cyfra(0) = 63 'Wyświetla 0 Cyfra(1) = 6 'Wyświetla...
Możesz użyć specjalizowanych układów SCT2024, można też zrobić multipleks. Jeden SCT obsługuje 16 diod led, do ustalenia prądu diod potrzeba 1 rezystor. Transmisja danych przez SPI, dla 100 szt. led wystarczy 7 scalaków. Obecnie cena w TME nie przekracza 2 zł brutto za sztukę. No i jakie łatwe oprogramowanie tych układów, szczególnie gdy podpięte są...
Wszystko załatwia się timerem i przerwaniem ovf oraz compare. Nie wiem jak w Bascomie to zaprogramować, w C to parę linijek kodu więc w Bascomie podobnie. Przykłądy w C znajdziesz np. w darmowych przykładach do książek z mojej stopki (Język C...), może ci to ułatwi port dla Bascoma.
Gdyby drastycznie zmniejszyc rozdzielczość pwm i podnieść zegar na maksa to jest szansa, że by ten multipleks zadziałał, ale zdecydowanie lepiej zrobic jak radzi kolega Saabotaz i dodać dodatkowy rejestr.
Ja również miałem problem z multiplesowaniem wyświetlaczy i jednoczesnym odczytem 1wire. Pomysł z wyłaczeniem przerwań od timera na czas transmisji 1wire okazał się prawidłowy. Ponieważ w trakcie pomiaru świeci się jeden wyświetlacz aby efekt był nie zauważalny możemy dokonywać pomiaru temeperatury rzadziej. Oto mój programik : $regfile = "m8def.dat"...
Witam mam trochę problemów z multipleksowaniem wyświetlacza a mianowicie znalazłem ten kod na stronie $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował Config Portb = Output 'port b jako wejścia Portb = &B11111111 'wszędzie stan spoczynkowy-0 Config Portd = Output 'pprt d jako wyjścia Portd = &B11111111 Do Wyswietlanie: Mux = Not...
Ogólnie to mam program gotowy w bascomie z tej strony autorstwa Pier https://www.elektroda.pl/rtvforum/topic1... Są duchy na nim po wgraniu oryginalnego softu a że jest kod to postanowiłem pogrzebać Jeśli ktoś wie gdzie w kodzie szukać częstotliwości i wypełnienia to proszę napisać Ja jedynie co znalazłem to timer - fragment kodu. [syntax=vbnet] Config...
Witam, Z racji ograniczonej ilości portów, zostałem zmuszony do multipleksowania dwóch wyświetlaczy LED 7 segmentowych poprzez rejestr 74HC595. Na początku dla testów napisałem krótki programik. Program działa, lecz posiada jedno "ale". Mianowicie gdy w pętli głównej nie ma "waitms" wyświetlana liczba jest nieczytelna ponieważ zbyt szybko następuje...
Witam Jeśli napięcie zasilające wyświetlacz jest większe od Vcc uC to trzeba zastosować układ np.UDN2981A lub jego odpowiednik ( jest to taki ULN2803 tylko PNP ). Zwykłe klucze tranzystorowe nie mogą sterować anodami bo będą zawsze otwarte. Pozdr.
Temat do zamknięcia
Właśnie jest wykonane i działa dlatego przerysowałem częśc która by mnie interesowała w jaki sposób to rozpracować.
Witam, To: If T(2) = 0 Then Temp = T(1) / 2 Else I = 256 - T(1) End If If Temp < 0 Then Set Portb.7 Temp = -temp End If nie będzie Ci działać tak jak się tego spodziewasz, bo w Bascomie typ BYTE jest bez znaku (0-255), ale zamień "< 0" na "> 127" i masz już prawie wszystko na talerzu. Tu też jest błąd: If T(2)...
Witam, Czy ktoś wie jak można symulować multipleksowanie wyświetlaczy LED w proteusie, bo coś mi się wydaje, że chyba nie można, tak jakby program się nie wyrabiał z szybkością przełączania wyświetlaczy, bo kiedy dam w pętli opóźnienie około 100 ms, to nawet działa, ale z wielkimi skokami, wiadomo, a szkoda bo program jest całkiem fajny :-( Na płytce...
xanio --> nie musi nic kupować, żadnych tranzystorów. Na tej płytce AVT3500 ma wszystko czego mu potrzeba do multipleksowania 4 szt wyświetlaczy LED. Problem w tym, że autor nie wie jak zrobić multipleksowanie - no to już trzeba co nieco poczytać i poszukać w necie. Wujek google przyniesie ci sporo linków do różnych kursów Bascoma w tej kwestii, gdzie...
Rozchodzi mi sie o bascoma
Z bascomem nie pomogę, ale zasady pewnie są podobne. Przenieś multipleksowanie wyświetlacza do przerwania timera.
Wszystko działa dobrze, może ktoś ma pomysł na dalszy rozwój bo kod zajmuje jedynie 3.5KB. Napisz to w Bascomie :lol: :twisted: Wciąż myślę jak to skalibrować... nie wiem czy termistor się nie uszkodzi od wody? Nie powinien, tyle że ty chciałeś pokojowe temperatury mierzyć to nie wiem czy jest sens wrzucać do wrzątku i kalibrować. Jak mniej punktów...
Na początku tematu ograniczony byłem tylko do rozwiązania wyświetlania multipleksowego korzystając tylko z portów mikrokontrolera. Myślę iż skorzystanie z twojego rozwiązania czyli multipleks ale z cd4094 jest o tyle ergonomiczne iż pochłania mniej portów. Martwi mnie tylko jedna sprawa. Jak w Bascomie skorzystać z dobrodziejstw cd4094 aby trzy zmienne...
Przerwanie_0: 'co 2ms If Liczniczek_przygotowanie_odczytu < 400 Then Incr Liczniczek_przygotowanie_odczytu If Liczniczek_przygotowanie_odczytu >= 400 Then 'co 800ms odzyt DS Liczniczek_przygotowanie_odczytu = 400 Flaga_przygotowanie_odczytu = 1 End If End If Flaga_dodatkowa = 1 'do wykorzystania w innym sub- też co 2ms- to Twoje sterowanie...
Pomiędzy instrukcje: On Timer2 Multipleks Enable Interrupts wstaw instrukcję Start Timer2. Nie na początku przerwania jak napisał daro:"A na początku obsługi przerwanie tego timera: Start Timer2."
scal sobie te dwa bajty w jedna zmienna. T = Makeint(mbt , Sbt) T = T * 10 T = T / 16 Oczywiscie zmienna T jest typu integer W tym momencie masz liczbe 3 cyfrowa z ulamkiem ale bez kropki. Czyli 24,5 stC jest zapisane jako 245 Wystarczy odpowiednio powycinac cyferki do multipleksu wlaczyc kropke na wysiwetlaczach i gotowe.
Tak trzeba czekać, ale to nie jest absolutnie żaden problem. Można to zrobić na kilka sposobów, jednym z nich jest właśnie wystawienie flagi, ale są sytuacje gdzie cały odczyt można tam wcisnąć. Nie pamiętam już co było powodem, ale właśnie w jednym ze swoich sterowników odczyt umieszczony był w przerwaniach razem z multipleksem i czymś tam jeszcze....
Zawsze możesz wysterować do testu jedną cyfrę bez używania timera . Ustawiając odpowiednie porty w stan wysoki. Jeśli cyfra świeci dobrze a dopiero podczas multipleksowania zaczyna świecić znacznie słabiej oznacza że nie bierzesz pod uwagę średniego prądu segmentów jeśli przełączasz 4 cyfry to każda z nich świeci przez 1/4 czasu więc prąd segmentów...
W takich sytuacjach najlepiej zmniejszyć częstotliwość multipleksacji abyś mógł zaobserwować przełączanie wyświetlaczy i sprawdzić poprawność wyświetlania. Dim Display_buffer(4) As Byte [...] Display_buffer(1) = 2 Display_buffer(2) = 4 Display_buffer(3) = 6 Display_buffer(4) = 8 Do [...] Loop End...
Temat dosyć stary, ale borykam się z problemem jednoczesnego multipleksu wyświetlaczy (co 4ms) i dekodowania RC5: http://www.elektroda.pl/rtvforum/viewtop... Pytanie do kolegi klops_mops...czy nie miałeś przygaszania lub innych problemów z wyświetlaniem podczas odbioru RC5?
Bascom mnie odrzuca, ale o ile się nie mylę to wykorzystujesz przerwanie z przepełnienia timera. Prescaler dajesz 256, timer jest 8-bitowy, więc daje przerwanie raz na 65536 cykli, czyli zaledwie 122Hz. I to jeszcze dzielisz na poszczególne wyświetlacze - musi mrugać. Zwiększ szybkość odświeżania, np. poprzez zmniejszenie prescalera. Dopiero przy ok....
Atmega 8 wystarczy. Jeśli chcesz kolego liznąć tematu mikrokontrolerów w sposób bezbolesny, polecam książkę Marcina Wiązani o tytule bodajże "Programowanie mikrokontrolerów w języku Bascom" - jest tam m.in. opisana obsługa wyświetlaczy 7dmio segmentowych z multipleksowaniem i nie. Jeśli zrobisz kilka przykładowych układów z tej książki, to z tematem...
Nie posiadam schematu w eagle. (Stworzę, gdy tylko opanuję ten program). Moduł uruchomieniowy mam stworzony własnoręcznie i przetestowany za pomocą BASCOM. Klawisze mam podłączone do pinów PB0, PB1, PB2 i PB3. Raz jeszcze sprawdziłem zgodność z pinoutem oraz miernikiem, czy faktycznie klawisze zwierają piny do masy. Zwierają. Makra mam w porządku napisane?...
Cześć, Musisz dołożyć dwa kolejne wyświetlacze i: - linie W1-W7 podłączyć do nich równolegle z pierwszym wyślwietlaczem - dorobić wyjścia C6-C15 analogicznie do tych co już istnieją (każde do osobnego portu kontrolera - w Mega32 wystarczy wyjść) - w programie zmienić: Dim Kol(5) As Byte na Dim Kol(15) As Byte C1 Alias Portb.0 'przypisanie linii PB0...
Witam. Szukałem na forum i niestety nie znalazłem jednoznacznej odpowiedzi na mój problem (tak czasami bywa). Tak więc atmega8 to tego wykorzystany wewnętrzny ADC, kanał 0, wpięty lm335+4k7 do VCC, kwarc 11059200, zasilanie przez dławik 10uH do AVCC, 10uF pomiędzy AREF i GND zgodnie z opisem z helpa, configuracja ADC: Config Adc = Single , Prescaler...
Bufor jest 1 bajtowy ale całą ramkę może skompletować slave a master odbierze całą i po analizie ją wyśle.
Aha - podam mój tok rozumowania i jeśli jestem w błędzie proszę o poprawkę ;) Pod np. P3.0 podłączam wejście A, natomiast pod P3.1 podłączam CLK. Następnie wystawiam na wyjście P3.0 ciąg bitów za pomocą Bascoma: P3.0 = &B01001000 Oznacza to że włączenie się odbiornika (np diody) podłączonej do pinów B i E? Aha i jeszcze jedno - co muszę podawać na clock?...
Świetny zegarek, starannie zrobiony i przemyślany. Do nextępnego projektu kilka uwag, wtedy zrobisz perfekt zegar: -dwukropek wygaszany + sterowalne kropki -wyświetlanie ujemnych i dodatnich temp. na tych samych pozycjach. Choćby płaska dioda jako minus Z tym dwukropkiem rzeczywiście mogłem go o jeden stopień przesunąć w bok no ale cóż następnym razem:)...
w wierszach mam katody. Aha czyli nie udało ci się wpisać tekstu i przewijać go?....czyli do wierszy (katod) mam dać jeden UDN2981 + rezystor (spadek napięcia np. 6,5V, gdy zasilam 9V). natomiast na kolumnach rejestr przesuwny + ULN2803. próbowałeś zapalić wszystkie diody multipleksem? Dodano po 7 a czemu dales atmega32, a nie np. atmega8?
Z takim kwarcem da się zrobić programowe 20kHz. Ze sprzętowym nie ma problemu z jakimikolwiek przerwaniami. Zapewne chodziło o przerwania występujące podczas multipleksu wyświetlaczy, ale wtedy przy odpowiednim zarządzaniu przerwań także nie ma problemu z odczytem z 1Wire.Także piszę w bascomie i mam program z 4xDS18B20 na przewodzie 20m i z 15 multipleksowanymi...
Witam Zmontowałem sobie układ atmega8 oraz 35 LED połączonych w małą matrycę 7x5 Załadowałem kod który jest napisany w listingu do książki Marcina Wiązania.Są tam dwa kody jeden do wyświetlania po kolei wszystkich znaków ASCII który działa bez problemowo oraz drugi który przewija text lecz on nie działa Oto ten kod. Co jest w nim nie tak? 'Program tablicy...
Był taki probem w BASCOMie z funkcją GETADC(). Po zmianie kanału odczytywała ona nadal poprzedni kanał, mimo iż multiplekser był przełączany poprawnie. Rozwiązanie problemu było dość proste. W rozwinięciu funkcji zastosowano dwukrotny odczyt stanu przetwornika ADC. Pierwszy odczyt odrzucano, i brano pod uwagę tylko drugi odczyt. Wada: Dłuższy czas oczekiwania...
Niestety trochę trudno zrobić na tym układzie stoper, bo jak wiadomo liczy on do 9 i zwiększa liczbę o 1 pozycję w lewo, a jak wiadomo minuta ma 60 sekund :| . Możliwe jest, aby wyświetlał on wynik w sekundach, ale to nie jest wygodne :| . Ja bym to zrobił na jakimś uC (np. AT90S2313 albo ATTiny2313) i napisał program w Bascom'ie. Dla uproszczenia dodałbym...
Wygląda na to, że źle sterujesz multiplekserem. Pokaż fragment kodu , w którym przełączasz kanały. Może wtedy będę mógł pomóc.
Ogólnie może być. Podoba mi się rozwiązanie z bramką NOT dla multipleksu chociaż by tu zwykły tranzystor wystarczył. Troszkę drażniące te piski są. Lepiej już było wygenerować coś przez uC. Poznałem też kilka trików pozwalających na zmniejszenie objętości programu w BASCOMie (np. kto by się spodziewał że lepiej użyć kilku poleceń If...End niż logicznych...
Chcąc bezproblemowo zmieniać kanały powinieneś zostawić GETADC() i w konfiguracji zmienić na SINGLE . W trybie FREE przetwornik mierzy ciągle (ustawiając flagi przerwania ADI F po każdym pomiarze), a ostatni wynik będzie znajdował się w zmiennej specjalnej ADCD (typu Word ). Jednak zmiana kanału pomiaru jest nieco problematyczna, bo kanały musiałbyś...
Hmm kombinuje ale coś mi nie wychodzi, możesz na podanych listingach wyżej dopisać w którym miejscu co trzeba sprawdzać? Już chyba za długo przy tym siedzę i nie mam świeżego umysłu ;) Coś już działa: Udało mi się wysyłać i odbierać dane w obu uP, ale teraz mam problrm z wysłaniem i odebraniem sumy CRC8. Ponieważ także 1-wszy raz w życiu wykonuje generowanie...
...napisałem juz program do multipleksowania to co napisałeś ciężko nazwać programem do multipleksowania. poczytaj sobie tu i tam: http://wkretak.pl/readarticle.php?articl... w necie ale także używając SZUKAJ na elektrodzie znajdziesz setki linków n/t obsługi wyświetlaczy w takim trybie albo książkę Marcina Wiązani o Bascomie i dokładnie postaraj...
Możliwości jest bardzo dużo, mógłbym bez problemu nauczyć się pisać programiki w Bascomie i programować mikrokontrolery albo bawić się z PLD, które chyba programowało się poprzez przepalanie ścieżek w strukturze logicznej (?). Tyle, że mnie póki co interesują właśnie starsze technologie, chcę poznać jak to kiedyś się robiło i budować układy na podstawowych...
Małe pytanko a obsługa wyświetlania multipleksowanego jest wykonana w przerwaniu czy w pętli programu po ustawianiu zmiennej F4ms? EDIT: Nie rozumiem, zapis do eepromu wykonuje się 20 razy (zmienna Autoret = 20)
Oczywiście, że w grę wchodzi tylko sterowanie multipleksowane. A więc jak mówiłeś- wyświetla na jednej lampie, potem na drugiej, trzeciej i czwartej i od nowa na pierwszej. Na taki "obieg" masz około 1/30 sekundy.
jedyne co przychodzi mi do glowy to 3 cyfry czyli 3 piny i w kazdym po 7 "kresek" i wszystkie kreski "a" polaczone ze soba wszystkie "b" i tak do "g" i to do 7 wyprowadzen proca czyli 10 pinow. i zapalac tak jak mowisz - po kolei szybko: np kreska "a" i w tym czsie jak jest "a" to zapalac odpowiadajace temu wyswietlacze i tak wszystko p okolei... Brzmi...
ADC0831, ADC0834, ADC0838 7-10 zł ADC0804 (równoległy) ok 7 zł ADC0820 (szybki) ok 12zł itd... Przy kosztach na poziomie 2 zł można zrobić stosunkowo dokładny, tyle że wolny przetwornik z podwójnym całkowaniem (np. 4051+LM324+kilka elementów dyskretnych). Najprostsze podłączenie do portu i oprogramowanie - przetwornik U/f (np LM331) - daje dobrą dokładność,...
no racja zapomnialem zmienic. Najlepsze jest to ze w ksiazce od bascoma jest 3 to chyba blad, bo przecinek to tez jest znak. Jeszcze jedno pytanie do fachowcow: zauwazylem ze z podlaczonymi tymi rezystorami pobor pradu mi zwieksza sie o ok. 0.17mA . Ja walcze o kazdy mA bo wszystko jest tez zasilane z bateri cr2032 czy da sie ten problem jakos rozwiazac?
No cóż, zamiast '164 do sterowania kolumn lepsze by były SCT2024, do wierszy można by użyć '595, podłączone do sprzętowego SPI ATMEGI, pozwoliło by to pozbyć się zbędnej logiki. Pomagałem robić podobną tablicę jako pracę dyplomową, użycie SCT2024 znacznie uprościło układ, w przypadku 120 kolumn potrzeba by 8 x SCT, dla 16 wierszy można by dać 15 x SCT...
To jest wszystko kwestia potrzeb i założeń projektowych. Ty napisałeś, że układ ma być "prosty" i nic więcej nie potrzeba. Piny można było policzyć na palcach więc zaparzyłem kawę i zanim kubek wystygnął to miałem to napisane, narysowany schemat i przetestowane w symulatorze. Multipleksowanie pozwala na sterowanie większą ilością takich wyświetlaczy....
Tak, z tego co wiem, to schemat jest pod to: http://www.daqq.eu/index.php?show=prj_av... A program (po modyfikacjach) stąd: http://www.elektroda.pl/rtvforum/topic17... Więc dlatego proponuję Kol. livetevn zacząć przeróbkę od nauki obsługi wyświetlaczy LED - potem stanie się jasna dla Niego zasada wyświetlania w tym programie, który zmodyfikuje...
Kolego tera nie działa mi ustawianie godzin a zrobiłem to tak deklaracja:[syntax=vbnet] Declare Function Ustaw(byref Godziny As Byte , Byref Minuty As Byte , Sekundy As Byte) As Integer Declare Sub Znak(cyfra As Byte) 'deklaracja tablicy stałej do wyświetlania cyfr i znaków na wyświetlaczu 7 seg Declare Sub Czytaj 'deklaracja funkcji bez parametru do...
Tak może współpracować dwa modułami na raz ale muszą być różne komendy albo multipleksowanie modułów.
Nie chcę konwersji do stringa, bo docelowo ten program ma obsługiwać wyświetlacz LED, a nie LCD. Arktik1, jak ten program może działać poprawnie skoro nie bada stanu 5 najstarszych. bitów w bajcie MSB? W nocie katalogowej DS jest wyraźnie napisane, że tylko wtedy należy wartośc reszty bajtu MSB i całego LSB jako ujemną. Symulator już mnie kilka razy...
Samo wykorzystanie M32 do minutnika jajek jest już nieekonomiczne, ale zakładam, że taki masz procesor na stanie. Po pierwszej nie używaj takich warunków... Jak rozwiązujecie sprawę migania dwukropka? Ja zazwyczaj dwukropek też robię w multipleksie (gdy nie mam wolnych pinów uP) łącząc go z pinem sterującym kropką wyświetlaczy i włączam podczas wyświetlania...
Witam. Robię trzycyfrowy wyświetlacz led sterowany przez rs 485 (na razie 232) i zastanawiam się nad sposobem przesyłenia danych , poczytałem posty na tym forum + specyfikację gotowego protokołu i postanowiłem że chciałbym przesyłać: 1 bajt startu , 2 bajty adresu , 1 bajt rozkazu , 2 bajty danych , 2 bajty sumę kontrolną , 1 bajt koniec ramki . Pytania:...
Bez specjalnego ingerowania w program uruchom sobie Timer1 (w końcu zapłaciłeś za niego :D ) i zmuś go do przerwania co określony czas. Dioda będzie sobie migać równiutko, a jak napiszesz krótką obsługę przerwania to multipleksowane wyświetlacze się nawet nie zająkną. Polecam instrukcje: Config Timer1... Start ... Load... On... Enable... a później Toggle...
Zamiast multiplekserów lepiej użyć 3-stanowych buforów jak 74HC244 dla adresu i 74hc245 dla danych. Łatwiej zaprojektować PCB. Rozwiązania takie można znaleźć w archiwalnych numerach EP i PE pod hasłem "emulator pamięci rom/eprom".
tylko multipleksować najlepiej 4 linie na dekoder bcd->lcd odpowiednie piny 3 wyświetlaczy zewrzeć ze sobą + 3 linie do tranzystorów włączających wyświetlacz w bascomie sterujesz tak jak normalnymi wyjściami (diodami ) tylko z odpowiednią częstotliwością
Fredy --> proponuję ci daj sobie spokój z takim porównywaniem bo to lekka albo nawet duża niedorzeczność, żeby na bazie takiego pseudo kodu w ogóle porównywać wielkość wsadu po kompilacji. Jak chcesz już coś porównywać, to postaw sobie jakiś cel np napisanie jakiegoś większego programu na ten sam procek. Wtedy spróbuj ten sam cel zrealizować za pomocą...
ale z jaką prędkością chcesz samplować? No i czy nie lepiej przetwornik z wbudowanym multiplekserem? Jaki chcesz mieć interfejs?
co do Bascoma, to żeby zrobić I2Cslave, trzeba mieć dodatkową bibliotekę ( chyba jest na elce), ale o ile pamiętam obsługuje ona tylko jeden bajt pod adresem i tak naprawdę da się zrobić bez problemów ( podobno - bo nie próbowałem) tylko emulację PCF8574. co do multipleksowego sterowania LED'ami, to nie ma się co łudzić, że sterując bezpośrednio z procka...
(...) ' 5 Data 250 ' 6 Data 131 ' 7 Data 251 ' 8 Data 219 ' 9 Wstępna ocena dostępnych informacji W kodzie widzimy dwa liczniki (Liczba_ok i Liczba_nok) zadeklarowane jako zmienne typu Word, a także tablice na cyfry (Cyfra_ok i Cyfra_nok) jako typ Byte. Z punktu widzenia zakresu wartości samych liczników (od 0 do 999) nie powinno to powodować błędów...
Tak więc w pisaniu programów jestem początkujący... nie stosowałem multipleksowania bo jeszcze nie umiem. Wzory animacji są pisane w taki sposób, że każdemu pinx każe coś robić w danym czasie, np PortD = &B00000000 czekaj Xs itd.
Tym oczekiwaniem jest odświeżanie wyświetlacza (i napisałem że jest beznadziejne :D). Poprawiłem tylko to co sprawiało kłopot, czyli temperatury ujemne. Ale oczywiście też uważam że ten cały kod jest skrajnie błędny. Napisany na kolanie po prostu. No więc widzisz, nie obrażaj się, ale jednak taka pomoc na kolanie też nic nie da komuś kto nic się jeszcze...
m8se zgadza sie mozna i tak sterowanie multiplekserowe, tylko nie wiadomo jak beda sie zachowywaly wyswietlacze jak chce ich podpiac az 8 ;) beda migotaly bo jeszcze mam tam zamiar zrobic transmisje szeregowa do kompa (usart) ale moze to w przerwaniach ale to sie zobaczy narazie trzeba sobie poradzic z wyswietlaczami ;)
Próbowałem chyba 5 różnych możliwości obsługi czujnika jednak żaden nie działał przy 8Mhz poprawnie. Próbuje teraz na 4M, ale też kiepsko. Choć zastanawiam się czy przy takim programie 6 wyświetlaczach i multipleksowaniu ich, plus odczytywanie czasu i daty i obsłudze czujnika to nie będzie za mała częstotliwość?
No na pewno musisz: - wykorzystać przerwania od jednego z timerów do odliczania czasu ('Enable Interrupts", "On Time","Config Timer" itp) - wykorzystać przerwania od jednego z timerów do multipleksowania wyświetlacza (j.w.) lub "Lcd" do wyświetlacza LCD - przetwornik ADC ("GetADC") do zmiany czasu (dzielnik potencjometryczny na wejściu przetwornika)...
Problem rozwiąże, odmierzanie czasu przez timer, a nie przez wait czy delay (nie znam BASCOMa). Jak już ktoś wspomniał odczyt i zapis bitu na 1-wire jest dość krytyczny czasowo. Miałem z tym problem w assemblerze i ADuC841. Przerwanie od multipleksowania wyświetlaczy skutecznie zakłócało transmisję. Polecam też sprawdzanie CRC, żeby ustrzec się przed...
Używając instrukcji "wait 1 " bedziesz miał bardzo nie dokłądne odliczanie, musisz użyć licznika i przerwań. Opis jak to się robi w bascomie jest w jego kursie z EdW przy lekcji z częstotliwościomierzem (a co najmniej tak pamiętam) . Ten cały sub też wydaje mi się mocno przekombinowany. Wystarczy z liczby z zakresu 0-60 i 0-24 wydzielić po kolei cyfry...
OK, dzięki. Buduję teraz pająka segment i uP. A jak rozwiązać multipleksację(to mają być 4 cyfry)
ATPAW, ATMega8 ma multiplekser, dzieki czemu zadne patenty z przekaznikami nie sa potrzebne. Za pomoca multipleksera wybierasz jedno z wejsc ACD0-ADC7, ktore bedzie podlaczone do ADC. BTW, Freddy, ATMega ma tylko jeden ADC.
Przepuszczanie 3A przez pojedynczy styk goldpin to nie za dużo? Teraz to działa, ale z upływem czasu rezystancja styku wzrośnie i może się to zemścić. To przy zapalonych wszystkich LEDach. Zazwyczaj świeci się około 70% przy wyświetlaniu tekstu. Poza tym 3A to nie jest jakiś powalający prąd. Niestety, ale z forum DIY powoli robi się stragan. A widzisz...
Witaj, powiem tak, niewiele nauczysz się zlecając komuś pracę. Jeżeli urządzenie ma służyć do nauki to może spróbowałbyś je sam wykonać. Ja polecałbym Ci zacząć od prostych rzeczy, jak np wykonanie płytki(jakiś starter kit na avr'ce) lub coś prostszego znalezionego w sieci. Potem zacząć pisać proste programiki jak np migająca dioda, obsługa przycisku,...
Bascom? To ci nie pomogę. A co do części elektronicznej - zamiast ładować się w dekodery zrób wyświetlanie multiplekserowe. Mniej połączeń i prościej, i nie potrzeba żadnych zewnętrznych scalaków.
1) Najpierw na chama wyświetlaj wartość którą odczytuje ADC. W ten sposób ustalisz co się sypie- ADC czy program. Łatwo zauwazysz jakie sa wahania odczytu i w jakich zakresach 2) Zadbaj o dobre odkłócenie napięcia zasilającego procesor 3) Nic nie napisałeś z jakiego VRef korzystasz (VCC, wewn, zewn?) 4) Na czas pomiaru możesz użyć uśpienie procesora...
Aha no ok to jak teraz dobrać odpowiednią ilość impulsów raz żeby na siebie nie nachodziły 2 i żeby to działało to jest uzależnione jeden impuls to 1 polecenie a że tak się jeszcze głupio zapytam ja pracuje teraz nad tym żeby wyświetlacz LED pracował multipleksowo w przerwaniach czyli jak się przepełni licznik to wykona się podprogram multipleksacji...
Jaki kolor diod? (Chodzi o napięcie pracy). Driver z serii SCT2024, o ile dobrze pamiętam, wymaga minimum 1V dla zapewnienia dobrej stabilizacji prądu diody, więc czerwone LED powinny świecić jak należy (4 x 1,8V =7,2V). Należy pamiętać że przy multipleksowaniu np. 8 wierszy jasność spada ośmiokrotnie, ponieważ diody świecą się tylko przez 1/8 czasu....
Witam. Na wstępie przepraszam za mało czytelną nazwę w temacie ale nie wiedziałem jak inaczej opisać mój problem w tak małej ilości znaków. Temat powinien brzmieć: $regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 '-- Wejscia przycisków Config Portb.4 = Input Config Portb.5 = Input ' -- podciągnięcie Set Portb.4 Set Portb.5 ' -- porty...
bascom multipleks wyświetlacz multipleks multipleks wyświetlacz
podłączenie komputer honda accord windows schowek internet przez bluetooth nokia
analizator widma analizator widma
Lutowanie kabli w słuchawkach Gamezone Hydra Pro RGB Słuchawka i12 nie wchodzi do stacji ładującej - co robić?