Страница 48 из 628
Добавлено: Ср апр 08, 2009 23:24:16
smac
Пухич писал(а):Вот тако вопрос возник.
Впервые решил поюзать входной захват. Не то чтобы очень надо, но можно. Памятуя, что с выходным сравнением проблем никогда не было я смело прочитав даташит ринулся исполнять. Атмега8.
Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать. В общем я на грабли не натыкался, следовал датшиту, вроде получилось, код привести не могу, он у меня на работе.
Добавлено: Ср апр 08, 2009 23:33:57
ikarab
Alex_EXE писал(а):Как можно перевести отдельные выводы микроконтроллера (биты порта) с чтения на запись и обратно, чтобы не потревожить оставшиеся биты порта?
Побитовые поразрядные операции -
http://google.com "Язык Си для микроконтроллеров".
Наверно вот так:
Код: Выделить всё
Установить 3 бита:
регистр |= (1<<(номер бита)) | (еще) | (еще);
Сбросить 3 бита:
регистр &= ~( (1<<(номер бита)) | (еще) | (еще) );
Добавлено: Ср апр 08, 2009 23:50:50
ARV
Пухич писал(а):Когда компаратор сбрасывается (на AIN1 больше, чем на AIN0) должна быть запись TCNT1 в ICR1. А ее нэту! Даже флаг ICF1 не ставится.
а как вы это проверяли? особенно установку флага?
Добавлено: Чт апр 09, 2009 00:02:11
Пухич
smac писал(а):Без всего кода сложно сказать, думаю стоит обратить внимание на то что регистры TCNT и ICP - шестнадцатибитные, т.е. нужно порядок чтения соблюдать.
Спасибо за ответ, но, к сожалению, не в кассу. Про это я знаю и уважаю сей факт. Дело в чем-то другом.
а как вы это проверяли? особенно установку флага?
Старый МКшник знает что спросить!
Ибо я главное не сказал - АВРСтудия - вот мой инструмент проверки флагов! Собсна прога сейчас временно отлаживается чисто в Студии, т.к. в железе вчера не вполне заработало. Впрочем там трабл в основном не в этом, там другие козявки вылезли, но показалось, что и тут косяк. АВРстудия при эмуляции как раз косячит с этим делом - не захватывает и все тут.
Вообще же захват и в АВРстудии работает. Если, к примеру, ногой PB0 дернуть (при выключенном ACIC), то флаг есть.
Добавлено: Чт апр 09, 2009 08:27:28
ARV
беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
Добавлено: Чт апр 09, 2009 08:41:15
GP1
ikarab писал(а):sachok писал(а):как правильно настроить порты ATmega16 PD0 (RXD) и PD1 (TXD) что бы они работали с UART
Они автоматически конфигурируются при настройке USART - но если к RXD ничего не подключено кроме дорожек на плате, то наверно ее лучше подтянуть к питанию резистором 10-100 (кОм).
Что-то у меня пока TxD не объявил выходом ничего не выдавалось
Добавлено: Чт апр 09, 2009 11:55:38
Alex_EXE
Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
Добавлено: Чт апр 09, 2009 15:19:55
ARV
Alex_EXE писал(а):Вопрос немного в другом:
Есть регистры TRISTA (например), с помощью него я могу установить выводы порта на ввод и на вывод, но только в начале программы, а потом, простая, смена значения регистра нечего не даёт.
Попробовал обращаться вот таким образом TRISA0 , но в данном случае значение всего порта сбрасывается и нужно заново его выставлять, а это может быть проблематично.
Есть какой-нить другой способ переключения выводов микроконтроллера с чтения на запись и обратно или как это правильно делать?
тип МК укажите
Добавлено: Чт апр 09, 2009 16:18:20
Alex_EXE
PIC16F84A, 628A, 877 использую
Добавлено: Чт апр 09, 2009 19:48:55
Пухич
ARV писал(а):беда студии в том, что аналоговую периферию, к которой безусловно, относится компаратор, она эмулирует... как бы так вежливо высказаться... плоховато. в общем, практически не эмулирует. думаю, ждать чего-то от студии по поводу аналогового компаратора бессмысленно...
Весь прикол в том, что постановка галочки при эмуляции в пункт ACI, например, отлично себе вызывает прерывания. А вот установка с последующим снятием галочки ACO (эмуляция спада на выходе компаратора) как-то не катит в качестве источника захвата. Ну и в железе какая-то ерунда с этим делом.
Вообще какие-то левые косяки полезли......... Не поверите - измеряю емкость кондея путем его заряда и сравнения на компараторе! Не работает!
Самому смешно.

