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

[atmega8][bascom] licznik bcd i wyświetlanie na 7seq

Dj_Szparag 22 Cze 2009 22:17 4309 8
REKLAMA
  • #1 6690567
    Dj_Szparag
    Poziom 10  
    Witam :) jestem raczej początkującym elektronikiem i od niedawna zająlem sie programowaniem procesorów narazie bawie sie na trywialnie prostych uładach z Atmega8 (czyt. ustawianie swiecenia diod itp) Chciałem zbudowac układ który liczył by 0-9 i wyświetlane to było na siedmiosegmentowym wyświetlaczu...

    Oto schemat:
    [atmega8][bascom] licznik bcd i wyświetlanie na 7seq


    a to program:
    
    $regfile = "m8def.dat"                                      'okraślamy typ procesora
    $crystal = 1000000                                          'określamy częstotliwośc taktowania
    Config Portc = Output                                       'ustawiamy port C jako wyjscia
           Portc = &B00000000
    Do                                                          'pętla programu start
    
      Portc = 00000000
      Waitms 1000
      Portc = 00000001
      Waitms 1000
      Portc = 00000010
      Waitms 1000
      Portc = 00000011
      Waitms 1000
      Portc = 00000100
      Waitms 1000
      Portc = 00000101
      Waitms 1000
      Portc = 00000110
      Waitms 1000
      Portc = 00000111
      Waitms 1000
      Portc = 00001000
      Waitms 1000
      Portc = 00001001
      Waitms 1000
    Loop
    end
    

    prosze o pomoc i o jakies proste wytłumaczenie moich błędów. myslalem jeszcze o robieniu tego za pomoca rozkazu INC i dodawania tylko nie wiem jak zawartośc rejestru wystawic na wyjscia z gory dziekuje za pomoc pozdrawiam :)
  • REKLAMA
  • Pomocny post
    #2 6690631
    ZbeeGin
    Poziom 39  
    Zjadłeś przedrostki &B przy wartościach bitowych jaki już z niepohamowaną determinacją chcesz takiego zapisu używać.
  • #3 6690873
    rpal
    Poziom 27  
    Drogi kolego stosowanie 7447 kiedy to masz niewykorzystane porty w procku to przerost formy nad treścią. Podłącz po prostu wolne linnie poprzez rezystory lub ew. użyj drivera np. ULN 2803. Sterowanie na pinach portu nie będzie o wiele bardziej skomplikowane.
  • REKLAMA
  • Pomocny post
    #4 6691407
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #5 6693242
    rpal
    Poziom 27  
    Kolega potrzebuje po prostu wartości liczby w kodzie BCD jak pisał poprzednik i BCD, HEX i liczby dziesiętne pokrywają się w zakresie 0-9. W takim razie wystarczy wysłać 4 najmłodsze bity na wejście 7447 albo całą liczbę bo i tak podrt wyjściowy jest podłączony tylko to 4 końcówek 7447. Co do wartości powyżej 10 to zaproponowałbym aby użyć wejścia BI/RBO i jeden z dodatkowych pinów któregoś z portów po to aby blokować w ogóle wyświetlanie cyfr dla wartości powyżej 9. To co pokaże LED będzie generalnie bez sensu więc po co to obrazować(nota katalogowa i opis wyświetlanych znaków) Podanie "0" na to wejście zablokuje w ogóle wyświetlanie. Wystarczy tylko spradzić wartość liczby i ew. zmieniać stan BI/RBO.
    Jeszcze jedno jeden wyświetlacz LED wiele nie pokaże czy przypadkiem nie chodziło o wyświetlanie liczb o większej wartości czyli np. od 0 do 9999 ?
  • #6 6693875
    Dj_Szparag
    Poziom 10  
    nie nic mi nie było narzucone w zasadzie nie wiem czemu wybrałem LED mi chodzi tylko o nauczenie sie programowania chce zając sie obecnie budowaniem prostyych robotów (Waldka swiatło luba itp) w elektronice praktycznej znalazłem GREENBOT'a tam jest AtMega8 i po prostu chciałem pocwiczyc w szkole miałem duzo teorii i bardzo mało praktyki a jak juz była to raczej to 8051 i przyznam ze mało z tego pamietam... teraz po prostu buduje sobie proste płytki testowe które pomogą nauczyc mi sie programowac wiem ze zamiast LED moznaby wrzucic LCD... Dziekuje bardzo za pomoc napewno skorzystam z rad :)
  • REKLAMA
  • #7 6694056
    janbernat
    Poziom 38  
    Kup sobie jakąś książkę i ćwicz.
    Książki są co prawda drogie-ale warto.
    Polecam "Mikrokontrolery dla początkujących" Piotra Góreckiego.
    I nie przywiązuj się do płytki testowej-zrobisz inną - na inny mikrokontroler lub kupisz.
    I help Zbigniewa Gibka do Bascoma ze strony MCSElectronics-darmo-ale jest b. mało o sprzęcie.
    Mógłby w końcu napisać o tym książkę -nie rozumiem dlaczego tego nie robi.
  • REKLAMA
  • #8 6694122
    ZbeeGin
    Poziom 39  
    janbernat napisał:
    I help Zbigniewa Gibka do Bascoma ze strony MCSElectronics-darmo-ale jest b. mało o sprzęcie.
    Mógłby w końcu napisać o tym książkę -nie rozumiem dlaczego tego nie robi.

    Ok. Wywołany wyjaśniam.
    Help jest do programu BASCOM-AVR wraz z implementacją BASCOM Basic. O sprzęcie jest tyle ile powinno starczyć na początek i zachęcić do głębszego poznania np. not katalogowych. Choć część sprzętowa się ostatnio nieco powiększyła (patrz WWW).
    Książka? Przecież Ten Którego Nazwiska Tu Nie Wymienię już takową (prze-)napisał.

    Koniec OFFa.
  • #9 6694297
    janbernat
    Poziom 38  
    Nie-Ten napisał inną książkę.
    A potrzebna jest książka dla tych którzy nie przepisują gotowców ale chcą zrozumieć JAK to działa.
    Dla zaawansowanych.
    To jest język (jak dla mikrokontrolerów) wysokiego poziomu.
    Ma swoje wady i zalety.
    Ma też błędy-jak wszystkie języki.
    Ale Ty - możesz.
    Może być tylko odwołanie do sprzętu-protokół, czasy, poziomy sygnałów itp.
REKLAMA