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

[Rozwiązano] Prośba o pomoc w napisaniu programu Atmega8

ziguś 23 Cze 2010 13:06 1382 8
REKLAMA
  • #1 8221945
    ziguś
    Poziom 23  
    Witam
    Miałbym ogromną prośbę do kolegów z elektrody. Czy ktoś mógłby mi napisać program na Atmega 8 ? Miało by to funkcjonować tak, że na wejście Atmegi wchodzi sygnał BCD ( od 0 do 9) a na wyświetlaczu zamiast cyfry miałby się pokazywać odpowiedni komunikat. Przestudiowałem "oślą łączkę" ale jakoś nic mi z tego nie wychodzi...
  • REKLAMA
  • #2 8221981
    Logan
    Poziom 30  
    Nie bądź taki tajemniczy, ten sygnał wchodzi szeregowo, czy równolegle ?
  • REKLAMA
  • #3 8222000
    MarsJan^
    Poziom 16  
    czy chodzi Ci o pewnego rodzaju translator czy o przesył danych w tym formacie?

    Jeśli translator to sprawa jest prosta, jeden z portów ustawiasz jako wejście logiczne wykorzystując 4 piny.
    Jeśli to port B to sprawdzasz sobie wartość PINB np. używając instrukcji switch

    switch(PINB) {
    case 00000001: {}
    case 00000010: {}

    i tak dalej aż do 10
    ewentualnie instrukcją if dla każdej możliwości, proste prawda?

    Na co ma być podawany komunikat? Wyświetlacz? Diody? Głośnik?

    pozdrawiam

    Dodano po 1 [minuty]:

    acha, liczby muszą być zapisane szesnastkowo lub dziesiętnie, nie tak jak ja to zapisałem, chodziło mi tylko o przedstawienie zasady.
  • #4 8222090
    ziguś
    Poziom 23  
    Do Atmegi wchodzą 4 kable A B C D - czyli równolegle
    Komentarz ma być na wyświetlaczu LCD 2*16

    Dodano po 27 [minuty]:

    Jak to zapisać że:
    jeżeli pind0=0 ,pind1=0, pind2=0, pind3=1, to na wyświetlaczu ma sie pojawić komunikat nr.1
    jeżeli pind0=0 ,pind1=0, pind2=1, pind3=1, to na wyświetlaczu ma sie pojawić komunikat nr.2
    itd
  • #5 8222211
    sp3ots
    Poziom 38  
    Witam !
    Można by chyba prościej ?:
    
    If portd=0 then ....
    If portd=1 then ....
    If portd=2 then ....
    If portd=3 then ....
    ...
    If portd=15 then ....
    
  • REKLAMA
  • #6 8223216
    MarsJan^
    Poziom 16  
    PINB to 8bitowa wartość, poszczególne bity odpowiadają staną logicznym
    czyli

    wartość 0xFF to wszystkie piny w stanie jedynki logicznej
    wartość 0x0 wszystkie na zerze
  • REKLAMA
  • #9 8224014
    ziguś
    Poziom 23  
    Dzięki za podpowiedzi
    Będę próbował dalej - jak coś wymłodzę to wstawię na forum.
REKLAMA