Вы публикуете как гость.
Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Я как-то задавал вопрос какие фьюзы, но ТС не читатель, ТС писатель, вопросы не зря задаются.
void write(uint8_t n)
{
n<<=4;
E1; //линию Е в 1
LCD_PORT&=~DATA; //удалить предыдущую отправку
LCD_PORT|=n; //выставить значение на пины управления дата битами
_delay_us(50); //пропуск такта
E0; //линию Е в 0
}
Я бы вот эту функцию переписал следующим образом:
void write(uint8_t n)
{
n<<=4;
LCD_PORT&=n; //выставить значение на пины управления дата битами
E1; //линию Е в 1
asm("nop"); //пропуск такта
... // столько раз, чтобы высокий уровень "E" был >= 1 мкс
asm("nop"); //пропуск такта
E0; //линию Е в 0
LCD_PORT|=DATA; //между обращениями Dx = "1"
}
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.