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

Jak zasilić Atmega 8535 i poprawić błędy w Bascom?

vcd_a 11 Sie 2006 21:41 1746 7
REKLAMA
  • #1 2907035
    vcd_a
    Poziom 18  
    Posty: 388
    Pomógł: 9
    Ocena: 6
    Witam, właśnie kupiłem sobie Atmege 8535 i chciałbym się nia trochę pobawić, zrobiłem już programator ISP i Bascom wykrywa uC. Jednak mam kilka pytań co do samego odpalenia uC czy zasilanie musze podawać tylko do wejścia VCC czy też do AVCC, tak samo z masą czy tylko do GND czy też do AGND. Chciałem jeszcze napisać prosty programik na sam początek z diodką, że jak wcisne przycisk to się zapali diodka, napisałęm taki program:

    
    Config Portc = &B11111111
    Portc = &11110111
    
    Config Portd = &B00000000
    Portd = &B10111111
    
    
    
    Do
    If Pind.6 = 1 Then
    Waitms 50
    Pinc.3 = 1
    End If
    
    Loop
    End

    Jednak nie wiem czemu, ale Bascom przy kompilacji wyrzuca kupe błędów, czy możecie mi powiedzieć gdzie są te błędy, a i jeszcze czy do 8535 potrzebuje zewnętrzny kwarc?, pozdrawiam Krzysiek
  • REKLAMA
  • Pomocny post
    #2 2907075
    ducker1
    Poziom 26  
    Posty: 855
    Pomógł: 69
    Ocena: 83
    napisz
    
    config pind.1 = input
    config pind.0 = input
    
    
    
    do
      debounce pind.0,0,klawisz1,sub
      debounce pind.1,0,klawisz2,sub
    loop
    
    
    
    klawisz1:
      jakas akcja1            /np set pin.c=1/
    return
    
    klawisz2:
      jakas akcja2           /np set pin.c=0/
    return
    
    



    A zasilanie i mase musisz podpiąć też do tych 2 pinów co pisałeś.

    Tylko podłącz tak jak jest w programia albo zmień porty

    Aha mogą być błędy bo pisałem z pamięci

    To jest żle, i niżej chyba też



    Config Portc = &B11111111
    Portc = &11110111

    Config Portd = &B00000000
    Portd = &B10111111


    Do
    If Pind.6 = 1 Then
    Waitms 50
    Pinc.3 = 1
    End If

    Loop
    End
  • REKLAMA
  • Pomocny post
    #3 2907594
    alnus
    Poziom 28  
    Posty: 1198
    Pomógł: 91
    Ocena: 66
    na początek nie musisz mieć kwarcu, procek wystartuje na wewnętrznym zegarze 1MHz. potem możesz to przełączyć fusebitami na wewnętrzny 8MHz lub zewnętrzny kwarc ( o ile go podepniesz ) . ale uważaj, bo łatwo się pomylić i przełączyć np. na zewnętrzny sygnał zegarowy i później już bez zewnętrznego generatora nie ruszy. co do błędów, to podwójne kliknięcie spowoduje podświetlenie linii w programie, gdzie je popełniłeś ( oczywiście nie wszystkie się podświetlą, bo czasem czegoś nie dopiszesz i nie ma się co podświetlić)
  • REKLAMA
  • #4 2910375
    vcd_a
    Poziom 18  
    Posty: 388
    Pomógł: 9
    Ocena: 6
    Witam ponownie, programik już mam, niestety dioda dalej nie świeci, wydaję coś mi się, że Bascom wogóle nie programuje uC, bo nie pokazuje "ramki z paskiem postepu" podczas zapisywanie do flasha, a przy włączaniu pokazuje komunikat: Selected chip and target do not match ATmega 8535 <>AT90S8535., nie wiecie o co może chodzić pozdrawiam Krzysiek
  • REKLAMA
  • Pomocny post
    #5 2910437
    Granat :)
    Poziom 34  
    Posty: 3043
    Pomógł: 202
    Ocena: 666
    Witam,

    Przedewszystkim na początku umieć informację, która wskaże kompilatorowi dla jakiego procesora ma utworzyć kod:

    
    $regfile = "m8535.dat"
    


    i jak chcesz zapalić diodę to nie piszesz set pinc.3 (rejestr PIN służy do oczytu stanu pinu jeśli ten jest ustawiony jako wejście) tylko set portc.3.

    Piny AVCC i AGND służą do zasilania wewnętrznego przetwornika ADC, więc jeśli z niego nie korzystasz nie musisz ich podłączać.

    Pozdrawiam
  • #6 2910462
    vcd_a
    Poziom 18  
    Posty: 388
    Pomógł: 9
    Ocena: 6
    Problem rozwiązałem, wywaliłem dyrektywe z początku i zamiast w okienku programowania klikać ikonkę Auto Program, kliknąłem w Chip > Auto Program i zaczął programować, nie wiem w czym leżał błąd, ale działa, wielkie dzięki za odpowiedzi, pozdrawiam Krzysiek

    Dzięki jeszcze raz, pozd
  • Pomocny post
    #7 2911185
    ducker1
    Poziom 26  
    Posty: 855
    Pomógł: 69
    Ocena: 83
    Granat :) napisał:
    Witam,

    Przedewszystkim na początku umieć informację, która wskaże kompilatorowi dla jakiego procesora ma utworzyć kod:

    
    $regfile = "m8535.dat"
    




    Nie jest to konieczne jeśli wybierzesz ręcznie w ustawieniach Bascoma jaki to procek a vcd_a tak właśnie zrobił

Podsumowanie tematu

✨ Dyskusja dotyczy zasilania i programowania mikrokontrolera Atmega8535 przy użyciu Bascom. Zaleca się podłączenie zasilania zarówno do pinów VCC, jak i AVCC oraz masy do GND i AGND, choć piny AVCC i AGND są konieczne głównie przy korzystaniu z przetwornika ADC. Atmega8535 może pracować bez zewnętrznego kwarcu, korzystając z wewnętrznego oscylatora 1 MHz, z możliwością zmiany fusebitów na 8 MHz lub zewnętrzny kwarc. W programie Bascom należy zadeklarować typ procesora dyrektywą $regfile = "m8535.dat". Do sterowania diodą należy używać rejestru PORTC, a nie PINC, który służy do odczytu stanu pinu. Problemy z kompilacją i programowaniem wynikały z błędów w kodzie i nieprawidłowego wyboru opcji programowania w Bascom; poprawne użycie funkcji Auto Program z menu Chip rozwiązało problem. Przykładowy kod wymaga poprawnej konfiguracji portów i debouncingu przycisków.
Wygenerowane przez model językowy.
REKLAMA