| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Проблема подключения ЖКИ 16х4 к ATtmega8515
25.10.2011, 18:51
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: проблема подключения ЖКИ 16х4 к ATtmega8515
Сообщение от orionSSV
|
|
ВОТ В ЭТОМ ТО И ПРОБЛЕМА. Боюсь, это будет сложновато для меня...
|
Послушайте Стаса, ST_1. Возвращайтесь к пониманию даташита. Без этого будете тупо перебирать чужие фрагменты, пока на каком-нибудь не заработает, но понимания, что произошло, так и не придет. Чарующее слово "тайминги"... Откреститесь от него. Поймите главное. Эти дисплеи от разных производителей отличаются разными скоростями обработки внутренних процедур. Одни это делают быстро, другие помедленнее. Найдите в тексте программы (особенно обратите внимание на модуль инициализации) вызовы процедур задержек. Вот с ними и надо экспериментировать. Они должны обеспечивать гарантированное завершение дисплеем тех операций, которые вы инициировали (вывод одиночного символа, сброс, очистка, начальная инициализация после холодного старта). Обычно тактовая внутренней схемы управления специфицирована и приводится в даташите. Посчитайте, не ленитесь. И забудьте, в конце концов выражение "это не для меня"... У неумелого руки не болят!
|
|
|
|
25.10.2011, 18:56
|
|
|
Временная регистрация
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: проблема подключения ЖКИ 16х4 к ATtmega8515
Easyrider83, благодарю! Буду разбираться... Правда там в заголовочном файле LCDv1.h подключены другие файлы, а именно:
#include "stm32f10x_type.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32_GPIO.h"
#include "delays.h"
Мне их нужно будет найти?
|
|
|
|
25.10.2011, 19:06
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: проблема подключения ЖКИ 16х4 к ATtmega8515
Сообщение от orionSSV
|
Easyrider83, благодарю! Буду разбираться... Правда там в заголовочном файле LCDv1.h подключены другие файлы, а именно:
#include "stm32f10x_type.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32_GPIO.h"
#include "delays.h"
Мне их нужно будет найти?
|
Нет, выкинуть их вообще. Этот код так называемого верхнего уровня. Он работает с функциями, которые описаны на нижнем уровне, который работает с переферией. Вам надо переписать функции PIN_ON и PIN_OFF под свой контроллер. Ну и паузы, конечно. Они, я думаю, у вас библиотечные.
|
|
|
|
26.10.2011, 05:49
|
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,762
Сказал спасибо: 76
Сказали Спасибо 1,840 раз(а) в 668 сообщении(ях)
|
Re: проблема подключения ЖКИ 16х4 к ATtmega8515
Сообщение от orionSSV
|
|
к сожалению английский и тем более технический для моего понимания сложен. Прошу помощи у вас. Возможно кто-то уже сталкивался с управлением ЖКИ, а возможно для кого-то прочитать даташит и разобраться в нём "как два пальца...".
|
Есть неплохие даташиты по данному вопросу на русском. Например:
http://www.gaw.ru/html.cgi/txt/lcd/c...4780/start.htm
http://lib.chipdip.ru/243/DOC000243344.pdf
Во втором, правда, есть небольшая неточность. После перевода в 4-х битный режим управления следует подать последовательность команд (28h, 0Ch, 06h), а не (28h, 08h, 06h) , иначе ничего не увидите.  Все тайминги при инициализации делаете как на диаграммах, после - достаточно задержек по 40 мкс.
Ну, и напоследок: http://www.dinceraydin.com/djlcdsim/djlcdsim.html
Онлайн-симулятор для окончательного понимания принципов управления индикатором.
В общем, ничего сложного. Поймете принцип - быстрее напишите свою программу, чем будете заниматься правкой чужих библиотек.  Правда, всё вышесказанное относится в основном к индикаторам 16х2, но легко переносится и на 16х4, поскольку контроллер у них тот же самый. Различие будет только в соответствии адресов ОЗУ контроллера конкретным знакоместам на индикаторе...
Последний раз редактировалось RECTO; 26.10.2011 в 05:54.
|
|
|
|
26.10.2011, 15:55
|
|
|
Временная регистрация
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
Отлично. Спасибо всем, оказанную если не помощь, то наставление))). Видимо реально придётся копать в глубь, теперь из принципа заставлю работать именно выбранный ЖКИ. Ещё раз Благодарю за отклики!
|
|
|
|
26.10.2011, 19:32
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
Вот перечень команд контроллера дисплея:
|
Код:
|
#define LCD_CMD_Cursor_Off 0x0C
#define LCD_CMD_Blink_Cursor_On 0x0F
#define LCD_CMD_Underline_Cursor_On 0x0E
#define LCD_CMD_First_Row 0x80
#define LCD_CMD_Second_Row 0xC0
#define LCD_CMD_Third_Row 0x94
#define LCD_CMD_Fourth_Row 0xD4
#define LCD_CMD_Clear 0x01
#define LCD_CMD_Return_Home 0x02
#define LCD_CMD_Move_Cursor_Left 0x10
#define LCD_CMD_Move_Cursor_Right 0x14
#define LCD_CMD_Turn_On 0x0C
#define LCD_CMD_Turn_Off 0x08
#define LCD_CMD_Shift_Left 0x18
#define LCD_CMD_Shift_Right 0x1C |
Нужные именно вам отмечены красным.
|
|
|
|
26.10.2011, 21:37
|
|
|
Супер-модератор
Регистрация: 09.06.2011
Сообщений: 2,762
Сказал спасибо: 76
Сказали Спасибо 1,840 раз(а) в 668 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
Сообщение от Easyrider83
|
Вот перечень команд контроллера дисплея
Нужные именно вам отмечены красным.
|
Не путайте Вы человека! 
Отмеченные Вами - это всего лишь команды установки курсора на 3-ю и 4-ю строку дисплея соответственно. Причем не в начало строки, а на 4-е знакоместо. Поэтому и не стоит, имхо, полагаться на чужие библиотеки, если (пока) плохо понимаешь, с чем работаешь.
|
|
|
|
27.10.2011, 04:38
|
|
|
Временная регистрация
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
RECTO, Я уже понял это и сам. разбираюсь с нуля... Это конечно откинет меня нехило по времени назад, но зато буду знать как работает ЖКи в принципе, а не по чужим библиотекам...
|
|
|
|
27.10.2011, 09:47
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
Сообщение от RECTO
|
Не путайте Вы человека! 
Отмеченные Вами - это всего лишь команды установки курсора на 3-ю и 4-ю строку дисплея соответственно. Причем не в начало строки, а на 4-е знакоместо. Поэтому и не стоит, имхо, полагаться на чужие библиотеки, если (пока) плохо понимаешь, с чем работаешь.
|
Эти комнадты - единственное различие его дисплея с таким же 16х2.
И переносят они не на знакоместо, а именно на строку.
|
|
|
|
27.10.2011, 11:32
|
|
|
Заблокирован
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
|
Re: Проблема подключения ЖКИ 16х4 к ATtmega8515
|
Код:
|
#define LCD_CMD_First_Row 0x80
#define LCD_CMD_Second_Row 0xC0
#define LCD_CMD_Third_Row 0x90
#define LCD_CMD_Fourth_Row 0xD0 |
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:39.
|
|