А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?
Помогите.
Помощью чего?начем?где?когда?как?Payalnick писал(а):Здравствуйте.
А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?
Помогите.
Я так понял LCD Winstar WH1602? Там все просто - команды для сдвига содержимого экрана влево/вправо определяются флагами SC и RL в команде 0001 SC RL xx, где SC=0/1 - сдвиг курсора/дисплея соответственно, а RL=0/1 - сдвиг влево/вправо соответственно.Payalnick писал(а):Здравствуйте.
А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?
Помогите.
Да, именно он. А можно примерный код на си, а то ваш текст прям по даташиту(если не ошибаюсь).Arlleex писал(а):Я так понял LCD Winstar WH1602? Там все просто - команды для сдвига содержимого экрана влево/вправо определяются флагами SC и RL в команде 0001 SC RL xx, где SC=0/1 - сдвиг курсора/дисплея соответственно, а RL=0/1 - сдвиг влево/вправо соответственно.Payalnick писал(а):Здравствуйте.
А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?
Помогите.
МК atmega8, экран LCD Winstar WH1602, среда программирования - CodeVisionAVR.Сериг писал(а):Помощью чего?начем?где?когда?как?Payalnick писал(а):Здравствуйте.
А как можно на lcd16x2 двигать текст(строку) влево и вправо? Библиотека нужна какая-то особая?
Помогите.
Тему можно закрыть получается...
Ну так бы и сказалиPayalnick писал(а):МК atmega8, экран LCD Winstar WH1602, среда программирования - CodeVisionAVR.Сериг писал(а): Помощью чего?начем?где?когда?как?
Тему можно закрыть получается...
ТакЭ а где движение строки или экрана? Это то я и сам написать могу)Сериг писал(а):Прошу,мне не жалко #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){}; /* бесконечный цикл */
Блин текст напиши и двигай его перемещая точки координат с той задержкой с которой тебе надо. После лсд готохи идут те самые координаты.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){}; /* бесконечный цикл */
Пробовал же, придется каждый раз очищать экран, а это заставит его мигать(или у меня кривой экран? при команде lcd_clear(); он немного мигнет). Так что тут нужно двигать экран, используя RL или SC флаги, а как это делать, я не знаю. Еще слышал от знакомого такую штуку, что в память можно записать длинный текст, а потом его с помощью движения экрана(или строки) показывать на lcd. Вот.Сериг писал(а):Блин текст напиши и двигай его перемещая точки координат с той задержкой с которой тебе надо. После лсд готохи идут те самые координаты.Payalnick писал(а): Это то я и сам написать могу)
Вот за это огромнейшее спасибо) А чего сразу то не зашел и скинул ссылочку?
простите великодушно, виноват... с этой минуты буду не спать, не есть, в туалет не ходить - только сидеть на форуме и мгновенно отвечать на ваши вопросыPayalnick писал(а):А чего сразу то не зашел и скинул ссылочку?
Уряяя!Мастер Ломастер писал(а):простите великодушно, виноват... с этой минуты буду не спать, не есть, в туалет не ходить - только сидеть на форуме и мгновенно отвечать на ваши вопросыPayalnick писал(а):А чего сразу то не зашел и скинул ссылочку?
задать пользовательский символ с нужным вам квадратиком и вывести его в нужную позицию.Payalnick писал(а):Данный дисплей состоит из двух строк по 16 прямоугольникв. Каждый прямоугольник состоит из матрицы кубиков(не знал как назвать) 5х8, так вот, как в этой матрице зажечь/высветить один маленький квадратик?
Таки подскажите нубу как это сделать.Мастер Ломастер писал(а):задать пользовательский символ с нужным вам квадратиком и вывести его в нужную позицию.Payalnick писал(а):Данный дисплей состоит из двух строк по 16 прямоугольникв. Каждый прямоугольник состоит из матрицы кубиков(не знал как назвать) 5х8, так вот, как в этой матрице зажечь/высветить один маленький квадратик?
я вам давал ссылки - одна из них ведет к исходнику, при помощи которого вообще можно "рисовать" на дисплее любую графикуPayalnick писал(а):Таки подскажите нубу как это сделать.