простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Страница 1 из 11
Модератор форума: Электродыч, Витинари, Sam 
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » ЖК дисплей FP1125P+16F628A
ЖК дисплей FP1125P+16F628A
Пн, 06.02.2017, 20:50 | Сообщение # 1        
globusvrn1974
аватар
  Постов: 92  Offline
Что-то странное происходит на экране дисплея, когда я управляю им с МК: все циферки четкие, подсветов ненужных сегментов нет, а когда я пытаюсь изменить содержимое экрана, новый сегмент появляется мгновенно, а вот ненужный исчезает не мгновенно, а плавно! С чем это может быть связано?
В двух словах о схеме: С МК по трехпроводной шине данные записываются в сдвиговый регистр 74HC595 и при заполнении мгновенно передаются на сегменты индикатора, подключенного к выходам регистров. Общий COM индикатора управляется непосредственно от процессора. Когда на нем 1, на сегменты подаются инверсные варианты символов и наоборот: когда там 0, на выходах регистров присутствуют нули. По логике работы с дисплеем все правильно. Но что не так - не пойму. Может, надо поставить гасящий резистор с выхода МК, который идет на COM индикатора?

Добавлено (05.02.2017, 22:54)
---------------------------------------------
Чуть погодя выявил причину методом научного тыка и экспериментального тестинга smile
Дело оказалось в том, что надо было переводить подложку дисплея в нужный уровень сразу же ЗА посылом байтов информации и защелкиванием их в регистрах. Но никак не ПЕРЕД ними. Т.е. программа постоянно, в бесконечном цикле то засветит сегменты, то потушит их. И когда я поместил строку с изменением состояния подложки напрямую в процедуры вывода информации, в самый их конец, все стало идеальным.
И тут же я понял, что на такой индикатор придется отдельно повесить 8-ми ножку 12f629, что бы разгрузить основной проц.

Всем! Если кому интересен этот проект, готов накидать схемку в СПлане и предоставить код на ПИК-бейсике. Если нет, прошу модераторов через пару дней снести тему как неважную.
Спасибо за понимание!

Добавлено (06.02.2017, 20:50)
---------------------------------------------
Выдержки из кода
....определяем ножки управления регистрами
Symbol scl = PORTA.1 - строб импульс
Symbol sda = PORTA.0 - данные
Symbol ssh = PORTA.7 - защелка регистров
Symbol scom = PORTA.6 - подложка дисплея
....посылка одного символа
Proc send1lcd(ax As Byte)
ll = ax
scl = 0
sda = 0
WaitUs 5
If ll.0 Then
sda = 1
WaitUs 4
Endif
scl = 1
WaitUs 2
For j = 1 To 7
ll = ShiftRight(ll, 1)
scl = 0
sda = 0
WaitUs 5
If ll.0 Then
sda = 1
WaitUs 4
Endif
scl = 1
WaitUs 2
Next j
End Proc
.... посылка всех 4 байт
Proc sendfulllcd()
For i = 0 To 3
Call send1lcd(lcd(i))
Next i
sda = 0
scl = 0
WaitUs 5
ssh = 1
WaitUs 10
ssh = 0
scom = 1
End Proc
....Очистка дисплея
Proc sendfulclr()
For i = 0 To 3
Call send1lcd(0)
Next i
sda = 0
scl = 0
WaitUs 5
ssh = 1
WaitUs 10
ssh = 0
scom = 0
End Proc

Две последние процедуры сменяют друг друга в основном теле программы в бесконечном цикле
....
loop:
...
Call sendfulclr()
WaitMs 20
Call sendfulllcd()
WaitMs 5
...
Goto loop

Как менять контрастность я пока не понял. Переменный резистор на вывод COM индикатора?
И - да! Что бы высветить точку, надо добавить этот бит к байту символа. Как-то так:
A=A And %01111111


Отредактировал globusvrn1974 - Ср, 08.02.2017, 09:57
Сб, 11.02.2017, 13:47 | Сообщение # 2        
доц
аватар
  Постов: 219  Offline Друзья 
если можно схему в студию.
Пн, 13.02.2017, 00:03 | Сообщение # 3        
globusvrn1974
аватар
  Постов: 92  Offline
Из-за того, что основной процессор сильно перегружен необходимостью обновлять данные на ЖК (а дел и без того хватает), было принято решение выделить для этой работы отдельный небольшой процессор. Для этих целей хватило восьминожки 12F629. Четыре линии управляют ЖК, оставшиеся две образуют линию I2C с основным процессором. Но суть работы с индикатором от этого не меняется
На рисунке показана часть микросхем 74HC595 (всего их 4).


Отредактировал globusvrn1974 - Пн, 13.02.2017, 00:05
Пн, 13.02.2017, 00:14 | Сообщение # 4        
globusvrn1974
аватар
  Постов: 92  Offline
Плата индикатора и добавленная позже платка с восьминожкой
Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » ЖК дисплей FP1125P+16F628A
Страница 1 из 11
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта