Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.03.2008, 19:29
|
#11
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,532
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Сообщение от greafuger
|
Да я просто никогда такое не делал... А можно примерчик кода?
|
Код:
|
LED_out
big_loop
clrf delay0
clrwdt
small_loop1
bsf DIG0 ; выбор цифры 0
;-----------------------------вывод DP
btfsc minus,_DP
bsf SEG_DP
btfss minus,_DP
bcf SEG_DP
bcf SEG_DP
;-----------------------------A
btfsc minus,_A
bsf SEG_A
btfss minus,_A
bcf SEG_A
bcf SEG_A
;-----------------------------B
btfsc minus,_B
bsf SEG_B
btfss minus,_B
bcf SEG_B
bcf SEG_B
;-----------------------------C
btfsc minus,_C
bsf SEG_C
btfss minus,_C
bcf SEG_C
bcf SEG_C
;-----------------------------D
btfsc minus,_D
bsf SEG_D
btfss minus,_D
bcf SEG_D
bcf SEG_D
;-----------------------------E
btfsc minus,_E
bsf SEG_E
btfss minus,_E
bcf SEG_E
bcf SEG_E
;-----------------------------F
btfsc minus,_F
bsf SEG_F
btfss minus,_F
bcf SEG_F
bcf SEG_F
;-----------------------------G
btfsc minus,_G
bsf SEG_G
btfss minus,_G
bcf SEG_G
bcf SEG_G
;-----------------------------
incf delay0
btfss delay0,4
goto small_loop1
clrf delay0
bcf DIG0
small_loop2
bsf DIG1 ; выбор цифры 1
;-----------------------------вывод DP
btfsc digit0,_DP
bsf SEG_DP
btfss digit0,_DP
bcf SEG_DP
bcf SEG_DP
;-----------------------------A
btfsc digit0,_A
bsf SEG_A
btfss digit0,_A
bcf SEG_A
bcf SEG_A |
И так далее для всех цифр.
В этой подпрограмме для PIC поочередно высвечиваются 3 цифры( 7сегм. * 3 цифры) на индикаторе с общим катодом с выбором цифры через 3 транзистора. Для одного индикатора обычно не делают,но я не думаю что лучше дополнительно ставить ULN2803. Когда можно обойтись без. Могу прислать полную версию.
-- Прилагается рисунок: --
![](https://kazus.ru/nuke/users_images/17032008/4304205.jpg)
|
|
|
|
17.03.2008, 20:18
|
#12
|
Прописка
Регистрация: 10.11.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Спасибо, в динамическую индикацию я вкурил. Но тогда получается, что в основном цикле программы мой МК только и должен заниматься тем, что отображать сегменты на индикатор, так? А у меня немного другая задача, и мне бы желательно по принципу - отправил число на индикатор через порт и забыл.
Я использую AVR ATMega8535, у низ максимальный ток 100мА на порт.
А что такое ULN2803?
|
|
|
|
17.03.2008, 20:39
|
#13
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,532
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
А при динамической индикации процессору достаточно каждые 20 мсек прерыватся для выполнения подпрограммы вывода на led, организуется все это через таймер.
Используй регистр-защелку типа SN74ALS373A. Есть отечественный аналог 1533ИР22. Вывел в порт подключеный к нему, защелкнул в нем и забыл.
|
|
|
|
17.03.2008, 21:08
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 19.01.2007
Сообщений: 1,747
Сказал спасибо: 2
Сказали Спасибо 46 раз(а) в 35 сообщении(ях)
|
Сообщение от greafuger
|
Спасибо, в динамическую индикацию я вкурил. Но тогда получается, что в основном цикле программы мой МК только и должен заниматься тем, что отображать сегменты на индикатор, так? А у меня немного другая задача, и мне бы желательно по принципу - отправил число на индикатор через порт и забыл.
Я использую AVR ATMega8535, у низ максимальный ток 100мА на порт.
А что такое ULN2803?
|
А смысл применять ДИ? это равносильно уменьшению среднего тока(яркость снизится)при СИ, для ее поднятия придеться увеличивать ток в момент отображения...
А обязательно ли, применять АЛС324Б1, можно ведь использовать со встроенным дешифратором?( и линии порта освободяться)
Удачи!
__________________
Я, думаю, нужно подумать...
|
|
|
|
17.03.2008, 22:14
|
#15
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,532
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Если в мк есть незадействованые модули I2C или SPI можно применить ИС расширения от микрочипа MCP23008 (I2C) , MCP23S08 (SPI) максим. ток на каждый выход сост. 25 мА. Но я бы рекомендовал К1533ИР22(SN74ALS373A) стоит копейки, в отличие от LED-индикатора с встроенным дешифратором.
|
|
|
|
17.03.2008, 22:29
|
#16
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от realid
|
Если в мк есть незадействованые модули I2C или SPI можно применить ИС расширения от микрочипа MCP23008 (I2C) , MCP23S08 (SPI) максим. ток на каждый выход сост. 25 мА. Но я бы рекомендовал К1533ИР22(SN74ALS373A) стоит копейки, в отличие от LED-индикатора с встроенным дешифратором.
|
Абсолютно прав , любой сдвиговый регистр на 8 ( или набор триггеров собраных сдвиговым регистром), и всего два вывода мк задействованы ...
|
|
|
|
17.03.2008, 22:32
|
#17
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Объясните мне, идиоту, КАК можно организовать динамичемкую индикацию на ОДНОМ индикаторе? ![Улыбка](images/smilies/icon_smile.gif)
Да и смысла в ней нет, она никаким способом ток не снизит.
ULN2803 - просто 8 составных транзисторов в одном корпусе с логическими входами. Гугль при поиске дает первую же ссылку на подробное описание. Стоит недорого, рублей 10.
|
|
|
|
17.03.2008, 22:53
|
#18
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
KISON про динамическую индикацию здесь да
сдуру кто то вставил .
Но вот использовать силовые ключи для АЛС то же тупость.
Автор завысил ток сегментов , повторяю 20 мА это МАКСИМАЛЬНЫЙ ТОК .
АЛС 324 прекрасно держит 176ие4 В СТАТИКЕ , а светят они плохо потому что сами г...
Автору не заниматься фигней , поставить резисторы большего номинала .
|
|
|
|
17.03.2008, 22:57
|
#19
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,532
Сказал спасибо: 172
Сказали Спасибо 1,561 раз(а) в 811 сообщении(ях)
|
Сообщение от kison
|
Объясните мне, идиоту, КАК можно организовать динамичемкую индикацию на ОДНОМ индикаторе? ![Улыбка](images/smilies/icon_smile.gif)
Да и смысла в ней нет, она никаким способом ток не снизит.
ULN2803 - просто 8 составных транзисторов в одном корпусе с логическими входами. Гугль при поиске дает первую же ссылку на подробное описание. Стоит недорого, рублей 10.
|
Организуется легко, просто загорается в единицу времени один из сегментов индикатора, затем гасится и загорается следующий, на общем проводе стоит резистор, и весь ток получается в зависимости от резистора, к примеру 25 мА. Все это организуется очень легко
Микросхема регистр-защелка К1533ИР22 стоит 5-7 руб. Вывел в порт перекодированую в код индикатора цифру. Защелкнул в нем эту и все, он будет хранить это до следующего стирания-защелкивания.
Если использовать регистры-расширения портов вывода с I2C или SPI модулем, даже если в мк нет, их можно реализовать программно.
|
|
|
|
17.03.2008, 23:05
|
#20
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Сообщение от dosikus
|
Но вот использовать силовые ключи для АЛС то же тупость.
|
Это как посмотреть. Пример: снизим ток до 10ма, эти дурацкие индикаторы при таком еще более менее светятся. Пусть напряжение питания 12В, т.е. не стабилизаторе падает 7В. В ситуации когда светятся все разряды, на стабилизаторе рассеится 0,56Вт, а ведь это только при обслуживании индикатора. Остальная схема еще чего то потребляет. Стабилизатор придется ставить на радиатор. В случае же с силовыми ключами питание индикатора можно брать до стабилизатора, мощность будет рассеиваться на 8 резисторах. Стабилизатор избавится от радиатора.
Сообщение от dosikus
|
Автор завысил ток сегментов , повторяю 20 мА это МАКСИМАЛЬНЫЙ ТОК .
АЛС 324 прекрасно держит 176ие4 В СТАТИКЕ , а светят они плохо потому что сами г...
Автору не заниматься фигней , поставить резисторы большего номинала.
|
Да сильно не снизить с такими. Хотя при 20ма у них и не поймешь, какой разряд светится, слишком большая паразитная засветка.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:21.
|
|