Полная версия этой страницы:
PIC16F946 + LCD
Vny4ek
Sep 25 2011, 08:49
Добрый день.
Ковыряю пейджер от сигналки, и поскольку там пик внутри захотелось попробовать выводить на дисплей что то свое.
Сразу появились вопросы 21 вывод на LCD (гибкий шлейф прям на стекло с PIC)
Вопросы:
1) Так понял что разработчики использовали аппаратный драйвер LCD в пике для того что бы зажигать значения или не факт?
2) что мне нужно узнать из схемы устройства что бы инициализировать дисплей, не понятно просто ни в каком режиме работает дисплей, вызвонить ножки ПИКа идущие на дисплей, но что мне это даст?
3) посоветуйте план действий, что сделать и как начать использовать дисплей, имея только устройство в руках. Может быть есть пример исходников на Си, компилятор HI-TECH. Я пробовал пытаться запустить дисплей с разными режимами, но это все не помогло, в лучшем случае нелепо загорались несколько элементов, и то очень тускло, либо плавно гасли. Спасибо
-SANYCH-
Sep 25 2011, 10:17
Не имея схемы разговаривать о чем то конкретном нет смысла. Поэтому самое первое что Вам нужно, это нарисовать электрическую схему данного устройства. Если нет документации на какой то элемент (например LCD дисплей) то нарисуйте его как микросхему без названия.
В LCD на стекле сегменты не зажигаются как светодиоды (подал логическую единицу и светодиод светится). Для того чтобы сегмент индикатора загорался нормально на него нужно подавать переменный сигнал с частотой около 30 кГц.
Vny4ek
Sep 25 2011, 12:03
Тогда сегодня как раз эти и займусь, то есть вызвоню выводы идущие от мк к дисплею.
Vny4ek
Sep 26 2011, 16:03
Вызвонил на дисплее выводы, схему рисовать нет смысла я думаю, напишу какие выводы дисплея приходят на какие ножки 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
Подскажите пожайлуста как запустить дисплей
Может кто поделится примером использования на си
Что то выводится, и я уже разобрался как назначать сегменты, но вот одно плохо, сегменты зажигаются нужные, но если наклонить дисплей то еле видно другие или если в другую сторону наклонить то тускло видно те сегменты что зажигаю командой.
Ruslan1
Sep 27 2011, 14:54
Цитата(Vny4ek @ Sep 26 2011, 19:03)

Подскажите пожайлуста как запустить дисплей
Может кто поделится примером использования на си
Что то выводится, и я уже разобрался как назначать сегменты, но вот одно плохо, сегменты зажигаются нужные, но если наклонить дисплей то еле видно другие или если в другую сторону наклонить то тускло видно те сегменты что зажигаю командой.
Если есть рабочий приборчик с этим ЖКИ- полезно осциллографом поглядеть амплитуду-форму-частоту сигналов. Может вы нештатной частотой возбуждаете или там форма несколько хитрее.
Вот сходу нашел похожее обсуждение, там и ссылки есть.
Vny4ek
Sep 27 2011, 15:53
Спасибо за совет, действительно думал над этим, но поторопился и залил уже свою прошивку, сейчас уже все что нужно работает, единственное контрастность как то особо не радует, на штатном варианте лучше высвечивалось. Может каким то регистрам обратить больше внимания в этом случае.
LP<3-0> меняют картину, но как то не полно, конечно нашел оптимальную, но все как описал выше
Сергей Борщ
Sep 28 2011, 07:20
QUOTE (Vny4ek @ Sep 27 2011, 18:53)

сейчас уже все что нужно работает, единственное контрастность как то особо не радует, на штатном варианте лучше высвечивалось.
-SANYCH- ошибся с порядком частоты возбуждения. Нормальной для стекол является частота 30Гц.
Vny4ek
Oct 10 2011, 16:37
читаю даташит но там нет такой частоты, параметр отвечающий за это как я понимаю это
Код
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 я ничего не присваивал. Подскажите пожалуйста на что еще посмотреть
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.