Elektroda.pl
Elektroda.pl
X

Search our partners

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

[Bascom][atmega8] obsługa wyświetlacza lcd

Regan_3000 15 Feb 2010 15:59 2637 2
  • #1
    Regan_3000
    Level 15  
    wITAM.
    Napisałem program bo pomiaru temp. Problem mam taki, że na wyświetlaczu pojawia się więcej tekstów coś w tej formie: Temp = 21,1C Temp = 21,1C Temp = 21,1C Temp = 21,1C i tak przez cały wyswietlacz i przesuwa się w prawo.

    kod:
    $regfile = "m8def.dat"
    $crystal = 16000000

    Config 1wire = Portb.1 'port do którego podpięty jest termetr

    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    Config Lcd = 16 * 2




    Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia
    Deflcdchar 2 , 4 , 10 , 10 , 10 , 10 , 17 , 17 , 14 ' znak fiolki
    Dim Address As Byte , Command As Byte , Odczyt(2) As Byte , A As Byte , B As Byte , Licznik As Byte ,
    T As Integer , T1 As Single , Napis As String * 5 , D1 As Integer
    D1 = 350
    Enable Interrupts


    Cursor Off 'kusor off
    Cls 'czyszczenie wyświetlacza
    Do
    1wreset 'reset
    1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM
    1wwrite &H44 'dokonaju konwersji
    Waitms 750 'przeczekaj czas konwersji
    1wreset 'reset
    1wwrite &HCC 'rozkaz adresowy SKIP ROM
    1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20
    Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty
    T = Odczyt(2) 'przepisz starszy bajt do zmiennej typu Integer
    Shift T , Left , 8 'przesuń ten bajt w lewo na wyższe pozycje
    T = T + Odczyt(1) 'przepisz - dodaj młodszy bajt

    T1 = T * 0.0625

    Napis = Fusing(t1 , "#.#") 'określenie miejsca po przecinku

    Lcd Chr(2) ; "=" ; Napis ; " " ; Chr(1) ; "C" 'wynik
    Loop
    Kamery 3D Time of Flight - zastosowania w przemyśle. Darmowe szkolenie 16.12.2021r. g. 10.00 Zarejestruj się
  • Helpful post
    #2
    SQ9PXB
    Level 27  
    przed linia Lcd Chr(2) ; "=" ; Napis ; " " ; Chr(1) ; "C" 'wynik
    dopisz : locate 1,1

    pozdrawiam
  • #3
    Regan_3000
    Level 15  
    Tema do zamknięcia.