Помощь с ЖК-интерфейса микроконтроллера

S

scs83

Guest
Привет,

Я действительно нуждался в помощи здесь.В настоящее время я делаю научный калькулятор проекта и я, имеющих некоторые проблемы взаимодействия с микроконтроллера.У меня есть исходный код ссылки на данном веб-сайте http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s1999/sam/LCD.ASM

Она использует два 16X1 ЖК, но я хотел бы использовать только один 16x2 LCD.Может кто поможет мне с этим?Я очень плохо с программированием, как я новое.

Спасибо.

 
Я не знаю, что микроконтроллер вы используете, но от комментариев кажется дисплее контроллера вы используете это "Хитачи" HD44780.
Если это верно, то использовать второй строке нужно просто установить адрес следующего символа, который будет отображаться на 40H, который в начале второй строки.

Еще одна вещь, которую стоит помнить, что это HD44780 используется с другими типами дисплеев, таких, как 20x2 или 24x2.Но в первой строке всегда начинается в день памяти адрес 00h, а второй на 40H.

Чип имеет больше ячеек памяти (40x2), чем
в большинстве LCD иметь символы, так что вы видеть только первые 16, 20 или 24,
и т.д. символы в начале каждой строки.Остальные места могут быть использованы в качестве общего назначения RAM.

Заметим также, что в конце первой строки и в начале второй не являются последовательными.

Я надеюсь, что это помогает.Else, пожалуйста, поставить точный чип типа вы используете.

 
Привет VVV,

Я использую микроконтроллер Atmel 8515 и Hitachi LCD HD44780.В настоящее время я делаю проект, основанный на том, что веб-сайт в мой первый пост.Я планировал использовать один 16x2 LCD, но я не знаю, как изменить LCD интерфейс программы, как веб-сайт использует два 16X1 LCD.

Во всяком случае, спасибо за вашу помощь.

 
Привет,
посмотрите на Mazidi книгиКод:

8051 микроконтроллеров и встраиваемых систем
 
Затем он HD44870 как я подозреваемых.
В этом случае все, что вам нужно сделать, чтобы перейти к началу второй линии отправить команду для установки адреса 40H.В остальном этот код без изменений.

 
Привет учетом этого, как до.В части 2 Есть пример 16x2 LCD с 16f84.
Извините, но вам необходимо войти в аккаунт это вложение

 
ЖК-соединение должно же с программой декларации.

Существует два способа подключения к жидкокристаллическим:

1.IO связи.D0 .. D7, РС, WR, Е связан с МО от микроконтроллера.
2.Память связи.На дисплее отображается на карте памяти микроконтроллера.

THX

 
Привет, scs83,

Я забыл одну вещь: вы также должны сообщить HD44780 при инициализации последовательности (lcdinit обычных),
которое Есть 2 строки на экране.
Вот модификации исходного кода:
================================================
; Наконец,

, На данный момент,
то обычные 4 проводам обычной команды могут быть использованы

; ЛДИ wreg, 0b00100000; функция установить, 4 провода, 1 линия, 5x7 шрифта
Я отметил в предыдущей строке, которая сейчас выглядит так:

ЛДИ wreg, 0b00101000

rcall lcdcmd
================================================

Все остальное останется прежним.И, как я уже говорил ранее, когда вы захотите перейти на второй строке необходимо сначала установить DD RAM адрес 40H.Это можно сделать следующим образом:

ЛДИ wreg, 0b11000000
rcall lcdcmd

Одна вещь я заметил по поводу этой программы заключается в том, что идентификатор не использует приравнивает.Это делает изменения действительно неудобно, потому что если тот же константа используется в нескольких местах, и вы хотите изменить его, то вам придется вручную chage во всех точках.Если вы забыли одном месте, вы можете получить ошибку.Она не может быть ovious сразу, но она появится в конце концов.
Таким образом, принять мой совет:
используйте приравнивает.Например:
LCD_FSET EQU 0b00101000; LCD функцию набора команд
CRLF_CMD EQU 0b11000000; НРС CR LF команды (возврат каретки перевод строки, за отсутствием более точного определения,
ведь это то, что команда делает, он возвращает курсор в начало второй строки)

При этом изменения в код будет следующим:

ЛДИ wreg, LCD_FSET; установить ЖК функции по 4 провода интерфейса, 2 линии, 5x7 символ.

Чтобы начать размещение на второй линии,
можно код:

ЛДИ wreg, CRLF_CMD; отправить команду CRLF
rcall lcdcmd;

Сейчас это более читабельным, слишком, даже без комментариев.Если вы обнаружите, что вы сделали ошибку, когда Вы определили CRLF (или другой постоянный), все, что вам нужно сделать, это изменить EQU линии и собрать программу.Сборщик сделаем замены для Вас во всех местах, не пропускает.

И еще один момент: по всей видимости, эта программа использует много жестких кодированная констант,
в том числе количество символов в строке, которая означает, что вы, возможно, потребуется изменить, что, тоже.Использование EQU's.

Извините за такой длительный ответ.Я подумал, что это может помочь.
Позвольте мне знать, если у вас с этим успехом.

 
Привет VVV,

Спасибо за ответ, но, к сожалению, я наклоняю попробовать это прямо сейчас, потому что я сейчас в отпуске.Я, вероятно, проверить код перед Новым Годом.Вы можете проверить, мне код, когда я закончил его редактировать?

Спасибо

 
Я думаю, что лучшим считаю общение с ЖК-дисплея с 6pin (4data / включения / РС) другой вам не волнует ........

 
Привет, scs83,

Я никогда не использовал этот микро-до, но я уверен, можно взглянуть на код.

 
Привет,

Я должен прояснить то.На этом веб-сайте http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s1999/sam/, мне нужно знать схема этого проекта.Я уже подключено LCDs и клавиатуры для микроконтроллеров.Я также связывал кварцевый генератор.Есть что-то я упустил из?Может ли кто-нибудь мне помочь?

Спасибо

 
Вы также можете подключить сбросить цепи ...
попытаться принять окончательный проект в качестве эталона, Есть много проектов в Интернете по поводу подключения 2-лайн LCD на контроллере Atmel.Посмотрите, например, в http://www.avrprojects.net/lcd_interface.htm
Она должна быть preety легко адаптировать рабочий дизайн ...

 

Welcome to EDABoard.com

Sponsor

Back
Top