Цитата(Nekromant @ Mar 9 2010, 17:04)

так и еще, почему у меня при включении дисплея через раз то +5 то - 5 вольт???
Сейчас уже отвязался от контроллера полностью просто на ноги 1 и 2 дисплея подал 5 вольт и получил на 18 ноге -7 возможных по даташиту пляшушие значения от -0,18 до 2,85.
Разбирайтесь с подключением, питанием. Преобразователь напряжения никак не завязан на контроллер, должен работать всегда и выдавать -7...-10в.
Код
_delay_us((1000-140-450)/1000); //Минимально допустимый интервал между сигналами E=1
Это компилится в _delay_us(0). Хотите получить деление с плавающей точкой - приведите к формату с плавающей точкой хотя бы один из операндов: (1000-140-450)/1000.0
Код
void WaitReady(bool l, bool r) {//Ждать готовности индикатора, опрашивая байт статуса
//При необходимости настроить здесь шину данных на ввод
LCD_CTRL_DDR=0x00;
LCD_DATA_DDR=0x00;
А ноги управления зачем на ввод настроили? И где переключение на ввод в функции чтения?
Подключение похоже на правду. На AVcc питание не забыли подать? От него питается порт A.