Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 4 sty 2025, o 11:18


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 14 sie 2014, o 09:17 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Witaj,
To mój pierwszy post, więc proszę o wyrozumiałość :) :D

Wczoraj zakupiłem wyświetlacz LCD 2x16. Nie mogę go zainicjalizować.
UPROSZCZONY Schemat:
Obrazek
Nie korzystam z Biblioteki, ponieważ chcę mieć pełną władzę nad uC i zrozumieć kod.

Problem polega na tym, że wyświetlacz nie chce się zinicjalizować.

KOD:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nawet ręcznie podpinając pin D6 i E do VCC, a potem odłączając E.

Z góry dziękuję z pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 10:05 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Według mnie źle przeprowadzasz inicjalizację tego wyświetlacza . Interfejs JTAG wyłączyłeś. Weź sobie notę katalogową tego wyświetlacza i tam będziesz miał algorytm w jaki sposób zainicjalizować wyświetlacz. Zobacz jeszcze ten filmik kolegi z forum:
https://www.youtube.com/watch?v=tOLnAFhUVjw

Tutaj masz jeszcze ten algorytm inicjalizacji:

Obrazek

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 10:14 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Jestem bardzo początkującym. Dostałem od znajomego ATMEGE 16 taktowaną 4 MHz i zestaw uruchomieniowy Noname.
Mrugałem diodami na wszystkich portach, wiec chyba JTag jest wyłączony.
Inicjalizację robiłem na podstawie tego właśnie filmiku.
Więc co jest źle.
1. Ustaw E na high. Rs na Low i data na 0010
2. Ustaw E na low.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 10:19 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Weź wyrzuć to #define F_CPU 4000000. Piszesz programy w Eclipse czy AVRStudio ?. Taktowanie ustawiamy podczas tworzenia projektu a nie w programie. Zobacz na ten algorytm i napisz według niego.
Daj jakieś zdjęcie tego zestawu. Masz na pewno tą ATmega16 ustawioną sprzętowo na 4MHz ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 10:23 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Dziękuję z ten schemat inicjalizacji.
3 razy wysłać 0 0 1 1
Raz wysłać 0 0 1 0?

To wystarczy? Zaraz oprogramuje i zobacze.

P.s. programusze w AVR STUDIO ( pod moik win 8 eclipse zacina się przy kompilowaniu) jak wywale # define F _CPU to program skompiluje się jakby 1MHz
P.P.S a to fotka płytki
Obrazek

------------------------ [ Dodano po: 27 minutach ]

Elektronik napisał(a):
Tutaj masz jeszcze ten algorytm inicjalizacji:


A co mam dać w miejsce N F i ID?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 12:38 
Offline
Użytkownik

Dołączył(a): 22 sie 2013
Posty: 73
Pomógł: 7

Parametr N określa rodzaj wyświetlacza: N=0 -jednowierszowy, N=1 -dwuwierszowy.
F określa wielkość znaku F=0 -5x7 pikseli, F=1 -5x10 pikseli
I/D=0 -kursor przesuwa się w lewo, I/D=1 -kursor przesuwa się w lewo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 12:47 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Dziękuję. Sprubuje jeszcze raz.

Rozumiem, ze id moze byc 1 albo 0 bez różnicy

------------------------ [ Dodano po: 51 minutach ]

