Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
Создание своих шрифтов для lcd
sever Дата: Вт, 10.06.2008, 15:54  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

кто занимался созданием и выводом своих символов для строчный lcd?
ЯНДЕКС Дата: 10.06.2008
demanik Дата: Вт, 10.06.2008, 20:58  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Я занимался, и занимаюсь. Но добавить можно одновременно только 8 штук. Или каждый раз подгружать нужные 8 штук.

Попробуй всё и вся... может быть пол...

sever Дата: Вт, 10.06.2008, 22:00  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

посидел поигрался, посмотрел примеры реализации.
вот такой код для примера переделал.

LCDOut $FE,64,REP $0\8 ' Load blank character (ascii $0)
lcdout $0,%00000,%00000,%00000,%00000,%00000,%00000,%11111
lcdout $0,%00000,%00000,%00000,%00000,%00000,%11111,%11111
lcdout $0,%00000,%00000,%00000,%00000,%11111,%11111,%11111
lcdout $0,%00000,%00000,%00000,%11111,%11111,%11111,%11111
lcdout $0,%00000,%00000,%11111,%11111,%11111,%11111,%11111
lcdout $0,%00000,%11111,%11111,%11111,%11111,%11111,%11111
lcdout $0,%11111,%11111,%11111,%11111,%11111,%11111,%11111
lcdout $0,%11111,%11111,%11111,%11111,%11111,%11111,%11111
лично для меня было открытием команды REP =)
с рисованием символов тоже получилось.
Из увиденого фрагмента, вышло что я записываю псевдошрифт в ОЗУ ЛСД, причем с 0 адресса, менять адреса не получалось.
пока что это так понимаю.
ладно, щас еще поиграюсь, вышло запустить одну нонеймовою 2х20 стеклянную lcd, с чипом на стекле, работает только по 8 битной шине.

evgenb Дата: Вт, 10.06.2008, 22:15  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 3   ±
Замечания:   ±
На сайте с 14.09.2007

Статус: Offline

sever
Посмотрите программу по этой ссылке.

http://slil.ru/25885872

Там можно создавать символы для LCD.

Может пригодится. smile

Сообщение отредактировал evgenb - Вт, 10.06.2008, 22:22
demanik Дата: Вт, 10.06.2008, 22:48  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

тут загружается сразу четыре символа в ячейки с0 по3
lcdout $FE,%01000000,%110,%1001,%1001,%110,%0,%0,%0,%0,$00,$04,$04,$0A,$0A,$11,$1F,$00,$00,$00,$00,$00,$00,$00,$1F,$1F,$12,$09,$04,$09,$12,$09,$1F, $1F

можно попробовать и так
lcdout $FE,%01000000+(8,16,24 и т д)
тоесть добавить смещение от 0 кратное 8, я правда так пробовал на протонбейсике работает.


Попробуй всё и вся... может быть пол...

sever Дата: Ср, 11.06.2008, 00:10  |                                                                                                                Сообщение # 6
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

demanik,
хм, вроде как пытаюсь разобраться, но первый твой код не осилил=) уж простите,
пока остановился на своем варианте.
кстати по поводу подгрузки шрифтов, почемуто пиксимулятор нормально все меняет.
а вот на железе- не хочет, как записал в начале туда шрифт, так и все.
вот рабочая визуальная програмка, смотрится довольно симпотично
бегущая волна
Прикрепления: 2948355.pbp (1.1 Kb)

Сообщение отредактировал sever - Ср, 11.06.2008, 00:17
holyuser Дата: Ср, 11.06.2008, 02:48  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 228
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

Вариант изображения псевдографики (гистограмма и аналоговая шкала) на строчном LCD -
дисплей для металлодетектора.

Режим "Bars":

Режим "Ladder":

Схема:

В конце программы, загрузка символов для двух режимов:

Прикрепления: BarDrawerV2.pbp (8.8 Kb)

Сообщение отредактировал holyuser - Ср, 11.06.2008, 23:43
demanik Дата: Ср, 11.06.2008, 19:00  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (sever)
но первый твой код не осилил=)

Здесь полный кусок:
'*******************************************************************************
@ device PIC16F876A, XT_osc, wdt_on, wrt_off, lvp_off, pwrt_on, protect_off
DEFINE OSC 4
Define LCD_DREG PORTB
Define LCD_DBIT 4
Define LCD_RSREG PORTB
Define LCD_RSBIT 0
Define LCD_EREG PORTB
Define LCD_EBIT 1
cmd con 254 ' Control byte
clr con 1 ' Clear the display
line1 con 128 ' Move cursor to home position on line 1
line2 con 192 ' Move cursor to home position on line 2

pause 100
lcdout cmd,clr
pause 50

gosub MyCharacters
lcdout cmd,line1,0,1,2,3,4,5,6,7

end

MyCharacters:'-----------загрузка символов в озу индикатора----------------------
lcdout cmd,64,$00,$00,$00,$00,$00,$00,$1F,$00 ' 0-символ
lcdout cmd,64+8,$00,$00,$00,$00,$00,$1F,$1F,$00 ' 1-символ
lcdout cmd,64+16,$00,$00,$00,$00,$1F,$1F,$1F,$00 ' 2-символ
lcdout cmd,64+24,$00,$00,$00,$1F,$1F,$1F,$1F,$00 ' 3-символ
lcdout cmd,64+32,$00,$00,$1F,$1F,$1F,$1F,$1F,$00 ' 4-символ
lcdout cmd,64+40,$00,$1F,$1F,$1F,$1F,$1F,$1F,$00 ' 5-символ
lcdout cmd,64+48,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$00 ' 6-символ
lcdout cmd,64+56,$1F,$1F,$1B,$1B,$1B,$1F,$1F,$00 ' 7-символ
return


Попробуй всё и вся... может быть пол...


Сообщение отредактировал demanik - Ср, 11.06.2008, 19:02
sever Дата: Ср, 11.06.2008, 23:21  |                                                                                                                Сообщение # 9
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

вот, теперь с этим кодом разобрался, все очень доходчиво.
даже поигрался сегодня вечером, написал демку с динамически изменяемой псевдографикой для нулевого символа в ОЗУ ЖКИ
и выводом его на дисплей.
кусочек, без установк дисплея
Quote
n var byte
dr var byte
l var byte
m var byte

lcdout cmd,clr
main
for m=0 to 19
for l=0 to 8
for n=0 to 5
gosub draw
gosub MyCharacters
lcdout cmd,line1,rep " "\m,0
pause 10
next n
next l
next m
goto main
end

MyCharacters:'-----------çàãðóçêà ñèìâîëîâ â îçó èíäèêàòîðà----------------------
lcdout cmd,64,$00,$00,$00,$00,$00,$00,$00,$00
lcdout cmd,64+l,dr
return

draw:
lookup n,[$01,$02,$04,$08,$10],dr
return

radist108 Дата: Чт, 11.02.2010, 16:36  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 49
Репутация: 0   ±
Замечания:   ±
На сайте с 07.01.2010

Статус: Offline

А можете по подробнее описать механизм вывода собственных комбинаций на LCD? Из чего состоит тело программы? какие команды и что означают? Как обращаться к памяти. Какие ограничения? Если можно, то на примете отображения однойки в произвольном месте ЖКИ.
Желательно разжевать все это как неграмотному. Думаю и другим будет интересно.


Да здравствует то, благодаря чему мы, несмотря ни на что…
Сообщение отредактировал radist108 - Чт, 11.02.2010, 18:53
  • Страница 1 из 1
  • 1
Поиск: