[elektro] Batron LCD kérdés (probléma)

Karoly Kovacs koka55 at yahoo.com
Sun Aug 1 16:40:47 CEST 2010


Amely esetrol beszeltem, amikor ez a furcsa jelenseg fellepett,
az a rencerem nekem is 8051 assembly-ben irodott.
Itt csak azert ideztem C-ben a peldat, hisz igy sokkal olvashatobb.

> Viszont az évek alatt kialakult olyan rutingyűjteményem, hogy  sokszor
> az assembly programot is csak összeollóztam, mint egy  magasszintű
> programot.

Ez dicseretes. Marmint, hogy olyan eljarasgyujtemenyed van, hogy
osszeallithato beloluk "valami". El sem hinned, hogy meg komoly rend-
szereknel is talalhato eljaras hivasi kovetkezetlenseg. Abbol aztan igen
nehez epitkezni.

Viszont ha ilyen melysegu gyakorlatod van, akkor nem fog gondot okoz-
ni a C sem. Egyre vigyazz! Ne probalj azonnal belemaszni a legmelyebb
C dolgokba. Sokszoros pointerek nelkul is lehet jol mukodo C programot
irni, mig ha beleugrasz a C legmelyebb bugyraiba, akkor hamar a ked-
vedet szegheti, mert a "deep space" C az borzalmas. :)))

Dolgoztam komoly projektekben (pl. Siemens mobiltelefon, stb.) C-ben,
es allitom, hogy eles korulmenyek kozt sehol sincsenek olyan melysegu
C nyavalyak alkalmazva, mint a C tankonyvekben. Hisz nem is ez a cel!
Arra is gondolni kell egy projektben, hogy sokan masok is bele fognak
nezni, javitani, tehat semmi ertelme "nagyon szepen" programozni, mert
erthetetlen lesz a program. Ez alol persze kivetel az, amikor nem felhasz-
naloi programot ir az ember gyereke, hanem pl. real-time kernelt. Na, ott
aztan erdemes fellapozni a tankonyveket, hisz nem a program jol olvasha-
tosaga a cel, hanem a mindere kiterjedo (meret, sebesseg) _maximalis_
hatekonysag. Egy belott mikrokontrolleres kernelt nem kell minden nap
javitgatni. :))) (Elvileg soha.)

Egy biztos: felejts el mindent, ami Basic! Basic szemlelettel nem fog jol
menni a C. Viszont ha az Assembly alapokra epitkezel, akkor sikerel-
menyt fog okozni.

Sok sikert!

Karoly

 -----------------------------------------------------
"Houston, I am the problem!"



