Страница 1 из 2

lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 13:17:31
Payalnick
Здравствуйте.

А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?

Помогите.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 13:34:22
Сериг
Payalnick писал(а):Здравствуйте.

А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?

Помогите.
Помощью чего?начем?где?когда?как?
Тему можно закрыть получается...

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 14:36:22
Arlleex
Payalnick писал(а):Здравствуйте.

А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?

Помогите.
Я так понял LCD Winstar WH1602? Там все просто - команды для сдвига содержимого экрана влево/вправо определяются флагами SC и RL в команде 0001 SC RL xx, где SC=0/1 - сдвиг курсора/дисплея соответственно, а RL=0/1 - сдвиг влево/вправо соответственно.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 15:27:39
Payalnick
Arlleex писал(а):
Payalnick писал(а):Здравствуйте.

А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?

Помогите.
Я так понял LCD Winstar WH1602? Там все просто - команды для сдвига содержимого экрана влево/вправо определяются флагами SC и RL в команде 0001 SC RL xx, где SC=0/1 - сдвиг курсора/дисплея соответственно, а RL=0/1 - сдвиг влево/вправо соответственно.
Да, именно он. А можно примерный код на си, а то ваш текст прям по даташиту(если не ошибаюсь).

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 19:54:34
Payalnick
Сериг писал(а):
Payalnick писал(а):Здравствуйте.

А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?

Помогите.
Помощью чего?начем?где?когда?как?
Тему можно закрыть получается...
МК atmega8, экран LCD Winstar WH1602, среда программирования - CodeVisionAVR.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 20:59:29
Сериг
Payalnick писал(а):
Сериг писал(а): Помощью чего?начем?где?когда?как?
Тему можно закрыть получается...
МК atmega8, экран LCD Winstar WH1602, среда программирования - CodeVisionAVR.
Ну так бы и сказали :beer:
Вам что как и куда смещать надо?помогу.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 21:29:05
Payalnick
Мне чисто для ознакомления нужно. Ну чтоб знать как это делать. Если напишите код, буду благодарен)

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:06:50
Сериг
Прошу,мне не жалко #include <mega8.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x12; PORTD /* ЖКИ дисплей подключили к порту I/O D*/
#endasm
 
void main(void)    /* Основная функция "main", с которой начинается выполнение всей программой процедуры */
{
lcd_init(16); /* инициализация на 16 символов */
lcd_clear();        /* очистка дисплея */
lcd_gotoxy(4,0);        /* верхняя строка, 4 позиция */
lcd_putsf("LCD 16x02");/* выводим надпись в указанных координатах */
lcd_gotoxy(0,1);      /* нижняя строка, 0 позиция */
lcd_putsf("CodeVision1.25.3");
while(1){};         /* бесконечный цикл */

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:16:35
Payalnick
Сериг писал(а):Прошу,мне не жалко #include <mega8.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x12; PORTD /* ЖКИ дисплей подключили к порту I/O D*/
#endasm
 
void main(void)    /* Основная функция "main", с которой начинается выполнение всей программой процедуры */
{
lcd_init(16); /* инициализация на 16 символов */
lcd_clear();        /* очистка дисплея */
lcd_gotoxy(4,0);        /* верхняя строка, 4 позиция */
lcd_putsf("LCD 16x02");/* выводим надпись в указанных координатах */
lcd_gotoxy(0,1);      /* нижняя строка, 0 позиция */
lcd_putsf("CodeVision1.25.3");
while(1){};         /* бесконечный цикл */
ТакЭ а где движение строки или экрана? Это то я и сам написать могу)

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:36:30
Сериг
Payalnick писал(а):
Сериг писал(а):Прошу,мне не жалко #include <mega8.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x12; PORTD /* ЖКИ дисплей подключили к порту I/O D*/
#endasm
 
void main(void)    /* Основная функция "main", с которой начинается выполнение всей программой процедуры */
{
lcd_init(16); /* инициализация на 16 символов */
lcd_clear();        /* очистка дисплея */
lcd_gotoxy(4,0);        /* верхняя строка, 4 позиция */
lcd_putsf("LCD 16x02");/* выводим надпись в указанных координатах */
lcd_gotoxy(0,1);      /* нижняя строка, 0 позиция */
lcd_putsf("CodeVision1.25.3");
while(1){};         /* бесконечный цикл */
Это то я и сам написать могу)
Блин текст напиши и двигай его перемещая точки координат с той задержкой с которой тебе надо. После лсд готохи идут те самые координаты.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:42:46
Payalnick
Сериг писал(а):
Payalnick писал(а): Это то я и сам написать могу)
Блин текст напиши и двигай его перемещая точки координат с той задержкой с которой тебе надо. После лсд готохи идут те самые координаты.
Пробовал же, придется каждый раз очищать экран, а это заставит его мигать(или у меня кривой экран? при команде lcd_clear(); он немного мигнет). Так что тут нужно двигать экран, используя RL или SC флаги, а как это делать, я не знаю. Еще слышал от знакомого такую штуку, что в память можно записать длинный текст, а потом его с помощью движения экрана(или строки) показывать на lcd. Вот.

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:50:55
Мастер Ломастер
почитайте это и это

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:53:03
Payalnick
Мастер Ломастер писал(а):почитайте это и это
Вот за это огромнейшее спасибо) А чего сразу то не зашел и скинул ссылочку?

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 22:57:42
Мастер Ломастер
Payalnick писал(а):А чего сразу то не зашел и скинул ссылочку?
простите великодушно, виноват... с этой минуты буду не спать, не есть, в туалет не ходить - только сидеть на форуме и мгновенно отвечать на ваши вопросы

