Ajutor LCD cu interfaţă microcontroler

S

scs83

Guest
Salut,

Chiar am nevoie de ajutor aici.Eu sunt în prezent, face un proiect stiintific calculator şi eu sunt cu unele probleme interfaţare cu microcontroler.Eu am un cod sursă de referinţă în acest site http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s1999/sam/LCD.ASM

Se utilizează două 16X1 LCD, dar aş dori să folosiţi doar un 16X2 LCD.Poate cineva să mă ajute cu asta?Eu sunt foarte săraci, cu programare ca sunt noi.

Mulţumesc.

 
Nu ştiu ce microcontroler pe care îl folosiţi, dar de la comentarii, se pare controler de afişare pe care îl folosiţi este Hitachi
a HD44780.
În cazul în care este corectă, apoi de a utiliza cea de-a doua linie trebuie doar să setaţi la următoarea adresă de caractere pentru a fi afişat la 40H, care este la începutul celei de-a doua linie.

Un alt lucru de reţinut este faptul că această HD44780 este utilizat împreună cu alte tipuri de afişare, cum ar fi 20x2 sau 24x2.Dar prima linie mereu începe la DD RAM adresa 00H şi cea de-a doua la 40H.

Cipul are mai multe locaţii de memorie (40x2) de
a avea cea mai mare LCD de caractere, aşa încât să vedeţi numai primul 16, 20 sau 24, etc caractere de la început de fiecare linie.Restul de locaţii pot fi utilizate ca scop general RAM.

Reţineţi, de asemenea, că la sfârşitul anului în prima linie şi la începutul celui de-al doilea nu sunt consecutive.

Sper că acest lucru vă va ajuta.Altfel,
vă rugăm să posta exact chip de tip pe care îl utilizaţi.

 
Max VVV,

Sunt folosind microcontroler Atmel 8515 şi Hitachi HD44780 LCD.Eu sunt în prezent, face un proiect bazat pe faptul că site-ul in primul meu post.Am planificat pentru a utiliza un 16X2 LCD, dar nu ştiu cum să schimbaţi LCD interfaţare program ca site-ul foloseşte două 16X1 LCD.

Oricum, multumesc pentru ajutor.

 
Max, uita-te la Mazidi
de carteCod:

8051 microcontroller si sisteme embedded
 
Apoi este HD44870 ca am suspectat.
În acest caz, tot ce trebuie să faceţi pentru a trece la începutul celei de-a doua linie se trimite o comanda pentru a seta adresa la 40H.Restul de cod este neschimbată.

 
Max a vizualiza acest how-a.În partea a 2-acolo sunt un exemplu de 16x2 LCD cu 16f84.
Ne pare rău, dar ai nevoie de autentificare pentru a vizualiza acest ataşament

 
LCD-conexiune trebuie să aceleaşi cu program declaraţie.

Există două metode de conectare la un LCD:

1.io conexiune.D0 .. D7, RS, WR, E este conectat la intrări şi ieşiri de microcontroler.
2.memorie de conectare.LCD este mapată în memorie, de cartografiere în microcontroler.

thx

 
Bună, scs83,

Am uitat un lucru: ai nevoie, de asemenea, să-i spun de HD44780 în timpul secvenţei de iniţializare (lcdinit rutină) că există 2 linii de pe ecran.
Aici este de modificare a codului original:
================================================
; În cele din urmă,

; În acest moment, normal 4 fire de comandă de rutină pot fi folosite

; ldi wreg, 0b00100000; Funcţia set, 4 fire, 1 linie, 5x7 font
; Am comentat anterior, în linie, care acum devine:

ldi wreg, 0b00101000

rcall lcdcmd
================================================

Restul rămâne aceeaşi.Şi după cum am menţionat anterior, în cazul în care doriţi să treacă la cea de-a doua linie va trebui mai întâi să setaţi DD RAM la adresa 40H.Acest lucru se poate face astfel:

ldi wreg, 0b11000000
rcall lcdcmd

Un singur lucru am observat despre acest program este faptul că ID-ul nu echivaleaza utilizare.Asta face modificari foarte ciudat, pentru că în cazul în care aceeaşi constantă este utilizat în mai multe locuri, şi de care aveţi nevoie pentru a schimba, atunci va trebui să chage manual la toate locaţiile.Dacă aţi uitat-o singură locaţie, puteţi obţine un bug.Este posibil să nu fie ovious imediat, dar va apărea în cele din urmă.
Prin urmare, ia sfatul meu: utilizarea echivaleaza.De exemplu:
LCD_FSET EQU 0b00101000; LCD funcţia set de comandă
CRLF_CMD EQU 0b11000000; LDC CR LF comandă (transportul retur linie a hranei pentru animale, pentru lipsa de o mai bună definire; de fapt, asta este ceea ce face comanda, revine cursorul la începutul celui de-al doilea rând)

Cu aceste, de modificare a codului va citi:

ldi wreg, LCD_FSET; set LCD funcţie până la 4 fire de interfaţă, 2 linii, 5x7 caracterul.

Pentru a începe afişarea pe cel de-al doilea rând, ar trebui să code:

ldi wreg, CRLF_CMD; CRLF trimite comanda
rcall lcdcmd;

Acum, că este mai mult de citit,
de asemenea, chiar şi fără comentarii.Dacă observaţi că aţi făcut o greşeală atunci când l-aţi definit CRLF (sau alte constantă), tot ceea ce trebuie să faceţi este să schimbaţi linia EQU şi reassemble program.De asamblare va face la substituire de la toate locaţiile, nu ratează.

Inca un lucru: se pare că acest program foloseşte o mulţime de hard-codat constantelor, inclusiv numărul de caractere pe linie,
ceea ce înseamnă că este posibil să aveţi nevoie pentru a schimba această situaţie,
de asemenea.Utilizaţi EQU lui.

Ne pare rău pentru un astfel de răspuns de lungă durată.Am crezut că acest lucru ar putea ajuta.
Lasă-mă să ştiu dacă aveţi succes cu asta.

 
Max VVV,

Vă mulţumim pentru răspuns, dar, din păcate, eu cant încercaţi chiar acum, pentru că eu sunt în prezent în vacanţă.Eu, probabil, va testa codul înainte de Anul Nou.Puteţi să-mi codul de când am terminat-o de editare?

Mulţumesc

 
Cred că cea mai bună cred că este de a comunica cu LCD cu 6pin (4data / activa / RS) celelalte pe care nu le pasa ........

 
Bună, scs83,

N-am mai folosit acest micro înainte, dar sigur că poate să ia o privire la acest cod.

 
Salut,

Am nevoie să se clarifice ceva.De la acest website, http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s1999/sam/, am nevoie să ştiu de circuit schemă a acestui proiect.Am deja conectat la LCDs şi keypads la microcontroler.Am de asemenea, legat de cristal Oscilator.Este ceva am pierdut?Poate cineva să mă ajute?

Mulţumesc

 
vă puteţi conecta, de asemenea, o revenire circuit ...
încerca să ia un final ca un proiect de referinţă, există o mulţime de modele de pe web despre conectarea a 2-line LCD la un controler Atmel.Uite, de exemplu, la http://www.avrprojects.net/lcd_interface.htm
Ar trebui să fie uşor să se adapteze preety un design de lucru ...

 

Welcome to EDABoard.com

Sponsor

Back
Top