Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 06.10.2015, 17:55  
MoonLate
Частый гость
 
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
MoonLate на пути к лучшему
По умолчанию Работа с WG12232A

Здрасте. Такая тема вобщем.
Пробую на этот дисплей вывести чето. Получилось кароч нарисовать точки и полосочки. А че вот как дальше. Ну там текст написать рамочки нарисовать. Как то шрифты надо сделать.
На PIC16F628 покачто зацепил.
Еще Proteus как-то непонятно делает с диспллем этим. Реальный дисплей по дугому как то показывает. Не пойму как правильно.
Реклама:
MoonLate вне форума  
Непрочитано 06.10.2015, 18:04  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,637
Сказал спасибо: 73
Сказали Спасибо 1,796 раз(а) в 648 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Работа с WG12232A

Сообщение от MoonLate Посмотреть сообщение
А че вот как дальше. Ну там текст написать рамочки нарисовать. Как то шрифты надо сделать.
А в чём сложность? Рамочки и шрифты - это те же точки-полосочки, только сгруппированные нужным образом. Шрифты, например, можно готовые взять. Или даже самому в "Паинте" нарисовать, какие Вам надо, если интересно...
RECTO вне форума  
Непрочитано 06.10.2015, 18:15  
MoonLate
Частый гость
 
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
MoonLate на пути к лучшему
По умолчанию Re: Работа с WG12232A

Сложность в том, что не понимаю как это все организовать. А тут ещё в реальном дисплее отличается от того что Proteus дисплей показывает
MoonLate вне форума  
Непрочитано 06.10.2015, 18:34  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работа с WG12232A

Да, в протеусе эта моделька косячная - было дело, пробовал. Вроде и контроллер дисплея правильный, SED1520, вроде все делаешь как документация на контроллер говорит, а показывает в протеусе неправильно. Во-первых, перепутано направление развертки - ставишь на инккремент, а он начинает наоборот считать. И в документации указано, что после последнего адреса нет инкремента, а в протеусе - продолжается на следующей странице. Да и порядок страниц перепутан. Ну и не воспринимает команду указания номера колонки. Хотя в железе - всё отлично работает, без проблем. Я потыкался и плюнул - просто в железе стал пробовать.

Шрифты - это побайтный набор точек. Учитывая, что этот дисплей выводит горизонтально, то стандартный шрифт 7х5 точек будет занимать 5 байт для одного символа. Байт расположен вертикально, младший бит вверху. Ну и горизонтально 5 байт последовательно - вот и будет буква или цифра. Минимальный комплект символов - около 128. Например по аналогии с WH1602, убрав из него лишние. Итого, 128 символов х5 байт = 640 байт. Вот их и храним в памяти программ МК в виде таблицы. И когда нужно вывести букву, вызываем последовательно 5 байт символа и отправляем в дисплей. Предварительно выставляем координату X начала текста, ну и номер страницы, в данном случае он будет номером строчки. Между буквами вставляем один пустой байт промежутка.

Правда, на таком дисплее текст 7х5 будет выглядеть мелким.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
MoonLate (06.10.2015)
Непрочитано 06.10.2015, 18:53  
RECTO
Супер-модератор
 
Регистрация: 09.06.2011
Сообщений: 2,637
Сказал спасибо: 73
Сказали Спасибо 1,796 раз(а) в 648 сообщении(ях)
RECTO на пути к лучшему
По умолчанию Re: Работа с WG12232A

Сообщение от MoonLate Посмотреть сообщение
Сложность в том, что не понимаю как это все организовать.
Для 628-го "пика" единственный, пожалуй, способ - это хранить шрифт в массиве из последовательных команд табличной адресации "retlw XX". Когда нужно вывести символ - вычисляете смещение этого символа в таблице, умножив код символа на 5. Далее, зная смещение, 5 раз обращаетесь к таблице и извлекаете из нее байты, хранящие изображение символа и выводите их на дисплей. Шестым байтом выводите значение 0 - промежуток между символами в 1 пиксель. Таким примерно образом...
RECTO вне форума  
Сказали "Спасибо" RECTO
MoonLate (06.10.2015)
Непрочитано 06.10.2015, 19:03  
MoonLate
Частый гость
 
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
MoonLate на пути к лучшему
По умолчанию Re: Работа с WG12232A

