| Создание своих шрифтов для lcd | 
|  | 
| 
 
 
 
 | sever | Дата: Вт, 10.06.2008, 15:54  |                                                                                                                Сообщение # 1 |  
 |   
 
 
 
 
  Группа:
  Пользователи
 
  Ранг: 
 
 Начал соображать
 
  
 Сообщений: 
 
 
 35
 
 
 Замечания: ± На сайте с 15.04.2008
 
 
 Статус: 
 Offline
 
 | кто занимался созданием и выводом своих символов для строчный lcd? |  
 |  |  |  | 
| 
 
 
 
 | demanik | Дата: Вт, 10.06.2008, 20:58  |                                                                                                                Сообщение # 2 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 448
 
 
 Замечания: ± На сайте с 11.12.2007
 
 
 Статус: 
 Offline
 
 | Я занимался, и занимаюсь. Но добавить можно одновременно только 8 штук. Или каждый раз подгружать нужные 8 штук. 
 Попробуй всё и вся... может быть пол...
 
 
   |  
 |  |  |  | 
| 
 
 
 
 | sever | Дата: Вт, 10.06.2008, 22:00  |                                                                                                                Сообщение # 3 |  
 |   
 
 
 
 
  Группа:
  Пользователи
 
  Ранг: 
 
 Начал соображать
 
  
 Сообщений: 
 
 
 35
 
 
 Замечания: ± На сайте с 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
 
 
 Замечания: ± На сайте с 14.09.2007
 
 
 Статус: 
 Offline
 
 | sever Посмотрите программу по этой ссылке.
  http://slil.ru/25885872   Там можно создавать символы для LCD.   Может пригодится.  
 Сообщение отредактировал 
 
 evgenb - Вт, 10.06.2008, 22:22
 
  |  
 |  |  |  | 
| 
 
 
 
 | demanik | Дата: Вт, 10.06.2008, 22:48  |                                                                                                                Сообщение # 5 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 448
 
 
 Замечания: ± На сайте с 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
 
 
 Замечания: ± На сайте с 15.04.2008
 
 
 Статус: 
 Offline
 
 | demanik, хм, вроде как пытаюсь разобраться, но первый твой код не осилил=) уж простите,
 пока остановился на своем варианте.
 кстати по поводу подгрузки шрифтов, почемуто пиксимулятор нормально все меняет.
 а вот на железе- не хочет, как записал в начале туда шрифт, так и все.
 вот рабочая визуальная програмка, смотрится довольно симпотично
 бегущая волна
 
 Сообщение отредактировал 
 
 sever - Ср, 11.06.2008, 00:17
 
  |  
 |  |  |  | 
| 
 
 
 
 | holyuser | Дата: Ср, 11.06.2008, 02:48  |                                                                                                                Сообщение # 7 |  
 | ![holyuser]()  
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Могу и подсказать
 
  
 Сообщений: 
 
 
 228
 
 
 Замечания: ± На сайте с 12.12.2007
 
 
 Статус: 
 Offline
 
 | Вариант изображения псевдографики (гистограмма и аналоговая шкала) на строчном LCD - дисплей для металлодетектора.
  Режим "Bars": 
    Режим "Ladder": 
    Схема: 
    В конце программы, загрузка символов для двух режимов: 
 Сообщение отредактировал 
 
 holyuser - Ср, 11.06.2008, 23:43
 
  |  
 |  |  |  | 
| 
 
 
 
 | demanik | Дата: Ср, 11.06.2008, 19:00  |                                                                                                                Сообщение # 8 |  
 |   
 
 
 
 
  Группа:
  Проверенные
 
  Ранг: 
 
 Помогаю всем
 
  
 Сообщений: 
 
 
 448
 
 
 Замечания: ± На сайте с 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
 
 
 Замечания: ± На сайте с 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
 
 
 Замечания: ± На сайте с 07.01.2010
 
 
 Статус: 
 Offline
 
 | А можете по подробнее описать механизм вывода собственных комбинаций на LCD? Из чего состоит тело программы? какие команды и что означают? Как обращаться к памяти. Какие ограничения? Если можно, то на примете отображения однойки в произвольном месте ЖКИ. Желательно разжевать все это как неграмотному. Думаю и другим будет интересно.
 
 Да здравствует то, благодаря чему мы, несмотря ни на что…
 
 Сообщение отредактировал 
 
 radist108 - Чт, 11.02.2010, 18:53
 
  |  
 |  |  |  |