Niestety mój wyświetlacz nie inicjalizuje się :(
Zdecydowałem, że użyje gotowej biblioteki, lecz ona też nie działa.
main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

hd44780.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

hd44780.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Co może być źle?
Kompiluje się ładnie (AVR Studio win 8)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 13:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Jeżeli chcesz zdefiniować taktowanie procesora w Atmel Studio to zrób tak:
1. Project -> Propeties... (poprzedzone nazwą Twojego projektu).
2. Po lewej stronie wybierasz Toolchain.
3. W liście rozwijanej AVR/GNU C Compiler -> Symbols
4. Klikasz ikonkę z plikiem i zielonym plusikeim.
5. Wpisujesz np: F_CPU=4000000UL

Warto jeszcze w toolchainie zmienić optymalizację na -0s, bo domyślnie jest bodajże -01, co powoduje problemy z delayami

Pozdrawiam,


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 18:31 
Offline
Nowy

Dołączył(a): 04 maja 2014
Posty: 22
Zbananowany użytkownik

Pomógł: 0

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nijak to się ma do wyżej przedstawionego schematu .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 19:25 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

-adam napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nijak to się ma do wyżej przedstawionego schematu .

Wiem, podłączyłem wyświetlacz od nowa

A co do kodu, może ktoś przetestować go na swoim LCD, albo pomóc początkującemu znaleźć błąd?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 19:43 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Pomogę Ci odpalić ten wyświetlacz. Odpalimy to na bibliotekach autorstwa Radosława Kwiecienia http://radzio.dxp.pl/hd44780/. Pobierz sobie biblioteki znajdujące się pod linkiem Sterowanie w trybie 4-bitowym bez odczytu flagi zajętości z dowolnym przypisaniem linii sterujących. W pliku o nazwie HD44780.h dokonasz zmiany konfiguracji portów w ten sposób:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Tutaj masz jedną z możliwości sprawdzenia tego wyświetlacza:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Przypominam o ustawieniu właściwie fuse bitów w Eclipse oraz w MkAvrCalculator, oraz ustawieniu kontrastu wyświetlacza. Jeżeli wtedy wyświetlacz nic nie wyświetli to daj znać. Zrób jakieś zdjęcia jak podłączyłeś ten wyświetlacz. Program jest przetestowany. Sprawdź tego Jtaga.

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 19:51 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Error 1 hd44780.c: No such file or directory E:\avr\LCD_forum\LCD_forum\LCD_forum.c 11 21 LCD_forum

Wyskakuje mi taki błąd

mogę zamienić
#include <hd44780.c>
na
#include "hd44780.h"?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 19:57 
Offline
Nowy

Dołączył(a): 04 maja 2014
Posty: 22
Zbananowany użytkownik

Pomógł: 0

Bo tam Było duże HD wyświetla się napis Napis testowy na 4x16
HD44780.h w hd44780.c a nazwa pliku jest z małych.
Dokładnie skopiowałem co wkleiłeś wyżej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 20:08 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Dobrze, Skompilowałem wszystko na porcie A i na porcie C, nie działa :(
Musiałem zmienić plik main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nie kompiluje w Eclipse, tylko w AVR studio ( Eclipse się wiesza pod windowsem 8)
Mam kocią płytką i programator od znajomego, który nie ma GRAFICZNEGO gui jeżeli chodzi o FUSE. Zanim kupię porządny zestaw za 250zł, to chcę sprawdzić, czy mnie to nie przerośnie.


Może dostałem wyświetlacz z Fabrycznym defektm?

------------------------ [ Dodano po: 1 minucie ]

-adam napisał(a):
Bo tam Było duże HD wyświetla się napis Napis testowy na 4x16
HD44780.h w hd44780.c a nazwa pliku jest z małych.
Dokładnie skopiowałem co wkleiłeś wyżej.


Nie rozumiem za bardzo.
Wszytkie nazwy plików są małymi literami



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 20:15 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Pobierz te programy i je zainstaluj, a następnie zgłoś się do mnie na PW

http://www.teamviewer.com/pl/Index.Aspx
http://atnel.pl/mkavrcalculator.html

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 20:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 maja 2013
Posty: 174
Lokalizacja: Kraków
Pomógł: 8

Spróbuj inicjalizacji LCD 2x16 z tej strony:
http://www.e-tronix.eu/24,przykladowy-program-SU.html

_________________
Rozwój i utrzymywanie Oprogramowania



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sie 2014, o 23:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

Jedna rada, jak w technikum nie mogłem dojść dlaczego mi układ złożony nie działa, to wychowawca dał mi złotą radę (już parę razy pomogła :)), po rozłączaj wszystko i krok po kroku montuj od nowa.

1. Sprawa podłącz Atmege na płytkę i w MkAvrCalculator kliknij opcję "Sprawdź podłączony AVR".
2. Wchodzisz w zakładkę "fusy uproszczone" i zobacz czy zaznaczyła się opcja we wewnętrznym oscylatorze 4MHz (tak jak chcesz), jeżeli nie jest ona zaznaczona, to znaczy, że mikrokontroler jest taktowany inną częstotliwością i w takim przypadku musisz zaznaczyć te 4 MHz i przy programowaniu dodać opcję fusy uproszczone.
3. Następnie składasz swój układ do kupy wg. schematu.
4. Miernik z brzęczkiem w rękę i sprawdzasz przejścia - dotykając nózki danego pinu o lutu na płytce od wyświetlacza (ile to ja godzin zmarnowałem szukając przyczyny, a okazało się, że nie ma po prostu styku bo np. kabelek gdzieś w środku miał przerwę).
5. Jeżeli to wszystko zrobisz i dalej nic, to wrzuć jeszcze raz kody źródłowe programów które wrzucasz po wszystkich w/w poprawkach.

Pytanie czy optymalizację zmieniłeś na -0s ?

z Niebieskim pozdRowieniem
Doman89,



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2014, o 07:13 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Witam,
Dziękuję za zaangażowanie.

Aktualnie nie jestem w domu, ale tylko jak wrócę ti przetestuję

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2014, o 07:15 
Offline
Użytkownik

Dołączył(a): 19 sty 2013
Posty: 322
Pomógł: 22

Witam

Niestety wersja free nie obsługuje ATmegi16. Poza tym AVRDUDE krzyczy, że stara wersja wsadu w programatorze. Programator to USB ISP widoczny jako USB ASP. Wydaje mi się, że tutaj też może się kryć problem.

Pozdrawiam
Elektronik



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2014, o 10:15 
Offline
Nowy

Dołączył(a): 14 sie 2014
Posty: 9
Pomógł: 0

Programator działa znajomy kupił go w sklepie, a sprzedawca zadeklarował pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2014, o 10:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

To zaprogramuj swoje fuse bity:

LOW = 0xE3
HIGH = 0x99

To dla 4MHz i JTAG włączony - jeżeli potrzebujesz,

Jeżeli nie chcesz z fusami kombinować, to w opcjach programu spróbuj zdefiniować częstotliwość programu na F_CPU=1000000UL - być może ustawione jest domyślne taktowanie na mikrokontrolerze.

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO