pic12f629+Nokia-3110
|
|
доцент2 |
Дата: Вс, 29.07.2012, 12:38 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Для того чтобы разобраться в работе с дисплеем хочу просто вевести на него один символ с заданной позицией. На пробу написал небольшую програмку для общения с дисплеем от Nokia-3110. К сожалению в протеусе ни чего не происходит, наверное в программе что-то упустил. Подскажите где я не прав.
|
|
|
|
ivan_fd |
Дата: Вс, 29.07.2012, 16:41 | Сообщение # 2 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Во первых не 3110 а 3310.
All_Digital = 1 !!!!!
Lcd_GotoXY: Low Lcd_DC ' запись в управляющие регистры 0, в память 1 Lcd_Data=%01000000 | PosY :GoSub Lcd_SentByte 'Y Lcd_Data=%10000000 | PosX :GoSub Lcd_SentByte 'X High Lcd_DC Return
|
|
|
|
доцент2 |
Дата: Вс, 29.07.2012, 17:15 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Спасибо, помогло! Еще один вопрос: допустим у меня есть переменная со значением "4", как мне выдернуть из Data нужный код и записать его в строчку SHOut Lcd_SDA , Lcd_CLK , MsbFirst, [ $хх,$хх,$хх,$хх,$хх,$хх ] (код для каждого символа добавлен в исходник).
|
|
|
|
ivan_fd |
Дата: Вс, 29.07.2012, 17:36 | Сообщение # 4 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Dim FontCache[6] As Byte Dim LcdStr[21] As Byte
Str LcdStr="4",0 Lcd_Data = LcdStr[0]
j=Lcd_Data * 6
For i=0 To 5 Lcd_Data=CRead font1+j+i FontCache[i]=Lcd_Data Next High Lcd_DC SHOut Lcd_SDA , Lcd_CLK , msbfirst, [ FontCache[0],FontCache[1],FontCache[2],FontCache[3],FontCache[4],FontCache[5] ] Return
|
|
|
|
доцент2 |
Дата: Вс, 29.07.2012, 20:45 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
вставил в програму данный блок, но компилятор стал ругатся. пришлось отправить, для пробы, часть Data в начало и немного изменить предлагаемый блок под 8-ми битный мк. на дисплее крякозябра. пошаговый просмотр в протеусе показал, что при обработке цикла i (у меня k) идет обращение к подпрограмме вывода инфы на дисплей.
|
|
|
|
ivan_fd |
Дата: Вс, 29.07.2012, 21:41 | Сообщение # 6 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Restore j+k
|
|
|
|
доцент2 |
Дата: Вс, 29.07.2012, 22:17 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
спасибо! сделал на LRead8 и LData. подскажите, если нужен символ размером не 6х8, а 12х16, т.е. в два раза больше, то надо задавать его в две строчки или есть кокой нибудь более простой способ?
Сообщение отредактировал
доцент2 - Вс, 29.07.2012, 22:37
|
|
|
|
ivan_fd |
Дата: Пн, 30.07.2012, 10:51 | Сообщение # 8 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Я думаю, что нужно рисовать в две строки.
|
|
|
|
доцент2 |
Дата: Чт, 02.08.2012, 15:14 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Видел в инете статью, там автор выставил видео где на дисплей выводил одновременно несколько символов разного размера. К сожалению кроме прошивки там не было исходника. И в статье автор ничего не расказал.Добавлено (02.08.2012, 15:14) --------------------------------------------- Подключил на мекетке дисплей (не оригинал) изображение с низкой контрастностью, бледное. При чем с конденсатором на 7 выводе 4,7мкф символы смещены, вообщем кракозябра. Без него стартует нормально. В нижней части дисплея полосой во всю ширину и высотой 8 пикселей идет чередование точек (снегопад). Подскажите это такой дисплей попался?
|
|
|
|
Matrix252005 |
Дата: Чт, 02.08.2012, 15:36 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Нет, реализация оригинала и Китайского разная... Где то на форуме "котов" http://radiokot.ru/ было об этом написано, сейчас сразу Вам не скажу... Добавлено (02.08.2012, 15:36) --------------------------------------------- Вот, нашел: http://radiokot.ru/articles/29/
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
доцент2 |
Дата: Чт, 02.08.2012, 21:09 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Спасибо за ссылочку, все встало на свои места!
|
|
|
|
доцент2 |
Дата: Пт, 08.02.2013, 18:44 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
не могу включить инверсный режим дисплея. это в подпрограмме инициализации что, то не так или протеус глючит? в железе пока не проверял.
|
|
|
|
ivan_fd |
Дата: Пн, 11.02.2013, 21:58 | Сообщение # 13 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
По моему все нормально. Пробуйте в железе.
Кстати, инверсию можно сделать и програмно.
|
|
|
|
доцент2 |
Дата: Вт, 12.02.2013, 00:00 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
в железе попробую. просто встречал пример (просто .нех) работающий в протеусе. программно я понимаю - экран забить точками, а символы сделать инверсными?
|
|
|
|
ivan_fd |
Дата: Вт, 12.02.2013, 10:52 | Сообщение # 15 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Цитата (доцент2) (просто .нех) работающий в протеусе. Так это скорее всего и было програмно.
|
|
|
|