РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ


    • Страница 1 из 1
    • 1
    Архив - только для чтения
    ЖК дисплей FP1125P+16F628A
    Пн, 06.02.2017, 19:50 | Сообщение # 1        
    globusvrn1974
    аватар
      Постов: 92   Друзья 
    Что-то странное происходит на экране дисплея, когда я управляю им с МК: все циферки четкие, подсветов ненужных сегментов нет, а когда я пытаюсь изменить содержимое экрана, новый сегмент появляется мгновенно, а вот ненужный исчезает не мгновенно, а плавно! С чем это может быть связано?
    В двух словах о схеме: С МК по трехпроводной шине данные записываются в сдвиговый регистр 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
    Файлы: 7517040.jpg (90.2 Kb) · 0959418.jpg (90.2 Kb)
    Сб, 11.02.2017, 12:47 | Сообщение # 2        
    доц
    аватар
      Постов: 146   Друзья 
    если можно схему в студию.
    Вс, 12.02.2017, 23:03 | Сообщение # 3        
    globusvrn1974
    аватар
      Постов: 92   Друзья 
    Из-за того, что основной процессор сильно перегружен необходимостью обновлять данные на ЖК (а дел и без того хватает), было принято решение выделить для этой работы отдельный небольшой процессор. Для этих целей хватило восьминожки 12F629. Четыре линии управляют ЖК, оставшиеся две образуют линию I2C с основным процессором. Но суть работы с индикатором от этого не меняется
    На рисунке показана часть микросхем 74HC595 (всего их 4).
    Файлы: 3450100.jpg (59.3 Kb)
    Вс, 12.02.2017, 23:14 | Сообщение # 4        
    globusvrn1974
    аватар
      Постов: 92   Друзья 
    Плата индикатора и добавленная позже платка с восьминожкой
    Файлы: 8730396.jpg (328.5 Kb) · 2920297.jpg (57.5 Kb)
    • Страница 1 из 1
    • 1
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA