# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Μικροελεγκτές >  >  Βοήθεια Χριστιανοι!!! (lcd 2x16)

## ventouza6969

Εδω και κατι μερες ασχολουμαι με το πωσ μπορω να προγραμματισω
μια lcd 2χ16 ...Εχω κατεβασει απο το ιντερνετ ενα αρχειο υπο μορφη .asm
παντα κ προσπαθω να το κατανοησω...
Το προβλημα μου ειναι το εξης:
Πωσ μπορω να γραψω και στην δευτερη γραμμη τησ οθονης?
ο κωδικας και το κυκλωμα με το οποιο εργαζομαι ειναι παρακατω 

ΟΠΟΙΟΣ ΜΠΟΡΕΙ ΝΑ ΜΕ ΒΟΗΘΗΣΕΙ ΠΑΡΑΚΑΛΩ ΑΣ ΤΟ ΚΑΝΕΙ...ΕΥΧΑΡΙΣΤΩ!

Στο αρχειο .doc ειναι το κυκλωμα και στο .txt ειναι ο κωδικας
(αλλαζοντας την καταληξη απο .txt σε .asm ανοιγη κ σε mplab)

Ευχαριστω..

----------


## dvidos

Σόρυ αν είναι χαζό αυτό που λέω, αλλά δοκίμασες να στείλεις 32 χαρακτήρες αντί για μόνο 16;

----------


## pet

δεν είναι αυτό. θα κατεβάσεις το datasheet του hd44780 controller και κάπου έχει πως κάνεις αλλαγή γραμμής.

απότι θυμάμαι είναι send_command

----------


## ventouza6969

στην πραγματηκοτητα εχω την εξης οθονη:
ssc2b16dlyy   2k08-1.1
p-s2b16ct-e1:http://www.ue.eti.pg.gda.pl/fpgalab/...ay_SSC2B16.pdf

Τωρα οσον αφορα για 16 ή 32 bit δεν ξερω να σου πω γιατι δουλευω 
πανω στο κυκλωμα ενος αλλου παδιου που μου το ειχε στειλει...

----------


## jakektm

με εντολη 0x80 γραφεις στην πρωτη γραμμη

με εντολη 0xC0 γραφεις στην δευτερη γραμμη

----------


## gsmaster

Για ακόμα μια φορά θα δόσω το λινκ για το οδηγό....
http://www.hlektronika.gr/files/inde...act=view&id=43
Κατέβασέ το και διάβασε το ξανα και ξανά μέχρι να καταλάβεις κάθε λέξη του.

----------


## ventouza6969

δυστηχως  gsmaster δεν γνωριζω καλα αγγλικα και δεν τα καταλαβαινω καλα...

jakektm μηπωσ μπορεισ να γινεισ πιο λεπτομερεις?

----------


## jakektm

δεν μπορω να κατανοησω πως στελνει στην πρωτη γραμμη. 

καλα η asm πολυ αναλυτικη ειναι και πολλες φορες δε βγαζω ακρη..

προερχεται απο ασκηση εργαστηριου; αν ναι δες σιγουρα στο βιβλιο, ολο και κατι θα λεει εκει.

δοκιμασε να προσθεσεις επιπλεον χαρακτηρες στο  'TEI PIRAIA' , αν και δε νομιζω να στους παει στην δευτερη γραμμη.

Στην γλωσσα c , δηλωνεις στην αρχη σε ποια γραμμη θα γραψει και μετα δηλωνεις τα δεδομενα.(2 γραμμες υποθεση ειναι...)

Τωρα στην assembly (στο προγραμμα σου) βλέπω δυο υπορουτινες που πραγματοποιουν την αποστολη δεδομενων στις γραμμες ..

----------


## ventouza6969

Δεν ειναι ασκηση απο την σχολη ειναι ενα μεροσ τησ πτυχιακης μου για την σχολη...ουτε κ εγω δεν μπορω να κατανοησω πως στελνει καν στην πρωτη γραμμη το ορογραμμα δεν ειναι δικο μου αλλα απο το ιντερνετ...

----------


## gsmaster

1ον: μπορείς να δώσεις εντολή στην οθόνη να πάει και να γράψει στην συγκεκριμένη θέση.
2ον: Να έχεις υπόψη σου ότι όλες οι οθόνες με το HD44780 οδηγούνται με τον ίδιο τρόπο. Είναι σαν να έχεις μια οθόνη 2 γραμμών με 40 χαρακτήρες σε κάθε γραμμή. Αν γράψεις στην πρώτη γραμμή περισσότερους απο 40 χαρακτήρες τότε θα συνεχίσει στην δεύτερη γραμμή. Αλλά επειδή έτσι δεν γίνεται δουλειά, πρέπει να βρεις πώς στέλνεις διεύθυνση στην οθόνη. Θα σε βοηθήσει αν στην αρχικοποίηση της οθόνης βάλεις τον κέρσορα της οθόνη να φαίνεται.
3ον: Τα αγγλικά διστυχώς είναι απαραίτητα αμα έμπλεξες με τα ηλεκτρονικά.... Δεν υπάρχει κανένα datasheet στα Ελληνικά

