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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

При включении питания на индикаторе видны заполненные прямоугольники первых 8 разрядов.
А резистор есть на подстройку контраста дисплея, именно так ведет себя дисплей без этого резистора или нужно провести подстройку контраста.
Я не Сашок!!!
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

Без резистора вроде либо все знакоместа должен заливать чёрным, либо совсем ничего не отображать. А тут что-то среднее описывают.
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 425
Зарегистрирован: Вт фев 03, 2009 05:16:25
Откуда: Kiev

Сообщение xDevs »

Автор, код программы с инициализацией в студию :))
Будем исправлять ошибки
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк

Сообщение sachok »

Секретный кот писал(а):Без резистора вроде либо все знакоместа должен заливать чёрным, либо совсем ничего не отображать. А тут что-то среднее описывают.
У меня с дисплеем от AV светился только 1 ряд.
Я не Сашок!!!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 14
Зарегистрирован: Пт дек 15, 2006 07:14:06

Сообщение Алекс. »

Программка для проверки ЖКИ.
Начальный код создан с помощью мастера CVAVR.
Резистор 10К в цепи контраста есть. Все соединения контроллер - ЖКИ есть. Пробовал 2 ЖКИ.

#include <mega16>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd>
#include <stdio>
char lcd_buffer[17];

void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0xAF;
DDRD=0x50;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
MCUCSR=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;

lcd_init(16);

while (1)
{
if (PIND.0==0)
{PORTD.4=1;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"1");
lcd_puts(lcd_buffer);
}
if (PIND.1==0)
{
PORTD.4=0;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"01");
lcd_puts(lcd_buffer);
}
if (PIND.2==0)
{
PORTD.6=1;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"2");
lcd_puts(lcd_buffer);
}
if (PIND.3==0)
{
PORTD.6=0;
lcd_clear();
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"02");
lcd_puts(lcd_buffer);
}
};
}
Реклама
Родился
Сообщения: 5
Зарегистрирован: Вс фев 15, 2009 20:02:38

Сообщение Schranz »

У кого нибуть есть Исходник инициализации ЖКИ написанный на Keil uVision?
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Ребята спасайте !
На всех портах atmega16 дисплей работает и выводится информация !
а именно на порту C не хочет работать и даже я так понимаю не инициализируется - то есть при включении нижний ряд просто горят чёрные квадратики.

Дисплей 16х2.

У меня уже истерики начинаются ))))))))))))))
Контактная информация:
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

kybertech писал(а):Ребята спасайте !
На всех портах atmega16 дисплей работает и выводится информация !
а именно на порту C не хочет работать и даже я так понимаю не инициализируется - то есть при включении нижний ряд просто горят чёрные квадратики.

Дисплей 16х2.

У меня уже истерики начинаются ))))))))))))))
Не надо истерики, JTAG отключите и будет вам щщасте.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

smac писал(а):
kybertech писал(а):Ребята спасайте !
На всех портах atmega16 дисплей работает и выводится информация !
а именно на порту C не хочет работать и даже я так понимаю не инициализируется - то есть при включении нижний ряд просто горят чёрные квадратики.

Дисплей 16х2.

У меня уже истерики начинаются ))))))))))))))
Не надо истерики, JTAG отключите и будет вам щщасте.
имеете введу фьюз JTAGEN ?
Я прошиваю через PonyProg и в битах конфигурации установлена галочка на против JTAGEN я так понимаю он и есть выключен
Контактная информация:
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

kybertech писал(а): имеете введу фьюз JTAGEN ?
Я прошиваю через PonyProg и в битах конфигурации установлена галочка на против JTAGEN я так понимаю он и есть выключен
Я не знаю что-такое понипрог, но знаю что фьюз JTAGEN должен быть незапрограммирован т. е. согласно документации атмел - быть равен 1.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