----- Original Message ----
> From: Skandar Graun <sgraun at gmail.com>
> To: elektro at tesla.hu
> Sent: Sun, August 1, 2010 1:50:27 PM
> Subject: Re: [elektro] Batron LCD kérdés (probléma)
> 
> Bocs, én most csak a te C szintaktikádat szabtam át.
> Én assemblyvel kezdtem,  ott is maradtam nagyon sokáig.
> Mostanában, kb 1-2 éve tértem át  basic-ra.
> Viszont az évek alatt kialakult olyan rutingyűjteményem, hogy  sokszor
> az assembly programot is csak összeollóztam, mint egy  magasszintű
> programot.
> Erre mondtam, hogy jó lett és úgy  maradt.
> Kacérkodok a C-vel, kénytelen is leszek megtanulni, de nem nagyon  van
> hozzá ingerenciám.
> 
> 
> 
> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1.  11:56):
> > Aha, ertem. Regebben en is csinaltam ilyet, de volt,  amikor
> > eleg aktiv lcd hasznalatnal (gyorsan valtozo adatok)
> >  lassu volt. Ugy ertem, hogy nem elektronyikailag volt
> > lassu, hanem a  megjelenites sebessege. Azaz pl.
> > 1-tol mondjuk 50-ig felfele szamlalo  kijelzesnel a szamlalast
> > nem lehetett latni, csak mondjuk minden n-edik  lepest, majd
> > a vegeredmenyt, az 50-et.
> > Ezert egyszer vettem a  faradsagot, alaposan "kibeleztem"
> > a programot, es gondosan  atszabtam.
> >
> > Persze, igazad van, ha nem ilyen kenyes a muvelet,  akkor
> > jobb ugy hagyni, ahogy van, ha mar egyszer jol mukodik.  :)))
> >
> > Nalam annyiban is kenyesebb volt a dolog, hogy a fenti  jelenseg
> > nem alfanumerikus, hanem egy 128x64-es grafikus  kijelzonel
> > lepett fel, ahogy raadasul nem csak a szamok futottak,  hanem
> > mellette egy grafikus "bar" is (hogy kell ezt magyarul  mondani?).
> > Es ennel a grafikus vonalnal igen zavaro volt, hogy  "egybol"
> > felugrott a vegallasba.
> >
> > Karoly
> >
> >   -----------------------------------------------------
> > "Houston, I am  the problem!"
> >
> >
> >
> > ----- Original Message  ----
> >> From: Skandar Graun <sgraun at gmail.com>
> >> To: elektro at tesla.hu
> >> Sent: Sun,  August 1, 2010 11:48:04 AM
> >> Subject: Re: [elektro] Batron LCD kérdés  (probléma)
> >>
> >>     LCD_data = ...;
> >>     LCD_en =  1;
> >>        call nopok
> >>     LCD_rs   = 0;
> >>         call nopok
> >>     LCD_rw   = 0;
> >>       call   nopok
> >>     LCD_en   = 0;  // Te ide teszel nop-okat, ha  jol  ertem
> >>     LCD_busy();
> >>
> >>  }
> >>
> >> inkább így.
> >> Ez bejött,  azóta nem  változtattam.
> >> Még annyi, hogy assembly rutinokról van szó, tehát   gyorsabb, mint a C
> >>
> >> Karoly Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1.   11:43):
> >> > Ja, ertem mar, mire gondoltal.
> >>  >
> >> > Ez (ill. ehhez  hasonlo) eleg jol szokott  mukodni:
> >> > void LCD_command(unsigned char  var){
> >> >      LCD_data = ...;
> >> >     LCD_rs   = 0;
> >> >      LCD_rw    = 0;
> >> >     LCD_en   = 1;
> >> >     LCD_en    = 0;  // Te ide teszel  nop-okat, ha jol ertem
> >> >      LCD_busy();
> >> > }
> >> >
> >> >   Karoly
> >> >
> >> >    -----------------------------------------------------
> >> > "Houston,  I am  the problem!"
> >> >
> >> >
> >>  >
> >> > ----- Original Message  ----
> >> >> From:  Skandar Graun <sgraun at gmail.com>
> >> >> To: elektro at tesla.hu
> >> >> Sent:  Sun,  August 1, 2010 11:32:20 AM
> >> >> Subject: Re: [elektro]  Batron LCD kérdés  (probléma)
> >> >>
> >> >> A  parancs kiadása: Write + select
> >> >>  Select elvesz, write  --> read
> >> >> Select  vissza... majd várja a   busy-t.
> >> >> Ha a select elvesz- write --> read váltás  túl  gyors,  akkor lefagy az 
>lcd
> >> >>
> >> >> Karoly  Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1.    10:59):
> >> >> > Ezt viszont en nem ertem. :)))
> >>  >>  >
> >> >> > Az en  ertelmezesemben a busy-flag  lekerdezese a  kovetkezoket 
>jelenti:
> >> >> > 1.  valamilyen  parancs
> >> >> >  2. busy?
> >> >> > 3. igen:  goto 2
> >> >> > 4. nem:   tovabb
> >> >>  >
> >> >> > Itt egy jo pelda a sok  kozul:
> >>  >> >    http://www.8051projects.net/lcd-interfacing/busyflag.php
> >> >>   >
> >> >> > Szoval  nem ertem, mit ertesz a busy flag  lekerdezesenek  idozitesen?
> >> >> >
> >> >> >   Karoly
> >> >>  >
> >> >> >     -----------------------------------------------------
> >> >> >  "Houston,  I am  the problem!"
> >> >> >
> >> >>  >
> >> >>  >
> >> >> > ----- Original Message   ----
> >> >> >> From:  Skandar Graun <sgraun at gmail.com>
> >> >>  >> To: elektro at tesla.hu
> >> >>  >> Sent:  Sun,  August 1, 2010 10:45:44 AM
> >> >> >>  Subject: Re: [elektro]  Batron LCD kérdés  (probléma)
> >> >>  >>
> >> >> >> Nem  értettem félre.
> >> >>  >> Pont a busy  flag lekérdezésének időzítése  a probléma.   Legalábbis
> >> nálam.
> >> >> >>
> >>  >> >> Karoly  Kovacs <koka55 at yahoo.com> írta (2010. augusztus 1.    
> 10:30):
> >> >> >> > Szerintem felreertitek a  dolgot.
> >> >>  >>  >
> >> >> >> >  En epp az  ellenkezojet allitom, azaz  ha a program 
> kesleltetesesre
> >>  >> >> > volt megirva,  akkor az  adott LCD kijelzonel jo  (de  lehet, hogy 
>csak
> >> >> >> > eppen  jo!)  kesleltetesek  mas kijelzonel  nem lesznek jok.
> >> >> >>  >
> >>  >> >> > A korrekt megoldas   mindenkeppen a busy flag  _helyes_  
>lekerdezese.
> >> >> >> >
> >> >> >>   > Ez  persze nem  zarja ki azt, amit irtatok, hogy egy  adott
> >>  >>konfiguracioban
> >> >> >> > epp a  kesleltetesek   (nop-ok) adtak az  optimalis eredmenyt a 
busy
> >> >  flag-es
> >> >>  >> >  megoldassal  szemben.
> >>  >> >> >
> >> >>  >> > Karoly
> >>  >> >> >
> >> >> >>  >     -----------------------------------------------------
> >> >>  >> >   "Houston, I am  the problem!"
> >> >> >>  >
> >> >> >>  >
> >> >> >>   >
> >> >> >> > ----- Original Message    ----
> >> >> >> >> From:  Bali Zoltan <eltexto at freemail.hu>
> >>  >>  >>  >> To: elektro at tesla.hu
> >> >>  >>  >> Sent:  Sun,  August 1, 2010 10:00:38 AM
> >> >>  >> >>  Subject: Re: [elektro]  Batron LCD kérdés   (probléma)
> >> >> >>  >>
> >> >>  >> >> Detto,  behalt a busy lekérdezésbe  idönként.  Én  visszaírtam
> >> >>késleltetősre.
> >> >> >>    >> Meg  a krix-karxokat, nálam is a  vonalak szürése  (47-150pF)
> >>oldotta
> >> >>meg.
> >> >>  >> >> Pár  nop-al lassítottam  még  és tökéletes lett. A  kondik  
>közvetlenül
> >>az
> >> >> >> >>  lcd  panelra   kerültek.
> >> >> >>  >> A vezeték nem volt  hosszú,  15 cm, de amikor a dc motor   keféje
> >> >>kontaktos
> >>  >>  >> >> lett,
> >> >> >> >>  előjőttek a  krix-kraxok.  A  kondik óta nem. Ja és  az lcd 
>panelre
> >>  >>kerültek
> >> >>  >>  >> még a
> >>  >> >> >>  felhúzók is, ha jól   emlékszem.
> >>  >> >>  >>
> >> >> >> >> Üdv.     Zoli
> >> >> >> >>
> >> >> >>   >>
> >> >>  >> >> 2010. 08. 01. 9:30  keltezéssel,   Skandar Graun   írta:
> >> >> >> >> >  Nekem más típusnál ugyan, de szintén   időzítési   probléma
> >> >  jelentkezett
> >> >> >>  >>ugyanígy.
> >>  >> >> >> >  Pont a  busy flag  lekérdezésénél. Ha túl   gyorsan mentem át
> >>írásból
> >> >> >>  >>   >  olvasásba, akkor valami oknál fogva nem adott  többé busy
> >>  flaget.
> >> >> >> >>  > Mintha a túl gyors váltás   lefagyasztotta  volna az  lcd-t.
> >> >> >> >> >   Az írás és  az olvasás közé tett  néhány 100 usec-es 
 várakozás
