Taki kwarc pożyczyłem kiedyś z taniego zegarka na rękę. http://obrazki.elektroda.pl/4345970000_1...
robisz sobie zmienna 1bajtową i na przerwaniu od timera (kiedy sie przepełni) inkrementujesz ją( zwiekszasz o 1). Wtedy łaczna ilosc zliczonych impulsów wyniesie zmienna1*256+timer. Piszesz sobie najpierw procedurke ktora wyswietli pojedyncza cyfre, nastepnie piszesz procedurke ktora wyswietli całą cztero cyfrową liczbe. Wyswietlanie robisz w petli...
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...
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...
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?
Wszystko zależy od inwencji twórczej. Teoretycznie da się i sterować 100 wierszy po kolei w multipleksie :D
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....
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"...
...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...
7401 to była jakaś bramka, nie ma to chyba tutaj większego znaczenia. O ile pamiętam 74151 to multipleksery - tutaj chyba odpowiadają za doprowadzenie odpowiednich danych do 7447. Sygnał możesz brać z wyjścia 7442 tak, jak dotąd - to wiecej kabelków, ale jak już masz podłączone.... Chyba, żeby się okazało, że program się nie wyrabia z tymi wszystkimi...
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.
1.STFW.... 2.RTFM [kolejny bascomowiec] 3.Naprawde, bascom nie zastępuje programisty do tego stopnia, zeby miał zaimplementowaną obsługe CZTEROCYFROWEGO WYSWIETLACZA LED!... Wniosek: Uzyj multipleksowania, a jesli nie wiesz co to jest, zastosuj sie do punktu pierwszego. 4.Jak wyeliminować to ze "tak jakbys nacisnął dwa razy": to sie nazywa drganie styków....
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...
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...
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 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...
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...
Rozchodzi mi sie o bascoma
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...
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...
Z bascomem nie pomogę, ale zasady pewnie są podobne. Przenieś multipleksowanie wyświetlacza do przerwania timera.
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...
Najpierw musisz zająć się multipleksowaniem twoich wyświetlaczy i nauczyć się wyświetlać na nich cyfry. Poszukaj na forum bo było sporo tematów o tym.
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."
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...
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.
Cóż, opis działania rejestru przesuwnego jest w notach katalogowych i mówisz, że wiesz, jak to zrobić. Poszukaj o multipleksowaniu wyświetlaczy LED - w przypadku "zwykłych" diod zasada będzie ta sama.
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...
Wystarczy trochę poszukać: http://www.interklasa.pl/portal/dokument... http://mirley.firlej.org/multipleksowani... http://forum.mikrokontrolery.net/viewtop... http://www.cyfronika.com.pl/adatronik/zk... http://modywzm.pl/14,zegar-z-wyswietlacz... ... i wiele innych....
neo_84 sprawdziłem ci to na ZL2AVR no i mogę potwierdzić że kod z pierwszego posta kompilowany 11174 działa, natomiast kompilowany wersjami 1119->2->3->5 nie działa poprawnie. Generalnie pomaga usunięcie opóźnienia z pętli (jest odczyt z ADC), ale pojawiają się problemy z multipleksowaniem wyświetlaczy.
Pokaż chociaż kawałek kodu to zobaczymy jak to zrobiłeś. Do przemyślenia podam kilka przybliżonych wartości. Odczyt 9 bajtów z DS18B20 (razem z CRC) trwa ~7ms Odczyt tylko dwóch bajtów ~3ms Multipleksowanie 4 LED7Segment to najcześciej 200Hz czyli co 5ms Obsługa wyświetlaczy w przerwaniu trwa ~ 5 us przy 8MHz Napisz przerwanie optymalniej a Dallas nawet...
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...
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....
Masz zrobioną tabele dla jednego znaku tylko. Zmian znaku i tak dalej nie da się tak prosto zrobić, najlepiej stworzyć 5 tabel i każda tabela będzie odpowiedzialna tylko za jedna kolumnę i w niej będą wartości jakie należy wysłać w zależności od tego co chcesz wyświetlić i podczas multipleksowania bedziesz sobie odpowiednie pobierał. Jak chcesz umieszczę...
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...
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....
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?
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...
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...
hmm. No właśnie tego rozwiązania chciałem uniknąć, też na to wpadłem ale sieć chciał bym by miała potencjał do przyjęcia choć 20 slave-ów na przyszłość a to już 5 pinów i grubszy kabel. Możesz użyć multipleksowania, lub rejestru równoległo-szeregowego - np. na I2C - masz 8 wejść, a tylko dwoma pinami łączysz z MCU. Można też kodować analogowo - np....
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?...
Super. Wielkie dzięki. Nie spodziewałem się tak szybkiej pomocy. Będę chciał dziś wieczorem przetestować programik i dam znać. Oczywiście nie mam nic przeciwko optymalizacji i dostosuje się do niej :) Podoba mi się twoje koncepcja. Jeżeli mogę dopytać. Większość postów które czytałem związane były z multipleksowaniem, czyli wyświetlanie liczb przez...
Nie mam, ale to żadna filozofia raczej... Zajrzyj do noty jakiegoś rejestru SIPO, np 74595. Reguła jest taka, że wrzucasz na taki rejestr jedną "jedynkę" i przesuwasz ją aż na sam koniec linii, po czym wrzucasz kolejną "1". Rejestry możesz łączyć szeregowo, tj. z ostatnie wyjście rejestru podajesz na wejście kolejnego. Sygnał zegarowy wszystkich rejestrów...
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...
Chwilowo straciłem ten kod postaram się go znaleźć ale opierałem się na projektach z internetu. No bez jaj. Na 99% nic nie masz tylko czekasz na gotowca. Ale dobra, zlituję się na święta :D Pomijając całą beznadziejność kodu do multipleksowania wyświetlacza, takie coś powinno działać: $regfile = "ATTiny2313.dat" $crystal = 8000000 Dim Jednosci...
Bufor jest 1 bajtowy ale całą ramkę może skompletować slave a master odbierze całą i po analizie ją wyśle.
Nie odbieraj tego jako zniechęcanie. Wcale tak nie myślę, taki żarcik. Przemyślałem wady i zalety do konkretnego zastosowania, tyle że wad bardzo nie widzę. Koszt FD650 w Polsce to 8zł/szt. ale u chińczyka za 60szt. zapłaciłem 18,50zł tj. 31gr./szt. To wartość uln2003, którego się pozbywam oraz kilkunastu innych elementów. Lutujemy w piecu ale smd...
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?...
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...
Tak może współpracować dwa modułami na raz ale muszą być różne komendy albo multipleksowanie modułów.
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.
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?
Bascoma nie znam więc nie będę się w tym temacie wypowiadał. Natomiast uwaga co do multipleksowania: To nie ma sensu. 1.Nie będziesz mógł uśpić procesora, bo będzie musiał się zajmować odświeżaniem stanu diod. 2.Obniżenie poboru prądu dostajesz z tego, że każda dioda pracuje np. przez 1/10czasu. To samo możesz uzyskać zwiększając odpowiednio rezystor,...
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...
Możesz przy sterowaniu multipleksowanym dać prad anodowy lampy nixie n razy wiekszy, gdzie n = 1/sredni czas swiecenia jednej lampy. Jesli zapewnisz odpowiednio szybkie multipleksowane to jasnosc bedzie odpowiednia, taka sama jak przy pradzie stalym.
Ś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:)...
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...
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...
W załączniku jest sposób połączenia klawiatury matycowej którą zapeane posiadasz. Zadanie polega na tym aby sekwencyjnie czyli po kolei podawać stan niski począwszy od L1 a skończywszy na L3, i tak w kółko, na raz tylko jedna linia powinna być w stanie niskim.W1-W3 trzeba przy tym kontrolować cały czas,jeśli teraz wykryty zostanie stan niski np. na...
Witam Piszę program w BASCOMie dla układu attiny2313. Niestety nie mam tego uC, ale posiadam kilka AT89C2051 i programator BlowIt. Czy po za zmianą nazw wyprowadzeń i nazwy procesorka, trzeba bedzie coś jeszcze zmieniać przy przekładaniu programu z bascomAVR na bascom 51? Program to timer odliczający czas i wyświetlający czas na multipleksowanych 4...
Witam, ja w swojej aplikacji z przetwornikiem 12 bitowym ADS1286 używam multiplekserów 16 kanałowych cd4067.Ale są i Analoga coś z oznaczeniami ADG406-chyba.Wystarczyłyby Ci 4 takie multiplexery.Albo poszukaj adc z multipleksowanymi wejsciami,to mniejsza płytka :) Parametry multiplexerów musisz sam porównać i wybrać (rezystancja kanału ip.)Wszystko...
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ą...
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...
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ą
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...
http://obrazki.elektroda.net/45_12550561... Elektroniczna wizytówka/wyświetlacz. W zależności od przyciśniętego przycisku wyświetla przesuwający się tekst za pomocą 85 multipleksowanych diod LED. Może służyć także jako zwykły wyświetlacz do dyskretnego przekazywania informacji, a ponieważ posiada niewielkie wymiary (24mm x 85mm), można go zabrać...
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...
http://obrazki.elektroda.net/94_12891659... Witam, własną konstrukcję prezentuje na elektrodzie po raz pierwszy, jestem otwarty na wasze opinie, pomysł na konstrukcję miałem już dawno temu, kupiłem wyświetlacze, jeszcze w szkole zrobiłem płytkę pod wyświetlacz (co zresztą widać) ale późnej zabrakło i wiedzy i chęci. No i ostatnio zafascynowany...
Kolejny fakt jest taki że nie ma możliwości tak szybkiego odczytania danych z karty pamięci żeby nie zakłócić multipleksowania (przynajmniej nie na rodzinie AVR). Rodzina AVR czy jakakolwiek inna nie ma nic wspólnego z takim ograniczeniem. Wystarczy wykorzystać któryś z timerów i jego przerwanie. Ostatecznie obsługa takiego wyświetlacza multipleksowanego...
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ś...
Niestety Kolego "elektronik.b" nie rozumiesz tego programu, wklepujesz co popadnie i to nie zadziała. Jak na początek przygody z mikrokontrolerami wybrałeś sobie FATALNIE napisany program... nie robi się multipleksowania w pętli głównej i to jeszcze odlicza interwały pauzami. Nawet jak w jakiś cudowny sposób ogarniesz wyświetlanie bez migania, to ten...
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...
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ść,...
...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...
Ale Ty jesteś niecierpliwy. Masz odczyt DS bez wait- które to wait wszystko psuje. Flaga_dodatkowa wykorzystaj do multipleksowania wyświetlaczy. I podziękuj malon-owi za dobry pomysł. $regfile = "m8def.dat" $crystal = 8000000 '********* Konfiguracja wyświetlacza ********* 'oczywiście może być bez RW $lib "Lcd4busy.lib" Const _lcdport...
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)
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...
Nie mam praktyki w tym względzie. ale nie wydaje mi się, aby tablica o 100 multipleksowanych kolumnach była realizowalna fizycznie (a nie teoretycznie). Tzn. prąd efektywny diody jest przy multipleksowaniu N razy mniejszy od impulsowego, gdzie N jest liczbą kolumn. Wprawdzie zasilana impulsowo dioda świeci (pozornie) trochę jaśnej, więc może znajdą...
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:...
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?
Jest 2017 rok i do sterowania takimi wyświetlaczami są specjalizowane układy które to robią bez łaski a procesor który ma co innego do roboty będzie musiał sie bawić w multipleksowanie. No faktycznie, multipleksowane obciąża tak mikrokontroler, że trzeba koniecznie użyć zewnętrznego układu. Użyłem multipleksowania w mierniku panelowym (11 wyświetlaczy,...
bascom multipleks wyświetlacz multipleks multipleks wyświetlacz
serwonapęd instrukcja astra zawór honda civic alarm centralny
chińskie padło projektor multimedialny
Alternatywne metody wyzwalania przycisku pojemnościowego Schemat połączenia przewodów EGR w Opel Corsa C 1.2