Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
pashtedddd
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс апр 17, 2011 00:25:34
Откуда: зеленоград
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение pashtedddd »

да!
предлагаете заземлить неиспользуемые выводы?
Я вам не помощник! ©
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

Можно попробовать... Или (потом) наоборот подтянуть к питанию...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ut1wpr »

Никогда никуда не подтягивал. Ни вверх, ни вниз. Было лень, а зачем, если без разницы :) Просто на эти площадки ничего не припаивал. Ни разу не возникало проблем.
С уважением,
Виктор.
Аватара пользователя
pashtedddd
Открыл глаза
Сообщения: 53
Зарегистрирован: Вс апр 17, 2011 00:25:34
Откуда: зеленоград
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение pashtedddd »

подтянул вниз!
помогло!
Я вам не помощник! ©
Slavok47
Встал на лапы
Сообщения: 144
Зарегистрирован: Ср дек 14, 2011 08:12:49

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Slavok47 »

Ребята приветствую, у меня LCD HJ1602A (HD44780), не понимающий русские символы, можно ли как то его научить русскому языку через прошивку, в исходнике текст выглядит так
unsigned char Test[] EEMEM = "Test";, МК Atmega8A
Спасибо!
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение uk8amk »

CGRAM контроллера HD44780 имеет место для 8 пользовательских символов(адреса 0...7). Если в ваших строках встречается не более 8-ми русских буков, то можно попробовать.
Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.
Slavok47
Встал на лапы
Сообщения: 144
Зарегистрирован: Ср дек 14, 2011 08:12:49

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Slavok47 »

uk8amk писал(а):CGRAM контроллера HD44780 имеет место для 8 пользовательских символов(адреса 0...7). Если в ваших строках встречается не более 8-ми русских буков, то можно попробовать.
Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.

Спасибо!
Знать бы еще как это сделать...
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение uk8amk »

Некоторые библиотеки компиляторов уже имеют функции загрузки пользовательских символов.
Например, 4-битная библиотека, входящая в состав CVAVR, включает функцию define_char. В функцию передается указатель на массив байт во флеш(изображение символа) и назначаемый номер символа.
Если таковая функция отсутсвует, то придется ее написать ручками. Естетсвенно, если вы планируете много и серьезно заниматься с такими экранчиками, то для этого вам нужно будет хорошо изучить даташит на контроллер 44780(именно на контроллер, а не на экранчик).
Slavok47
Встал на лапы
Сообщения: 144
Зарегистрирован: Ср дек 14, 2011 08:12:49

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Slavok47 »

Я тут вот что заметил, если записывать в таком формате
unsigned char TestRunning[] EEMEM = {170,64,55,174,83,66,94,18,0};, то каждая цифра это какой то символ, кто знает где эти символы? и как узнать какая цифра соответствует символу?
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение uk8amk »

Логично предположить что эти сведения спрятаны в спецификации или даташите на экранчик.
Вложения
WH1602D-YGB-CP.pdf
(63.42 КБ) 491 скачивание
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ChipKiller »

Slavok47 писал(а):Я тут вот что заметил, если записывать в таком формате unsigned char TestRunning[] EEMEM = {170,64,55,174,83,66,94,18,0};,
... если таким образом записывать символы, то это код для "недругов" :)
ИМХО лучше сразу перевести все в читаемый вид с помощью #define...
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение vitalik_1984 »

uk8amk писал(а):Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.

Как то маловато для такого большого дисплея, че блин не могли хотя бы 16 сделать :dont_know: :)))
Лучше уж тогда с русским языком поискать, цена то такая же.
В поисках истины человек развивается.
Slavok47
Встал на лапы
Сообщения: 144
Зарегистрирован: Ср дек 14, 2011 08:12:49

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Slavok47 »

ChipKiller писал(а):
Slavok47 писал(а):Я тут вот что заметил, если записывать в таком формате unsigned char TestRunning[] EEMEM = {170,64,55,174,83,66,94,18,0};,
... если таким образом записывать символы, то это код для "недругов" :)
ИМХО лучше сразу перевести все в читаемый вид с помощью #define...

попробовал так
unsigned char TestRunning[] EEMEM = {0x54,0x65,0x63,0xBF,0x00};
вроде нормально, но последний символ корявый, а должна быть буква т
можно пример с #define?
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ChipKiller »

Slavok47 писал(а):..но последний символ корявый, а должна быть буква т
.. не дожна, так как русских букв нет, а как их получить Вам уже объяснил uk8amk
Тот же результат можно получить если написать так:

Код: Выделить всё

 unsigned char TestRunning[] EEMEM = {'T','e','c','T',0};
по крайней мере можно понять, что содержится в строке ...
Символы, которые не совпадают с ASCII определим с помощью #define например

Код: Выделить всё

#define ch_rus_t 0x..
тогда запись вида unsigned char TestRunning[] EEMEM = {'T','e','c',ch_rus_t,0}; опять же читаема
Andreevich
Родился
Сообщения: 6
Зарегистрирован: Пн дек 22, 2008 06:06:28
Откуда: Север крайний

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Andreevich »

