xvr 12 9 сентября, 2010 Опубликовано 9 сентября, 2010 · Жалоба Сколько понадобится времени, чтобы вывести на дисплей слово : "Hallo". Выходит 5 букв по 500 нс на каждую, это 2,5 мкс?Нет. 41mks * 5 = 205mks. А в вашем случае 50mks*5 = 250mks А как узнать время выполнения той или иной команды, к примеру очистка экрана. В datasheet я нашел упоминание о миллисекундах только в пункте оптические характеристики.Какой то не тот у вас DS. См. http://www.stanford.edu/class/ee281/handou...r_datasheet.pdf страницы 25 & 26 Опять таки повторюсь, хотелось бы знать возможно ли управлять полноценно дисплеем если при временном разделении шины для этого выделено 1,9 мкс на период приблизительно 25 мкс.Да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 10 сентября, 2010 Опубликовано 10 сентября, 2010 · Жалоба Спасибо за datasheet, очень толковый. Нашел в нем следующий пункт: Initializing by Internal Reset Circuit An internal reset circuit automatically initializes the HD44780U when the power is turned on. The following instructions are executed during the initialization. The busy flag (BF) is kept in the busy state until the initialization ends (BF = 1). The busy state lasts for 10 ms after VCC rises to 4.5 V. 1. Display clear 2. Function set: DL = 1; 8-bit interface data N = 0; 1-line display F = 0; 5 × 8 dot character font 3. Display on/off control: D = 0; Display off C = 0; Cursor off B = 0; Blinking off 4. Entry mode set: I/D = 1; Increment by 1 S = 0; No shift Я так понимаю после подачи питания и перед началом записи кодов символов в DDRAM нужно выждать 10 ms и после этого питающее напряжение возрастет к 4.5 В ? А до этого оно сколько было? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 10 сентября, 2010 Опубликовано 10 сентября, 2010 · Жалоба Я так понимаю после подачи питания и перед началом записи кодов символов в DDRAM нужно выждать 10 ms и после этого питающее напряжение возрастет к 4.5 В ?Нет. ПОСЛЕ подачи питающего напряжения (после подьема Vcc до 4.5В минимум), контролер будет инициализироваться в течении 10ms. В течении этого времени BF будет держаться в 1, а писать в него (контролер) ничего не нужно (да и бесполезно - он все будет игнорировать) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 10 сентября, 2010 Опубликовано 10 сентября, 2010 · Жалоба Ну я почти это и имел ввиду, только напутал с 4,5В. Выходит, что бы вывести слово Hello нужно в моем случае 10ms + 50mks*5 = 250mks? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 10 сентября, 2010 Опубликовано 10 сентября, 2010 · Жалоба Ну я почти это и имел ввиду, только напутал с 4,5В. Выходит, что бы вывести слово Hello нужно в моем случае 10ms + 50mks*5 = 250mks?Нет. После 10ms инициализации самого контролера ему еще надо скормить последовательность команд для установки режима работы (4/8 бит) и начального состояния (см. в том же DS). И только потом можно будет выводить Hello Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 29 сентября, 2010 Опубликовано 29 сентября, 2010 · Жалоба После 10ms инициализации самого контролера ему еще надо скормить последовательность команд для установки режима работы (4/8 бит) и начального состояния (см. в том же DS). И только потом можно будет выводить Hello Все так и сделал. Сначала подождал 10 мс, потом последовательно подал команды: 2 строки дисплея, 8 разрядная шина (00111000); включить дисплей (00001110); инкремент адреса и сдвиг курсора в право (00000110). Судя по datasheet у меня должен появится курсор на экране, но его нет. Ниже привожу временную диаграмму работы программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 29 сентября, 2010 Опубликовано 29 сентября, 2010 · Жалоба Все так и сделал. Сначала подождал 10 мс, потом последовательно подал команды: 2 строки дисплея, 8 разрядная шина (00111000); включить дисплей (00001110); инкремент адреса и сдвиг курсора в право (00000110). Судя по datasheet у меня должен появится курсор на экране, но его нет. Ниже привожу временную диаграмму работы программы.Насколько видно по диаграмме вы сделали только одну запись в LCD (сигнал x_lcd_en формирует только один импульс). Если за пределами окна там были еще импульсы, проверьте, что интервал между ними не меньше минимального по DS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 29 сентября, 2010 Опубликовано 29 сентября, 2010 · Жалоба На диаграмме я показал только один импульс x_lcd_en но на самом деле их три, для каждого из кодов, а период даже больше требуемого (требуемый 41 мс). Попробую подать непрерывно один из кодов и посмотреть осциллографом доходит ли он до дисплея. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 30 сентября, 2010 Опубликовано 30 сентября, 2010 · Жалоба Проверил все сигналы, все нормально. Может есть какой способ проверки дисплея на пригодность, а то он вообще молчит, хотя бы курсор вывел. :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvus 1 30 сентября, 2010 Опубликовано 30 сентября, 2010 · Жалоба ЕМНИП, на дисплее есть пин, отвечающий за контрастность. Как он у вас подключён? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 30 сентября, 2010 Опубликовано 30 сентября, 2010 (изменено) · Жалоба А как это может повлиять на правильную работу дисплея? Изменено 30 сентября, 2010 пользователем Aleksandr_KPI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 30 сентября, 2010 Опубликовано 30 сентября, 2010 · Жалоба А как это может повлиять на правильную работу дисплея?Ну например дисплей может вообще ничего не выводить :rolleyes: Выкрутите переменный резистор в крайнюю левую позицию (что бы на V0 был GND) Посмотрите последовательность инициализации на стр 46 DS. Там немного больше, чем 3 записи :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 30 сентября, 2010 Опубликовано 30 сентября, 2010 (изменено) · Жалоба А в реальности, там поставили постоянный резистор на 10 КОм. Не думаю что это связано с резистором, на дисплей раньше уже выводили данные. Посмотрел на страницу 46, она не сходится в плане инициализации со страницей 24. На 46 указано что инициализация длится 15 ms, а на 24 что 10 ms. Если 15 ms это правильно, то конечно контроллер ничего не будет выводить, так как команды поступают после 10 ms. Изменено 30 сентября, 2010 пользователем Aleksandr_KPI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FalloutMan 0 30 сентября, 2010 Опубликовано 30 сентября, 2010 · Жалоба Посмотрел на страницу 46, она не сходится в плане инициализации со страницей 24. На 46 указано что инициализация длится 15 ms, а на 24 что 10 ms. Если 15 ms это правильно, то конечно контроллер ничего не будет выводить, так как команды поступают после 10 ms. Есть такое дело, раньше тоже натыкался на такие вещи.В принцапе, если при инициализации Вы подождете чуть дольше при подаче очередной команды, то ничего страшного не случиться (благо для индикаторов такого типа скорость не критична). Вот ссылка на документ компании МЭЛТ, отечественная фирма дерущая деньги за то что приделала память с рускими шрифтами. Но у них не плохо скомпонованна документация + великий могучий столь приятный нашему уху Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 30 сентября, 2010 Опубликовано 30 сентября, 2010 · Жалоба Есть такое дело, раньше тоже натыкался на такие вещи.В принцапе, если при инициализации Вы подождете чуть дольше при подаче очередной команды, то ничего страшного не случиться (благо для индикаторов такого типа скорость не критична). Период подачи команд для дисплея у меня составляет около 58 us, а время под начальную инициализацию, увеличил до 15 мс так что я думаю здесь все нормально. За DS спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться