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.

[DS89C450][BASCOM] Obsługa lcd 2x16 :(

eMCe2 22 Apr 2009 20:47 2159 5
  • #1
    eMCe2
    Level 12  
    Witam jako że udało mi się w końcu uruchomić termometr na 1wire w C na tym klocku stwierdziłem że spróbuje to samo zrobić w BASCOM'ie no i jest pewien problem bo już sama obsługa lcd mi nie bardzo działa a konkretnie to chyba jest zbyt szybka bo nic się nie wyświetla...
    Jak wciskam guzik resetu procka to pojawiają się pojedyńcze literki losowo więc rozumuję że coś tam działa ale za szybko i lcd nie wyrabia...
    procek jak w temacie Dallas DS89C450 z podpiętym kwarcem 20Mhz, porty ustawione ok tak samo jak w programie w C...
    kod ponizej:
    Code:

    $regfile "89c420.dat"
    $crystal = 20000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2
    Cursor Off
    Cls
    Lcd "ABCDEFGHIJKLMNO"
    Do
    Loop
    End
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • #2
    Kelas
    Level 18  
    Edytujesz plik 89c420.dat
    i zmieniasz wartosc
    CLOCKDIV = 12
    na
    CLOCKDIV = 1
  • #3
    eMCe2
    Level 12  
    mam taką wartość domyślnie więc to chyba nie z tym problem... jakieś inne pomysły?
  • #4
    Kelas
    Level 18  
    Hm, sprobuj ustawic na 12 bo pamietam ze zmieniajac ten paramer udalo mi sie odpalic wiekszosc bascomowych funkcji na tym procku.

    Poza tym.. skoro zaczales pisac w C, to po co przesiadac sie na bascom? Satysfakcja z dzialajacego kodu w C jest wieksza niz z bascomowego - przynajmniej dla mnie.

    edit:
    Zawsze mozesz ustawic mnoznik zegara na 1/12 i uzyskasz te same czasy co dla standardowej '52. Trzeba tylko wziasc pod uwage (a raczej bascom nie bierze) ze niektore instrukcje ten procek wykonuje w innej ilosci cykli niz standardowo.
  • #5
    eMCe2
    Level 12  
    z 12 też nie działa :(
    a z C wskoczyłem na Bascoma dla własnej przyjemności żeby sprawdzić co tam w trawie piszczy :) na razie widzę że jest bardziej intuicyjny ale też chyba mniej można tam samemu poustawiać ale to tylko takie pierwsze spostrzeżenie ;) niemniej jednak chciałbym się w tym języku też coś spróbować pobawić...
    A mógłbyś coś bardziej podpowiedzieć z tym ustawieniem mnożnika na 1/12?
    Z góry dzięki i pozdrawiam...
  • #6
    Kelas
    Level 18  
    Pomylilem sie, podzial zegara przez 12 mozna ustawic tylko dla timerow i watchdoga.
    Do wyboru masz mnoznik 2, 4 i 1/1024
    Zajrzyj do user guide do dzialu CPU TIMING, tam masz opisane jak zmieniac podzial zegara.