реклама на сайте
подробности

 
 
> LCD HD44780, команды
aivs
сообщение Mar 31 2013, 05:46
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 114
Регистрация: 3-10-09
Пользователь №: 52 731



Разбираюсь с командами дисплея, пока каша в голове. Подскажите, мне нужно писать символы в одну ячейку, как выключить автоматический переход к следующей ячейки?
Сейчас я делаю так: пишу символ, затем возвращаюсь на одну ячейку назад, чтобы следующий символ опять в нее записать

Код
lcd_gotoxy(0, 0); // Перехожу к первой ячейки
lcd_dat('a'); // Записываю первый символ в первую ячейку
lcd_gotoxy(0, 0); // Перехожу к первой ячейки
lcd_dat('b'); // Записываю второй символ в первую ячейку


можно ли обойтись без lcd_gotoxy(0, 0); ?


И еще, если при записи символов заканчивается строка, мне нужно чтобы дисплей автоматически выводил символы на следующую строку, читал про shift, но пока не разобрался. Дисплей у меня 8x2.
Сейчас вручную перехожу на новую строку:
Код
lcd_gotoxy(0, 1); // Перехожу к первой ячейки второй строки
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
ARV
сообщение Apr 17 2013, 06:17
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



1. не ломая голову: чем не подходит вариант
Код
void put_char(char pos, char c){
   lcd_gotoxy(pos,0);
   lcd_dat(c);
}

2. скачайте библиотеку WinAVR для работы с дисплеем вот отсюда, там есть режим автоперевода строки.


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
aivs
сообщение Apr 17 2013, 08:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 114
Регистрация: 3-10-09
Пользователь №: 52 731



Это понятно, я именно так и делаю.
Думал, что есть специальная команда, чтобы позиция не изменялась. Хотел сэкономить пару микросекунд, чтобы не две команды выполнялось, а одну.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Apr 17 2013, 08:24
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(aivs @ Apr 17 2013, 11:09) *
Это понятно, я именно так и делаю.
Думал, что есть специальная команда, чтобы позиция не изменялась. Хотел сэкономить пару микросекунд, чтобы не две команды выполнялось, а одну.


Проверьте процедуру инициализации дисплея и загляните в документацию на ваш дисплей.
Возможно Вам помогут корректные настройки для какойто из двух команд "Entry Mode" и "Cursor or Display Shift".





Go to the top of the page
 
+Quote Post
Семин
сообщение Apr 17 2013, 08:57
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 27-04-12
Пользователь №: 71 608



Разве лучше было бы, если вместе с данными приходилось передавать команду "Переводить курсор или нет".
Постоянное переключение режима, наверное тоже не лучше чем автоперевод.
Перевод на следующую строку, только "вручную". Все команды контроллера нужно смотреть в его описании.
Если там нет - значит нет. А shift , он просто окошко сдвигает.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 08:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01341 секунд с 7
ELECTRONIX ©2004-2016