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

ATMEGA32- ACSR i EEDR-PROBLEM....

mentor22 24 Lut 2010 00:14 741 0
REKLAMA
  • #1 7741796
    mentor22
    Poziom 10  
    Witam wszystkich:)
    Ostatnio zakupiłem płytkę testową EvB 4.3 z ATMEGA32 oraz książkę "Mikrokontrolery dla poczatkujących". Podczas wykonywania ćwiczeń z książki wyniknął problem. Np. w ćwiczeniu nr 6 wykorzystujemy Acsr.0 i Acsr.1 z rejestru ACSR które pełnią rolę bitów pomocniczych - i tu problem bo po zaprogramowaniu ATMEGA32 takim programem mikrokontroler jakby nie pracował. Podobnie jest w dalszym ćwiczeniu gdzie użyto rejestr EEDR jako licznika. Dodam że programowanie odbywa się przez bootloadera...czy to może być przyczyną niezadziałania programu?(Programy z książki oczywiście dostosowuje do ATMEGA32-ustawienia portów jakie wykorzystuje itp.) Jestem początkujący jeśli chodzi o programowanie. Z góry bardzo dziękuję za odpowiedzi. Oto pierwotny przykładowy program z wykorzystaniem opisanych przeze mnie funkcji:

    ' C006c Prosty licznik dekadowy z przyciskiem
    ' licznikiem nie jest już rejestr PortB
    ' tylko rejestr o nazwie EEDR
    'segmenty prawego wyświetlacza pokazują stan licznika
    Config Portb = 255 'wszystkie końcówki jako wyjścia
    Portb = &B11111111 'na początek wygaś
    Config Portd = &B1111100 'dwie najmłodsze jako wejścia
    Portd = &B1110111 'włączony prawy wyświetlacz
    'Eedr = 0 automatycznie na początek w liczniku zero
    Do 'pętla
    Debounce Pind.0 , 0 , Zwieksz , Sub 'naciśnięcie S1
    Loop
    End

    Zwieksz: 'etykieta zakończona dwukropkiem
    Incr Eedr 'zwięk zawartość licznika
    If Eedr = 10 Then Eedr = 0 ' skracanie cyklu
    Portb = Eedr 'przepisz do Portu B
    Portb = Not Portb 'zaneguj wszystkie bity portu
    Return
  • REKLAMA
REKLAMA