Без описания |
Поиск в теме | Версия для печати |
morokoriss |
Отправлено: 15 Февраля, 2014 - 19:33:43
|
Генералиссимус
Сообщений всего: 697
Дата рег-ции: Нояб. 2011
|
Бред сивой кобылы! Тогда бы в двух разрядах одно и то же горело, да хоть в четырёх, пусть хоть все транзисторы открыты будут. Вот почему "показывает цифру предназначенную для первого разряда!" ? Там МК по барабану для какого разряда оно предназначено, какой катод подключен там и будет. Если Вы хотите разные цифры видеть надо использовать динамическую индикацию, быстренько перебирать катоды и в определённое время включать нужные сегменты, а инерционность нашего зрения сделает своё дело! Или же использовать по одному МК на каждый сегмент или сдвиговые регистры.
(Добавление)
Duha Нет. Прерывание происходит по событию (изменение, спад, подъём). Надо просто исключить дребезг, уже писали про это здесь! Есть программные методы а есть схемотехнические. В уроках Джереми Блума об этом ну очень доходчиво сказано. Вот http://wiki.amperka.ru/видеоурок...ная-стабилизация изучайте!(Отредактировано автором: 15 Февраля, 2014 - 19:46:33) |
|
|
n1k3 |
Отправлено: 15 Февраля, 2014 - 20:45:02
|
Лейтенант
Сообщений всего: 21
Дата рег-ции: Февр. 2014
|
morokoriss Спешите с выводами! Всё так и задумано как вы говорите, "Там МК по барабану для какого разряда оно предназначено, какой катод подключен там и будет. Если Вы хотите разные цифры видеть надо использовать динамическую индикацию, быстренько перебирать катоды и в определённое время включать нужные сегменты, а инерционность нашего зрения сделает своё дело!" - всё верно, так всё и должно быть! Если бы посмотрели код, то увидели бы что так и реализовано. От первого разряда отключил транзистор специально для отладки! И увидел я такую картину - загораются на втором разряде цифра и для первого и для второго разряда.
Вот вопрос и состоит в том - почему?? elmot говорит что транзистор всегда открыт.. тогда для меня это загадка с чего это вдруг он открыт Ведь на его базу ничего не подается в момент подачи сигналов цифры первого разряда. Электронщик я тоже слабый..
PS elmot насчет балластных резисторов - ну это ведь эмулятор.. накидал по быстрому для симуляции картины
PPS morokoriss пишет:Тогда бы в двух разрядах одно и то же горело, да хоть в четырёх, пусть хоть все транзисторы открыты будут.
А вот в том то и дело, что во всех и горит одно и то же!!!
PPPS Опять поспешил, забыл ко второму транзистору прилепить резистор.. но смысл думаю понятен о чем я.(Отредактировано автором: 15 Февраля, 2014 - 20:56:06) |
|
|
morokoriss |
Отправлено: 16 Февраля, 2014 - 11:27:24
|
Генералиссимус
Сообщений всего: 697
Дата рег-ции: Нояб. 2011
|
Ну во первых, кода не выложили. Так и будет, вы по очереди зажигаете разряды в программе. Только нужно это делать гораздо быстрее и очень быстро переключать разряды. А если вы захотите зажечь 1234 так, как сейчас у Вас сделано, то во втором разряде по очереди 1 2 3 4 будут загораться, Нужно на мискросекунды зажигать 1 при подключенном первом разряде, затем 2 при подключенном втором, 3, 4 и так по кругу ну ооооочень быстро. Если на камеру снять любой дисплей с динамической индикацией и сильно замедлить, то все увидите и поймёте. Что за такое понятие цифра для 1 или 2 разряда? Нет тут такого, они одинаковы! Вот если бы у вас был дисплей с управлением по I2C. Вы послали ему в адрес 1 разряда а он зажигает во втором вот тут странно бы было. Поймите механику этого процесса так сказать.
(Добавление)
Относительно картинки, И БУДЕТ ГОРЕТЬ ОДНО И ТО ЖЕ!!!!! Неужто неясно почему? Оба транзистора открыты!!! Можно второй и не ставить, от первого все четыре катода замкните и все 3333 загорятся. Может код неверный? Вот транзисторы и открыты всегда?
(Добавление)
Вот, Ваш случай! И номиналы резисторо указаны. http://avr-start.ru/?p=491#more-491 |
|
|
n1k3 |
Отправлено: 17 Февраля, 2014 - 11:17:39
|
Лейтенант
Сообщений всего: 21
Дата рег-ции: Февр. 2014
|
morokoriss пишет:Ну во первых, кода не выложили.
Да всё я выложил, опять спешите: http://myrobot.ru/forum/topic.ph...68176#1392368176
morokoriss пишет: А если вы захотите зажечь 1234 так, как сейчас у Вас сделано, то во втором разряде по очереди 1 2 3 4 будут загораться, Нужно на мискросекунды зажигать 1 при подключенном первом разряде, затем 2 при подключенном втором, 3, 4 и так по кругу ну ооооочень быстро. Если на камеру снять любой дисплей с динамической индикацией и сильно замедлить, то все увидите и поймёте. Что за такое понятие цифра для 1 или 2 разряда? Нет тут такого, они одинаковы! Вот если бы у вас был дисплей с управлением по I2C. Вы послали ему в адрес 1 разряда а он зажигает во втором вот тут странно бы было. Поймите механику этого процесса так сказать.
Да всё так и сделано! Посмотрите код, механику процесса прекрасно понимаю!
Вот часть кода, о которую вы пытаетесь мне "объяснить"
CODE: PORTB = numbers[tens];
PORTA = 0b00000010;
_delay_ms(20);
PORTB = numbers[nums];
PORTA = 0b00000001;
_delay_ms(20);
Т.е. на порт В вывожу цифру первого разряда, которая должна показывать десятки, и зажигаю первый разряд с помощью порта А(к нему подключены транзисторы). Затем вывожу цифру второго разряда(единицы) и включаю второй разряд, первый гашу (PORTA = 0b00000001).
morokoriss пишет:Относительно картинки, И БУДЕТ ГОРЕТЬ ОДНО И ТО ЖЕ!!!!! Неужто неясно почему? Оба транзистора открыты!!!
В том то и вопрос! Почему они оба открыты? Посмотрите внимательно на последний скриншот - сигнал подается только на порт PA0! (красный квадратик значит выходит высокий потенциал). Как и с ножками индикатора видно по abcdefg горят только нужные для того чтобы увидеть цифру 3.
Т.е. всё правильно, в данном случае мы должны увидеть цифру 3 на первом разряде. А мы её видим на двух! И непонятно с какого перепугу, ведь на базу второго транзистора(к базе которого подключен PA1) сигнал не подается, значит второй разряд гореть не должен! А он горит. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (3): « 1 [2] 3 » |
« С чего начать? » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|