Reading LCD Nykyinen Kohdistin kanta

S

saeed_pk

Guest
Hi all,
Olen työskennellyt 20x4 LCD-PIC18F452 ja Hi-Tech PICC-18 Compiler
Olen käyttämällä LCD-moduuli antaa näytteet hakemistoon.

Oma Project Jatkuvasti päivitykset vastakanne on LCD ja aina RCIF menee suuri (Serial Vastaanotto Interrupt) Olen näyttämään Keskeytä Kirjaudu oikeasta yläkulmasta.

Kun Interrupt esiintyä se näyttö, mutta sen jälkeen ISR minun counter tietoja, joiden on oltava näkyvillä keskustassa alkaa näyttää kolmansissa linja i keksin ongelma on kohdistimen sijainti kun palasin ISR LCD kohdistin ei palautetaan edelliseen paikkaan, jossa se oli.

Tarvitsen rutiini / menetelmä lukea kohdistimen nykyinen sijainti ja niin voin päästä eroon tästä ongelmasta ota neuvoja.
 
Voit poistaa tämän ongelman käyttämällä seuraavista tavoista

1.Donot pääsy LCD alkaen keskeyttää, vaan asettaa lipun keskeyttää ja päivittää LCD päätyössä silmukka.

2.Ennen kuin lähetät mitään tietoja, LCD,
aseta kohdistin paikkaan.Varmista, että keskeyttää ei tapahdu ennen kuin täydelliset tiedot lähetetään LCD.

3.Tarkista kohdistimen sijainnista ja asettaa se, jos on todettu väärin.(Vaikka koodaus on lähes sama, se on nopeampi kuin 2.) Saat kohdistimen sijainti lukemalla komento rekisteriin jos käytetään Hitachi 44780 valvojalle.Muut valvojalle myös tarjota samanlaisia toimintoja.

Minusta on parempi vaihtoehto 1 käsitelty edellä.

 
Olen tehnyt toisen menetelmän,
mitä tapahtuu, minun täytyy saada sarjapäätettä keskeyttää havaitsemiseksi merkin "A" mitä tapahtuu, kun poistan keskeyttää, että merkki tulee sisäpuolella ja kaipaan sitä.

Ensimmäinen vaihtoehto näyttäisi olevan hyödyllistä, mutta se antaa minulle uudelleen tällaista.

kolmansissa tavalla kerroitte lukemastajos voin valita Control Register (RS) ja Valitse Read (R / W) ja luen byte se antaa minulle kohdistimen sijainnista tai mitä pyydän neuvoa minua
 
Tekstin nestekidenäytöt, jotka on rakennettu 44780 valvoja antaa teille nykyisen Näytä RAM sijainti (kohdistimen sijainti), kun olet lukenut komento rekisteriin.(MSB on varattu lippu-ja kohdistimen sijainti on 7 LSBs, joten sinun täytyy JA tulosta 0x7F)

Jos teksti LCD ei ole rakennettu yli 44780, niin sinun tulee lukea sen dokumentaatiota, miten voit lukea kohdistimen sijaintiin.

 
Olen myös edessään samanlainen ongelma 16x2 LCD
Joten olen muuttanut minun koodin käyttö 2 rekistereitä kunkin rivin

Olen päivittäminen toisen rivin UART ISR ja ensimmäinen rivi näppäimistö
niin aina kun i palannut takaisin ISR olin menettää kohdistimen sijainnista
joten käyttää rekistereitä tallentaa sijainnin kohdistin
Kun ISR

Ensimmäinen kuorma toisella rivillä rekisterin arvo ja siirtää kohdistimen että paikka increament rekisteriin
sitten Näytä tiedot
sitten lataa ensimmäisen rivin rekisteriin arvo ja siirrä kohdistinta tätä arvoa

joten en ole menettämässä minun kohdistin kannat ja säilyttää samalla minkäänlaiseen näyttö

voit myös kokeilla tätä menetelmää ja päästä eroon kaikista näyttö ongelma

 
käyttää eri muuttujan paikallistamiseen kohdistin eri reiteillä.

Älä käytä inbuilt reititys paikallistamiseen kohdistimen 16 * 4 lcd-moduulin.

 
Voin käyttää seuraavaa menetelmää.

Minulla on buffer1 on buffer20.I poistaa kohdistinta.Mitä ikinä haluan kirjoittaa, I kirjoittaa puskurin ja sitten siirtää paljon yhdessä mene LCD-moduulin.

Jos haluan kirjoittaa
12. location, I kirjoittaa buffer12 ja päivittää LCD.

Käytän samaa puskureina kaikki linjat.

I initialise kohdistimen kotiin kannan, valitse rivi rivin alkuun ja sitten kirjoittaa 20 tavua LCD-näytössä.

Hope this helps

Hurraa

Ravi

 

Welcome to EDABoard.com

Sponsor

Back
Top