Спасибо за оперативные ответы!
628 пик я взял для простых тестов, чтобы ничего в нем не мешалось.
Теперь ясно почему в Протеусе все наоборот. А я думал что я неправильно делаю.
Буду пробовать с retlw.
MoonLate вне форума  
Непрочитано 07.10.2015, 09:32  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работа с WG12232A

Лучше уж взять сразу МК помощнее, а то с этим 628-м очень быстро наступит затык - тупо не хватит памяти.
NewWriter вне форума  
Непрочитано 08.10.2015, 21:48  
MoonLate
Частый гость
 
Регистрация: 06.10.2015
Сообщений: 15
Сказал спасибо: 14
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
MoonLate на пути к лучшему
По умолчанию Re: Работа с WG12232A

Вот какие дела заметил. Запускаю дисплей а на нем после включения горят почти все точки. Сброс не помогает ни командой ни ножкой. Как бы ни сбрасывал все равно почти все пиксели светятся.
Со шрифтами получилось. Выводятся. Но в дисплее 2 чипа и их надо переключать.
MoonLate вне форума  
Непрочитано 08.10.2015, 22:23  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работа с WG12232A

Так команды сброса в этом дисплее не очищают видеопамять то, как у алфавитно-цифровых. Аппаратный сброс используется для переключения типа интерфейса (8080 или 6800). Программный сброс только выставляет начальные значения, но тоже не очищает видеопамять. Пиксели светятся потому, что видеопамять не очищена.
В протеусе этого не наблюдается, а в железе - да.
Поэтому, сразу после включения дисплея и программного сброса, нужно начать процедуру программной очистки видеопамяти - то есть простая запись 00 побайтно во все адреса видеопамяти. Для ускорения процедуры можно обращаться сразу к двум чипам одновременно.
Вначале выставляем в обеих чипах начальную колонку и начальную страницу. колонка 0, страница 0, инкремент адресов.
Далее, заносим 0х00 последовательно колонки с 0 по 60 (всего 61 колонка). Затем переключаем страницу на следующую, снова выставляем колонку 0 и повторяем до 60 колонки. Одновременно в двух чипах.
И так до конца дисплея, то есть, до страницы 3, колонки 60.

По поводу переключения чипов. Нужно написать подпрограмму вывода, которая будет преобразовывать координату X в номер чипа и номер колонки. То есть, если координата X‹61, то работа с первым чипом, а если X›=61, то работа со вторым чипом, и вдобавок, вычитание X-61, чтобы номер колонки был правильный.
Это для случая, когда установлена инкрементальная развертка слева направо.
Координата Y отсчитывается сверху вниз. Верх у дисплея там, где контакты.
Поскольку вертикально дисплей разбит на 4 страницы по 8 пикселей, то и страницы тоже нужно переключать командой установки страницы. Страницы идут так же сверху вниз.
Координата Y должна преобразовываться в номер страницы и смещение от начала страницы. Делается это простым делением на 8 с остатком.

В чисто текстовом режиме со шрифтом 7х5 точек в дисплей помещается 4 строчки по 20 символов.
Если высота шрифта более 8 пикселей, то строчка шрифта будет захватывать две страницы и отрисовывать придется постоянно переключая страницы.
Ну и если строчка текста идет между страниц, так же придется отрисовывать в двух страницах.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
MoonLate (09.10.2015)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напряжённая работа Roshens Отвлекитесь, эмбеддеры! 8 01.09.2010 23:08


Часовой пояс GMT +4, время: 04:04.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot