ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
кто может подсказать по воопросу int0, всю ночь просидел, так и не смог понять как это сделать.
- Реклама
- Сообщения: 173
- Зарегистрирован: Чт мар 20, 2008 20:33:43
Я вам привел готовую программу. Только выход там PORTB0. Можно сделать любой. Подключите туда свои светодиоды, прошейте файл ogni.hex из папки EXE.
Только нужно подробнее знать ваши условия. Сигнал включения присутствует постоянно или это импульс на которкое время. В данной программе учитывается, что он присутствует на все время свечения(хотя не понятно зачем тогда нужен МК). Если это импульс и каждый следующий импульс включает - выключает светодиоды, то программку нужно изменить. По сути МК будет работать триггером.
Или вы уже написали программу для управления другими светодиодами и вам осталось добавить в нее управление этими двумя, которые вы хотите осуществить через INT0? Тогда я вам не помощник. Асм не знаю. Здесь есть немало спецов по асму.
Только нужно подробнее знать ваши условия. Сигнал включения присутствует постоянно или это импульс на которкое время. В данной программе учитывается, что он присутствует на все время свечения(хотя не понятно зачем тогда нужен МК). Если это импульс и каждый следующий импульс включает - выключает светодиоды, то программку нужно изменить. По сути МК будет работать триггером.
Или вы уже написали программу для управления другими светодиодами и вам осталось добавить в нее управление этими двумя, которые вы хотите осуществить через INT0? Тогда я вам не помощник. Асм не знаю. Здесь есть немало спецов по асму.
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
сигнал с приёмника поступает постоянно..
прошивка написана уже на всё, кроме этого прерывания и проверена на работоспособность.
посмотрел я то что вы дали но Си пока не знаю..
даже изменить выход на pb1 не смог.. просто не понимаю этот язык.
спасибо за помощь, буду ждать умельцев asm
прошивка написана уже на всё, кроме этого прерывания и проверена на работоспособность.
посмотрел я то что вы дали но Си пока не знаю..
даже изменить выход на pb1 не смог.. просто не понимаю этот язык.
спасибо за помощь, буду ждать умельцев asm
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
от приёмника на схему подаётся +, -, сигнал. т.е. сигнал 1 или 0.delay писал(а): В данной программе учитывается, что он присутствует на все время свечения(хотя не понятно зачем тогда нужен МК)..
если переключатель в передатчике в верхнем положении это 1 на примнике (именно на это мканале) в нижнем соотетственно 0.
т.е. int0 должен включать или выключать светодиод по сигналу 1 и 0.
- Сообщения: 173
- Зарегистрирован: Чт мар 20, 2008 20:33:43
Так поставьте транзисторный ключ со светодиодами прямо с этого выхода приемника. В чем проблема то? Зачем вам это в МК запускать?
- Реклама
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
тогда и нет смысла изучать МК. проще поставить транзистор и пустит питание постянное с одной ножки МК. пр 0 будет 0 при 1 будет 1.. хоть это и простойший вариант то не для этого я покупал МК.
- Сообщения: 37
- Зарегистрирован: Сб дек 22, 2007 17:13:24
неужели нет спецов кто пишет на ASM? хм мда....
- Сообщения: 33
- Зарегистрирован: Вс авг 10, 2008 00:41:08
Доброго времени суток. Никгда не доводилось испльзовать все регистры РОН в 2313, просто было не нужно. Но вот в очередном проекте понадобилось 30 регистров РОН. Программирую в асме.
Вот перечень который я обозначил:
.def temp =R16
.def temp1 =R17
.def temp2 =R18
.def temp3 =R19
.def temp4 =R20
.def temp5 =R21
.def temp6 =R22
.def temp7 =R23
.def temp8 =R24
.def temp9 =R25
.def temp10 =R26
.def temp11 =R27
.def temp12 =R28
.def temp13 =R29
.def temp14 =R30
.def temp15 =R31
.def temp16 =R0
.def temp17 =R1
.def temp18 =R2
.def temp19 =R3
.def temp20 =R4
.def temp21 =R5
.def temp22 =R6
.def temp23 =R7
.def temp24 =R8
.def temp25 =R9
.def temp26 =R10
.def temp27 =R11
.def temp28 =R12
.def temp29 =R13
.def temp30 =R14
.def temp31 =R15
Компилятор утверждает, что регистры свыше Temp15 - INVALID.
В чем проблема?
Заранее благодарен...
Вот перечень который я обозначил:
.def temp =R16
.def temp1 =R17
.def temp2 =R18
.def temp3 =R19
.def temp4 =R20
.def temp5 =R21
.def temp6 =R22
.def temp7 =R23
.def temp8 =R24
.def temp9 =R25
.def temp10 =R26
.def temp11 =R27
.def temp12 =R28
.def temp13 =R29
.def temp14 =R30
.def temp15 =R31
.def temp16 =R0
.def temp17 =R1
.def temp18 =R2
.def temp19 =R3
.def temp20 =R4
.def temp21 =R5
.def temp22 =R6
.def temp23 =R7
.def temp24 =R8
.def temp25 =R9
.def temp26 =R10
.def temp27 =R11
.def temp28 =R12
.def temp29 =R13
.def temp30 =R14
.def temp31 =R15
Компилятор утверждает, что регистры свыше Temp15 - INVALID.
В чем проблема?
Заранее благодарен...
- Сообщения: 26
- Зарегистрирован: Пн июн 09, 2008 23:40:31
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57
Просто не ставьте галку у фьюза WDTON. Этого вполне достаточно. Эту галку лучше вообще никогда не ставить, т.к. если понадобится, то его можно легко включить программно и в нужный момент. (и выключить тоже. Но это чуть сложнее). А если установлен фьюз, то Watchdog таймер включается сразу.lag1 писал(а):...Надо исключить прерывания от сторожевого таймера.
Здрасте
приведите мне пожалуйсто код простейшего сикундомера на асме для at90s2313 (если не трудно) 
- Сообщения: 26
- Зарегистрирован: Пн июн 09, 2008 23:40:31
Здравствуйте. У меня еще один вопрос о прерываниях. В программе из обучалки советуют расставить в начале программы ссылки на все прерывания. Пример дан для AT90S2313. А может кто подсказать, как это будет выглядеть для ATTiny2313. И еще, если можно, несколько слов о том, как может повлиять уже на работу программы то, что если мы не будем в начале программы делать ссылки на все возможные прерывания, а пропишем только используемые в программе. Спасибо.
помоему их можно просто не ставить..
(если не будете их использовать..
Это должна выйти бегущая точка. Но есть один момент, нужно что бы при зажигании 8 светодиода PC7, он оставался далее включенным. Но она не работает как нада. 8 светодиод включается и тухнет, а нада что бы продолжал светится.Помогите.
Схема подключения:

Схема подключения:

- Вложения
-
- код.txt
- (1.41 КБ) 527 скачиваний
Я не Сашок!!!
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
sachok писал(а):Это должна выйти бегущая точка. Но есть один момент, нужно что бы при зажигании 8 светодиода PC7, он оставался далее включенным. Но она не работает как нада. 8 светодиод включается и тухнет, а нада что бы продолжал светится.Помогите.
Код: Выделить всё
// остальное делается посредством прерываний
// по переполнению Таймера/Счетчика 1
while(PORTB != 0x7f);
замени эту строку на while(1) или for(;
Код: Выделить всё
while(1)Код: Выделить всё
for();Я не Сашок!!!
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
А зачем выходить? что будет делать МК после выхода из этого цикла?это на сколько я знаю - бесконечный цикл из которого мне нужно выйти.
for( ; ; ); вот так должно было быть, если бы значки автоматически не преобразовывались в смайлы. Это другой вариант while(1);при использовании выдает warning.Код: Выделить всё
for();
Я начинающий поэтому может не все понимаю. С такой прошивкой светодиоды засвечиваются по порядку от 1 по 8. 8 светится в протежении заданного времени и тухнет. А мне надо что бы он продолжал светится, тоесть программа остановилась. Вот проект в proteus:
- Вложения
-
- Новая папка.rar
- (12.44 КБ) 364 скачивания
Последний раз редактировалось sachok Пт авг 15, 2008 12:01:08, всего редактировалось 1 раз.
Я не Сашок!!!
В проекте НЕ ПРОШИВКИ ни исходника !
Чтоб прога остановилась в нужном месте, добавьте там:
1. выключить перерывания
2. сделать бесконечный цикл (с командой WDT внутри - если сторожевой таймер включен.)
Пример со светодиодами есть в задаче 1 курса по AVR - моя дом. страничка - там подробно все расписано.
Чтоб прога остановилась в нужном месте, добавьте там:
1. выключить перерывания
2. сделать бесконечный цикл (с командой WDT внутри - если сторожевой таймер включен.)
Пример со светодиодами есть в задаче 1 курса по AVR - моя дом. страничка - там подробно все расписано.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru


