logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mikrokontroler ATMega169 + Bascom + wyświetlacz lcd

seba_x 04 Mar 2009 11:56 3105 12
  • #1 6234328
    seba_x
    Poziom 31  
    wiecie może jak zmusić bascoma żeby wystawił na odpowiednich pinach mega169 przebieg zmienny dla zwykłego lcd ? czy możliwe jest podłączenie lcd 3 1/2 cyfry pod ten procesor czy tylko taki jak jest na avr butterfly ?
  • #2 6234668
    piti___
    Poziom 23  
    Możesz podłączyć jakąkolwiek matryce LCD która posiada 4 x 25 segmentów (4 wspólne 25 segmentów) lub mniej. Zapalanie segmentów realizujesz przez odpowiedni wpis do mapy pamięci wyświetlacza w driverze LCD.
  • #4 14420479
    seba_x
    Poziom 31  
    Sylwek07 napisał:
    A czy a Bascomie jest odpowiednia komenda do wpisu do mapy pamięci wyświetlacza? Czy można to zrobić prościej poprzez podawanie odpowiednich stanów logicznych na portach procesora z odpowiednią częstotliwością?


    Najprościej to można zrobić tak :

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Oczywiście to przykład.
  • #5 14420978
    Konto nie istnieje
    Konto nie istnieje  
  • #6 14421105
    Sylwek07
    Poziom 11  
    seba_x dzięki za podpowiedź ale nic mi ona nie mówi.

    Ten wyświetlacz który mam zamiar użyć prawdopodobnie nie będzie sterowany multipleksowo, bo z tego co widzę to każdy segment wszystkich cyfr jest wyprowadzony z obudowy. Pisze prawdopodobnie bo producent w karcie katalogowej nie podał takich informacji i czekam aż to wyjaśni. Po wstępnym przeczytaniu karty katalogowej ATmega169A wiem że ten procesor zawiera LCD kontroler z przetwornicą napięcia. Steruje się tym podając ilość segmentów, cyfr, częstotliwość sterowania. Taki wyświetlacz bez kontrolera z tego co widzę musi być sterowany przebiegiem przemiennym.

    Moje pytanie brzmi czy można w Bascomie sterować tym całym kontrolerem LCD wbudowanym w procesor bo ja nie znalazłem gotowych komend, a na asemblera mam uczulenie?

    Albo ewentualnie czy mogę sterować tym wyświetlaczem bez wnikania w ten kontroler tak że co np. 30ms będę wprowadzał w pewien stan logiczny kilka portów aby wyświetlić cyfrę, oraz co kolejne 30ms podawał same 0 (wyświetlacz z elektrodą wspólna dołączona do masy)? Wtedy ten kontroler nie będzie mi do niczego potrzebny, ale nie wiem co z kontrastem?
  • #7 14421180
    seba_x
    Poziom 31  
    Masz cały program, napisany trochę chaotycznie ale działa i wyświetla.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    AtMega169 sama steruje wyświetlaczem lcd, ty tylko musisz wpisać odpowiednie wartości do rejestru .

    Daj zdjęcie twojego lcd.
  • #8 14421211
    Sylwek07
    Poziom 11  
    Wstępnie to jest ten wyświetlacz:
    http://www.tme.eu/pl/details/lcd3.5-13lobat/w...-cyfrowe/display-elektronik/de-113-rs-20635/#

    Z tego co widzę sterowanie takim wyświetlaczem nie jest takie proste bo napięcie na wyjściu procesora oscyluje wokół 0V i przyjmuje wartości dodatnie i ujemne.
    Poniżej wykres napięcia na wyjściu COM i sterującego segmentem w sytuacji kiedy wszystkie segmenty maja jedna elektrodę wspólną (1 COM)
    Mikrokontroler ATMega169 + Bascom + wyświetlacz lcd

    W sytuacji kiedy COMy są 2 albo 4 to przebieg jest schodkowy, tam nie ma czystych stanów logicznych tylko napięcie przyjmuje wartości pośrednie pomiędzy Vlcd a -Vlcd. Więc wszystko wskazuje na to że chyba bez kontrolera i asemblera się nie obejdzie.
  • #9 14421339
    Konto nie istnieje
    Konto nie istnieje  
  • #10 14421682
    vania
    Poziom 24  
    Sylwek07 napisał:

    To standardowy LCD 3.5 cyfry bez multipleksowania, sterowanie jest bardzo proste:
    linia BP na H, segment L - segment zaczerniony, w następnym cyklu BP na L segment na H.

    Generalnie na BP podaje się sygnał prostokątny ok 30-100Hz a na segment sygnał w fazie jeśli ma być wygaszony lub w przeciwfazie jeśli zaczerniony. Są do tego scalaki np CD4543. Pojedyncze ikonki lub punkty dziesiętne sterowało się bramkami XOR. Oczywiście wyżej wymieniony ATMega169 tez może wysterować taki LCD ale Bascom chyba nie ma do tego specjalnych instrukcji. Trzeba ręcznie skonfigurować odpowiednie rejestry.
  • #11 14421814
    Sylwek07
    Poziom 11  
    vania masz rację. Dokładnie to samo dowiedziałem się od znajomego informatyka. Ten kontroler wbudowany w procesor ATmega169 jest potrzebny tylko w przypadku kiedy wyświetlacz ma więcej niż jeden pinów BP. No i w sytuacji kiedy trzeba regulować kontrast.
    Dziękuję wszystkim za informacje, niech Wam lutownica dobrze grzeje :)
  • #12 14423798
    seba_x
    Poziom 31  
    Taki wyświetlacz już dawno rozpracowałem na 8515 , wystawiasz na piny odpowiednie stany a na BP przeciwny, w pętli lub przerwaniu zmieniasz stan tych pinów z częstotliwością około 30Hz na przeciwny i po problemie.
    Albo przy pomocy kilku cd4094.
  • #13 14423851
    vania
    Poziom 24  
    seba_x napisał:
    Taki wyświetlacz już dawno rozpracowałem na 8515 , wystawiasz na piny odpowiednie stany a na BP przeciwny, w pętli lub przerwaniu zmieniasz stan tych pinów z częstotliwością około 30Hz na przeciwny i po problemie.
    Albo przy pomocy kilku cd4094.

    Najlepiej w przerwaniu, przebieg musi być o wypełnieniu 50%. Składowa stała >50mV może szybko doprowadzić do uszkodzenia takiego wyświetlacza.
    Dlatego dobrym rozwiązaniem jest kontroler wbudowany w ATmega169 ewentualnie zewnętrzny kontroler np PCF8566, PCF8577. W załączniku przesyłam skan ze starego Radioelektronika. Sterowanie LCD na 8051 i układach 4094.
REKLAMA