РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


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

  • Курс по ускорению работы Мозга на 100%


    • Страница 1 из 3
    • 1
    • 2
    • 3
    • »
    Архив - только для чтения
    Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Семисегментовый индикатор (Определение кода символа)
    Семисегментовый индикатор
    Сб, 14.09.2013, 20:52 | Сообщение # 1        
    zil92
    аватар
      Постов: 225   Друзья 
    Ну в общем такая вот думка. программирую простую программку на PIC и нужно чтоб на этом индикаторе велся обратный отсчет с 9 до 0, проблема в том что на каждый символ есть свой код шестнадцатеричный чтоб не запитывать каждый раз по 7 4 6 ножек чтоб получить ту или иную цифру а то и букву ... и вот как эти этот код найти который мне нужно записать для 9 или для восьмерки ? у этого индикатора общая земля ...
    Файлы: 3417261.jpg (216.0 Kb) · 5418346.jpg (163.4 Kb)
    Сб, 14.09.2013, 20:54 | Сообщение # 2        
    zil92
    аватар
      Постов: 225   Друзья 
    скачал шит похожий на него даже ножки так же располагают ...
    Файлы: fyt-5631ax_bx.pdf (325.5 Kb)
    Сб, 14.09.2013, 21:09 | Сообщение # 3        
    zil92
    аватар
      Постов: 225   Друзья 
    ear, даа все правильно но какой код нужно записать для этой единицы ? не буду же писать каждый раз хайч 0 хайч 1 ... а восьмерка так вообще 7 хайч команд придется записать ...

    Добавлено (14.09.2013, 22:09)
    ---------------------------------------------
    та программа которую я вам скинул она как раз в нижнем левом углу и выдает этот код хексовый но блин там порты от индикатора так расположены .... а у меня то они по другому уже будут располагать ...

    Сб, 14.09.2013, 21:09 | Сообщение # 4        
    Сергей-78
    аватар
      Постов: 6050   U 
    zil92, Я не спец в програмировании.Но мне кажется что проще сделать чтоб сегменты постоянно горели а кодом гасить не нужные.Как то так. sad
    Сб, 14.09.2013, 21:10 | Сообщение # 5        
    zil92
    аватар
      Постов: 225   Друзья 
    ну я так предполагаю что по другому потому что код не правильно заработал ...
    Сб, 14.09.2013, 21:12 | Сообщение # 6        
    zil92
    аватар
      Постов: 225   Друзья 
    Ксюня, ну тогда тоже самое будет, тогда я код лоу буду на каждый порт подавать который нужно погасить а после гашения нужно еще будет его и для другой цифры включить так что не вариант
    Сб, 14.09.2013, 21:23 | Сообщение # 7        
    zil92
    аватар
      Постов: 225   Друзья 
    ear, да я все как нужно сделал только вы же не знаете какой вывод к какому порту я подключил, а в этой программе нужно заполнять обязательно вот поэтому у меня получилась единица с кодом $50 но только вот порты которые я якобы подключил к контроллеру соответствуют ли они этой программе ... попробую подключить так как вы показали в 3 сообщении может что то и получиться ...

    Добавлено (14.09.2013, 22:23)
    ---------------------------------------------
    ear, блин оказывается так все выводы и подключил как у вас в 3 сообщении было нарисовано .... сейчас попробую отдельный код записывать в мк для каждой цифры чтоб понять верен ли этот хекс код ...

    Сб, 14.09.2013, 21:44 | Сообщение # 8        
    zil92
    аватар
      Постов: 225   Друзья 
    ear, )) ну хорошо тогда точно все получиться ) отпишусь как что то проявится )
    Вс, 15.09.2013, 16:56 | Сообщение # 9        
    zil92
    аватар
      Постов: 225   Друзья 
    Ну в общем запустил я программку )


    перебрал все выводы подключил все заново и поочередно то есть порт 0 к выводу А порт 1 к выводу В и так далее что еще было видимо не правильно что я подключил точку это вывод db к нулевому порту ну и контроллер видимо начал выдавать неправильный алгоритм после переключил к самому последнему выводу 7...
    что касается шестнадцатеричного кода конечно есть специальная программа для определения кода символа но попробую на пальцах объяснить.
    Есть 8 выводов на сегменте каждый вывод имеет соответствующую букву как в сообщении 3 так вот вне зависимости подключен порт сегмента или нет он будет иметь свой статус низкий или высокий соответственно 1 или 0 и к примеру если мы захотим вывести на табло цифру 1 то мы должны запитать BC выводы в бинарном исчислении будет выглядеть так 00000110 после это число нужно перевести в шестнадцатеричную систему исчисления ну для этого есть калькулятор пишем это число и он выдает нам в хексовой системе цифру 6 но все равно это будет считаться незаконченный код потому что при определении кода порты сегмента делятся на двое ABCD и EFGdb. и как говорилось раннее нужно запитать порты BC а порты в другом раздели будут под нулем значит хексовый результат будет $06
    рассмотрим цифру 6 в нашем случае не запитаные остаются только вывод В и db значит двоичный код будет 01111101 переводим его в HEX значение получаем $7D под этим кодом и будет светится цифра 6!
    Всем удачного программирования надеюсь мой материал послужит кому то на пользу )
    http://radioskot.ru/forum/30-2492-1 калькулятор конвертер чисел
    Файлы: 2834251.jpg (49.9 Kb) · 7293539.jpg (47.0 Kb)
    Вс, 15.09.2013, 18:20 | Сообщение # 10        
    zil92
    аватар
      Постов: 225   Друзья 
    ear, круто )) спасибо ))
    Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Семисегментовый индикатор (Определение кода символа)
    • Страница 1 из 3
    • 1
    • 2
    • 3
    • »
    Поиск:

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



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