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

[Atmega8][BASCOM] Problem, nie uruchamia się program

Freeq 21 Lip 2009 22:51 3924 27
  • #1 6807275
    Freeq
    Poziom 15  
    Witam dziś zaprogramowałem swój pierwszy uC za pomocą programu ISPPROG.

    Następnie podłączyłem wszystko tj.:

    pin 7 - +5v
    pin 8 - gnd
    pin 9 i 10 - kwarc 8MHz
    do pinów 4, 5, 6, 11, 12, 13 - wyświetlacz LCD

    piny 1 i 3 wyświetlacza zasiliłem
    pin 2 do masy.

    Niestety nie odpala się program, wyświetlacz się wcale nie świeci. Nie widać na min żadnych znaków... Jednym, słowem 0 reakcji...

    FuseBity ustawiłem następująco:

    BOOTRST - 1
    BOOTSZ1 i BOOTSZ0 - 00
    BODEN - 1
    BODLEVEL - 0
    WDTON - 1
    RSTDISBL - 1
    EESAVE - 1
    CKSEL3, 2, 1 - 111
    CKOPT- 0
    SUT1 i SUT0 - 10
    CKSEL0 - 1

    Mój procesor to Atmega8, programator STK200/300, zestaw uruchomieniowy NE-300-k.

    Bardzo proszę o pomoc.
  • #2 6807324
    Mol
    Poziom 30  
    W standardowym lcd pin 1 do masy (chyba) pin 2 + ,pin 3 kontrast.
  • #3 6807332
    Dareks
    Poziom 20  
    Bardzo enigmatycznie opisałeś swój problem

    Może coś więcej?

    Co ma robic program ? , pokaz program
  • #4 6807469
    wicy
    Poziom 22  
    A co z układem resetu i kondensatorami przy kwarcu? O tym nic nie piszesz. No i co to za program? Zadeklarowałeś CONFIG LCD tak jak podpiąłeś piny?
  • #5 6807596
    sp3ots
    Poziom 38  
    Witam !
    Jeśli testujesz na płycie Ne 300-K to Twój opis dotyczący zasilanie LCD jest błędny,
    pin 1 masa
    pin 2 +5V
    pin 3 kontrast ( odczep potencjometru)
    Jeśli nic nie widać na LCD to pokręć nim na max w prawą stronę tak jak byś najgłośniej chciał słuchać muzyki, powinny pojawić się ciemne prostokąty, nawet jak LCD nie jest podłączone do ATmegi8.
    Pozdrawiam. Stefan
  • #6 6808004
    Freeq
    Poziom 15  
    Program to symulator bomby z Counter-Strike'a

    Kwarc wraz z kondensatorami podłączony. Czy Pin 1 (RESET) musi być podłączony do czegoś?

    Tak zdeklarowałem CONFIG LCD.
  • #7 6808017
    wicy
    Poziom 22  
    Freeq napisał:
    Kwarc wraz z kondensatorami podłączony. Czy Pin 1 (RESET) musi być podłączony do czegoś?

    Są różne szkoły na ten temat, wystarczy przejrzeć forum. Ja stosuję tylko rezystor ok. 10k podłączony do +5.

    W LCD podepnij jeszcze pin5 do masy.
  • #8 6809186
    Freeq
    Poziom 15  
    Na dole na PCB wyświetlacza mam napis: WC1602A jednak nie mogę do niego znaleźć datasheeta...
  • #9 6809224
    Ture11
    Poziom 39  
    Witam.
    W dobrym geście jest podłączyć pin 22 do masy, a pin Avcc(20)do plusa zasilania.
  • #10 6809236
    Freeq
    Poziom 15  
    Z tego co wnioskuję to pin 7 i 20 to to samo (+5V)... Natomiast 8 i 22 też (masa).

    A co z pinem numer 1? Czy RESET trzeba gdzieś podłączyć?
  • #11 6809260
    Ture11
    Poziom 39  
    Witam.
    Napisałem tak, ponieważ miałem taki sam problem i po podpięciu dopiero ruszyło - ale u Ciebie to chyba coś innego, bo wyświetlacz nie świeci - dobrze rozumiem, że wyświetlacz typu hd44780? Po uruchomieniu cała pierwsza linia powinna zapełnić się kwadracikami - tzw. self test
    RESET należy podłączyć przez opornik 10kohm do plusa i kondensatorem 100nf do minusa.
  • #12 6809280
    Freeq
    Poziom 15  
    Z tego co mi się wydaje to tak, wyświetlacz to HD44780.

    Podłączyłem sam wyświetlacz (1- masa, 2- +5V) i nawet się nie zaświecił...

    Czy RESET koniecznie trzeba tak podłączyć? Bo coś mi się wydaje to być dziwnym podłączeniem...
  • #13 6809414
    Ture11
    Poziom 39  
    Podłącz pin 3 surowego wyświetlacza do masy i powiedz, co się dzieje. Jeżeli nic to lepiej kup nowy lcd, bo ten może wymagać ujemnego napięcia do kontrastu - chyba że użyjesz układu 7660, który daje na wyjściu ujemne napięcie identyczne jak wejściowe (identyczny woltaż, tylko ujemne. Ja osobiście spotkałem się z takimi lcd, nieświadomie 2 sprawne wywaliłem, na 3 uznałem, że to nie przypadek i zacząłem szukać na płytce, na której był lcd, jakiegoś układu - znalazłem owego 7660s.

    Jeżeli chodzi o obwód resetu to powinno być przynajmniej opornik do plusa. Przy stanie niskim na resecie układ się resetuje.
  • #14 6809645
    sp3ots
    Poziom 38  
    Witam !
    Poniżej przykładowe połączenie zasilania do LCD i ATmega8.
    [Atmega8][BASCOM] Problem, nie uruchamia się program
    Te sześć linii niedokończonych połącz z odpowiednimi pinami ATmegi8,
    tak jak masz skonfigurowane w programie.

    Pozdrawiam. Stefan GG6293398
  • #15 6809757
    Freeq
    Poziom 15  
    Ture11, 3 do masy a do + 1 i połowa wyświetlacza zapełniła się kratkami... to dobrze czy źle?
  • #16 6809768
    sp3ots
    Poziom 38  
    To bardzo dobrze.
    Freqq, używaj znaki przystankowe "przecinek" trudno zrozumieć co piszesz.
  • #17 6809786
    Freeq
    Poziom 15  
    Obrazując:

    [X][X][X][X][X][X][X][ ][ ][ ][ ][ ][ ][ ][ ][ ]
    [X][X][X][X][X][X][X][ ][ ][ ][ ][ ][ ][ ][ ][ ]

    [X] - pola które się zaświeciły
    [ ] - puste pola

    Czy podłączając wszystko wg schematu który pokazałeś wszystko będzie cacy?
  • Pomocny post
    #18 6809827
    sp3ots
    Poziom 38  
    Taki obraz wyświetlacza jest dziwny.
    Prawidłowe by było gdyby zapaliły się wszystkie pola w górnym rzędzie.
    Napisz jak podłączyłeś sam wyświetlacz do zasilania, w tej chwili nie ma sensu podłączać procesora.
    Jeśli masz GG, proszę na GG6293398.
  • #19 6810102
    wicy
    Poziom 22  
    Naciśnij mocniej czarną blaszkę na wysokości tych niezapalonych pól. Jeśli się zapalą to wina gumek. Masz wyświetlacz na skraju kosza chyba, że uda ci się rozebrać i przeczyścić styki. Dodam, że zmontowanie tego spowrotem z dobrą siłą wcale nie jest proste.
    Miałem podobny problem tu https://www.elektroda.pl/rtvforum/topic1373133.html a z drugim LCD dokładnie to samo co ty i nie udało mi się nic z tym zrobić :(
  • #20 6810129
    Freeq
    Poziom 15  
    Tylko, że to jest nowy LCD... wadliwy?
  • #21 6810173
    Mol
    Poziom 30  
    Jak mu na początku zasilanie na odwrót podłączyłeś to już może być wadliwy.
  • #22 6811111
    Freeq
    Poziom 15  
    Taki schemat zasilania znalazłem w datasheecie w necie...

    Dodam jeszcze, że LCD, który dostałem wraz z zestawem 300-k też nie działa... (podłączam 1-masa, 2-+5V, 3-kontrast, 5-masa)




    Czy takie połączenie odnośnie kawałka kodu programu będzie działało?

    
    $regfile = "m8def.dat"                                    
    $crystal = 8000000 
    
    Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 
    
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    
    Config Pinb.3 = Input                                      
    Config Pinb.4 = Input
    Config Pinb.5 = Input
    
    Config Pinb.1 = Output
    Config Pinb.2 = Output		
    Config Pinb.0 = Output
    Config Pind.0 = Output
    Config Pinc.1 = Output
    


    [Atmega8][BASCOM] Problem, nie uruchamia się program
  • #23 6811406
    wicy
    Poziom 22  
    Nie będzie. Podałeś na LCD 12V i już po LCD (po Mega8 pewnie też)
  • #24 6812035
    Freeq
    Poziom 15  
    Sorki tam miało być 5V... to z rozpędu :) a poza tym to jak na razie tylko schemat. Czy jak będzie 5V to będzie działać?
  • #25 6814045
    Wojtek75
    Poziom 24  
    Nie będzie bo "kawałek kodu" (w cudzysłowie) który pokazałeś to jakaś abstrakcja.
    Niezadeklarowany typ wyświetlacza
    Config Lcd = 16 * 2

    Brak choćby jednej linijki kodu, która spowodowałaby, że coś na tym wyświetlaczu się wyświetli. Można by jakąś pętlę główną, można jakieś na końcu…itp

    W zamian tego jest linijka konfigurująca ADC patrzę na schemat i zastanawiam się, w jakim celu?
    Tych linijek konfigurujących porty jako I/O nawet nie chcę mi się już sprawdzać w odniesieniu do schematu...

    W ciągu kilkunastu sekund można w tym dziale elektrody znaleźć programik, który pozwoli na przetestowanie wyświetlacza (wyświetlając na nim jakiś napis) i najczęściej wymaga on drobnej korekty związanej z konfiguracją połączenia mikrokontroler <-> LCD.
    Tydzień czytania tego działu i sporo się w głowie rozjaśnia. Potrzeba tylko odrobiny chęci.
  • #26 6814398
    Freeq
    Poziom 15  
    Wojtek75, ja nie chcę testować wyświetlacza...

    Kawałek kodu, który zamieściłem obrazuje podłączenie LCD i uC i takie było pytanie a Ty tu wyskakujesz o tym, że nie jest zadeklarowany wyświetlacz i brakuje END na końcu...

    Konfiguracja ADC jest potrzebna w dalszej części programu a Ty czepiasz się szczegółów... a że znajduje się to w środku kawałka, który wkleiłem nie chciałem już tego usuwać...

    Nie zgrywaj kozaka, bo wyraźnie napisałem:
    Cytat:

    Czy takie połączenie odnośnie kawałka kodu programu będzie działało?


    A skoro:
    Cytat:

    Tych linijek konfigurujących porty jako I/O nawet nie chcę mi się już sprawdzać w odniesieniu do schematu...

    to wcale nie rozumiem po co zabierasz głos w temacie... bo nic wartościowego do tematu nie wnosisz a jedynie siejesz zamieszanie...
  • #27 6814490
    janbernat
    Poziom 38  
    Freek, nie zgrywaj kozaka.
    "połączenie odnośnie kawałka kodu "
    W mikrokontrolerach nie ma "kawałków kodu"
    Albo cały program działa albo wcale.
    Zastanów się nad pustą pętlą Do...Loop.
    Wojtek75 ma rację.
    Twój program to jest jedynie konfiguracja peryferiów procesora.
  • #28 6814558
    Freeq
    Poziom 15  
    I właśnie o konfigurację peryferiów mi chodziło... To, że program działa wiem na 100% bo kolega sp3ots już sprawdził... i peryferia wg. tego co podałem też działają.

    Tak więc temat można zamknąć.
REKLAMA