tangar 0 12 марта, 2005 Опубликовано 12 марта, 2005 · Жалоба Есть вопрос: я планирую программировать ЖК без поддержки операций чтения из него ( флаг занятости не опрашивается). Какой временной интервал занимает цикл записи в контроллер и через какие промежутки времени следует изменять значения на управляющих шинах для управления операциями записи? Еще один вопрос: для позиционирования курсора на знакоместо XY достаточно ли просто присвоить AC адрес этого знакоместа в DDRAM? Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acex2 0 12 марта, 2005 Опубликовано 12 марта, 2005 · Жалоба Вот пример программирования для 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 } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aal 0 13 марта, 2005 Опубликовано 13 марта, 2005 · Жалоба Все временые параметры можно посмотреть в статье про подключение жки на атмел ру. Правда есть разночтения в пдф (ссылка в статье) на контроллер и в статье, и именно по времянке. Последнее время в своих проектах отказался от ожидания готовности. Делаю задержку между выдачей на индикатор намного больше необходимого. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tangar 0 13 марта, 2005 Опубликовано 13 марта, 2005 · Жалоба Пока я планирую подключать ЖК с передачей данных по 8-разрядной шине.Вот то, чо я надумал, касательно вреенной диаграммы цикла обмена. Здесь изображена временная диаграмма процесса записи данных в регистр данных. Фиолетовая линия - сигнал на управляющей шине, причем линия RS подключена к первому байту управляющего порта, а линия Е - к третьему. Желтая линия - сигнал на шине данных. Будет ли работать такая схема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Make_Pic 0 13 марта, 2005 Опубликовано 13 марта, 2005 · Жалоба Все временые параметры можно посмотреть в статье про подключение жки на атмел ру. Правда есть разночтения в пдф (ссылка в статье) на контроллер и в статье, и именно по времянке. Последнее время в своих проектах отказался от ожидания готовности. Делаю задержку между выдачей на индикатор намного больше необходимого. <{POST_SNAPBACK}> Кстати - а какую задержку делаете без чтения флага ожидания? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aal 0 14 марта, 2005 Опубликовано 14 марта, 2005 · Жалоба 2 Make_Pic >Кстати - а какую задержку делаете без чтения флага ожидания? Между байтами данных ~20-40 мкс. При команде обнуления экрана >2 мс. Всё с диким запасом.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться