Работа с ЖКИ на контроллере HD44780 и его аналогах
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
xaker66,
мы сможем помочь если вы поясните что конкретно вам не ясно при работе с экранчиком или что именно у вас не получается.
мы сможем помочь если вы поясните что конкретно вам не ясно при работе с экранчиком или что именно у вас не получается.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
хочу сделать такое меню чтобы цифры были большие не знаю как сделать интересует в основном размер цифр
- Вложения
-
- IMG_0909.JPG
- (52.41 КБ) 556 скачиваний
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Уже спрашивали и уже отвечали. Для создания копии с оригинала на снимке нужен дисплей 4хNN. Использовать символы, определяемые (создаваемые) пользователем. Читать и учится после поиска Гуглом по ключевым словам из предыдущего предложения. Информации везде навалом. На этом форуме в особенности.xaker66 писал(а):хочу сделать такое меню чтобы цифры были большие не знаю как сделать интересует в основном размер цифр
Последний раз редактировалось ut1wpr Вт сен 18, 2012 11:43:43, всего редактировалось 1 раз.
С уважением,
Виктор.
Виктор.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Для начала, закончите начальные классы школы, затем уже можно и за другие языки приниматься, в частности за языки программирования.xaker66 писал(а):хочу сделать такое меню чтобы цифры были большие не знаю как сделать интересует в основном размер цифр
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Спасибо за совет.Я уже 30 лет назад закончил школу и еще кое чего.На счет правил правописания Вы правы,извиняюсь, сильно спешил.Клиенты стояли над душой.Сейчас пишу на работе поэтому особо нет времени.Насчет всего остального .Дисплей у меня 20х4 winstar. Свои 8 символ уже запрограмированы.Я так понимаю больше нельзя.Вот и приходится думать как можно выкрутится
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Придумали? Если нет, подумайте, каким образом происходит отображение любого (в том числе и UDC) символа в отображаемую область. Куда пишется матрица ЗГ UDC? Прямо в отображаемую, или является частью ЗГ? Что произойдет, если ваш UDC уже отображается, а вы впишете на его место в ЗГ новый? Если у вас нет особых временнЫх затрат, можно и так, как я вам подсказываю...xaker66 писал(а):8 символ уже запрограмированы.Я так понимаю больше нельзя.Вот и приходится думать как можно выкрутится
С уважением,
Виктор.
Виктор.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Насколько я разбираюсь в мирмикологии, на рисунке показан графический дисплей, и отобразить такое на алфавитно-цифровом матричном - это вам не блоху подковать.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Jack_A писал(а):Насколько я разбираюсь в мирмикологии, на рисунке показан графический дисплей,
Это не так, даже на фотографии видно, что это обычный цифро-буквенный 4х строчный экран.
во второй и третьей строке сгенерированы составные символы цифр.
Даже видны светлые границы между погасшими символами.
Или вы про какой рисунок вообще?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Про рисунок, приведенный xaker66. Да, кажется, я малость тупанул. Это ж ювелирная работа, достойная лучшено применения ! Но на рисунке в статье, на которую ссылка, 2 и 5 - ну ни в дугу ни в Красну Армию. Такое мое imho. Впрочем, на вышеупомянутом рисунке все гораздо красивше. Жаль нет 4-строчника, слепил бы себе 
- Moto_v3x
- Потрогал лапой паяльник
- Сообщения: 307
- Зарегистрирован: Ср мар 31, 2010 11:45:58
- Откуда: Славянск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
на рисунке от xaker66 большие символы сделаны 2х3 знакоместа, а по моей ссылке 2х2, но никто не мешает нарисовать по своему, главное принцип.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Jack_A писал(а): Жаль нет 4-строчника, слепил бы себе
Так что мешает сделать то же самое на двух строчнике?На цифры то всего две использованы.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
вопрос каким спосбом можно выводить такие большие символы, если можно поподробнее
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
1.Для начала нужно придумать шрифт для огромных цифр,уже сделано
2.потом составить алгоритм создания буквы, я думаю это будет функция, помещающая в массив коды пользовательских символов.их как я насчитал всего 6 будет. полное заполнение символа есть в стандартных
3.Обновлять дисплей функцией вывода этого массива.
Если символы уже заняты то сначала нужно поместить нужные в дисплей и выводить.С невозможностью одновременного вывода специальных символов и больших цифр придется мириться.Максимум два символа получится с моим(восстановленным по фото) шрифтом.
2.потом составить алгоритм создания буквы, я думаю это будет функция, помещающая в массив коды пользовательских символов.их как я насчитал всего 6 будет. полное заполнение символа есть в стандартных
3.Обновлять дисплей функцией вывода этого массива.
Если символы уже заняты то сначала нужно поместить нужные в дисплей и выводить.С невозможностью одновременного вывода специальных символов и больших цифр придется мириться.Максимум два символа получится с моим(восстановленным по фото) шрифтом.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Подскажите, что делаю не так
Где-то в этой теме нашёл библиотеку взял от туда только вот перу строчек
вот в последних двух строчках разобраться не могу
это я так понял для того что бы сигналы RS,E,RW не сбивались при выводе данных
это более менее понятно выводим только старшую тетраду из переменной data
а вот последняя совсем не понятно зачем
делаю инициализацию
и вывожу цифру 8 на дисплей
в протеусе смотрю и чувствую что как-то не правильно вывожу ему команды
нечего не выводит пишет только set DDRAM ptr=00 set DDRAM ptr=70 и курсор влево (без понятия откуда он взял может после очистки табло )
примерно тоже самое сделал на 8 битной шине там всё работает нормально
Где-то в этой теме нашёл библиотеку взял от туда только вот перу строчек
Спойлер
Код: Выделить всё
#define RS 0
#define RW 1
#define E 2
#define PortLCD PORTC
#define SetE PORTC|=1<<E
#define ClrE PORTC&=~(1<<E)
#define SetRS PORTC|=1<<RS
#define ClrRS PORTC&=~(1<<RS)
#define WriteLCDdata(data); SetRS; SetE; PortLCD&=0x0F; PortLCD|=(0xF0&data); ClrE; PortLCD|=(0xF0);
#define WriteLCDcommand(data); ClrRS; SetE; PortLCD&=0x0F; PortLCD|=(0xF0&data); ClrE; PortLCD|=(0xF0);вот в последних двух строчках разобраться не могу
Код: Выделить всё
PortLCD&=0x0FКод: Выделить всё
PortLCD|=(0xF0&data);а вот последняя
Код: Выделить всё
PortLCD|=(0xF0);делаю инициализацию
Спойлер
Код: Выделить всё
delay_ms(20);
WriteLCDcommand(0x30); //
delay_ms(10);
WriteLCDcommand(0x30);
delay_ms(110);
WriteLCDcommand(0x30);
// двух строченое 8 разрядная шина 0x28
WriteLCDcommand(0x28); //выводим старшую тетраду
delay_ms(10);
WriteLCDcommand(0x28<<4); // младшую тетраду
delay_ms(10);
// настройка табло 0xf
WriteLCDcommand(0x0f);
delay_ms(100);
WriteLCDcommand(0x0f<<4);
delay_ms(100);
//очистка экрана
WriteLCDcommand(0x01);
delay_ms(100);
WriteLCDcommand(0x01<<4);
delay_ms(100);и вывожу цифру 8 на дисплей
Код: Выделить всё
WriteLCDdata(0x38);
delay_ms(10);
WriteLCDdata(0x38<<4);в протеусе смотрю и чувствую что как-то не правильно вывожу ему команды
нечего не выводит пишет только set DDRAM ptr=00 set DDRAM ptr=70 и курсор влево (без понятия откуда он взял может после очистки табло )
примерно тоже самое сделал на 8 битной шине там всё работает нормально
- Вложения
-
- LCD.rar
- (37.8 КБ) 244 скачивания
- black_lizard
- Встал на лапы
- Сообщения: 132
- Зарегистрирован: Вс сен 23, 2012 05:51:35
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Здравствуйте. Подскажите пожалуйста. Купил дисплей на KS0066U, 16х2. Соединил по 8 ногам, исправил либу работающую с 4 ногами на 8 ног(к слову, не пахала из-за разной инициализации с HD44780 и заставить пахать с 4 ног так и не удалось). Ситуация повернулась в другую сторону... в отличии от когда для 4 ног, на 8 ногах дисплей стал хотя бы запускаться каждый раз, при подаче команд. Инициализация с грехом пополам проходит и дальше всё... символы отображает не правильно. Не могу понять в чём дело. Прозвонил все провода, проверил всё ли корректно соединено, те ле выводы, всё ли инициализируется... не пашет. Стал всё-таки грешить на софтварную часть. С временем ожидания поиграл, то же не помогло(плата STM32VLDISCOVERY, проц srm32f100rb, может уже хана настаёт самой плате, 4 пина и стабилизатор напряжения я уже успел пожечь, не первый день её пытаю). Прошу посмотреть.
Инициализация:
Функция отправки данных в дисплей:
заранее спасибо
Инициализация:
Код: Выделить всё
pin_dis_table[0]=GPIO_Pin_0;//пины данных
pin_dis_table[1]=GPIO_Pin_1;
pin_dis_table[2]=GPIO_Pin_2;
pin_dis_table[3]=GPIO_Pin_3;
pin_dis_table[4]=GPIO_Pin_10;
pin_dis_table[5]=GPIO_Pin_11;
pin_dis_table[6]=GPIO_Pin_12;
pin_dis_table[7]=GPIO_Pin_13;
port_dis_table[0]=GPIOC;//порты данных
port_dis_table[1]=GPIOC;
port_dis_table[2]=GPIOC;
port_dis_table[3]=GPIOC;
port_dis_table[4]=GPIOB;
port_dis_table[5]=GPIOB;
port_dis_table[6]=GPIOB;
port_dis_table[7]=GPIOB;
GPIO_InitTypeDef gpio;
GPIO_StructInit(&gpio);
gpio.GPIO_Mode = GPIO_Mode_Out_OD;
gpio.GPIO_Speed = GPIO_Speed_2MHz;
int i;
for (i=0;i<8;i++){
gpio.GPIO_Pin = pin_dis_table[i];
GPIO_Init(port_dis_table[i], &gpio);
}
gpio.GPIO_Pin = LCD_CD | LCD_EN;
GPIO_Init(GPIOB, &gpio);
GPIO_WriteBit(GPIOB, LCD_CD | LCD_EN, 0);
lcd_send(0x38,COMMAND);
lcd_set_state(LCD_ENABLE,CURSOR_ENABLE,NO_BLINK);
lcd_send(0x01,COMMAND);
lcd_send(0x06,COMMAND);
Функция отправки данных в дисплей:
Код: Выделить всё
void lcd_send(uint8_t byte, dat_or_comm dc) {
GPIO_WriteBit(GPIOB, LCD_CD | LCD_EN, 0);
if (dc) {
GPIO_WriteBit(GPIOB, LCD_CD, 1);
}
GPIO_WriteBit(port_dis_table[0], pin_dis_table[0], ((byte & 0x01)!=0));
GPIO_WriteBit(port_dis_table[1], pin_dis_table[1], ((byte & 0x02)!=0));
GPIO_WriteBit(port_dis_table[2], pin_dis_table[2], ((byte & 0x04)!=0));
GPIO_WriteBit(port_dis_table[3], pin_dis_table[3], ((byte & 0x08)!=0));
GPIO_WriteBit(port_dis_table[4], pin_dis_table[4], ((byte & 0x10)!=0));
GPIO_WriteBit(port_dis_table[5], pin_dis_table[5], ((byte & 0x20)!=0));
GPIO_WriteBit(port_dis_table[6], pin_dis_table[6], ((byte & 0x40)!=0));
GPIO_WriteBit(port_dis_table[7], pin_dis_table[7], ((byte & 0x80)!=0));
GPIO_WriteBit(GPIOB, LCD_EN, 1);
lcd_delay();
lcd_delay();
GPIO_WriteBit(GPIOB, LCD_EN, 0);
lcd_delay();
}заранее спасибо
Собираю самопальный мини-компьютер
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Разобрался пропустил одну строчку инициализации.
Я вот тут с питанием понять не как не могу http://www.electronshik.ru/item/wh1602l-ygh-ct-66868
вот тут написано "Символьный ЖК дисплей 16 х 2 с напряжением питания 3 V" 3 вольта ?
открыл даташит в 5ом разделе электрические характеристики написано
Supply Voltage For Logic VDD-VSS - min 4.5 typ 5.0 max 5.5 V
откуда 3 вольта взялось ?
Я вот тут с питанием понять не как не могу http://www.electronshik.ru/item/wh1602l-ygh-ct-66868
вот тут написано "Символьный ЖК дисплей 16 х 2 с напряжением питания 3 V" 3 вольта ?
открыл даташит в 5ом разделе электрические характеристики написано
Supply Voltage For Logic VDD-VSS - min 4.5 typ 5.0 max 5.5 V
откуда 3 вольта взялось ?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
pokk писал(а): откуда 3 вольта взялось ?
Это минимальное напряжение при котором работает LCD.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
В даташите все нормально написано там два входа для логики и для экрана грубо говоря контраст V_O должен быть не менее 3 вольт.А напряжение питания логики V_DD то все равно должно быть 4.5 минимум.Иначе не будет работать.
Хотя есть дисплеи и для низковольтной логики.
Причем в даташите написано, что 3.2 измеряется между V_DD и V_O.
Хотя есть дисплеи и для низковольтной логики.
Причем в даташите написано, что 3.2 измеряется между V_DD и V_O.
Последний раз редактировалось vitalik_1984 Сб сен 29, 2012 12:20:12, всего редактировалось 1 раз.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Благодарю за ответы. Это я просто подключил дисплей на 4.5В, а тут не давно в магазине стоял в очереди, где его купил смотрю, а там все на 3 вольта думаю во дела не много ли я на него подал 