Re: lcd 16x2, передвижение строки.

Добавлено: Сб янв 07, 2012 23:00:45
Payalnick
Мастер Ломастер писал(а):
Payalnick писал(а):А чего сразу то не зашел и скинул ссылочку?
простите великодушно, виноват... с этой минуты буду не спать, не есть, в туалет не ходить - только сидеть на форуме и мгновенно отвечать на ваши вопросы
Уряяя!

Re: lcd 16x2, передвижение строки.

Добавлено: Вс янв 08, 2012 11:20:07
Сериг
Наверно кривой,впригцапи можно не стирать,у меня работает :)

Re: lcd 16x2, передвижение строки.

Добавлено: Вс янв 08, 2012 19:18:24
Payalnick
Данный дисплей состоит из двух строк по 16 прямоугольникв. Каждый прямоугольник состоит из матрицы кубиков(не знал как назвать) 5х8, так вот, как в этой матрице зажечь/высветить один маленький квадратик?

Re: lcd 16x2, передвижение строки.

Добавлено: Вс янв 08, 2012 19:22:05
Мастер Ломастер
Payalnick писал(а):Данный дисплей состоит из двух строк по 16 прямоугольникв. Каждый прямоугольник состоит из матрицы кубиков(не знал как назвать) 5х8, так вот, как в этой матрице зажечь/высветить один маленький квадратик?
задать пользовательский символ с нужным вам квадратиком и вывести его в нужную позицию.

Re: lcd 16x2, передвижение строки.

Добавлено: Вс янв 08, 2012 19:25:16
Payalnick
Мастер Ломастер писал(а):
Payalnick писал(а):Данный дисплей состоит из двух строк по 16 прямоугольникв. Каждый прямоугольник состоит из матрицы кубиков(не знал как назвать) 5х8, так вот, как в этой матрице зажечь/высветить один маленький квадратик?
задать пользовательский символ с нужным вам квадратиком и вывести его в нужную позицию.
Таки подскажите нубу как это сделать.

Re: lcd 16x2, передвижение строки.

Добавлено: Вс янв 08, 2012 19:26:47
Мастер Ломастер
Payalnick писал(а):Таки подскажите нубу как это сделать.
я вам давал ссылки - одна из них ведет к исходнику, при помощи которого вообще можно "рисовать" на дисплее любую графику
что еще вам надо?