----------


## ventouza6969

Στον Φανο μπορω να βρω οθόνη με το HD44780?

----------


## h@ris

Ναι έχει...

----------


## ventouza6969

γνωριζεισ περιπου τιμη?
  Ευχαριστω

----------


## savnik

> γνωριζεισ περιπου τιμη?
> Ευχαριστω



Πάρε απο τον Μουτσιούλη
http://www.moutsioulis.gr/ 
Είναι πιο φτηνός.

----------


## Telemastoras

Μήπως αν γινόταν σε picbasic;
Υπάρχει πρόβλημα με αυτό;
Αν όχι περίμενε αυριο να δω τι έχω.

ελπίζω να βοήθησα!

----------


## ventouza6969

Ναι αμε δεν εχω προβλημα στειλε οτι εχεις κ αν εχω προβλημα το συζηταμε

----------


## ventouza6969

Δεν ειχε τελικα τον hitachi με Ηd44780
αλλα ειχε τον παρακατω που ειναι συμβατος 
με τον προγραμματισμο του Hitachi
Πηρα απο τον Φανο μια lcd με κωδικο:
ssc2b16dlyy
2k08+25

Για αρχη αυτοσ που πηρα εχει 16 pins to 1με το 16 ειναι (-)  και το 2 με το 15 ειναι (+)?
http://us.100y.com.tw/pdf_file/LMC-STC2B16DRG.pdf

----------


## Thanos10

Προσεχε γιατι το πιν 15 ειναι ο φωτισμος της οθονης και θελει αντισταση αν παρεις απο τα 5ν βαλε μια 56Ω.

----------


## lastid

Για να γράψεις με το πρόγραμμά σου σε οθόνη 16x2 που χρησιμοποιεί HD44780 ή συμβατό:
- Στέλνεις 16 χαρακτήρες για την πρώτη γραμμή (όπως κάνεις ήδη στο πρόγραμμά σου)
- Στέλνεις 48 οποιουσδήποτε χαρακτήρες (πχ 0)
- Στέλνεις 16 χαρακτήρες για την δεύτερη γραμμή

Είναι σαν να έχουμε στη μνήμη του ελεγκτή συνεχόμενα δύο γραμμές των 64 χαρακτήρων η καθεμία, όπου φαίνονται μόνο οι πρώτοι 16.

Θα μπορούσες ακόμη και να πάς τον cursora κατευθείαν στην αρχή της δεύτερης γραμμής, όμως να μή σε μπλέξω περισσότερο..

----------


## gsmaster

lastid, 40 είναι οι χαρακτήρες σε κάθε γραμμή. Ίσως έχεις μπερδευτεί με κάποιο άλλο τύπο οθόνης.

----------


## Telemastoras

Αυτό που ζητάς φίλε είναι αυτό το οποίο το έφτιαξα για σενα. Απλά μου πηρε λίγο παραπάνω απόσο υπολόγιζα.
Είναι το αρχείο σε .ASM για το 16F628 και το 2χ16 LCD.
Τα έβαλα εδώ -> http://rapidshare.com/files/21196626...files.rar.html

Αν θέλεις κάτι άλλο εδω είμαστε πάλι  :Rolleyes: 

Υ.Σ. Ευχαριστώ τα παιδιά που ήρθαν και στο σάιτ μου  :Biggrin:

----------


## ventouza6969

ευχαριστω παιδια θα τα κοιταξω και θα σας πω νεοτερα...

----------


## lastid

gsmaster, έχεις δίκιο. Το είχα δουλέψει πολύ παλιά και δεν το θυμόμουνα καλά.
Το πρόβλημα ξεκινά από το documentation:
Ναι, η δεύτερη γραμμή αρχίζει από τη διεύθυνση μνήμης 64 (0x40), όπως προτείνουν οι jakektm και telemastoras στις λύσεις τους.
Ναι, κάθε χαρακτήρας που στέλνουμε αυξάνει τον εσωτερικό pointer κατά ένα.
Ομως αυτό που δεν αναφέρεται στο manual είναι ότι μετά τον 40ο χαρακτήρα, ο εσωτερικός pointer αυξάνεται κατά 24 και πάει στο 64 (αντί του 41).
Εν τέλει όμως ventouza νομίζω ότι αφού ο telemastoras μπήκε στον κόπο να σου διορθώσει το πρόγραμμα για να γίνεται αλλαγή γραμμής, έχεις καλυφτεί.

