Jump to content

    
Sign in to follow this  
Vny4ek

PIC16F946 + LCD

Recommended Posts

Добрый день.

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

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

Вопросы:

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Вызвонил на дисплее выводы, схему рисовать нет смысла я думаю, напишу какие выводы дисплея приходят на какие ножки 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

 

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

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

 

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

Edited by Vny4ek

Share this post


Link to post
Share on other sites
Подскажите пожайлуста как запустить дисплей

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

 

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

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

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

 

Share this post


Link to post
Share on other sites

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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

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 я ничего не присваивал. Подскажите пожалуйста на что еще посмотреть

Edited by Vny4ek

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this