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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » дисплей Nokia-1202
дисплей Nokia-1202
anatol Дата: Вт, 17.09.2013, 19:30  |                                                                                                                Сообщение # 31
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

С успехом.
Код
ока не соображу, если мне надо расположить символ
Сначала заполняете картинкой "теневое" ОЗУ или загружаете в память файл шрифтов. Разумеется озу как такового нет, а массив сидит в памяти или рисуется по математике. Или производится изменение небольшой области. Это для картинок. Алфавит рисуется по отображаемому знакоместу, т.е. есть файл шрифта выполненный, к примеру, в формате 8х8. Это 8 байт на знак. Расположение байт в файле шрифтов как отображаются на экране. получается 8 х 12 знакомест.
Вывод первого знакоместа будет в 1 ,9,17,25,33,41,49,57 байте причем сами байты берутся с 1по 8 из знака файле шрифтов.
ЯНДЕКС Дата: 17.09.2013
доцент2 Дата: Вт, 17.09.2013, 21:47  |                                                                                                                Сообщение # 32
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

С картинками пока не работал, но принцип как и со шрифтами - можно хранить во внешнем EEPROM и считывать.
Мне непонятно вот что:
допустим мне нужно установить символ начиная с 38 столбика (010 0110), это значение надо распределить между Х1 и Х2,
причем в Х1 надо записать только 010, а в Х2 0110
Это конечно можно сделать считывая побайтно 010 0110 и записывать соответственно в Х1 и Х2, но может есть способ по проще?

Пока все работает только в протеусе причем на Nokia-1100 на макетке с Nokia-1202 работать не хочет (попробовал уже третий новый дисплей), в чем может быть ошибка?

Сообщение отредактировал доцент2 - Вт, 17.09.2013, 22:00
ivan_fd Дата: Вт, 17.09.2013, 22:22  |                                                                                                                Сообщение # 33
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Да ошибся, контроллер не тот, где то читал, что одинаковые, вот и попутал.

Давайте Ваш весь код, который пробуете.

А на счет позиции курсора, может это поможет.

Код
static void lcd_set_row(unsigned char row)
{
     lcd_write_byte(0xB0 | (row & 0x0F), 0); // Page address set
}

static void lcd_set_col(unsigned char col)
{
      lcd_write_byte(0x10 | (col>>4), 0); // Sets the DDRAM column address - upper 3-bit
      lcd_write_byte(0x00 | (col & 0x0F), 0); // lower 4-bit
}

Конкретно вот это

lcd_write_byte(0x10 | (col>>4), 0); // Sets the DDRAM column address - upper 3-bit 
lcd_write_byte(0x00 | (col & 0x0F), 0); // lower 4-bit 

Вам нужно.

Сообщение отредактировал ivan_fd - Вт, 17.09.2013, 22:25
доцент2 Дата: Пт, 20.09.2013, 18:46  |                                                                                                                Сообщение # 34
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

должно помочь с позицией.
пример кода в приложении и модель в протеусе с Nokia-1100 символ "А" почти в середине дисплея.

Добавлено (17.09.2013, 22:50)
---------------------------------------------
Цитата (ivan_fd)
lcd_write_byte(0x10 | (col>>4), 0); // Sets the DDRAM column address - upper 3-bit lcd_write_byte(0x00 | (col & 0x0F), 0); // lower 4-bit
помогло спасибо!
RES дисплея кинул на +3,3В и он заработал!!! УРА!! Огромное спасибо всем кто поучаствовал!!!
Завтра побалуюсь с настройками, наверное еще вопросы возникнут.

Добавлено (18.09.2013, 21:33)
---------------------------------------------
Вопросы возникли как и предполагал.
Разобрался с командой реверса изображения по вертикале
Dan=$C8: GoSub Data_LCD' Реверс изображения $CO-нормальное, $С8-реверс по вертикале, по умолчанию $С0
работает!
А вот реверс по горизонтале
Dan=$A0: GoSub Data_LCD' Реверс изображения $AO-нормальное, $A1-реверс по горизонтале, по умолчанию $A0    не работает ??????
Подскажите, может есть небольшая хитрость?
Видел в инете вывод графики на данном дисплее, но оно все на ассемблере или Си, можете подсказать как вывести например наклонную прямую с координатами Х1, У1 и Х2, У2     ?????

Добавлено (20.09.2013, 18:46)
---------------------------------------------
подскажите ??????

Сообщение отредактировал доцент2 - Пт, 20.09.2013, 18:44
Matrix252005 Дата: Пт, 20.09.2013, 21:44  |                                                                                                                Сообщение # 35
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!!!

Цитата (доцент2)
...можете подсказать как вывести например наклонную прямую с координатами Х1, У1 и Х2, У2     ?????

Если умеете вывести пиксель на экран, то дальше проблем нет... Вывести наклонную линию, так же как и простую линию, только изменяете обе координаты Х1 и У1:

Х1, У1 = 1 пиксель, Х1 + 1, У1 + 1 = другой пиксель... и так до Х2, У2


THE TRUTH IS OUT THERE.

С уважением, Николай.

Сообщение отредактировал Matrix252005 - Пт, 20.09.2013, 21:45
доцент2 Дата: Пт, 20.09.2013, 23:17  |                                                                                                                Сообщение # 36
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