Доброго дня, форумчане!
Достались на разборку(запчасти, hi!) три HDSL концентратора CAMPUS-HRS.
Из начинки представляет интерес двухстрочный ЖК модуль MC1602L-SYLU фирмы WAYTON M.I.T. Даташит на модули серии МС этой фирмы нашел. Проблема в том, что плата этого модуля была специально разработана под CAMPUS и на ней кроме индикатора расположены три кнопки и три светодиода выводы, которых выходят на 24х контактный разъем. Поиски схемы ни к чему не привели. Выводы питания, контрастности и подсветки определить не проблема. Как определить выводы RS, R/W, DB0-DB7? Может, кто пользовал подобное изделие подскажите, плиз!
Вложения
2.JPG
(60.79 КБ) 781 скачивание
1.JPG
(94.12 КБ) 764 скачивания
shev377
Открыл глаза
Сообщения: 48
Зарегистрирован: Пт янв 29, 2010 21:34:59

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение shev377 »

Мастрачу термореле на меге 32 с 18b20 и винстаром 1602...
Так вот, запарился я с русским и символами и прочим.. вроде бы все реализовал, но хочу проще! :))
Где-то выше упоминалась библиотека http://life.netimperia.com/2010/08/08/hd44780-avr/
Кто использовал под CVAVR?)
Лично у меня возникли следующие проблемы:
сначала компилятор матершинил на
#include <avr/io.h>
#include <utils/delay.h>
в файле .h библиотеки, естественно исправил на
#include <io.h>
#include <delay.h>

теперь говорит вот чего:
Error: ..\inc\hd44780.h(377): missing '('

вот в средней строке..

Код: Выделить всё

#if HD44780_CONFIG_PINMODE>0
   uint8_t hd44780_pin_convert_to(uint8_t);
   uint8_t hd44780_pin_convert_from(uint8_t);
#endif

uint8_t hd44780_ready();

#if HD44780_CONFIG_OPTIMIZATION<=0
   void hd44780_send_nibble(uint8_t);
#endif


Как быть? :cry:
Аватара пользователя
virus33
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Пт июн 29, 2012 23:48:11

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение virus33 »

Спасите и помогите. уже стенку башкой разбил и ничего не выводит именно этот дисплей. подключал к пику 16f628a. Только тестовая верхняя строка.
Сегодня нарыл в гугле что якобы если не используется RW порт то его нужно подтянуть на землю через резюк. поставил на 7.5к. Кхм, на верхней строке начал рандомно при включении появлятся в лучшем случае курсор, в худшем - черточки, палочки, точечки... И да, если раньше тупо подать питание - светиться тестовая строка, а щас без мк он вообще ничего не показывает, только энту билибирдень. Прошивка к нему в аттаче. Пишу на асме, бейсик и др. языки не прделагать.
P.S. В гугле примеров работы с ним нет!!!!
Вложения
test_lcd.asm
(15.56 КБ) 558 скачиваний
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение vitalik_1984 »

shev377 писал(а):

Код: Выделить всё


uint8_t hd44780_ready
();

#if HD44780_CONFIG_OPTIMIZATION<=0
    
void hd44780_send_nibble(uint8_t);
#endif 


Как быть? :cry:


Типа данных uint8_t нет в CVAVR
пишите

Код: Выделить всё

unsigned char hd44780_ready(); 

директивы компилятора winavr не будут работать в CVAVR.
В поисках истины человек развивается.
Совесть
Встал на лапы
Сообщения: 106
Зарегистрирован: Пн мар 26, 2012 05:25:06

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Совесть »

Достаточно подключить заголовочный файл stdint.h и произойдет чудо, uint8_t заработает и в CV.
спящий
Потрогал лапой паяльник
Сообщения: 303
Зарегистрирован: Сб янв 08, 2011 13:48:41

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение спящий »

Здравствуйте помогите мне с прогараммой хочу вывести на LCD хоть пиксель пока неполучаестся.(Пытался найти какойнить очень простой пример неполучилось)



.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m48def.inc"
.nolist
.list


.def temp = r16;
.def counter = r17;
.def delay = r25;
.def delay1 = r18;
.def delay2 = r19;


rjmp init;
zapoln:
ldi delay,0x01;
ldi delay1,0x5;


;задерка
loop:
subi delay,1;
sbci delay1,0;
brcc loop;
ret


init:

ldi temp,0b00000001;настраиваем LCD на команду (E=1,RS=0)
out portd,temp;
ldi temp,0b10111101;1бит -очищаем Дисплей,3,4бит-включаем дисплей,5бит-выбираем 8-битную передачу,8бит- сразу выводим на экран(DDRaM)
out PORTB,temp;
rcall zapoln;
ldi temp,0b00000000;настраиваем LCD на команду (E=0,RS=0)
out portd,temp;
rcall zapoln;ждем готовности для подготовки к данным

ldi temp,0b00000101;настраиваем LCD на данные (E=1,RS=1)
out portd,temp;
rcall zapoln;
ldi temp,0b00000000;настраиваем LCD на данные
out portd,temp;
start:
ldi temp,0X31;выводим "1"
out portb,temp;
rjmp start;



вроде даже экран засветился но заветного числа непоявилось.
Вложения
risunok.png
(15.3 КБ) 655 скачиваний
Ответить

Вернуться в «Периферия»