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
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.
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.
a jak chcesz, żeby zamiast zer były puste pola na wyświetlaczu to piszesz warunek, że jeśli cyfraX <> 0 to włącz tranzystor
Z bascomem nie pomogę, ale zasady pewnie są podobne. Przenieś multipleksowanie wyświetlacza do przerwania timera.
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...
Temat do zamknięcia
To są 7-seg? Co chcesz liczyć? Poczytaj o multipleksowaniu.
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...
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"...
Wywal oba wewnętrzne rozkazy do loop, bo się na nich zatrzymuje gdy masz wciśniety klawisz, chyba dlatego mryga. A tak, doda lub odejmie wartość i pętla główna leci dalej... Niepotrzebne będą goto.
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.
Można PWM-em sterować wejściem OE 74xx595. Ważne, aby ten sam timer w przerwaniu od przepełnienia wysyłał dane do rejestrów. W ten sposób można niezależnie regulować jasność każdego wyświetlacza. Inne rozwiązanie to rejestry szeregowo-równoległe z driverami. W nich prąd ustala się jednym rezystorem. Trzeba by sie wgryźć w budowę takiego układu i można...
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.
Jest możliwe pod warunkiem że z każdym "slotem" dla 1-Wire zmieścisz się między okresami multipleksowania wyświetlacza.
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.
http://obrazki.elektroda.pl/9506794600_1... Mam problem jak wykonać poprawne zdekodowanie multipleksowania 4 wyświetlaczy LED z procesora. Schemat pokazuje jak są opodłączone. Może ktoś udostępni lub naprowadzi jak to wykonać poprawnie w C lub w Bascomie. Zawsze świecą 4 cyfry. Pozdrawiam
Zobacz na jakiej zasadzie pracują multipleksowane wyświetlacze - myślę, że to wiele wyjaśni.
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...
Może spróbuj multipleksować te diody, tak jak wyświetlacze LED.
Multipleksowanie już mi się udało tylko nie mogę do tego wcisnąć pomiaru temperatury. Swoją drogą to ten wyświetlacz fabrycznie był multipleksowany a więc musi to być do zrobienia.
Witam. Zobacz sobie [url=http://bascommaster.blogspot.com]TU... Jest tam wszystko o multipleksowaniu i sterowaniu wyświetlaczy LED w bascom. Trzeba tylko uzbroić się w cierpliwość oglądając dość długie ale bardzo szczegółowe poradniki :-)]Link
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...
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 ! Schemat wyprowadzeń wyświetlacza ( podobnego, bez dwukropka). Numeracja powinna się zgadzać z Twoim wyświetlaczem. http://obrazki.elektroda.net/93_12604604... Jak widać na rysunku wszystkie 4 segmenty A są połączone razem B razem, C razem itp. Anody wszystkich segmentów wyprowadzone są osobno. Aby ten wyświetlacz działał musisz multipleksować...
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ę...
wiem kontrast jest na sztywno podłączony przecież mówie że to zestaw uruchomieniowy ,to wygląda tak jak by było źle multipleksowane i nie wiem co z tym zrobić.
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...
Napisz co konkretnie zmieniłeś w momencie jak przestało działać. A jak nie wiesz to powoli wracaj do wersji kiedy działało. Np. zacznij od kodu który tylko odbiera kody od pilota a potem dodawaj po kawałku obsługę I2C, wyświetlacza, 1Wire, itd.
Do tego służy właśnie timer. Jaki to wyświetlacz? Jeśli multipleksowany LED, to i tak timer musi działać, zresztą timer jest zwykle podstawą każdego programu.
ale temperaturę pokazuje ok (dodatnią) jeżeli wyrzucić linijki związane z timerem... poprawie to ale to i tak nie rozwiązuje mojego problemu. W tej postaci na obu wyświetlaczach mam krzaki...
Cieszę się, że problem rozwiązany. Czy kolega aby na pewno nie pomylił kolektora z emiterem i nie wlutował tranzystora odwrotnie. Pytam ponieważ nigdy nie musiałem podciągać bazy tranzystorów do plusa przy multipleksowaniu wyświetlaczy.
...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...
Gdzieś czytałem że aby wyświetlacz na porcie F w mega 128 zaczął działać wystarczy polecenie "DISABLE ADC" w Bascomie. Może ktoś sprawdzić??? Ja obecnie mam projekt z klawiaturą 4x4 multipleksowaną na porcie F też w 128mce. Myśle że ne będzie z nią prolemów. Pozdrawiam!!
Układ 4543 uniemożliwia stworzenie znaku "°" jak i "C". Nie może być bez 4543? Pinów chyba wystarczy? EDIT. A. :D Chcesz zamalować segmenty :D A nie lepiej po prostu ich nie podłączać? Będzie mniejszy pobór prądu i ładniejszy efekt wizualny. Ale ja mimo wszystko pozbył bym się układu 4543 choćby dla zmniejszenia kosztów. Multipleksowanie nie jest takie...
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....
Witam, mam następujący problem. Muszę napisać program w bascomie sterujący pracą wyświetlacza LED złożnego z 8 cyfr 7segmentowych. To ma być taki licznik zliczjący w górę i w dół w zależności od wciskanego przycisku. Wiem że chodzi o multipleksowanie i wiem jak to fizycznie połączyć ale nie umiem tego zaprogramować. Czy ktoś mógłby podać jakieś wskazówki??
(at)emarcus Napięcia mierzone multimetrem, względem masy. Wartości te są niskie wg. mnie przez multipleksowanie właśnie. Nie wiem/nie mam jednak pomysłu jak to obejść. Wartości te nie są niskie. Wysyłasz sygnał "1" na port z częstotliwością ok. 62Hz o wypełnieniu 25%. Multimeter uśrednia pomiar i w efekcie otrzymujesz 5V/4. Wahania napięcia na róznych...
Witam, od kilkunastu godzin próbuje rozwiązać ten problem Zacznijmy do rzeczy. Musze wykonać sterownik silnika krokowego. Mam na PCB wyświetlacz 7seg. Liczba kroków na 10sek od 1 do 99 , wyświetlana na wyświetlaczu, ustawiana przyciskami Moja koncepcja na dzielniku częstotliwości poszła w piach, bo zmiana prędkości odbywa się w sposób wymierny. Nie...
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...
Mruga bo zrobiłeś totalny groch z kapustą w tym kodzie. Dobre - bo takiego pomysłu to jeszcze nie widziałem - żeby procedura obsługi przerwania była jednocześnie ciałem jakiegoś podporogramu z którego na dodatek wywoływane są inne podprogramy a jak do tego dodać jeszcze polecenia Waitms w przerwaniu to na prawdę nie ma o czym mówić - musi tak być -...
Sterowanie wyświetlaczem multipleksowym masz w przerwaniu i ok, tak powinno być. Mógłbys użyc trybu CTC ale w tym przypadku nie ma to większego znaczenia. Może mieć, jeśli zrobisz przerwania wielopoziomowe ale w AVR ich nie ma (można to zrobić na siłę). Gdy byś w przerwaniu ustawiał tylko flagę jak proponuje (at)parafka i wyświetlacze obsługiwał w pętli...
włączenie timera 1 jest zbyteczne Faktycznie, ale dlaczego nie dekoduje komend... ...Adress i Command są w większości równe 255, czasami tylko odbierze, więc zachowuje się podobnie jak przy odbiorze w petli głównej-bez przerwań INT0. Wyłączając przerwania od TIMER1 na czas dekodowania komendy odbierane są poprawnie, jednak wstrzymanie przerwań TIMER1...
wyświetlanie cyfr na dowolnej liczbie wyświetlaczy podłączonych do procesora jest znacznie łatwiejsze niż obsługa LCD chyba, ze korzystasz z gotowych procedur. Teoretycznie jest tak jak piszesz ale... w Bascom... Obsługa LCD ogranicza sie do zadeklarowania pinów LCD procesora i podania komendy LCD "zmienna" a w przypadku wyświetlaczy LED dochodzi konfiguracja...
Multipleksujesz to jak zwykłe 7 segmentowe wyświetlacze LED. Mam nadzieję że wiesz na czym to polega. W ruch idzie timer który podczas przerwania zapala jedną kolumnę i wpisuje do portu odpowiednią wartość. Kiedy nie występuje przerwanie to kolumny zostają wygaszone. I tak w kółko z taką częstotliwością żeby oko ludzkie nie było w stanie tego zauważyć....
Programowania uczę się od niedawna. Schemat i program jest na podstawie książki "Programowanie mikrokontrolerów AVR w języku Bascom". Przerobiłem go na termometr z dwukolorowym wyświetlaczem. Przerwanie jest do multipleksowania wyświetlaczy. Taki warunek już stosowałem, bez rezultatu. Niestety coś jeszcze jest nie tak:( Nie jestem pewien ale czy z tego...
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...
Mogę Cię tylko naprowadzić co możesz zrobić .. bo widzę że program pisany jest w Bascomie. 1) Wyrzuć wszystkie linie kodu gdzie występuje Lcd. 2) Wart_nap pomnóż przez 10 i z wyniku wyciąg część całkowitą w której liczba jedności będzie wartością napięcia po przecinku (dokładność 0,1V). 3) Musisz sobie napisać procedurę która będzie Ci wyświetlać każdą...
Generalnie jest to coś w stylu wyświetlacza dot-matrix posiadającego kilka poziomów. Oczywiście głównym zagadnieniem jakie powinieneś zgłębić i wcześniej przećwiczyć na np: wyświetlaczach 7-segmentowych to multipleksowanie . Ponadto przydadzą Ci się operacje na bitach rejestrów poszczególnych portów mikrokontrolera.
No nie. W dotychczasowym rozwiązaniu uP poza multipleksowaniem wyświetlacza analizował też enkoder i parę innych wejść. Zwiększanie częstotliwości czyli zmniejszanie czasu na cyfrę skutkowało ciemniejszym świeceniem. Niezbędny był kompromis. Natomiast fd650 zajmuje się tylko wyświetlaniem a uP podrzuca mu nową wartość tylko gdy ta się zmieniła. Korzyści?...
o kurde... przegladalem wszystko ale jakos mi sie wymknelo :/ dzieki :) bardzo fajny programik :) mam jeszcze takie pytanie: (BASCOM AVR i atmega8) czy jest mozliwe wpisywanie wartosci z tabeli (DATA) ale nie do calego portu tylko do 7 jego pinow? np port D ma 8 bitow ale potrzebuje jego wejscie nr5 jako wejscie timera pracujacego jako counter a na...
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...
Ja dzieliłem wymianę danych z DS'em na najmniejsze możliwe kawałeczki i mieszałem je z obsługą multipleksowanego siedmiosegmentowego wyświetlacza LED. Działało i nic nie migało. P. S. I to wszystko w Bascomie.
Za mało może zostać pamięci po zastosowaniu komp. BASCOM PD0-PD6 >> 2x wyświetlacz WA multipleksowany siedem segmentów PA0,PA1 >> sterowanie anodami przez tranzystory P-N-P (cyfra1, cyfra2) PB0 >> kierunek NS LED1/4 PB1 >> kierunek NS LED2/5 PB2 >> kierunek NS LED3/6 PB3 >> kierunek EW LED7/10 PB4 >> kierunek EW LED8/11 PB5 >> kierunek EW LED9/12/MOSI...
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....
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....
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)
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ść?
Za to być może przestaną być wieszane wiecznie psy na Bascomie Program zajmuje pół procka Że niby za co są wieszane te psy na Bascomie? :) Wyświetlacz sterowany bezpośrednio z portów z multipleksowaniem. Czy takie sterowanie nie powoduje, że ósemka świeci najmniej intensywnie? każdy segment świeci ze średnim prądem wynoszącym 1/24 prądu rezystora ograniczającego...
Jeśli chodzi Ci o najzwyklejszy wyświetlacz bez kontrolera to obsługuje się go tak jak 7 segment LED. Po prostu albo masz tyle pinów albo multipleksujesz jak na to pozwalaja wyprowadzenia LCD. Zawsze jeszcze są dedykowane driverki. Można z czegoś wylutować przeczytać note i zastosować :D
Przy małych 2VA transformatorkach sieciowych nie stosuje się bezpieczników po stronie pierwotnej, są one całkowicie odporne nawet na długotrwałe zwarcia. W następnej wersji programu przerzuć obsługę multipleksowania wyświetlacza do przerwań, bo obecnie jest to bardzo nieelegancko zrobione w głównej pętli. Przytoczony listing programu jest trochę nieczytelny...
Proponuję wsadzić odświeżanie zegarka w przerwanie od timera. Cykanie przekaźnika może być w pętli głównej. Można uznać że timer to będzie twój drugi wątek (w dużym uproszczeniu). Oczywiście trzeba po eksperymentować z częstotliwością przerwań timera (odsyłam do helpa) tak żeby się nie gryzło. Myślę że 3-5 odświeżeń zegara na sekundę wystarczy. No chyba...
Bardzo dziękuję za krytykę. Zamiast operatora AND mam zbudować zagnieżdżone pętle. Wykorzystuję timer2, bo w M32 mam możliwość taktowania go zewnętrznym kwarcem (w moim przypadku 32768), ale docelowo będzie to pracowało w M8, więc program będę musiał delikatnie skorygować. Co do przerwania cosekundowego: -nie znalazłem metody na uzyskanie takowego,...
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...
Zastanów się jaka jest różnica pomiędzy obsługą całości w przerwaniu, a obsługą całości poza przerwaniem. Będę wdzięczny za wskazanie Już mówię. W przerwaniu oprócz ustawiania flagi można robić oczywiście coś dodatkowo. Wtedy różnica już chyba jest, prawda? Przykładowo : masz przerwanie timera, które wykonuje 2 funkcje: - Przełącza multipleksowane...
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ą
Chcąc mieć najkrótszy takt zegara wstawiłbym !NOP Jeszcze krótszy bedzie jak nie wstawi sie nic. Problem w tym, ze nie wiadomo jakie sa wymaganioa czasowe tego sygnału. W linku było też o sygnale BUSY. Najlepej byłoby miec działajace urzadzenie, rejestratorem mozna by sprawdzic zaleznosci czasowe. W wiekszości wypadków, takie wyswietlacze, były montowane...
Wersja to 1.11.8.3. Wklepałem ten nowy kod i dokładnie to samo. Dziwne to bo kod jest dla mnie przejrzysty i całkowicie zrozumiały. Kombinuję jak mogę i uzyskuje to co uzyskiwałem. Podmiana procesora nic nie daje. Same multipleksowanie działa. Zwolniłem odpowiednio i widać jak się wyświetlacze przełączają. Wygląda na to że nie pobiera danych z tablicy...
W wolnym czasie procesor zajmuje się multipleksowaniem wyświetlaczy. Więcej szczegółów w kodzie źródłowym który zamieszczam w załączniku. Widzę, że temat się wyczerpał, ja jednak mam pytanie do Autora: Czy możesz coś więcej napisać jak zrealizowałeś multipleksowanie? Nie chodzi mi o szczegółowy opis tylko ogólną koncepcję. Niestety nie zna BASCOM-a,...
Obsługa więcej niż jednego wyświetlacza to multipleksowanie. Ponieważ sterowanie 1 wyświetlaczem wymaga 7 sygnałów (pinów) oraz dodatkowego sygnału do obsługi anody to odbywa się to tak. Np. chcemy wyświetlić liczbę 1234 na 4 wyświetlaczach. Wykorzystujemy 7 pinów danych do wszystkich 4 wyświetlaczy (połączone równolegle) oraz 4 dodatkowe piny do naprzemiennego...
Dla osób które chcą wykonać ten zegar od razu podpowiem, że smużenie to normalka. Proszę spojrzeć na program bascom autora. Prescaler 1, taktowanie wewnętrzne procesora 8Mhz. I proszę sobie obliczyć częstotliwość multipleksowania wyświetlacza. Przecież to idzie praktycznie na maksa. Powinno się zwiększyć preskaler i wpisać wartość początkowa do timera....
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,...
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...
LEDy mają taką cechę, że mają większą sprawność, gdy traktuje się je dużym prądem przez bardzo ktrótką chwilę. Jednak oko ludzkie mimo swej niedoskonałości źle znosi takie mruganie. Widoczne jest pływanie świecących się segmentów podczas ruchu. Nie jest to przyjemny efekt. Wydaje mi się, że tak mocne multipleksowanie nie jest dobrym pomysłem, bo nie...
Sprawa ma się tak: Sterowanie zrobię na mikroprocesorze AVR, program w Bascomie. Odnośnie programu będe miał jeszcze dużo pytań, ale to później. Narazie zacząłem pisać program do wyświetlania czasu. Nie wiem jednak czy cały program zmieści się do jednego mikrokontrolera. Pozatym Bascom demo ma ograniczenie do 4kB kodu. Zastanawiam się czy licznik wyników...
Witam serdecznie zrobiłem zegar na w/w procesorze i wyświetlaczach 7 segmentowych led. Sekundę odmierzam z wykorzystaniem Timera 2 w trybie asynchronicznym z dodatkowym kwarcem 32,768Khz. Multipleksowanie wyświetlaczy realizowane jest za pomocą timera0. Do tej pory wszystko działa świetnie, Chciałbym jednak dodać jeszcze zliczanie setnych sekundy i...
PORTB = PORTB Or &B00010011 'ustawiamy bity PORTB = PORTB And &B11110010 'kasujemy bity No tak, tylko, że to nie rozwiąże niestety sytuacji z pozostałymi wolnymi bitami. Chyba że poskładamy kilka takich operacji ale to może w przypadku Bascoma zająć zbyt dużo czasu i multipleksowanie może się rozjeżdżać. Gdyby kiedyś kolega autor zechciał w końcu przejść...
klops_mops ---> masz dwa wyjścia żeby ci nie mrugały te wyświetlacze w czasie PRINT'a ;) - innymi słowy mówiąc aby procedura wysyłania RS232 nie zakłócała procedury multipleksowania 1. prostszy sposób - zwiększ tą kocią prędkość RS232 na jakąś ludzką - chociaż 9600bps to już praktycznie nie powinno ci mrugać a jak dasz każdą większą to już będzie coraz...
Antystatyk - sprawa polega na tym że masz źle napisany program. Wyświetlanie zawsze robi sie w przerwaniu. Obsługe klawiszy i innych bzdetów w głównej pętli programu. I nie interesuje cie wtedy czy masz debounce czy wait 200. Wyświetlacze zawszę będą działały prawidłowo. Więc popraw swój program. Obsługa i multipleksowanie wyświetlaczy do przerwania...
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...
Trzeba umieć zadawać pytania panie kolego a nie wkleić kobylasty jakiś tam kod i zapytać się o jakiś tam szczegół. Żeby odpowiedzieć to trzeba teraz próbować przeanalizować co poeta miał na myśli pisząc takie "cóś". I to to jeszcze jak szybko odpowiedzi oczekujesz? Albo sprecyzuj pytanie sam analizując co nieco napisany bądź co bądź przez ciebie kod...
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...
Jeśli procesor obsługuje multipleksowanie wyświetlania i inne bzdety to nie nie ma czegoś takiego jak "szybciej wykona program" bo i tak musi pozostać w stanie działającym. Oj, zawsze znajdzie się moment, gdy można uśpić. Nie zawsze do najgłębszego snu, ale jednak - multipleksowanie wyświetlacza, to kupa wolnego czasu na sen :) Poza tym można usypiać...
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...
Dołożyłem obsługę przerwań wewnętrznego timera , i tutaj pojawił się problem. Czujniki zaczęły się "dławić" czasami (przez sekundę ) wskazywały mi temperaturę nierealną ( 400 st C) a czasami układ nie wykrywał czujnika Wszystkie te złe rzeczy dzieją się raz na kilkanaście sekund, jednak wystarczy to, żeby zafałszować inne zmienne (np temperaturę maksymalną)...
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...
mirekk36 . Na razie nie wiemy jakie kolega ma długieee te transmisje danych. RAM nie jest z gumy, a powinno jeszcze starczyć na całą masę zmiennych i trzy stosy, a zwłaszcza na HWStack, który by tu mocno puchnął. Jeśli to jest ATtiny2313 to pewnie, że nie ma o czym w ogóle mówić ale jeśli już coś co ma na pokładzie z 16kB Flash'a (nawet 8kB) i 1k RAM...
Witam wszystkich forumowiczów :) Mój problem, może okazać się dla wielu z was banalny, jednak dla mnie takim bynajmniej nie jest. Otóż chodzi o podłączenie wyświetlacza LED (zwyczajny, 7 segmentów + kropka) do Atmegi. Wszystko byłoby dobrze, gdyby nie fakt, że wyświetlacz ten ma wspólną katodę. Mówimy tu o wyświetlaczu 4 cyfrowym, sterowanym oczywiście...
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...
http://obrazki.elektroda.pl/2109173800_1... http://obrazki.elektroda.pl/1734931900_1... Witam wszystkich serdecznie. :) Jakiś czas temu opublikowałem temat z przeróbką para 36 na para diodowego. Głównym założeniem było udostępnienie wzoru płytki pod diody oraz pierwowzoru sterownika. Tym razem chciałem zaprezentować...
Mam jeszcze problem z multipleksowaniem wyświetlaczy 7-seg. Napisałem sobie taki program żeby co sekundę zwiększała mi się wartość zmiennej "wysw" i zmienna ta zwiększa swoją wartość. Tylko jest taki problem, że wyświetlacze zachowują się dziwnie. Wyświetlacz jedności działa normalnie a wyświetlacz dziesiątek strasznie słabo świeci (praktycznie wcale...
muszę wybrać cały port ? nie Pytanie kolejne czy można wewnętrznie przepiąć port np PA6 pod wyprowadzenie PD0 Chodzi mi o funkcję przetwornika z PA6 aby funkcjonowała na RXD nie Co robicie jeżeli Wasz projekt jest na tyle uniwersalny że korzysta z każdego z portów ( w jakiejś mierze ) a potrzebny jest jeden "wolny" do obsługi wyświetlacza graficznego...
Zapewne chodzi o sterowanie wyświetlaczem LED, polecam multipleksowanie 2*4, jeden cały port idzie na załączanie segmentów (parami 1-5, 2-6, 3-7, 4-8) A dwa porty wykorzystujesz w całości na sterowanie aktualnie załączanymi segmentami, Program będzie prosty, dzięki wykorzystaniu pełnych portów, najlepiej napisać go w bascomie, sprzętowo będzie nieco...
Witam, moim zdaniem z tego co opisujesz to po pierwsze widać chyba jak na dłoni, że nie wyrabia się prądowo ten 78L05. Przecież on chyba może maksymalnie 100mA !!! więc nie dziwne, że na jednym wszystko wysiada. Zamiast więc 2 78L05 daj jeden zwykły 7805 po drugie przynajmniej na schemacie nie widać (a może dałeś) żadnych kondensatorów odsprzęgająych...
Przyczyna ta sama, co we wszystkich wyświetlaczach multipleksowanych z "duchami" - nie wyłączasz wszystkich wierszy przed załadowaniem zawartości kolumn lub odwrotnie, w zależności od tego, co kluczujesz, a do czego ładujesz dane. W ten sposób przez chwilę stary wiersz wyświetla się w nowej kolumnie lub na odwrót. Szkolny błąd.
Zainstalowałem już Bascom, zamówiłem Atmege 8, przeszukałem piwnicę i znalazłem dwa zabytki. Jeden to kompletny 3310, drugi to wyświetlacz do niego. Wiem że obsług tego wyświetlacza nie jest prosta, przeszukałem forum i znalazłem trochę kodów do niego, ale nie wiele mi mówią. Może okazać się dobrą alternatywą dla led i multipleksowania.
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...
1. warto użyć przerwań chociażby dla obsługi RC5 2. do obsługi 1wire nie potrzeba wykorzystywać przerwań choć można 3. Jeśli do tego będziesz miał jakiś wyświetlacz multipleksowany LED to bez przerwań się nie obejdzie 4. Jeśli użyjesz wyświetlacza LCD to do jego obsługi przerwania nie są potrzebne - tak więc procek w rękę, rzut oka na niektóre przykłady...
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)...
Wybaczcie początkującemu, bo pytam zapewne o jakąś strasznie trywialną sprawę, ale póki co nie mogę sobie z nią poradzić, więc szukam pomocy. Piszę sobie cośtam. Cośtam ma multipleksowo obsługiwany wyświetlacz LED, multipleksowanie jest załatwiane podprogramem uruchamianym z przerwania od T0. Tyle napisałem i tu wszystko działa pięknie. Dalej, przed...
bascom multipleksowanie wyświetlacz multipleksowanie multipleksowanie wyświetlacza bascom
żarówka omnilux stabilizator lt1083 komputer stacjonarny uszkodzony
schemat elektryki skutera schemat elektryki skutera
Modyfikacje zwiększające prędkość wózka Invacare Leo Rozrusznik nie kręci - diagnostyka i rozwiązania