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

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

Сообщение sachok »

При включении питания на индикаторе видны заполненные прямоугольники первых 8 разрядов.

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

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

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

Сообщение xDevs »

Автор, код программы с инициализацией в студию :))
Будем исправлять ошибки
Аватара пользователя
sachok
Опытный кот
Сообщения: 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);
}
};
}
Schranz
Родился
Сообщения: 5
Зарегистрирован: Вс фев 15, 2009 20:02:38

Сообщение Schranz »

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

Сообщение kybertech »

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

Дисплей 16х2.

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

Сообщение smac »

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

Дисплей 16х2.

У меня уже истерики начинаются ))))))))))))))

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

Сообщение kybertech »

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

Дисплей 16х2.

У меня уже истерики начинаются ))))))))))))))

Не надо истерики, JTAG отключите и будет вам щщасте.


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

Сообщение smac »

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

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

Сообщение kybertech »

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

Я не знаю что-такое понипрог, но знаю что фьюз JTAGEN должен быть незапрограммирован т. е. согласно документации атмел - быть равен 1.



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


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

Сообщение dt_andrew »

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

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

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

Сообщение kybertech »

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

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

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



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

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

Сообщение dt_andrew »

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

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

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

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

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

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

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

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

Сообщение kybertech »

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

Сообщение dt_andrew »

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

Сообщение kybertech »

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



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

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

Сообщение dt_andrew »

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

Сообщение kybertech »

ага ОК
Последний раз редактировалось kybertech Пн мар 09, 2009 22:31:45, всего редактировалось 1 раз.
Аватара пользователя
kybertech
Нашел транзистор. Понюхал.
Сообщения: 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 КБ) 542 скачивания
podkluchenie.jpg
Скриншот из протеуса, там видно как я подключаю экранчик.
(67.65 КБ) 1035 скачиваний
Ответить

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