smac писал(а):
kybertech писал(а): имеете введу фьюз JTAGEN ?
Я прошиваю через PonyProg и в битах конфигурации установлена галочка на против JTAGEN я так понимаю он и есть выключен
Я не знаю что-такое понипрог, но знаю что фьюз JTAGEN должен быть незапрограммирован т. е. согласно документации атмел - быть равен 1.

Так он и не запрограмирован ! - это заводские настройки !


и всёравно экран не пашет на порту С
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

В понипрог галочку фуза JTAG надо убрать - однозначно
иначе порт С программируется на работу с JTAG для отладки

сам наступал на эти грабли

иногда (редко правда но у меня было) при сбои при программирование от почему то включался сам
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

dt_andrew писал(а):В понипрог галочку фуза JTAG надо убрать - однозначно
иначе порт С программируется на работу с JTAG для отладки

сам наступал на эти грабли

иногда (редко правда но у меня было) при сбои при программирование от почему то включался сам

А можете подсказать как мне установить фьюзы чтобы
я мог нормально подключить дисплей на порт С кнопки на порт D
на порту а у меня АЦП и включить работу от внешнего кварца на 4 МГц.

Просто вчера в понипрог снял галочку JTAGEN после чего программатор просто перестал видеть контроллер вылетала ошибка постоянно с кодом "-24"
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

фузы для МЕГИ16
это от другого моего проекта но не важно
http://radiokot.ru/forum/viewtopic.php?p=176287#176287

там правда для кварца на 8 но один хрен что 4 или 8

а кнопки и индикатор цепляйте куда хотите
фузы за это не отвечают

сконфигурируйте порты правильно и все
для пинов с кнопками на вход для индикатора на выход
АЦП тоже на вход

ну и естественно кварц к контроллеру подцепить

и совет на будущее
учите английский и читайте даташиты - очень полезно
в них много интересного написано

надеятся каждый раз что дядя вам все подскажет не надо

да и Вам польза будет при том оч большая
Удачи
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

C кнопками и АЦП я розабрался да и в протеусе весь проэкт работает отлично и на экран выводит и кнопки работают и измерения все. в общем всё работает а зашил в контроллер экран не работает. датащит я почитаю обязательно просто мне срочно нада.
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

с экраном тяжело помочь не видя схемы подключения
вашего кода
и типа индикатора
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

dt_andrew писал(а):с экраном тяжело помочь не видя схемы подключения
вашего кода
и типа индикатора

Я пробывал просто собрать устройство только что бы выводило на экран чё-нить подключеный к порту С и всёравно не работало.

Сейчас всё подготовлю и скину код, модель экрана и схему подключения.
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 2057
Зарегистрирован: Чт ноя 30, 2006 12:27:46
Откуда: Челябинск

Сообщение dt_andrew »

и по установленным фузам тоже инфу
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

ага ОК
Последний раз редактировалось kybertech Пн мар 09, 2009 22:31:45, всего редактировалось 1 раз.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Вот выкладываю всё как я делал и всёравно не работает на порту С.

Выкладываю скриншот из протеуса, там работает всё замечательно, а вот на собраном устройстве не работает.

Характеристики дисплея:
BC1602AGPLCH$
Bolymin QC OK
081001002 081119
- это всё что на нём написано.
вот тут можно глянуть на его внешний вид http://www.eltis.ua/pics/pic_61e2811b43 ... 1e5f3a.jpg


На МК всегда фьюзы были выставлены по умолчанию, то есть заводсткие.

ещё раз напомню что на других портах дисплей работает нормально.
Как по мне так кажется что всё дело во фьюзах.

И есть ли зависимость устанавливать фьюзы до прошивки или после.

Если дело во фьюзах покажите плз. на примере как они должны быть установлены.
Вложения
test.c
Исходник который выводит на экран текст.
(2.6 КБ) 546 скачиваний
podkluchenie.jpg
Скриншот из протеуса, там видно как я подключаю экранчик.
(67.65 КБ) 1040 скачиваний
Контактная информация:
Ответить

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