AVR & Karakteres LCD: enable puls width(high level)
Pal Lukacs
ekegep at yahoo.com
Fri Oct 6 10:56:59 CEST 2006
Helo.
avr+lcd.
Ujra egy kis problemaba utkoztem az LCDkkel kapcsolatosan.
A problema az hogy az adatlapban irottak ellenere a 'enable puls width(high level)' min: 230ns helyett nekem csak 380us korul sikerult mukodtetni a kijelzot.
Van amelyik kijelzo kisebb delayel is mukodik,de semmi keppen nem 230ns korul van ez az ertek.
Soknak tartom ezt az idot..hosszabb muveletnel szamit..
Az egesznek a tapja egy kozep-elagazasos egyszeru 2X 1n4148 diodakbol epitett(ilyen volt keznel),azokkal parhuizamosan kapcsolt 100nf kodni, es a + fesz 1000uf -al van szurve, a -- fesz 100uf -al.(Ez a fesz kellett a kijelzo kontrasztjahoz.)
Tovabba stabilizalva van a + fesz. (ami hajtja a kijelzot es az avr-t) egy 7805 -el.
EGyik kijelzomon latszik valami zaj feleseg,hullamzik egy picit.
Lehet hogy ezert kell nagyobb puls width(high level) ?
A delayt es a toggle_E -t C-ben igy irtam:(nem tudom mennyire pontos igy a +ciklusidok miatt,ez kulon megerne egy tanulmanyozast szamomra.)
lcd_delay_ms (uint16_t ms)
{
//delay time in us = ms*10*100
uint16_t t = (10 * ms);
while (t--)
lcd_delay_us (100);
}
//enable pulse
void
lcd_toggle_E ()
{//enable puls width(high level) min 230 ns
LCD_PORT |= (1 << LCD_E); // E=1
lcd_delay_us (380); //400us H
LCD_PORT &= ~(1 << LCD_E); // E=0
}
Minden segitseget koszonok!
---------------------------------
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less.
More information about the Elektro
mailing list