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.
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...
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.
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....
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ę...
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...
Temat do zamknięcia
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 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...
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.
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.
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...
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.
To są 7-seg? Co chcesz liczyć? Poczytaj o multipleksowaniu.
Z bascomem nie pomogę, ale zasady pewnie są podobne. Przenieś multipleksowanie wyświetlacza do przerwania timera.
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.
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"...
włączenie timera 1 jest zbyteczne
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.
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...
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"...
btw co do napiecia wejsciowego na przetworniku. Jesli dasz wiecej niz VCC+0.3v to od razu leci przetwornik i juz na zadnym wejsciu nie bedzie ci on działał (bo jest multipleksowany).
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
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...
ale wy kombinujecie aż za bardzo. przecież wystarczy programowy PWN w którym parametrem jest również port mikroprocka i żadne multipleksowanie konieczne nie jest
to da sie zrobić cos takiego bez multipleksowania?
Odp jest prosta: multipleksowanie + timer.
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)...
Ja bym sugerował podpiąć przycisk pod przerwanie zewnętrzne. Jeden timer byłby puszczany i zatrzymywany w przerwaniu do pomiaru czasu, a drugi do multipleksowania wyświetlania.
Tak może współpracować dwa modułami na raz ale muszą być różne komendy albo multipleksowanie modułów.
Zobacz na jakiej zasadzie pracują multipleksowane wyświetlacze - myślę, że to wiele wyjaśni.
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...
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.
No właśnie wszędzie po angielsku albo w c, nie mogę rozszyfrować tego z bascomem, wiem ze jak się zmienia stan na wyjściu to się przesuwa ten stan na następny pin rejestru ( czy jakoś tak ), ale nie wiem jak to ogarnąć jak wykorzystuje 12 z 16 pinów rejestrów i nie wiem jak to zapisać podczas gdy stosuje multipleksowanie. :/
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...
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...
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....
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ć.
Może częstotliwość jest za niska (10Hz) i dlatego na lampach są 3 cyfry na raz.. podnieś programowo lub sprzętowo częstotliwość i zobacz efekty. Może jeśli nie całkiem rozumiesz ten język napisać w bascomie kod?? P.S. spróbuj usunąć multipleksowanie i włącz jedna lampe, a na niej po kolei cyfry.. jak sie będzie wszystko zgadzać to walcz dopiero z multipleksowaniem....
Oczywiście że się da tak zrobić. Ale nie w taki prosty sposób. Trzeba przenieść obsługę ZWIEKSZ i ZMNIEJSZ do pętli głównej i tam uwarunkować przyciskanie klawiszy. Do tego trzeba będzie dorobić kilka zmiennych i policzyć czas zwłoki wciśniętego klawisza. Przez multipleksowanie raczej nie stosować WAIT itp.
Multipleksowanie to dobre rozwiązanie tego problemu. Jednak 9 lat temu nie posiadałem jeszcze takiej wiedzy. Dziękuję za podpowiedź. Pozdrawiam
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...
Witam! Czy w Bascom'ie jest mozliwosc napisania programu ktory bedzie wysylal sygnal PWM na np. port D (PD0-PD7). Jak narazie znalazlem tylko opis sterowania dwoma diodami na wyprowadzeniach OC1A i OC1B. Czy mozna ten sygnal jakos "przelaczac" na dowolny port/pin i zrobic cos jakby multipleksowanie?
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!!
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,...
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.
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...
Pod wzgledem budowy wewnętrznej w zasadzie każdy mikrokontroler nadaje się do takiego zadania. trzeba tylko dobrać ilość I/O oraz pamięci ( w zalezności jak bardzo skomplikowane ma być sterowanie). Jeśli nie masz dużego doświadczenia zacznij od klasycznego 89C51 atmela. Jeśli zabraknie I/O można je multipleksować. Co do języka programowania, to polecam...
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...
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...
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...
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ę...
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.
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ć...
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...
...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...
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...
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...
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??
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?...
Żeby była jasność chodziło mi tylko o tę część schematu i powielenie jej dla czterech portów. http://obrazki.elektroda.pl/5084177200_1... Bez multipleksowania myślałem o zasileniu tego 90V na stałe z drugiej strony.
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...
Na Atmega8 4MHz dla 12 ledów uzyskałem bardzo dobry efekt robiąc tak: 1) Standardowe multipleksowanie katod ledów, wprost z proca/przez dekoder itp 2) Wspólna anoda wszystkich ledów sterowana przez 1 Fast PWM 3) Podczas multipleksowania po wygaszeniu led i przed zapaleniem następnej zmieniam częstotliwość PWM W ten sposób mogę dla każdej led ustawić...
AVCC zasilacz do używania portu 'A' oraz/lub przetwornika ADC oraz/lub komparatora analogowego(opcja wyboru multipleksowanego wejścia komparatora). RESET do VCC przez 22k Co do reszty nie pomogę bo to BASCOM... Ale muszę z ciekawości spytać czy kolega ma oryginalną wersję BASCOM'a czy DEMO? ;)
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ć -...
Czy ktoś może polecić jakiś konkretny, 16-to bitowy przetwornik AD. Chciałbym mu multipleksować wejście i odbierać dane którymś z Atmeli. Szukam czegoś niedrogiego.
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...
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...
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.
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...
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)
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.
Wydaje mi się ze nie po stronie timer leży błąd, gdyż on jest używany w zasadzie tylko do multipleksowania, a to działa dobrze bo jednak wyświetlanych jest pięć cyfr..... ale dlaczego zer?? i dlaczego się nie zmieniają ?
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...
1. każdy z podzespołów musi się łaczyć z niezależnym portem RS-232. 2. Można sobie wyobrazić sprzętowe multipleksowanie portów, ale to może być kłopotliwe i czasochłonne na etapie projektowania. 3. w Bascomie można zdefiniować dodatkowo, opócz sprzętowego UART-a, także wirtualne porty UART, na dowolnych portach. 4. Polecam: https://avrhelp.mcselec.com/,...
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ść?
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...
dobra, tdv, moze sie źle wyrazilem. mozna do 51 podpiac EPROM z programem i RAM z danymi. ale podpinasz to do tej samej magistrali, skladajacej sie z 1 lub 2ch portow i zatrzasku do multipleksowania danych z adresami. a w AVR siem tak nie da.
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
O jaką różnicę koledze chodzi?. O fakt, że dla zwykłych (blokujących inne przerwania) przerwań wykonanie instrukcji w kodzie przerwania, a wykonanie ich w pętli głównej na podstawie ustawionej flagi to praktycznie to samo?. Mniej więcej właśnie o to. Tak czy siak mamy niepodzielny fragment kodu blokujący inne "procesy". Co innego gdyby to rozbić na...
Co do programu, prosty napisany w bascomie, No zapewne jest prosty a wręcz banalny więc dlaczego aż 3 pkt sobie za niego życzysz? :P Co do krytyki - jak już ktoś wspomniał widać multipleksowanie. Może pomyśl nad wyświetlaniem statycznym. Mógłbyś to zrealizować na ekspanderach (z tego co pamiętam PCF8785) bądź też na zwykłych rejestrach SIPO (chyba...
Paavo91 - teraz to mi zrobiłeś małe zawirowanie i nie mam pojęcia na czym stoję :) można jaśniej? Ok... Powiedzmy że część odpowiedzialna za ważenie samo w sobie już jest. Waga TSC HS 100kg wysyłająca info o pomiarze poprzez RS232. Jaki kolejny krok? Tak najprościej: Moduł GSM otrzymuje od Ciebie SMSa, bo chcesz zmierzyć wagę. Komunikuje się z procesorem....
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...
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....
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,...
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...
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ą...
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ą
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...
Dzięki, ale nie dało by się podłączyć tych diod jako matrycy 10x10 ? (diody pozostałyby w formie linijki chodzi mi tylko o podłączenie) Zdecydowanie polecam tego typu rozwiązanie. Nie trzeba dodawać żadnych drogich scalaków, a ekspandery do tego zastosowania to już dosłownie zdzierstwo. Robiłem tego typu listwy właśnie za pomocą multipleksowania i...
tylko że sterowałem diodą przez sprzętowe pwm a w atmega 8 jest ich 3 więc nie mogę sterować sześcioma, trzebab by było użyć multipleksowania ale z tego co sie orietuję potrzebny jest do trgo timer, a timery sawykorzystane do generowania pwm.
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,...
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...
Witaj, Tyle, że ja nic nie wysyłam do USARTa więc skąd śmieci. Procek to Atmega16. Przyznam, że nie chciało mi sie pisać obsługi przerwania do odbioru tych znaków bo ten FIFO działa OK. Do programowego czyszczenia bufora jest bodajże funkcja Clear Buffer - tyle, że skąd tam się biorą dane? Prędkość to 38400. Kwarc 12MHz. dodatkowo multipleksuję wejścia...
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ć...
multipleksowanie wyświetlacza bascom wyświetlacz multipleksowanie bascom multipleksowanie wyswietlacz
cewka mildton deska rozdzielczy passat iskrownik ustawić
Instrukcja obsługi JVC UX-GN5 - gdzie znaleźć? Lokalizacja bezpiecznika w hulajnodze Wego Board Suprem3