Цитата(demiurg_spb @ Feb 10 2009, 12:01)

-Это будет шина данных (8бит). А катоды подключаете напрямую к ножкам контроллера (шина адреса Nбит). Таким образом выбрав один разряд на шине адреса (активный ноль), выдаёте на шине данных нужную комбинацию на сегменты выбранного разряда. И по таймеру делаете сканирование всех имеющихся разрядов (N-штук) в цикле с частотой (80..100)*N Герц. А чтобы небыло засветки перед сменой активного разряда в порт данных выдаём 0. Все это делается через два массива, один для дешифрации адреса, а второй для хранения данных всех разрядов и одну переменную, хранящую номер текущего активного разряда (0-1-2...(N-1)-0-1-2..(N-1)...).
Нив коем случае! Как тут уже упоминалось, суммарный ток сегментов "одна ножка" контроллера не выдержит, даже в статике.
Цитата(Сергей Борщ @ Feb 10 2009, 12:23)

Где имеются такие ограничения? Я в даташите вижу только такое:
Ну а это:
Цитата
2] The sum of all IOH, for port C0 - C5, should not exceed 100 mA.
3] The sum of all IOH, for ports B0 - B7, C6, D0 - D7 and XTAL2, should not exceed 200 mA.
Цитата(Andrew_k5 @ Feb 10 2009, 12:39)

Чем плохо такое подключение индикатора, транзисторы - ULN2003
Плохо ещё тем, что верхний транзистор работает повторителем и в таком варианте ток его эмиттера будет состоять преимущественно из тока базы, а не коллектора, что, опять же, нагрузка на порт контроллера. Резистор стоит перенести из цепи коллектора в цепь эмиттера. Но ULN2003, как справедливо заметил
rezident, для этого не подходят. Вам она вообще не нужна, если индикатор всего один. А порт МК можно умощнить одним из множества известных буферов. Можно даже воспользоваться совмещённым со сдвиговым регистром, чтобы сэкономить выводы МК.