С выводом пикселя проблема!
Передача идет из 8бит, т.е. допустим 00100000. А можно как-то задавать конкретную точку?
anatol Дата: Сб, 21.09.2013, 00:05  |                                                                                                                Сообщение # 37
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

YES! Ну вы молодец...
Этими дисплеями у меня стол завален... А доку почитать и извилинами пошевелить?
Насколько я увидел - контроллер не допускает чтения из видеоОЗУ. Соответственно необходимо хранить самому изменяемую часть.
Кроме того при записи байта, контроллер автоматом увеличивает адрес следующего байта. И для изменения надо вновь ввести адрес ОЗУ.
Короче читайте МУ-МУ - там все написано.
Для доки вот бесплатная читалка здесь http://helpx.adobe.com/ru/reader.html Продублировал. Позволяет выделить текст (в "правильно" созданных *.pdf) и перевести к примеру здесь http://o-db.ru/ru/translate.

Сообщение отредактировал anatol - Сб, 21.09.2013, 00:06
доцент2 Дата: Сб, 21.09.2013, 11:13  |                                                                                                                Сообщение # 38
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Читаю... на сколько позволяют знания, но абривиатура, сокращения и технические термины зачастую даются только с опытом! Переводилками пользуюсь, но их результат иногда можно Задорнову отправлять.
Поэтому и обращаюсь к более опытным!
Про наращивание адреса это все понятно, т.е. я могу задать грубо говоря координату по горизонтале. А вот по вертикале получается только по строчно (8 бит в каждой). 
Получается по вертикале задать конкретную точку не получиться?
доцент2 Дата: Сб, 21.09.2013, 14:01  |                                                                                                                Сообщение # 39
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Matrix25005
библиотека на 1100
Прикрепления: 1750083.rar (7.5 Kb)
ivan_fd Дата: Сб, 21.09.2013, 21:39  |                                                                                                                Сообщение # 40
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Посмотрите вот эту http://radiokot.ru/articles/29/ тему.
Там библиотека для 3310. В ней есть вывод линий кругов и т. д.
доцент2 Дата: Вт, 14.01.2014, 23:39  |                                                                                                                Сообщение # 41
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Спасибо за ссылку. Она к сожалению на Си - часть не понятна.
Попробую покрутить, может и разберусь.

Добавлено (26.09.2013, 00:17)
---------------------------------------------
Библиотека заработала.
Спасибо Matrix252005.

Добавлено (14.01.2014, 23:39)
---------------------------------------------
может кто сталкивался с такой проблемкой - не меняется контрастность дисплея Nokia-1202.
в соответствии с описанием контроллера, установка контрастности осуществляется после команды $Е1 в пределах $00...$FF (-127...127).
но по факту изменения уровня контрастности не происходит.
    Dan=$E2: GoSub Data_LCD' Reset
    Dan=$3D: GoSub Data_LCD' Charge pump
    Dan=$02: GoSub Data_LCD' Charge pump = 4 (default 5 is too hight for 3.0 volt)
    Dan=$E1: GoSub Data_LCD' индификатор команды для изменения контрасности дисплея
    Dan=$15: GoSub Data_LCD' from -127 to +127              ???????? контрасность не меняется

    Dan=$A4: GoSub Data_LCD' Display all points ON ($А4)/OFF($А5)
    Dan=$2F: GoSub Data_LCD' Power control set
    Dan=$A6: GoSub Data_LCD' Дисплей позитив $А6, негатив $А7, по умолчанию - позитив
    Dan=$C0: GoSub Data_LCD' Реверс изображения $CO-нормальное, $С8-реверс по вертикале, по умолчанию $С0
    Dan=$A1: GoSub Data_LCD' Реверс изображения $AO-нормальное, $A1-реверс по горизонтале, по умолчанию $A0         
    Dan=$AF: GoSub Data_LCD' Дисплей ON($AF)/OFF($AE)

дисплей не оригинал - может из-за этого?

ЯНДЕКС Дата: 14.01.2014
igor_slavuta Дата: Пт, 20.06.2014, 09:32  |                                                                                                                Сообщение # 42
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 24.06.2011

Статус: Offline

А можно взглянуть на листинг программы, а то что-то у меня в шпротах ничего не получается.
Сообщение отредактировал igor_slavuta - Пт, 20.06.2014, 09:34
доцент2 Дата: Пт, 20.06.2014, 20:12  |                                                                                                                Сообщение # 43
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Цитата igor_slavuta
А можно взглянуть на листинг программы, а то что-то у меня в шпротах ничего не получается.


Можно, вот маленький примерчик. Собирал измеритель пульса. Экран в протеусе вверх ногами, в железе нормально работает китаец.
Прикрепления: _12f675_Nokia-1.rar (69.9 Kb)

Сообщение отредактировал доцент2 - Пт, 20.06.2014, 20:13
igor_slavuta Дата: Вс, 29.06.2014, 10:56  |                                                                                                                Сообщение # 44
Группа: Проверенные
Ранг:  Новенький
Сообщений: 3
Репутация: 0   ±
Замечания:   ±
На сайте с 24.06.2011

Статус: Offline

Cпасибо.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » дисплей Nokia-1202
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: