Перейти к содержанию
    

PIC16F946 + LCD

Добрый день.

Ковыряю пейджер от сигналки, и поскольку там пик внутри захотелось попробовать выводить на дисплей что то свое.

Сразу появились вопросы 21 вывод на LCD (гибкий шлейф прям на стекло с PIC)

Вопросы:

1) Так понял что разработчики использовали аппаратный драйвер LCD в пике для того что бы зажигать значения или не факт?

2) что мне нужно узнать из схемы устройства что бы инициализировать дисплей, не понятно просто ни в каком режиме работает дисплей, вызвонить ножки ПИКа идущие на дисплей, но что мне это даст?

3) посоветуйте план действий, что сделать и как начать использовать дисплей, имея только устройство в руках. Может быть есть пример исходников на Си, компилятор HI-TECH. Я пробовал пытаться запустить дисплей с разными режимами, но это все не помогло, в лучшем случае нелепо загорались несколько элементов, и то очень тускло, либо плавно гасли. Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не имея схемы разговаривать о чем то конкретном нет смысла. Поэтому самое первое что Вам нужно, это нарисовать электрическую схему данного устройства. Если нет документации на какой то элемент (например LCD дисплей) то нарисуйте его как микросхему без названия.

В LCD на стекле сегменты не зажигаются как светодиоды (подал логическую единицу и светодиод светится). Для того чтобы сегмент индикатора загорался нормально на него нужно подавать переменный сигнал с частотой около 30 кГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда сегодня как раз эти и займусь, то есть вызвоню выводы идущие от мк к дисплею.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вызвонил на дисплее выводы, схему рисовать нет смысла я думаю, напишу какие выводы дисплея приходят на какие ножки PIC'a

 

1 -SEG2

2 -SEG3

3 -SEG4

4 -SEG5

5 -SEG6

6 -SEG7

7 -SEG8

8 -SEG9

9 -SEG10

10 -SEG15

11 -SEG16

12 -SEG17

13 -SEG18

14 -SEG19

15 -SEG20

16 -SEG21

17 -SEG22

18 -COM0

19 -COM1

20 -COM2

21 -COM3

 

Подскажите пожайлуста как запустить дисплей

Может кто поделится примером использования на си

 

Что то выводится, и я уже разобрался как назначать сегменты, но вот одно плохо, сегменты зажигаются нужные, но если наклонить дисплей то еле видно другие или если в другую сторону наклонить то тускло видно те сегменты что зажигаю командой.

Изменено пользователем Vny4ek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожайлуста как запустить дисплей

Может кто поделится примером использования на си

 

Что то выводится, и я уже разобрался как назначать сегменты, но вот одно плохо, сегменты зажигаются нужные, но если наклонить дисплей то еле видно другие или если в другую сторону наклонить то тускло видно те сегменты что зажигаю командой.

Если есть рабочий приборчик с этим ЖКИ- полезно осциллографом поглядеть амплитуду-форму-частоту сигналов. Может вы нештатной частотой возбуждаете или там форма несколько хитрее.

Вот сходу нашел похожее обсуждение, там и ссылки есть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за совет, действительно думал над этим, но поторопился и залил уже свою прошивку, сейчас уже все что нужно работает, единственное контрастность как то особо не радует, на штатном варианте лучше высвечивалось. Может каким то регистрам обратить больше внимания в этом случае.

LP<3-0> меняют картину, но как то не полно, конечно нашел оптимальную, но все как описал выше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сейчас уже все что нужно работает, единственное контрастность как то особо не радует, на штатном варианте лучше высвечивалось.
-SANYCH- ошибся с порядком частоты возбуждения. Нормальной для стекол является частота 30Гц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

читаю даташит но там нет такой частоты, параметр отвечающий за это как я понимаю это

CS<1:0>: Clock Source Select bits
00 = FOSC/8192
01 = T1OSC (Timer1)/32
1x = LFINTOSC (31 kHz)/32

и прескалер

LP<3:0>: LCD Prescaler Select bits
1111 = 1:16
1110 = 1:15
1101 = 1:14
1100 = 1:13
1011 = 1:12
1010 = 1:11
1001 = 1:10
1000 = 1:9
0111 = 1:8
0110 = 1:7
0101 = 1:6
0100 = 1:5
0011 = 1:4
0010 = 1:3
0001 = 1:2
0000 = 1:1

кварц 1мгц, у меня стоит как тут реализовать 30гц, правильно ли понимаю что нужно установить 00 = FOSC/8192 и прескалером выбрать частоту что бы получилось 30гц ?

Так и сделал, но у меня все сегменты начинают моргать по очереди снизу дисплея вверх. Причем в LCDDATA я ничего не присваивал. Подскажите пожалуйста на что еще посмотреть

Изменено пользователем Vny4ek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...