> >>  >> >>  >> >  gyógyította meg. (ne  kérdezd mennyi, sok nop  utasítás   
>volt,
> >> >> >> >> >  egyszercsak  jó  lett. Na, akkor még  betettem ötöt.)
> >> >> >> >>  >
> >> >> >>   >>  >  Karoly Kovacs<koka55 at yahoo.com>  írta (2010.  augusztus    
> 1.
> >>8:24):
> >> >> >> >> >
> >>  >> >> >>  >> En ugy  tapasztaltam, hogy   ezeknel az  szokott bajt okozni,
> > hogy
> >> >> >> >>   >> nemelyik gyartmany  nagyon   erzekeny az idozitesekre.
> >>  >> >>  >> >> Ez onmagaban  persze nem  problema, a baj   csak akkor 
> szokott
> >> >> >> >>  >>  jelentkezni, hogy ha a  programolo lusta,  es a  busy-flag
> >> >   lekerdezese
> >> >> >> >> >> helyett  minden   utasitas  utan varakoztatja egy  kicsit a
> >>programot
> >>  >> >> >> >>    (delay). Ez szokott galibat okozni, hisz  nem  biztos, hogy
> >>valoban
> >> >>  >>  >>   >> vegzett az lcd vezerlo az elozo utasitas    
 feldolgozasaval
