Страница 1 из 1
порты ввода/вывода Attiny2313
Добавлено: Вс июн 10, 2012 16:38:16
pokk
Здравствуйте, столкнулся с такой проблемой спаял не большую платку и для индикации работы микроконтроллера подсоединил светодиод к одному порту.
Так вот теперь не как не могу заставить его гореть =))))))))
код простейший вывести 1 на все ноги порта D
пони прог говорит что программируется и всё ок мерю напряжения на ногах контроллера на каждом по разному от 0.1 до 0.4В
а у порта B где-то и по 1В есть
питание мерил 4.5В подаётся.
в чём может быть дело ?
код
Код: Выделить всё
;------------------------- Псевдокоманды управления
.include "tn2313def.inc" ; Присоединение файла описаний
.list ; Включение листинга
.def temp = r16 ; Определение главного рабочего регистра
.def rab = r17 ; Определение рабочего регистра
.cseg ; Выбор сегмента программного кода
.org 0 ; Устанеовка текущего адреса на ноль
;-------------------------- Инициализация портов ВВ
lDI temp,0xFF
out DDRD,temp ; Записываем 11111111 в DDRD (порт PD на выход)
out PORTD, temp ; Записываем его же в PORTD (включаем внутр. резисторы)
;------------------------- Начало основного цикла программы
LDI rab,0xff
main:
out portD,rab
rjmp main
Собрал только левую часть индикатор ещё не припаян

Re: порты ввода/вывода Attiny2313
Добавлено: Вс июн 10, 2012 20:22:19
BOB51
а где анод???
(скоко валерианки принялось?)
Re: порты ввода/вывода Attiny2313
Добавлено: Вс июн 10, 2012 20:32:05
conler
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 05:52:08
pokk
BOB51 писал(а):
а где анод???
(скоко валерианки принялось?)
Вы про светодиод ? я его 3 раза перепаивал =) теперь правильно стоит, но я всё равно мерю напряжение на ногах контроллера а там оно как-то маленькое =(
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 09:14:20
BOB51
хи-хи...
наиболее распространенный вариант:
+питания -> резистор токоограничитель -> анод светодиода -> катод светодиода -> вывод микросхемы
светодиод включен при логическом нуле выданном в соответствующий бит порта
тогда можно гарантировать, что на выводе порта будет где-то 0,4-0,8 вольта и от при "статическом" состоянии
ежли подан какой либо меандр - обычный вольтметр ничего путнего не покажет

Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 12:38:50
pokk
А в моём случае что ? почему может не работать ?
добился того что при считывании fuse или памяти он мигает раза 2 только почему?
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 14:03:43
edm2007
pokk, Вы сконфигурировали весь порт D на ВЫХОД, о каких подтягивающих резисторах может идти речь в коде? Более того, Вы выставили 1 на всех ногах, включая те, на которых кнопки. Кнопки, которые подключены к земле. Не трудно догадаться, что будет при нажатии на кнопку...
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 14:24:27
pokk
pokk, Вы сконфигурировали весь порт D на ВЫХОД, о каких подтягивающих резисторах может идти речь?
Это была скорее всего опечатка (взял старый код а комментарии не изменил).

Вот по таблице из даташита на ATTINY2313 на стр 47
DDxn=1 PORTxn=1 Output High (Source) как я понял на выходе порта логическая единица
Более того, Вы выставили 1 на всех ногах, включая те, на которых кнопки. Кнопки, которые подключены к земле.
Кнопки я почти не трогал =)) но было дела как пару раз нажал не знаю в какой прошивки
Не трудно догадаться, что будет при нажатии на кнопку...
Пойдёт ток =)))))

Получается у меня эти два пина умерли ?
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 14:49:59
edm2007
То что Вы даташит читаете, это конечно очень хорошо. И конфигурацию Вы поняли верно.
pokk писал(а):Пойдёт ток =)))))
Угу. Короткого замыкания.

Попробуйте на другой порт светик перебросить, код-то верный. Правда основной цикл можно и пустым оставить, Вы уже записали в порт
Код: Выделить всё
out PORTD, temp ; Записываем его же в PORTD (выставив 1 на всех пинах порта)
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 16:09:02
pokk
edm2007, сделал как вы и написали повесил ещё один светодиод,как рассказал
ВОВ51
наиболее распространенный вариант:
+питания -> резистор токоограничитель -> анод светодиода -> катод светодиода -> вывод микросхемы
но реакции не какой это не дало. решил проверить fuse при нажатии на кнопку считывания оба этих светодиода мигнули 2 раза после я изменил код так что бы только один определённый загорелся и при считывании fuse один и мигнул как и надо было. так же они мигают при выполнении любой операции в пони прог. изредка мигают когда подсоединяю разъём =)
что-то мне тут кажется с тактовым сигналом не то (у меня правда у кварца одного кондёра нету =)),но так как мк программируется и считывает значит он работает от внутреннего генератора )

с фьюзами я уже по баловался не много не какого результата не дало
CKSEL3..0=0100 внутренний RC генератор
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 16:38:41
edm2007
Да, если программатор МК видит, то с тактирование все нормально. Питание МК-то в норме? А то вот это
pokk писал(а):...они мигают при выполнении любой операции в пони прог...
на паразитное питание похоже...
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 16:40:52
pokk
Нормальное 4.5В
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 17:35:46
pokk
на паразитное питание похоже...
возможно чего-то паразитное =) у меня тут 2 провода идут (SCK) и (MISO)
они могут влиять ?
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 17:40:26
edm2007
Я немного про другое.

Вывод Reset МК (1) к плюсу питания подтянут через резистор?
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 18:39:40
pokk
Нет сейчас сделаю =)
edm2007,благодарю за помощь теперь всё заработало !! ура =)

Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 19:17:05
pokk
Т.е у меня была проблема в то что пин reset находился в высокоомном состоянии и ловил помехи и соответственно мк каждый раз перезагружался или даже не включался. А при программировании от программатора подавался сигнал логической единички и на короткое время мк выполнял программу так ?
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 19:21:24
edm2007
Вот и замечательно.

Вообще у МК есть встроеный резистор на этой линии, но его номинал слишком высокий, чтобы нормально удержать линию. Потому обязательно нужно подтягивать внешним резистором. Как правило, достаточно 10К.
Re: порты ввода/вывода Attiny2313
Добавлено: Пн июн 11, 2012 19:47:39
pokk
Вообще у МК есть встроеный резистор на этой линии, но его номинал слишком высокий, чтобы нормально удержать линию.
Опередили с ответом только что хотел узнать зачем он там нужен
Ещё раз спасибо всем!!!