после каждой записи команда/данные необходимо дергать строб Е чтобы контроллер lcd принял данные, тоесть устанавливать в 1 потом сбрасывать в 0, при этом необходимо определенное время "выдержки" этого сигнала, например 1 мс, хотя при активной записи в lcd это довольно большой интервал, достаточно сделать с десяток пустых операций nop в любом случае потеря тактов, например
CODE:
void flushData(void)
{
#asm
sbi $3,2 // устанавливаем в 1 ногу 2 порта B, в данном случае на порт B к ноге 2 подключен строб E LCD
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cbi $3,2 - с брос в 0
#endasm
}
а!, гоню, с этим в коде все нормалек, просто надо проинициалмизировать прально, добавить команду сдвига курсора записав на шину данных 00010100(Отредактировано автором: 20 Января, 2009 - 18:09:58) |