Добавлено: Чт апр 09, 2009 21:12:35
Arlleex
а какие ограничительные резисторы надо брать для светодиодов 20мА, что бы к МК подсоединить?
Добавлено: Чт апр 09, 2009 22:26:08
Alex_EXE
Stalker46 писал(а):а какие ограничительные резисторы надо брать для светодиодов 20мА, что бы к МК подсоединить?
где-то 300-470 Ом
Добавлено: Пт апр 10, 2009 05:22:26
BerZerK-ku
Alex_EXE писал(а):Stalker46 писал(а):а какие ограничительные резисторы надо брать для светодиодов 20мА, что бы к МК подсоединить?
где-то 300-470 Ом
Странные цифры.
Вообщем нужное сопротивление считается так:
R(I)=(U1-U2(I))/I
где U1 - напряжение питания
U2(I) - падение на светодиоде при заданном токе, берется из ВАХ
I - нужный ток.
Пример. Питание 5В, нужный ток 20мА. На светодиоде падает при этом токе падает 2В. Получаем R=(5-2)/0.02=150Ом.
Добавлено: Пт апр 10, 2009 06:29:40
Arlleex
хм... а если напряжение питания светодиода 3В, а выходное 5В у МК, резитор должен погасить еще и 2В?
Добавлено: Пт апр 10, 2009 06:33:11
Alex_EXE
Ну, просто, я в своих схемах всегда ставлю 360 Ом – что бы не считать и с «запасом» службы диодов.
проблема новичка :)
Добавлено: Пт апр 10, 2009 10:08:21
clawham
Здравствуйте, тоже новичек, тоже спаял простейшую вещь на МК с панелькой монтажкой и т.д. тоже взял шнур от принтера, раскрыл крышку принтерной стороны, отпаял нужные проводки, нужные замкнул раз 10 всё проверил перепрозвонил и т.д. 5 проводков вывел в шлейфик ну сантиметра 4-6 длиной и разьёмчик, на платке с разьемчика 4 резистора и по ножкам МК вот...программу управления ЛСД нокии 3310 в эмуляторе работает и наигрался я уже виртуально до нехочу...теперь хочется в реальности увидеть картинки и букофки:)
В КодВижн АВР настройки программера - поставил Кандасистемз 200, в биосе порт SPP 3F8 принтер LPT был и работал но драйвер удалил пару раз перегружался но у меня при попытке программить чип нету полоски "частота" под типом процессора и что самое обидное ни чтение фьюзов ни сигнатур чипа - ничего не работает, питание МК беру с ЮСБ порта 4,91 вольт на ножках МК....ничего не греется и т.д. что может быть? Принтерный провод полтора метра старый экранированный...мега на панельке с кварцем припаянным, на АВСС ничего не подал так как порт а и не нужен а в будущем будет нужен АЦП хотя подпаять на +5 не проблема никаких буферных микросхем и т.д. всё просто до ужаса и тем обо и ужасно - негде искать косяк...может камень ударенный?
Добавлено: Пт апр 10, 2009 21:32:16
Arlleex
собсна вот вопрос. я делаю плату управления светодиодами. 7 кнопок и 11 светдодиодов. мега 8. вот светодиоды через резисторы подключать, а кнопки?
вот еще на кнопки антидребезг надо ставить?
Добавлено: Пт апр 10, 2009 21:47:03
ikarab
Для разовых отладочных устройств я советую кнопки подключать через резисторы как и светодиоды.
Добавлено: Сб апр 11, 2009 17:40:31
Arlleex
а можно кондеры вообще не ставить?
и еще. так какие резисторы ставить на кнопки? 1кОм подойдет?
Добавлено: Сб апр 11, 2009 18:50:45
Yellow Tiger
Если они уже стоят раньше, или если получение пульсирующего напряжения как раз и является фишкой, то можно.