> >> >> >> >>  >> At kell irni a   programot, hogy  az utasitasok utan  mindeig
> >> >   kerdezze
> >> >>  >> >> >> le a   busy-t.
> >> >> >> >> >>  Ha viszont eleve   ilyen a  programotok,  akkor passz, nem 
>tudom a
> >> >>  >>  >> >>   valaszt.
> >> >> >>  >>   >>
> >> >> >> >> >> Illetve megis van egy  masik    otletem: jartam mar  ugy, hogy
> >>"szurni"
> >> >>  >> >> >>  kellett  valamelyik  vezerlojelet (mar nem   emlekszem, 
>melyiket,
> >>most
> >> >> >>  >>  >> nem  keresem elo a  rajzokat).
> >> >> >> >>  >>   Ez alatt azt ertsd, hogy  sacc per  kabe 10nF-1uF kozti  
>erteku
> >> >> kondival
> >> >> >>  >>  >> lehuzni a foldre.  (Ahol ez nalam  problema volt, ott  
azonban
> >> igen
> >> >> >>hosszu,
> >>  >> >> >>  >> kb.   1,5m-es szalagkabel ment az lcd-hez.  Ha rovidebb a   
>kabel,
> >> >>akkor
> >> >> >>  >>  >> valoszinuleg  nincs erre   szukseg.)
> >> >>  >> >> >>
> >> >>  >> >>  >>   Karoly
> >> >> >> >>  >>
> >> >>  >> >> >>        -----------------------------------------------------
> >> >>  >>  >>  >>  "Houston, I am  the problem!"
> >> >>  >> >>   >>
> >> >> >> >>   >>
> >> >> >> >>   >>
> >> >>  >> >> >> ----- Original  Message   ----
> >> >>  >>  >> >>
> >> >> >> >>  >>>  From: Arpad<kando777 at googlemail.com>
> >>  >>  >>  >>  >>>  To: elektro<elektro at tesla.hu>; "elektronika, uC,  dsp,
> >> wlan,
> >> >> >>programozas"
> >>  >> >> >>  >>> <retro at lists.tmp.hu>
> >> >>  >>  >>   >>>  Sent: Wed, July 28, 2010 8:28:43  AM
> >> >>  >> >>  >>>  Subject: [elektro]  Batron  LCD kérdés  (probléma)
> >> >> >>  >>   >>>
> >> >> >>  >> >>>   Üdv!
> >> >> >>  >>  >>>
> >> >>  >> >>  >>> Van egy termékünk,   amiben a kijelző modul   Batron 
>gyártmányú,
> >> >>2x16
> >> >> >>   >>  >>> karakteres, zöld led  háttérvilágítású LCD, BTHQ    
>21605VSS-06
> >> >>típusú,
> >> >> >> >  ezzel
> >> >>  >> >> >>> nem  volt   problémánk,  most viszont a 
 raktár/anyagbeszerzés