----------


## asterixx25

Μετά απο μια δυσλειτουργία της οθόνης (μάλλον κάψιμο), αγόρασα μια καινούρια.
Όταν όμως την σύνδεσα μαύρισε μόνο η πρώτη σειρά με τα κουτάκια. Είναι φυσιολογικό αυτό ή θα έπρεπε να μαυρίσει και η δεύτερη σειρά?
Τί πρόβλημα υπάρχει, αν υπάρχει?
Ευχαριστώ.

----------


## Nikos Anagnostou

> Μετά απο μια δυσλειτουργία της οθόνης (μάλλον κάψιμο), αγόρασα μια καινούρια.
> Όταν όμως την σύνδεσα μαύρισε μόνο η πρώτη σειρά με τα κουτάκια. Είναι φυσιολογικό αυτό ή θα έπρεπε να μαυρίσει και η δεύτερη σειρά?
> Τί πρόβλημα υπάρχει, αν υπάρχει?
> Ευχαριστώ.



εγω παντως δεν το καταφερα να την συνδεσω και πηρα αυτη

http://cgi.ebay.com/1602-LCD-Display...item5887e07ed9

----------


## spiroscfu

τι κάνει δεν ανάβει καθόλου η δεν την αναγνωρίζει το pc.

----------


## asterixx25

Είναι απο φορτιστή. Την συνδέω κανονικά και ανάβει-μαυρίζει μόνο η πρώτη σειρά. Παίζω με το μενού του φορτιστή και δεν δείχνει άλλες ενδείξεις.
Αυτό που με προβληματίζει είναι γιατί δεν μαυρίζει και η δεύτερη σειρά?

----------


## spiroscfu

με τη προσπαθείς να την οδηγήσεις?

----------


## klik

όταν λες φορτιστή, εννοείς φυσικά 5V έτσι;
Η μαύρη πρώτη γραμμή (με κουτάκια) είναι φυσιολογική αν δεν της έχεις κάνει σωστή αρχικοποίηση (τα αρχικά data που στέλνεις), οπότε δουλεύει σαν μιας γραμμής χαρακτήρων.

Πρέπει να ρυθμίσεις και κοντράστ.

----------


## asterixx25

> Είναι απο φορτιστή. Την συνδέω κανονικά και ανάβει-μαυρίζει μόνο η πρώτη σειρά. Παίζω με το μενού του φορτιστή και δεν δείχνει άλλες ενδείξεις.
> Αυτό που με προβληματίζει είναι γιατί δεν μαυρίζει και η δεύτερη σειρά?



Δεν ξέρω παιδιά, είμαι και λίγο άσχετος.





> Η μαύρη πρώτη γραμμή (με κουτάκια) είναι φυσιολογική αν δεν της έχεις κάνει σωστή αρχικοποίηση (τα αρχικά data που στέλνεις), οπότε δουλεύει σαν μιας γραμμής χαρακτήρων.



Δηλαδή...?

Ο φορτιστής είναι αυτός εδώ με επεξεργαστή atmega32

----------


## aris285

Oταν ξεκιναει μια οθωνη συνηθως αναβει για λιγο η πρωτη σειρα και μετα διχνει οτι ειναι να διξει.
εσενα η δικη σου τι κανει μετα?

----------


## asterixx25

Ανάβει-μαυρίζει η πρώτη σειρά και μένει εκεί...Όσο και να περιμένω δεν δείχνει κάτι άλλο

----------


## asterixx25

Παρεπιπτώντος ο κωδικός της παλιάς οθόνης είναι WC1602A-STBLWNC06 ενώ της καινούριας ACM1602KA-NLW-BBW
Δεν ξέρω αν υπάρχει κάποια ασυμβατότητα και δεν μπορεί να δουλέψει σωστά.

----------


## aris285

> Μετά απο μια δυσλειτουργία της οθόνης (μάλλον κάψιμο), αγόρασα μια καινούρια.
> Όταν όμως την σύνδεσα μαύρισε μόνο η πρώτη σειρά με τα κουτάκια. Είναι φυσιολογικό αυτό ή θα έπρεπε να μαυρίσει και η δεύτερη σειρά?
> Τί πρόβλημα υπάρχει, αν υπάρχει?
> Ευχαριστώ.



Οταν λες δυσλειτουργεια τι σου εκανε η παλεια?
μηπως δεν φταιει η οθωνη?

----------


## asterixx25

Στην παλιά δεν μαύριζε καμια γραμμή και δεν έδειχνε καθόλου ενδείξεις.
Στην καινούρια τουλάχιστον μαυρίζει μόνο η πρώτη σειρά.

----------


## klik

