Страница 37 из 132

Добавлено: Сб авг 15, 2009 13:51:13
KeFirCHic
Наверно эт приколы моего сонного мозга! Вчера ночью не работало. Сегодня открыл проэк работает! Хоть в чудеса не верю, но всё-таки стрёмна как-то!!!

Добавлено: Сб авг 15, 2009 19:39:30
KeFirCHic
Делаю часы на ATTiny2313. Данные часов, минут и секунд храню в РОН (R0,R1,R2) . Записываю данные в эти регистры с помощью сложения и проверки на переполнения
mov W,r0
ldi temp, 1
add W,temp
ldi temp,60
cpse W, temp
rjmp w3
clr W
w3: mov r0,W

Изначально я расчитываю на, что в регистр R0 пуст и значение его 0х00. Но после выключения и включения питания там или последнее значение до выкл. питания, или вообще случайные числа. Как-то использовал РОН для косвенной адресации, так это вообще пипец!!! Еслив РОН было левое число, то это равносильно "пойдём туда - хрен его знает куда" ... Спасаюсь тем, что после иницилизации стека вставляю команды очищающия жизненно важных регистров и тогда всё работает ок!
Вопрос:
Как избавиться от этого явления не вставляя лишние команды очистки регистров? Лишние 3-4 команды в начале программы это конечно не так уж и много, но всё-таки! Может это как-то связанно с FUSE переключателями. (Я их не менял. Заводские настройки)

Добавлено: Сб авг 15, 2009 20:34:33
Pooher
Без команд очищения не обойтись. Любой регистр МК при включении может иметь любое значение. И, кстати, вы в курсе что МК использует указанные регистры для некоторых операций?

Добавлено: Сб авг 15, 2009 21:39:51
GP1
KeFirCHic писал(а):
ldi temp, 1
add W,temp
ldi temp,60
cpse W, temp
rjmp w3
clr W
w3: mov r0,W
если использовать регистры из старшей половины R16-R31, код можно упростить

Код: Выделить всё

    inс W       ; я бы обзвал регистры sek, min, hour
    cpi W,60
    brne w3
    clr W        ; если счетчик сек 60, то обнуляем и добавляем минуту
    inc min
; и так далее

w3:
а вообще в часах лучше считать сразу в BCD, потом мороки меньше с переводом.
опять же не забывать очем говорил Pooher!

Добавлено: Сб авг 15, 2009 23:08:28
KeFirCHic
Я и считаю в BCD. (По тетрадам). Часы отображают время в десятиричной и шеснадцатерично системе.
Знаю только, что R0-R15 имею какие-то ограничения. И с какими-то командами не работаю. А что и как - понятия не имею. Если есть информация поделитесь.

Добавлено: Сб авг 15, 2009 23:32:59
GP1
Ну тут без чтения книжек не обойтись.
Рекомендую А.В.Евстифеева "Микроконтроллеры AVR семейства ...(есть и по мегам и тину) фирмы ATmel"

Добавлено: Сб авг 15, 2009 23:42:25
KeFirCHic
Пасиба! Бум развиваться :roll:

Добавлено: Вс авг 16, 2009 11:13:00
Pooher
Рекомендую А.В.Евстифеева "Микроконтроллеры AVR семейства ...(есть и по мегам и тину) фирмы ATmel"
С этих замечательных книг я начинал :)

Добавлено: Вс авг 16, 2009 12:07:54
Данилка
Пос неудачной прошивки напрямик через ЛПТ порт, ПРОГРАММА ПЕРЕСТАЛА ВИДЕТЬ КОНТРОЛЛЕР(АТТИНИ2313), что делать?? Помогите!

Добавлено: Вс авг 16, 2009 14:04:45
Pooher
Вариантов много:
1. Спалил LPT.
2. Спалил МК.
3. Неправильные фьюзы.
Ну, при перврм и втором варианте всё понятно.
Третий вариант можно попробовать полечить. Тут первое, что надо сделать, это попробовать подать внешний тактирующий сигнал. Если ничего не заработает, то параллельный программатор Вам в руки.

PS: Пользуйтесь поиском, надоело одно и тоже писать! :evil:

Добавлено: Пт авг 21, 2009 20:02:34
Redrik Shuhart
поставил фьюзы как на картинке.терь нечитается в пенельке(панелька без кварца) думаю надо при\цепить кварц. и исчо вопрос. нахрен надо 2 кондера за кварцом?

Добавлено: Пт авг 21, 2009 20:52:55
sachok
выставлены под внешний кварц частотой от 3МГц до 8 МГц и также делитель частоты на 8. Ставте кварц на 4МГц , два конденсатора на землю и тогда можно прошить.

Добавлено: Пт авг 21, 2009 21:51:30
Hudgun
Redrik Shuhart писал(а):нахрен надо 2 кондера за кварцом?
так надо :))

Добавлено: Сб авг 22, 2009 13:49:27
Redrik Shuhart
пасибо. собираю тестовую плату програмиста.чтоб разблочить.

Добавлено: Пн авг 24, 2009 14:50:52
nictrace
Hudgun писал(а):
Redrik Shuhart писал(а):нахрен надо 2 кондера за кварцом?
так надо :))
Надо говорить - без них не запустится :)

Добавлено: Пн авг 24, 2009 17:31:50
Данилка
Добрый вечер))))Собирал вот такую штуковину http://www.techmaniacs.net/repairs_lab/1694/?pg=1 Всё собрал, выставил фьюзы по этой картинки Изображение Устройство не заработало. Програмировал 5 проводами. На данный момент тинька не подаёт признаков жизни. Программапишет, мол нету ответа от контролера. Собрал СТК200/300 - ничем не помог. Пишет, что нет ответа. Помогите, что делать??
P.S: у меня ATTiny2313? а не A90S2313

Добавлено: Пн авг 24, 2009 17:40:42
ibiza11
проверяйте монтаж. вот цитата с того сайта
И теперь нажимаем кнопку «Write». После этого оно выдаст какую-то ошибку, типа контроллер не читается, но на это не обращаем внимания:
так что это нормально. не знаю какая там схема, но судя по фузам, контроллер запрограммирован на работу с внешним кварцем 3-8Мгц. Он у вас установлен?

Добавлено: Пн авг 24, 2009 17:53:31
Данилка
в програматоре stk200/300 стоит кварц, как я понял на 4 мгц, на нём написано 4.0BKSS9HT

Добавлено: Пн авг 24, 2009 17:57:11
Данилка
Ещё такой вопрос - а в каком диапозоне можно подключать к 2313 кварци?? Как я понял 4-8МГц, хотя в схеме используют на 12 мгц.

Добавлено: Пн авг 24, 2009 18:05:50
ibiza11
проверяйте монтаж, генерацию. скорее всего там проблемы. не забываем про питание. контроллер работает до 16 МГц, если это не tiny2313V (этот до 8 МГц). почитайте даташит на микроконтроллер. если с языком проблемы, почитайте книжку "Микроконтроллеры AVR в радиолюбительской практике Белов А.В.2007"