Перейти к содержанию
    

Пара вопросов о символьных LCD

Есть вопрос: я планирую программировать ЖК без поддержки операций чтения из него ( флаг занятости не опрашивается). Какой временной интервал занимает цикл записи в контроллер и через какие промежутки времени следует изменять значения на управляющих шинах для управления операциями записи?

 

Еще один вопрос: для позиционирования курсора на знакоместо XY достаточно ли просто присвоить AC адрес этого знакоместа в DDRAM?

 

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот пример программирования для PIC (4-х битный режим, флаг занятости не используется). Из него все должно быть понятно.

 

/*
*  LCD interface example
*  This code will interface to a standard LCD controller
*  like the Hitachi HD44780. It uses it in 4 bit mode, with
*  the hardware connected as follows (the standard 14 pin
*  LCD connector is used):
*
*  PORTB bits 0-3 are connected to the LCD data bits 4-7 (high nibble)
*  PORTA bit 4 is connected to the LCD RS input (register select)
*  PORTA bit 5 is connected to the LCD EN bit (enable)
*
*/

static bit LCD_RS   @ ((unsigned)&PORTC*8+4);   // Register select
static bit LCD_EN   @ ((unsigned)&PORTC*8+5);   // Enable

#define LCD_STROBE  ((LCD_EN = 1),(LCD_EN=0))

void LCD_Write(unsigned char c) {
   PORTB = c >> 4;
   LCD_STROBE;
   PORTB = c;
   LCD_STROBE;
   DelayUs(40);
}

void LCD_Clear(void) {
   LCD_RS = 0;
   LCD_Write(0x1);
   DelayMs(2);
}

void LCD_Puts(const char * s) {
   LCD_RS = 1; 
   while(*s)
       LCD_Write(*s++);
}

void LCD_Goto(unsigned char pos) {
   LCD_RS = 0;
   LCD_Write(0x80+pos);
}

void LCD_Init(void) {
   LCD_RS = 0; 
   DelayMs(15);
   PORTB = 0x3;
   LCD_STROBE;
   DelayMs(5);
   LCD_STROBE;
   DelayUs(100);
   LCD_STROBE;
   DelayMs(5);
   PORTB = 0x2;
   LCD_STROBE;
   DelayUs(40);
   LCD_Write(0x28);    // 4 bit mode, 1/16 duty, 5x8 font
   LCD_Write(0x08);    // display off
   LCD_Write(0x0C);    // display on, blink curson on
   LCD_Write(0x06);    // entry mode
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все временые параметры можно посмотреть в статье про подключение жки на атмел ру. Правда есть разночтения в пдф (ссылка в статье) на контроллер и в статье, и именно по времянке.

Последнее время в своих проектах отказался от ожидания готовности. Делаю задержку между выдачей на индикатор намного больше необходимого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока я планирую подключать ЖК с передачей данных по 8-разрядной шине.Вот то, чо я надумал, касательно вреенной диаграммы цикла обмена.

 

Здесь изображена временная диаграмма процесса записи данных в регистр данных. Фиолетовая линия - сигнал на управляющей шине, причем линия RS подключена к первому байту управляющего порта, а линия Е - к третьему. Желтая линия - сигнал на шине данных. Будет ли работать такая схема?

post-3297-1110726949.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все временые параметры  можно посмотреть в статье про подключение жки на атмел ру. Правда есть разночтения в пдф (ссылка в статье) на контроллер и в статье, и именно по времянке.

Последнее время в своих проектах отказался от ожидания готовности. Делаю задержку между выдачей на индикатор намного больше необходимого.

 

Кстати - а какую задержку делаете без чтения флага ожидания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Make_Pic

>Кстати - а какую задержку делаете без чтения флага ожидания?

 

Между байтами данных ~20-40 мкс. При команде обнуления экрана >2 мс. Всё с диким запасом....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...