Ο μικροεπεξεργαστής σου (αν οδηγείς την οθόνη με μικροελεγκτή) δουλεύει; Έχεις καμιά ένδειξη λειτουργίας του εκτός από την οθόνη;
Γιατί πιστεύεις ότι είχε καεί η παλιά οθόνη; (τι λάθος είχες κάνει)

----------


## asterixx25

Παρακάτω παραθέτω μια φωτογραφία για το πως φαίνεται η οθόνη μετά το άνοιγμα του φορτιστή.

Επίσης δεν ξέρω αν βοηθάει, δίπλα στον επεξεργαστή atmega32 υπάρχει και ενα HCF4051. Δεν γνωρίζω αν παίζει ρόλο στην οδήγηση της οθόνης και τι πρέπει να τσεκάρω ?

----------


## mariosm

Ηλια δεν μας εχεις πει αν ο φορτιστης εκτος απο την οθονη λειτουργει κανονικα. Η οθονη σου ειναι μια χαρα οπως βλεπω αλλα δεν εχει καμια επικοινωνια με τον επεξεργαστη.
Αρα το ποιο λογικο για μενα ειναι οτι ουτε ο φορτιστης δουλευει εστω και με χαλασμενη οθονη. 
Οσο για τη μια γραμμη που αναβει ειναι απολυτα φυσιολογικο και δεν πρεπει να αναβει η δευτερη γραμμη στην κατασταση που ειναι.
Το HCF4051 ειναι εντελως ασχετο με την οθονη.
Καποιος ηλεκτρονικος με ενα παλμογραφο μπορει να διαπιστωσει τι φταιει το πολυ σε ενα λεπτο.

----------


## asterixx25

Είναι και αυτό ενα ερώτημα...
Επειδή όμως έχω και εναν 2ο παρόμοιο φορτιστή, αυτό που διαπιστώνω στον συγκεκριμένο είναι οτι τα κουμπάκια με τις ηχητικές ενδείξεις δείχνουν να δουλεύουν κανονικά και σε μια εικονική έναρξη φόρτισης μου βγάζει κάποιο ηχητικό σφάλμα απο τα γνωστά που βγάζει και ο "καλός" φορτιστής. Όλα αυτά βέβαια ακουστικά με το αυτί γιατί απο την οθόνη δεν μπορεί να βγεί συμπέρασμα.
Θέλω να ελπίζω οτι δεν είναι πρόβλημα στον επεξεργαστή...

----------


## thanasis 1

Μου συμβαινει ακριβως το ιδιο με αυτο που ειπε ο ηλιας στο ποστ #27.Εγω συνδεσα μονο την lcd με τα αντιστοιχα πιν του pic χωρις να βαλω τα υπολοιπα (κουμπια,ολοκληρωμενα...)για να δω αν θα μου εμφανιζε το αρχικο κειμενο που ειχα γραψει αλλα μολις περασα το αρχειο .hex στον pic και μετα τον συνδεσα στο breadboard, το τροφοδοτισα αλλα μου εδειγνε μαυρισμενα τα κουτακια μονο της πρωτης γραμμης ουτε κειμενο ουτε τιποτα αλλο.Τι λετε??

----------


## thanasis 1

Τελικα εκανα το παρακατω http://control7.net/blog/archives/130 για να βεβαιωθω οτι ο pic λειτουργει κανονικα και παρατηρησα οτι μολις τροφοτουσα το κυκλωμα μου εμφανιζε μονο την πρωτη γραμμη με κουτακια(οπως στην φωτο του ηλια πανω ποστ #37) μολις ομως ακουμπαγα με το δαχτυλο το συρμα + της τροφοδοσιας μου εδειχνε κανονικα το κειμενο που επρεπε να εμφανιζει.Γιατι συμβαινει αυτο εχω κανει κατι λαθος στην συνδεση??Οτι ελεγε το σαιτ συνδεσα.

----------


## KOKAR

ρύθμισε το τριμερ για την αντίθεση και θα είσαι οκ .

----------


## thanasis 1

Φιλε κωστα το ρυθμισα αρκετες φορες αλλα τιποτα μονο οταν ακουμπουσα το + της τροφοδοσιας μου εμφανιζε το μηνυμα.Δεν μπορω να καταλαβω ολα τα περιεργα σε εμενα τυχαινουν?? :Cursing: Εψαξα στο φορουμ αλλα κανεις δεν ειχε τετοιο προβλημα.Δεν μπορω να καταλαβω!

----------


## klik

o μΕ σου δεν μοιάζει να ξεκινά και δεν στέλνει τις εντολές ενεργοποίησης 4bit επικοινωνίας στην οθόνη. Αρχίζει να λειτουργεί όταν ακουμπάς το +. Ελεγξε τροφοδοσία (decoupling?) και mclr.

----------


## thanasis 1

Στο mclr  υπηρχε το προβλημα, σας ευχαριστω.

----------

