Добрый день

.
С неделю назад пришли мне с Китая аш 10 дисплеев JLX12864G-109 ver-2 на контроллере ST7565.
Думал будет просто запустить но нет уже вожусь пять дней но эффекта ноль.
Все делаю по даташу там есть пример кода, но не фига не работает

.
По пунктам мои действие.
1 Напряжение питания 3.3 в
2 Шина данных 5 в(прямо с порта мк serial).
3 Пробовал подключать регулятор контрастности внешний делитель на V0(не какого эффекта).
Код:
#define L_PORT PORTA
#define L_DDR DDRA
#define L_PIN PINA
#define L_CS 4
#define L_RESET 3
#define L_RS 2
#define L_SCL 1
#define L_SID 0
void TransferCom(uint8_t com)
{
uint8_t i;
L_PORT&=~(1<<L_CS);
L_PORT&=~(1<<L_RS);
for(i=0;i<8;i++)
{
//L_PORT&=~(1<<L_SCL);
if(com & 0x80)
L_PORT|=(1<<L_SID);
else
L_PORT&=~(1<<L_SID);
L_PORT&=~(1<<L_SCL);
delay_us(1);
L_PORT|=(1<<L_SCL);
delay_us(1);
com=com<<=1;
}
L_PORT=(1<<L_CS);
}
void TransferData(uint8_t data)
{
uint8_t i;
L_PORT&=~(1<<L_CS);
L_PORT|=(1<<L_RS);
for(i=0;i<8;i++)
{
//L_PORT&=~(1<<L_SCL);
if(data&0x80)
L_PORT|=(1<<L_SID);
else
L_PORT&=~(1<<L_SID);
L_PORT&=~(1<<L_SCL);
delay_us(1);
L_PORT|=(1<<L_SCL);
delay_us(1);
data=data<<=1;
}
L_PORT|=(1<<L_CS);
}
void LCD_Init()
{
L_DDR|=(1<<L_CS)|(1<<L_RS)|(1<<L_SCL)|(1<<L_SID)|(1<<L_RESET);
// L_PORT&=~(1<<L_CS)|(1<<L_RS)|(1<<L_SCL)|(1<<L_SID)|(1<<L_RESET);
L_PORT&=~(1<<L_CS)|(1<<L_RESET);
delay_ms(50);
L_PORT|=(1<<L_RESET);
TransferCom(0xe2); /*(14)Reset*/
delay_us(100);
TransferCom(0x2c); /*(19)static indicator on/off static indicator rehister set*/
delay_us(100);
TransferCom(0x2e); /*(13)End*/
delay_us(100);
TransferCom(0x2f); /*???*/
delay_us(100);
TransferCom(0x23);
TransferCom(0x81); /*Точная настойка контрасности*/
TransferCom(0x1f); /*Точная настройка контрастности значение может быть установлено в диапазоне 0x00 ~ 0x3f*/
TransferCom(0xa2); /*1/9 отношение сдвига (смещения)*/
TransferCom(0xc8); /*Линия сканирования последовательности: сверху вниз*/
TransferCom(0xa0); /*Колонка сканирования порядке: слева направо*/
TransferCom(0x60); /*Линия старта: начало первой строки*/
TransferCom(0xaf); /*Отображение дисплея*/
}
void LCD_Wtite(char* c)
{
int i,j;
for(i=0;i<8;i++)
{
TransferCom(0xb0+i); //set page address,
TransferCom(0x10);
TransferCom(0x00);
for(j=0;j<128;j++)
{
TransferData(*c);
c++;
}
}
}
void LCD_Clear()
{
unsigned char i,j;
for(i=0;i<9;i++)
{
L_PORT&=~(1<<L_CS);
TransferCom(0xb0+i);
TransferCom(0x10);
TransferCom(0x00);
for(j=0;j<132;j++)
{
TransferData(0x00);
}
}
}