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

BASCOM AVR obsługa wyświetlacza LCD + DS18B20 + PCF8583

mateusz19955 23 Mar 2013 13:24 3789 16
REKLAMA
  • #1 12099765
    mateusz19955
    Poziom 13  
    Witam!

    Uczę się programowania w BASCOM i mam problem z procedurami.
    Chciałem sobie napisać procedurę tak jak w kodzie, który podałem niżej aby zwiększać wartość zmiennej A.
    Program działa, zmienna się zwiększa ale wyświetlacz jakoś dziwnie mruga.
    Gdy procedurę wyjmę z pętli to jest dobrze z wyświetlaczem, ale za to zmienną A zlicza tylko od zera do jednego.

    Co jest źle napisane?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 12099780
    M. S.
    Poziom 34  
    Co jest źle napisane? CLS!!!

    Nie kasuj wyświetlacza tylko nadpisuj.

    Użyj Locate y, x lub podobnych instrukcji.
  • #3 12099837
    mateusz19955
    Poziom 13  
    Dzięki, wyświetlacz już nie mruga, ale za to koło zmiennej na wyświetlaczu pojawiają się taki białe prostokąty.
    Co zrobić aby ich nie było?

    Dodano po 2 [minuty]:

    Ok, niema już problemu z niczym.
    Dzięki za pomoc.

    Dodano po 20 [minuty]:

    Jednak jeszcze jest jeden problem.
    Gdy zwiększam zmienną A to ma być ona zliczona do 24.
    Jeżeli wartość jest większa niż 24 to ma być zero.
    Ok, to działa.
    Ale gdy chcę zmniejszać zmienną A i gdy ona dojdzie do zera to ma się na tym zerze zatrzymać.
    A tu jest problem bo ona gdy dojdzie już do zera zaczyna zliczać 95, 93... itd.
    Co zrobić aby tak nie zliczała?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #4 12100049
    M. S.
    Poziom 34  
    Trzeba dopisać warunek co ma uC zrobić jak zmienna osiągnie "0".

    Mikroprocesorowi musisz wskazać jak się ma zachować w każdej z możliwych sytuacji bo on niestety nie chce myśleć za Ciebie.
  • Pomocny post
    #5 12100074
    Konto nie istnieje
    Konto nie istnieje  
  • #7 12575050
    mateusz19955
    Poziom 13  
    Witam ponownie,

    Może mi ktoś poweidzieć co jest źle, bo mryga mi cały czas napis z tej linijki:
    Lcd "0" ; Chr(1) ; "C 10" ; Chr(1) ; "C 20" ; Chr(1) ; "C 30".
    Jeżeli nikt nie będzie wiedział o co chodzi w tym programie to jutro dodam filmik z tego programu.

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Pozdrawiam
    Mateusz.
  • REKLAMA
  • #8 12575467
    Konto nie istnieje
    Poziom 1  
  • #9 12594032
    mateusz19955
    Poziom 13  
    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 go nie widać). Cyferki zmieniają się na nim ale do tego, że słabo bardzo świeci to jeszcze mruga jak na wyświetlaczu jedności zmienia się cyfra.
    Co może być źle napisane?

    Oto kod:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #10 12594188
    sp3ots
    Poziom 38  
    Witam !
    Jak usuniesz te linie:
    Incr Wysw
    Wait 1
    Gosub Wyswietlanie
    czy wyświetlanie jest poprawne (00) ?, zera nie pulsują ?
    Zastanów się nad "wait 1" czy to zamienić ?
    Pozdrawiam. Stefan
  • REKLAMA
  • #12 12599292
    Konto nie istnieje
    Poziom 1  
  • #13 12625985
    mateusz19955
    Poziom 13  
    Witam,

    Chciałem sobie napisać program do obsługi PCF8583 i DS18B20.
    Popróbowałem trochę i wyszło mi coś takiego:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Termometr DS18B20 działa ale PCF8583 nie mogę sprawdzić bo jeszcze go nie kupiłem.
    Może mi ktoś sprawdzić czy ten kod jest poprawnie napisany?
    Oczywiście nie chodzi mi o to aby ktoś specjalnie programował procesor tylko o to aby przeczytał ten kod i powiedział czy jest dobrze napisany, a jeżeli nie to powiedzieć dlaczego.
    BASCOM kompiluje go bez żadnych błędów.

    Pozdrawiam.
  • #14 12627791
    Konto nie istnieje
    Poziom 1  
  • #15 12628753
    mateusz19955
    Poziom 13  
    Kolego emarcus, mógłbyś mi ten kod doprowadzić do poprawnej postaci i wystawić tu na elektrodzie?
    Przeanalizował bym sobie swoje błędy i później może bym ich nie popełniał przy pisaniu następnych programów.
  • #16 12634279
    Konto nie istnieje
    Poziom 1  
  • #17 12673082
    mateusz19955
    Poziom 13  
    Witam,

    A czy ten kod jest poprawnie napisany?

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Jeżeli nie to niech ktoś poprawi, bo ja nie wiem co tu jeszcze poprawiać.
    Kod działa, zajmuje 2,5kB pamięci.

    Pozdrawiam.
REKLAMA