Страница 48 из 123
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт май 29, 2012 13:04:08
pashtedddd
да!
предлагаете заземлить неиспользуемые выводы?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт май 29, 2012 13:53:34
Gudd-Head
Можно попробовать... Или (потом) наоборот подтянуть к питанию...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт май 29, 2012 21:35:17
ut1wpr
Никогда никуда не подтягивал. Ни вверх, ни вниз. Было лень, а зачем, если без разницы

Просто на эти площадки ничего не припаивал. Ни разу не возникало проблем.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср май 30, 2012 14:06:07
pashtedddd
подтянул вниз!
помогло!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт июн 08, 2012 12:58:47
Slavok47
Ребята приветствую, у меня LCD HJ1602A (HD44780), не понимающий русские символы, можно ли как то его научить русскому языку через прошивку, в исходнике текст выглядит так
unsigned char Test[] EEMEM = "Test";, МК Atmega8A
Спасибо!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт июн 08, 2012 13:36:17
uk8amk
CGRAM контроллера HD44780 имеет место для 8 пользовательских символов(адреса 0...7). Если в ваших строках встречается не более 8-ми русских буков, то можно попробовать.
Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт июн 08, 2012 18:57:44
Slavok47
uk8amk писал(а):CGRAM контроллера HD44780 имеет место для 8 пользовательских символов(адреса 0...7). Если в ваших строках встречается не более 8-ми русских буков, то можно попробовать.
Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.
Спасибо!
Знать бы еще как это сделать...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 09:04:28
uk8amk
Некоторые библиотеки компиляторов уже имеют функции загрузки пользовательских символов.
Например, 4-битная библиотека, входящая в состав CVAVR, включает функцию define_char. В функцию передается указатель на массив байт во флеш(изображение символа) и назначаемый номер символа.
Если таковая функция отсутсвует, то придется ее написать ручками. Естетсвенно, если вы планируете много и серьезно заниматься с такими экранчиками, то для этого вам нужно будет хорошо изучить даташит на контроллер 44780(именно на контроллер, а не на экранчик).
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 09:31:31
Slavok47
Я тут вот что заметил, если записывать в таком формате
unsigned char TestRunning[] EEMEM = {170,64,55,174,83,66,94,18,0};, то каждая цифра это какой то символ, кто знает где эти символы? и как узнать какая цифра соответствует символу?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 10:39:37
uk8amk
Логично предположить что эти сведения спрятаны в спецификации или даташите на экранчик.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 10:48:35
ChipKiller
Slavok47 писал(а):Я тут вот что заметил, если записывать в таком формате unsigned char TestRunning[] EEMEM = {170,64,55,174,83,66,94,18,0};,
... если таким образом записывать символы, то это код для "недругов"
ИМХО лучше сразу перевести все в читаемый вид с помощью
#define...
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 11:47:40
vitalik_1984
uk8amk писал(а):
Если всего используется больше 8-ми символов, но в каждой отображаемой строке их не более 8-ми, то можно изменить код, чтобы оперативно подгружать недостающие буквы.
Как то маловато для такого большого дисплея, че блин не могли хотя бы 16 сделать

Лучше уж тогда с русским языком поискать, цена то такая же.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 12:09:41
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?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июн 09, 2012 14:02:20
ChipKiller
Slavok47 писал(а):..но последний символ корявый, а должна быть буква т
.. не дожна, так как русских букв нет, а как их получить Вам уже объяснил
uk8amk
Тот же результат можно получить если написать так:
Код: Выделить всё
unsigned char TestRunning[] EEMEM = {'T','e','c','T',0};
по крайней мере можно понять, что содержится в строке ...
Символы, которые не совпадают с ASCII определим с помощью #define например
тогда запись вида unsigned char TestRunning[] EEMEM = {'T','e','c',ch_rus_t,0}; опять же читаема
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср июн 13, 2012 06:30:05
Andreevich
Доброго дня, форумчане!
Достались на разборку(запчасти, hi!) три HDSL концентратора CAMPUS-HRS.
Из начинки представляет интерес двухстрочный ЖК модуль MC1602L-SYLU фирмы WAYTON M.I.T. Даташит на модули серии МС этой фирмы нашел. Проблема в том, что плата этого модуля была специально разработана под CAMPUS и на ней кроме индикатора расположены три кнопки и три светодиода выводы, которых выходят на 24х контактный разъем. Поиски схемы ни к чему не привели. Выводы питания, контрастности и подсветки определить не проблема. Как определить выводы RS, R/W, DB0-DB7? Может, кто пользовал подобное изделие подскажите, плиз!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт июл 13, 2012 19:28:33
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
Как быть?

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс июл 15, 2012 18:27:09
virus33
Спасите и помогите. уже стенку башкой разбил и ничего не выводит именно этот дисплей. подключал к пику 16f628a. Только тестовая верхняя строка.
Сегодня нарыл в гугле что якобы если не используется RW порт то его нужно подтянуть на землю через резюк. поставил на 7.5к. Кхм, на верхней строке начал рандомно при включении появлятся в лучшем случае курсор, в худшем - черточки, палочки, точечки... И да, если раньше тупо подать питание - светиться тестовая строка, а щас без мк он вообще ничего не показывает, только энту билибирдень. Прошивка к нему в аттаче. Пишу на асме, бейсик и др. языки не прделагать.
P.S. В гугле примеров работы с ним нет!!!!
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пн июл 16, 2012 00:57:57
vitalik_1984
shev377 писал(а):
Код: Выделить всё
uint8_t hd44780_ready();
#if HD44780_CONFIG_OPTIMIZATION<=0
void hd44780_send_nibble(uint8_t);
#endif
Как быть?

Типа данных uint8_t нет в CVAVR
пишите
директивы компилятора winavr не будут работать в CVAVR.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пн июл 16, 2012 05:37:02
Совесть
Достаточно подключить заголовочный файл stdint.h и произойдет чудо, uint8_t заработает и в CV.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вт июл 24, 2012 15:45:12
спящий
Здравствуйте помогите мне с прогараммой хочу вывести на 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;
вроде даже экран засветился но заветного числа непоявилось.