> >>  kicsit
> >> >> >>másabb
> >> >> >>   >> >>>  típusjelű kijelzőket  szerzett be, állítólag ez van a  
 régi
> >> >  helyett,
> >> >> >> ennek
> >>  >> >>   >>a
> >> >> >> >>  >>> típusa: BTHQ 21605VSS-25.  Azonban   valami  mégse jó ezzel  
a
> >> >>modullal,
> >> >> >>  mert
> >>  >> >>  >>bár
> >> >> >> >>   >>>  megkapja rendben a  buszon az  adatokat mégis egy idő után  
> a
> >> >>kijelzőn
> >> >> >> >>  >>>   mindenféle  ,,krix-krax'' karakter jelenik  meg vagy éppen  
>nem
> >>ír
> >> > ki
> >> >>  >>   >>semmit,
> >> >> >> >> >>> sőt néha a    berendezést is  lefagyasztja. Esetleg más
> >  tapasztalt
> >>  >> >>  hasonló
> >> >> >> >>   >>>  hibát, aki alkalmaz ilyen,  újabb  kijelzőt? Vagy esetleg
> >  valaki
> >> >> tudja,
> >> >> >>  a
> >>  >> >> >> >>> ,,régi'' fajtát még  be  lehet  szerezni   valahol?
> >> >> >> >> >>>
> >>  >>  >> >>  >>> --
> >> >> >>  >>  >>>   Arpad  Lakatos
> >> >> >>  >>  >>>
> >> >> >>  >>  >>>
> >>  >> >>  >>
> >> >> >>  >>    -----------------------------------------
> >> >> >>   >>              elektro[-flame|-etc]
> >> >> >>   >>
> >> >> >> >
> >> >> >>   >
> >> >>  >> >
> >> >> >>  >
> >> >> >> >     -----------------------------------------
> >> >> >> >              elektro[-flame|-etc]
> >> >> >>
> >>  >> >>   -----------------------------------------
> >>  >> >>              elektro[-flame|-etc]
> >> >>  >>
> >> >> >
> >> >>  >
> >>  >> >
> >> >> >
> >> >> >    -----------------------------------------
> >> >> >             elektro[-flame|-etc]
> >> >>
> >> >>   -----------------------------------------
> >> >>              elektro[-flame|-etc]
> >> >>
> >> >
> >>  >
> >> >
> >> >
> >> >   -----------------------------------------
> >> >            elektro[-flame|-etc]
> >>
> >>  -----------------------------------------
> >>             elektro[-flame|-etc]
> >>
> >
> >
> >
> >
> >  -----------------------------------------
> >           elektro[-flame|-etc]
> 
> -----------------------------------------
>            elektro[-flame|-etc]
> 


      



More information about the Elektro mailing list