Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Atmega 16 + LCD WH1602C
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Motion
Схема:

Нажмите для просмотра прикрепленного файла


Взял здесь библиотеку и решил переделать под себя. Язык - ассемблер. МК - atmega16.

Поизучал datasheet на HD44780U. Вроде понял как в общем все должно быть.

Пока копаюсь в каждой строчке библиотеки и адаптирую под свое подключение.

Возникли вопросы:

1)Автор выкладывал библиотеку для LCD на 8 символов, 2 строки. У меня же 16х2. Подойдет ли мне его библиотека?

2)Не уверен какой у меня дисплей. Скорее всего WH1602C. В даташите указывают что контроллер у него ST 7066 или эквивалентный. В другом - KS 0066 или эквиваленьный. Это все полные аналоги HD44780?

3)И самое главное - совсем запутался с очередностью "ногодрыганья".

Для записи:

E в 1. Выдача команды/данных в порт. Задержка. E в 0.
Насколько я понимаю - контроллер HD44780 забирает данные по переходу сигнала E из 1 в 0.

Чтение:

А тут как-то непонятно - E в 1, пауза, считывание данных и лишь потом сброс E в 0. То есть HD44780 выдает свои данные (например флаг BF) сразу после поднятия E в 1 и задержки, а не по перепаду E из 1 в 0.

Хотя автор статьи пишет что все операции записи/чтения происходят по заднему фронту сигнала E.

А как действительно?

kovigor
Цитата(Motion @ Jun 11 2012, 14:56) *
Взял здесь библиотеку и решил переделать под себя. Язык - ассемблер. МК - atmega16.


Просто для информации. В комплект поставки CodeVision входит и нужная вам библиотека. Используйте ее и перепишите ваш проект на Си - сэкономите массу времени ...
Motion
Пока вот такой результат:

Нажмите для просмотра прикрепленного файла

Может для кого-то знакомая картинка и по ней можно сказать что не так.

Исходный код:
Нажмите для просмотра прикрепленного файла
-SANYCH-
Просмотрел бегло. Смутило то что у Вас постоянно происходит инициализация дисплея (причем без задержки). Индикатор даже не успеет что нить отобразить как уже очистится.
Genadi Zawidowski
сторожевая собака?
Motion
Цитата
Просмотрел бегло. Смутило то что у Вас постоянно происходит инициализация дисплея (причем без задержки). Индикатор даже не успеет что нить отобразить как уже очистится.


Вот блин, проблема как раз в этом и была. Спасибо!

Было так:

main:

инициализация
команды выдачи на экран
ещё что-то

rjmp main

cделал так:

инициализация
команды выдачи на экран

main:

ещё что-то

rjmp main


Результат

Нажмите для просмотра прикрепленного файла

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.