Может быть это из-за того что кроме питания я опускал в ноль всю шину, выводы RS и E, поскольку походу при отключении питания эти выводы открываются в открытый сток и, соответственно, где оставлена 1 ток вырастает до 150мА.
Проблема решилась. Вставил функцию инициализации (проблема была все таки в этом, даташит не обманул и после поднятия питания на ЖКИ его контроллер был уверен что работает по 8-битной шине). Ща попытаюсь эту функцию выложить здесь (может кму и пригодится), заранее попрошу не ругать за корявость кода, я только учусь. Паузы расставлял с запасом (скорость инициализации не критична).
Code
Symbol VS = PORTA.2 'вывод управляющий питание LCD
Symbol RS = PORTB.2
Symbol E = PORTB.3
Symbol DB4 = PORTB.4
Symbol DB5 = PORTB.5
Symbol DB6 = PORTB.6
Symbol DB7 = PORTB.7
IntLCD:
Low E
Low RS
Low DB4
Low DB5
Low DB6
Low DB7
High VS 'включение питания
DelayMS 35 'пауза >30 мс
'FUNCTION SET
Low DB7
Low DB6
High DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
Low DB7
Low DB6
High DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
High DB7
Low DB6
Low DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayUS 45 'пауза >39 мкс
'DISPLAY ON/OFF CONTROL
Low DB7
Low DB6
Low DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
High DB7
High DB6
Low DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayUS 45 'пауза >39 мкс
'DISPLAY CLEAR
Low DB7
Low DB6
Low DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
Low DB7
Low DB6
Low DB5
High DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2 'Пауза >1.53 мс
'ENTRY MODE SET
Low DB7
Low DB6
Low DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
Low DB7
Low DB6
High DB5
Low DB4
DelayMS 1
High E
DelayMS 1
Low E
DelayMS 2
High RS
Cls
Return
Алгоритм брал отсюда: http://radiohlam.ru/control/dot_matrix_LCD.htm