пересчет изображения на графическом ЖК индикаторе

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Фактически так.
Нарисуйте фрагмент экрана из моего рисунка в начале темы.
И впишите в него любую букву по точкам вертикально.
Вы увидите, что буква займет не полные байты а их части.
Но одну букву положим можно и так вывести, но как выводить регулярный текст с произвольным расположением вертикальных строк по ширине экрана?
Покажите расчет адресов.
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

Ну вот я накропал в экселе:
Изображение
Если места символов (по вертикали) постоянны, то я предлагаю каждый символ "железно" разбивать на 2 группы байт (верхняя и нижняя), и потом делать их лог. ИЛИ с содержанием буфера.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

А следующий символ будет сдвинут относительно границы байтных строк дисплея на 2 пиксела, поскольку размер символа 6, а не 8.
Получается, что границы плывут....
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):Получается, что границы плывут....
Это я и имел в виду под "выводить железно", т.е. отдельно процедура для первого байта (сдвиг и разбиение на условно 3+5), отдельно для второго (5+1), третьего (6+0) и т.д. Там ведь их меньше 10 помещается.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Лучше, если место по вертикали не фиксировано. Текст может иметь разные пробелы или вставки пиктограмм, что ведет к подвижности границ знакоместа внутри занимаемых 16 байт. Именно 16-ти, поскольку 8 из верхней байтной строки и 8 из нижней.
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Получилось, господа!!!
Любой текст, включая пиктограммы, поперек... :)

Изображение
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Довольно компактный код пересчета буферной строки 8*64 в любую вертикальную колонку тех же габаритов в общем буфере:

Код: Выделить всё

; вывод из буфера строки в общий буфер (W0 = номер выводимого канала; W2 = номер строки вывода)
out_row:
		mul.uu		W0, # 26, W0			; шаг между каналами
		mul.uu		W2, # 11, W2			; шаг между строками канала
		add		W0, W2, W0
		add		# 6, W0				; смещение от края экрана
		mov		# buf_displ, W1
		add		W0, W1, W1			; абсолютный адрес нижней первой точки строки
		mov		# buf_row, W2
		mov		# 8, W4				; счетчик строк общего буфера
looprow:	mov		# 8, W3				; счетчик колонок общего буфера
loopbyteout:	do		# 7, eobytein
			bclr		SR, # C
			rlc.b		[W2], [W2]
			rrc.b		[W1], [W1]
eobytein:		inc		W2, W2
		inc		W1, W1
		sub		# 8, W2
		dec		W3, W3
		bra		NZ, loopbyteout
		add		# 124, W1
		add		# 8, W2
		dec		W4, W4
		bra		NZ, looprow
		return
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение pyzhman »

таки пересчет. :beer:
Docendo discimus
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Только это не пересчет указателей.
Сами данные переписываются в основной буфер с поворотом.
Отражение точек происходит в бите переноса.
Ответить

Вернуться в «Умные мысли»