Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Динамическая индикация на 12 разрядов
Динамическая индикация на 12 разрядов
igor--ok Дата: Пн, 07.04.2014, 18:22  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2012

Статус: Offline

Собственно говоря, имеем контроллер PIC16F73, три датчика температуры DS18B20 и три семисегментных индикатора с ОК на 4 цифры каждый.
Требуется выводить на каждый индикатор значение температуры с точностью 0,1. Кроме того в схеме присутствует одна кнопка и выход на динамик.
Как правильно организовать индикацию? Я так понимаю, что на 8 цифр ножек хватает. (будет заняты два порта - port.В и port.С) А на 12 - уже проблема.
Неужели надо для третьего индикатора ставить отдельный контроллер?
ЯНДЕКС Дата: 07.04.2014
vanish Дата: Пн, 07.04.2014, 19:26  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 55
Репутация: 0   ±
Замечания:   ±
На сайте с 08.04.2010

Статус: Offline

Регистры сдвига можно поставить например 74нс595 или 74нс164.
igor--ok Дата: Пн, 07.04.2014, 19:48  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2012

Статус: Offline

Цитата vanish ()
Регистры сдвига можно поставить например 74нс595 или 74нс164.
Думал об этом. А какая скорость заполнения регистров? Мерцания не будет видно? Это же получается три микросхемы регистров. А с контроллера будет задействовано всего 7 ног на индикацию. Правильно?
anatol Дата: Пн, 07.04.2014, 20:32  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

igor--ok, у вас один порт будет отвечать за символы. Второй за разряд индикатора. Их 12. Следовательно максимально на включение 8 процентов времени (по другому - максимальной яркости).
Регистры хороши, но в простейшем случае их нужно по количеству знакомест. Есть вариант покруче. Специализированные схемы для управления массивами светодиодов к примеру 8х8. (Бегущие табло) Называть тип и разжевывать не буду пока. Ищется легко.
Кстати какие индикаторы? ОК илиОА?
igor--ok Дата: Пн, 07.04.2014, 21:39  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 23.09.2012

Статус: Offline

Индикаторы ОК. Я, кстати, это указал в первом сообщении. Так что за схемы?
MiXaS Дата: Пн, 07.04.2014, 21:40  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

я работал с max7221. она поддерживает 8 знакомест, но работает с оа
Сообщение отредактировал MiXaS - Пн, 07.04.2014, 22:23
anatol Дата: Вт, 08.04.2014, 11:46  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

http://search.datasheetcatalog.net/key/LED+DISPLAY+DRIVER
xvovanx Дата: Ср, 09.04.2014, 09:29  |                                                                                                                Сообщение # 8
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Я б "пальнул из пушки по воробьям" - взял бы 40 ногий проц. типа 877 и не заморачивался бы с доп.микросхемами. А то простая с виду схемка обрастёт сильно лишними корпусами и станет совсем не простой  cool (сугубо личное мнение).
anatol Дата: Ср, 09.04.2014, 10:52  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 472
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

xvovanx, проблема не ножках. Проблема в динамической индикации, что похоже на ШИМ. Т.е. сколько разрядов - во столько мощность излучения на каждом разряде меньше чем на одном. А увеличивать ток через светики - чревато.
А организовать на одном порту можно 16 разрядов. 4 бита на дешифратор в семисегментный вид (типа 514ИД2)и 4 бита на дешивратор 4х16 (типа 155ИД3. А есть дешифраторы работающие по SPI по принципузаписываем число, переписываем вв регистр индикации (одномоментно для всех) и светим.
Все это относится к тому что сначала думаем, конструируем, а потом закупаемся.
ivan_fd Дата: Ср, 09.04.2014, 13:06  |                                                                                                                Сообщение # 10
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

igor--ok

Если все правильно сделаете, то никакого мерцания не будет.
Ставите 3 шт. 74HC164 (для них можно использовать только 2 вывода контроллера)
и еще нам надо 4 вывода для катодов.

Динамическая индикация, обязательно через прерывание!

Думаю, что должно работать.
Legioner Дата: Чт, 27.07.2023, 14:16  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 34
Репутация: 0   ±
Замечания:   ±
На сайте с 22.08.2015

Статус: Offline

Цитата ivan_fd ()
Динамическая индикация, обязательно через прерывание!
Прошу прощения а есть рабочий пример? Буду очень признателен.


Legioner
ЯНДЕКС Дата: 27.07.2023
dimvad Дата: Чт, 27.07.2023, 16:29  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

Вот тренировочный  примерчик. И почему обязательно в прерывании?
Прикрепления: tm1637_max7219.rar (106.2 Kb)
Legioner Дата: Пт, 28.07.2023, 04:15  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 34
Репутация: 0   ±
Замечания:   ±
На сайте с 22.08.2015

Статус: Offline

Цитата dimvad ()
И почему обязательно в прерывании?

Дело в том что я не буду использовать драйвера. И планируется большое количество операций перед индикацией. При обычной динамической индикации индикатор моргает очень сильно. По этому и прошу помощи или рабочий пример индикации на прерываниях.


Legioner
dimvad Дата: Пт, 28.07.2023, 16:02  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 79
Репутация: 54   ±
Замечания:   ±
На сайте с 20.07.2012

Статус: Offline

А чем драйвера не устраивают? Ну да ладно.
Прикрепления: led_indicator.rar (37.7 Kb)
Legioner Дата: Сб, 29.07.2023, 09:29  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 34
Репутация: 0   ±
Замечания:   ±
На сайте с 22.08.2015

Статус: Offline

dimvad, Спасибо огромное, применил ваш пример.

Legioner
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Динамическая индикация на 12 разрядов
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: