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

obsluga LCD dziala na Atmega 16 a problem z Atmega128

Piter_K 16 Sie 2009 20:28 2508 5
  • #1 6900200
    Piter_K
    Poziom 11  
    Witam

    Wykorzystuje oprogramowanie
    * AVR Studio 4.14.589
    * WinAVR-20090313 ( najnowszy )

    Problem jest dość dziwny, a mianowicie oprogramowanie LCD 2*16 działa mi na Atmega 16 a jest problem by przenieść je Atmega128

    Mam Atmegę 16 podłączoną wedle schematu oraz z wgranym kodem i działa ! (pliki c w załączniku)

    obsluga LCD dziala na Atmega 16 a problem z Atmega128

    
    #include <stdlib.h>
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    #include "lcd.h"
    
    int main(void)
    {
    	lcd_init(LCD_DISP_ON);/* initialize display, cursor off */							
    	lcd_clrscr();	/* clear display and home cursor */										
        
    	lcd_gotoxy(0, 0);
    	lcd_puts("pierwsza linia");	
    	
    	lcd_gotoxy(0, 1);
    	lcd_puts("druga linia");	
    		
    	while (1)
    	{
    	}
    }
    



    Jaja zaczynają sie jak podepnę Atmega 128. Powyższy program kompiluje za pomocą Programmers Notepad [WinAVR], w pliku makefile jak jest wybrany procek MCU = atmega16 to LCD działa, a jak jest wybrany procek MCU = atmega128 ( taki jaki jest faktycznie podłączony !!) to LCD nic nie wyświetla.

    Programmers Notepad [WinAVR] tworzy mi hex`y a wgrywam je do procka za pomocą AVR Studio 4.14. Atmega 128 na pewno jest sprawna, bo dzialają inne programy z miganiem diod, przyciskami. Takie same mam połączenia LCD w Atmega 128 oraz 16, uzywam ten sam port D.
    Widać ,że problem nie jest po stronie sprzętu lecz jest w oprogramowaniu.

    kończą mi się pomysły, grrrr ...
  • #2 6900348
    skuter_komp
    Poziom 2  
    Witaj
    -Nie wyświetla, czy nie wyświetla tego co Ty (program) chcesz?
    -Co jest na wyświetlaczu zaraz po zaprogramowaniu i czy zmienia się coś po załączeniu zasilania i zaraz po programowaniu?
    Czy przed kompilacją resetujesz kompilator?
    Czy zaznaczona jest opcja czyszczenia pamięci procka przed kompilacją?
    Miałem problemy z wyświetlaczem, ale cały projekt wykonywałem w AVR STUDIO, wyslaniu i uruchomieniu programu wyswietlacz pokazywał jedną linię dokładnie jak po załączeniu zasilania. Pomogło właściwe inicjalizowanie LCD.
  • #3 6900557
    flapo213
    Poziom 21  
    sprawdź tryb kompatybilności z Atmega103 podejrzewam że to jest główny twój problem. Nie wiem jak jest w AVR_Studio odznacz bądź zaznacz ptaszka nie pamiętam który wyłącza tryb.
  • #4 6900655
    JanuszM
    Poziom 17  
    ODZNACZ ptaszka przy M103C - wyłączy to tryb kompatybilności z Atmega103. Sprawdź też, czy w opcjach projektu w AVR Studio masz podaną właściwą częstotliwość zegara dla uPC.
  • #5 6900674
    michalko12
    Specjalista - Mikrokontrolery
    lcd.h:
    #define XTAL 8000000   


    Skoryguj częstotliwość zegara w lcd.h i sprawdź dokładnie fusy zwłaszcza te odpowiedzialne za taktowanie procesora.
  • #6 6904782
    Piter_K
    Poziom 11  
    Działa :) trzeba było odznaczyć M103C w fuse bitach. Wielkie dzięki :) pzdr
REKLAMA