Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wyswietlacz LCD na at89c2051

miSZCZu5 19 Nov 2007 16:07 2091 17
IGE-XAO
  • #1
    miSZCZu5
    Level 10  
    Witam!
    Zaczynam dopiero programowac i mam pare pytan.
    Mianowic mam pomysl zrobienia do samochodu wyswietlacz LCD ktory by wyswietlal godzine, temperature na zewnatrz i w srodku oraz napiecie na akumulatorze.
    Chcialbym sie dowiedziec czy to wogule jest wykonalne a jesli tak to czy to jest bardzo trudne, trudne czy latwe dla poczatkujacego.
    Acha posiadam programator wlasnej roboty taki jak tu http://www.elektroda.net/mikrokontrolery/progra_bascom.html oraz program Bascom 8051 wspopracujacy z tym programatorem.
    I chcialbym zebyscie mi moze podzucili jakos dobra literature o programowaniu w Bascom lub jakies schematy czy programy ktore by mi pomogly w moim projekcie. pozdro
  • IGE-XAO
  • #2
    joy_pl
    VIP Meritorious for electroda.pl
    Do tego procka raczej nie wejdzie tyle rzeczy i to nie jest takie proste dla początkującego, (chociaż….)
    Literatura polecam kurs bascoma, który był w EDW można chyba go całego ściągnąć ale to byś musiał poszukać. W każdym razie można go kupić > elektronika plus (2)

    http://www.sklep.avt.com.pl/go/_info/?id=45912
  • #3
    Jarema
    User under supervision
    joy_pl wrote:
    Do tego procka raczej nie wejdzie tyle rzeczy[...]


    Witam,
    To miał być jakiś żart ?
    Jak kolega nie potrafi pisać programów to może niech nie zabiera głosu w dyskusji...
  • IGE-XAO
  • #4
    yego666
    Level 33  
    Nie wiem jaki gesty kod produkuje Bascom bo nigdy go nie uzywalem, ale skoro kolega nie ma preferencji i wiedzy na temat jakiegokolwiek jezyka programowania, to moze lepiej zaczac od C zamiast od czegos tak niezgrabnego jak Basic?
    Kod jest zwykle wysokiej jakosci i w 2k miesci sie zadziwiajaco duzo rzeczy.
    Programuje juz wiele lat i sam sie czasem dziwie, ze kod jest tak dobry, ze czesto nie musze nawet siegac do asemblera.
    Zapewniam, ze takie funkcje jak kolega planuje zmieszcza sie bez problemu i zostanie jeszcze sporo miejsca.
    Oczywiscie nalezy sie troszke ograniczyc z komunikatami wyswietlanymi na LCD, bo kazdy znak to jeden bajt, a to bardzo szybko zjada pamiec niezaleznie od uzywanego jezyka programowania.
  • #5
    joy_pl
    VIP Meritorious for electroda.pl
    Tak dla przykładu w bascom’ie sam termometr(ds1820) z LCD zajmuje ok.1,1k a gdzie tu reszta.(Ale bascom jest z tego znany)
  • #6
    miSZCZu5
    Level 10  
    Gdybym uzyl C to bede mogl miec ten sam programator jaki podalem w posie na gorze czy bede musial zaopatczyc sie w inny?
  • #7
    Jarema
    User under supervision
    joy_pl wrote:
    Tak dla przykładu w bascom’ie sam termometr(ds1820) z LCD zajmuje ok.1,1k a gdzie tu reszta.(Ale bascom jest z tego znany)


    Witam,
    Kolega chyba naprawdę nie umie pisać - nawet w Bascomie...
    Poza tym:
    joy_pl wrote:
    To ty zastanów się zanim cos napiszesz

    Na "ty" to tramwaj staje i sie tak nie unoś swoim brakiem wiedzy...
    miSZCZu5 wrote:
    Gdybym uzyl C to bede mogl miec ten sam programator jaki podalem w posie na gorze czy bede musial zaopatczyc sie w inny?

    Tak, może kolega użyć tego programatora - można ładować do niego pliki z dysku utworzone innym kompilatorem.

    Proponowałbym koledze jednak poznanie innego języka niż bascom (moim zdaniem szkoda czasu).
    Assembler czy C wcale nie są tak trudne jak to można przeczytać w wielu tematach chociażby na tym forum.
    Dla porównania, kod pisany dla takiego urządzenia w asm zajmie max 800B, w bascomie ponad 1KB ale mimo to zmieści się "z palcem w d*pie" w 2051.

    P.S.
    Zegar i 1W jak najbardziej programowo, a I2C również jesli jest potrzebny - tylko nie wiem do czego...
  • #8
    miSZCZu5
    Level 10  
    Zdecydowal bym sie na asemblera tylko prosil bym o porade jaka literatura najlepsza i zrozumiala lub jakies linki.
  • #9
    Jarema
    User under supervision
    joy_pl wrote:
    Jarema
    Hehehehe
    Nie wiesz, do czego i2c, zegar programowo to jest potwierdzenie twojej rozległej wiedzy...

    Kolejny post, który w tym temacie raportowałem - tyle tutułem wyjaśnień.

    miSZCZu5 wrote:
    Zdecydowal bym sie na asemblera tylko prosil bym o porade jaka literatura najlepsza i zrozumiala lub jakies linki.


    Chciał kolega linków więc proszę - daleko szukać nie trzeba było ;)
    https://www.elektroda.pl/rtvforum/topic106833.html
    http://www.google.pl/search?hl=pl&q=asembler+89c2051&btnG=Szukaj&lr=lang_pl
    http://www.google.pl/search?hl=pl&q=asembler+8051&btnG=Szukaj&lr=lang_pl
  • #10
    joy_pl
    VIP Meritorious for electroda.pl
    Po co robić nie dokładny zegar programowo(i tym samym prowadzić początkującego kolegę na złą drogę) skoro są do tego gotowe dużo dokładniejsze układy
    Przykład z życia płyta główna

    A co do asemblera to trochę ciężki jest jak na początek (od takiego zastosowania)
    Więc jeżeli zależy ci głównie na tym projekcie to raczej C a jeśli chcesz po prostu zacząć programować no to asembler
  • #11
    Jarema
    User under supervision
    joy_pl wrote:
    Po co robić nie dokładny zegar programowo


    Witam,
    Dlaczego uważa kolega, że programowy zegar nie jest dokładny ?
    Powiem, że jest nawet bardziej dokładny od tego, który taktowany jest oscylatorem 32768Hz a to dlatego, że odchyłka czestotliwości oscylatora jest tutaj dzielona przez wyższy współczynnik a co za tym idzie błąd jest wielokrotnie mniejszy.
  • #12
    joy_pl
    VIP Meritorious for electroda.pl
    Wracając do tematu a gdyby przerwanie nastąpiło w czasie transmisji 1wire?
    Jarema wrote:

    Dlaczego uważa kolega, że programowy zegar nie jest dokładny ?

    Wykonywanie instrukcji zerowania w przerwaniu owszem można to uwzględnić, ale nigdy nie będzie on tak dokładny jak rtc
    poza tym, po co sobie komplikować życie.
    Ale kolega „miSZCZu5” może zrobić sobie taki zegar programowo w celu edukacyjnym (przerwania)
  • #13
    Jarema
    User under supervision
    Witam,
    W moim zegarze przerwanie występuje z częstotliwością 800Hz a mimo to 1wire pracuje bez problemu obsługując 2 czujniki DS18B20.
    Do tego dochodzi UART (podczerwień) - też w przerwaniu - przez który mogę albo ustawić zegar albo przywołać wyświetlanie temperatury (pobudzanie dowolnym pilotem IR).
    Dodam, że cały program zajął 461B - w asm oczywiście ;)
    Więc w procku (PIC16F627A) pozostało sporo wolnej pamięci programu ;)
  • #15
    yego666
    Level 33  
    Mysle, ze kazda, lub prawie kazda ksiazka jest dobra,
    ale z praktyki wiem, ze najlepiej sie czlowiek uczy gdy sam cos pisze i patrzy co mu z tego wychodzi.
    Sugerowalbym, by uczyc sie z dostepnych pdf-ow a za zaoszczedzone pieniadze kupic lub zbudowac sobie jakis kit uruchomieniowy by na nim trenowac.
    Nauka na sucho ciezko wchodzi w glowe i sie jej nie trzyma dlugo :)
  • #16
    joy_pl
    VIP Meritorious for electroda.pl
    Może być
    ale ja polecam jeszcze książki z wydawnictwa „btc” są raczej (ale nie koniecznie) droższe od innych ale też chyba lepiej opracowane

    ps.Popieram tez wypowiedz yego666
  • #17
    miSZCZu5
    Level 10  
    Witam ponownie! Mam pytanie: gdy juz napisze program np. w notatniku, asembluje go, powstaje mi hex i listing to poprzez jaki program ja mam go przeslac do uP ??? przypominam ze mam programator http://www.elektroda.net/mikrokontrolery/progra_bascom.html
    i jeszcze chcialbym sie zapytac o jakies tanie zestawy uruchomieniowe lub (lepiej) schematy jakis prostych zestawow?
  • #18
    Jarema
    User under supervision
    Witam,
    Wystarczy, że kolega zainstaluje sobie Bascoma 8051 i wtedy można używać zawartego w nim programu obsługi programatora.
    Widzę, że kolega zaczyna od asm ;) - ja po ostatnim weekendzie i dwóch dniach pracowni na których pisałem w notatniku programy na 8051 mam dosyć - wolę MPLAB'a - przynajmniej mi się mózg nie lasuje ;P