Sari la conținut
ELFORUM - Forumul electronistilor

Pentru cei care au probleme cu lcd-uri 1 X 16


Vizitator yo9hnh

Postări Recomandate

Vizitator yo9hnh

Poate multi dintre voi ati realizat montaje in care se foloseste un afisaj 1 x 16 si nu functioneaza corect.Adica apar doar primele 8 caractere si restul pana la 16 nu mai afiseaza nimic.Si ati mai observat ca pe spatele afisajului apare seria DEM16101.Problema se datoreaza din cauza secventei de initializare.Mai mult ca sigur ati initializat afisajul exact cum se specifica in fisa de catalog a acestuia si tot va intrebati de ce nu functioneaza corect.

Eu am gasit solutia si vreau sa o impartasesc si cu altii.Asa cum am spus problema sta in initializare.Afsajul se initializeaza ca si cele 2 x 8,pentru ca arhitectura interna a unui afisaj 1x16 este identica cu arhitectura unui 2x8.Si acum mai intervine o problema.Daca vreau sa scriu ceva pe afisaj de la caracterul 9 mai intai trebuie sa ii specific manual adresa caract. 9

 

Si ca sa fie mai concret va pun si niste cod in asamblare :

 

CALL D40ms ; wait 40 ms until VCC reaches at 5V

BCF PORTC,0 ; CLEAR RS

BCF PORTC,1 ; CLEAR RW// CHOOSE INSTRUCTIONS

MOVLW B?00111100? ; SET DISPLAY ? 2 line mode,FONT : 5 X 11

MOVWF PORTB ;

CALL ENABLEPULSE ; ENABLE Pulse

CALL DELAY50 ; wait 50 us

 

MOVLW B?00001111? ; SET DISPLAY-ON,CURSOR-ON,BLINK-ON

MOVWF PORTB ;

CALL ENABLEPULSE ; ENABLE Pulse

CALL DELAY50 ; wait 50 us

 

MOVLW B?00000001? ; CLEAR DISPLAY

MOVWF PORTB ;

CALL ENABLEPULSE ; ENABLE Pulse

CALL D2ms ; 2 ms delay

 

MOVLW B?00000110? ; ENTRY MODE SET : INCREMENT MODE,ENTIRE SHIFT OFF

MOVWF PORTB ;

CALL ENABLEPULSE ; ENABLE Pulse

BSF PORTC,0 ; set RS

BCF PORTC,1 ; clear R/W // SELECT DATA

 

Si asta este rutina de initializare

 

Acum ramane de afisat primele 8 caractere(sa nu uitati sa setati afisajul sa intre in modul DATA) dar nu voi mai face lucrul asta ca este destul de simplu.Pentru afisarea de la caracterul 9 trebuie setata manual adresa caracterului 9.Se intra in modul "instructiune" din afisaj.Analizati fisa de catalog si veti observa cum se transmite adresa caracterului : RS si RW - 0 , DB7 - 1 , DB6 - DB0 - pachetul de 7 biti care seteaza adresa.In fisa de catalog veti vedea adresele caracterelor.Pentru caracterul 9 adresa este in hexazecimal 40 in binar inseamna 1000000

 

Aici aveti un convertor online http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html pentru transformari rapide

 

Spor la munca si sper sa va fie de folos !

 

Robert

Link spre comentariu
  • Răspunsuri 1
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • ratza

    1

Zile populare

Top autori în acest subiect

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări