ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

tych Спасибо за ответ но в нем мало чего понял.
1. выключить перерывания
это убрать вот этот участок программы??

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

 interrupt [TIM1_OVF] void timer1_overflow(void)
{
// снова инициализируем Таймер/Счетчик 1
TCNT1=0x10000-(xtal/1024/fmove);
// проверяем зажигание последнего светодиода
if(PORTB != 0x7F);
PORTB=(PORTB<<1)|1;  // переместим и включим светодиод
}

Что то я в вашем самоучителе заблудился и не нашол задачу 1 с примеров для светодиодов если можно то ссылку напишите.
Я не Сашок!!!
Аватара пользователя
nds
Друг Кота
Сообщения: 4712
Зарегистрирован: Вс май 25, 2008 19:47:47
Откуда: РФ
Контактная информация:

Сообщение nds »

выключить прерыввания - ассемблерная команда cli
пример
cli ; Запретить прерывания
in r11, $16 ; Считать Порт B
sei ; Разрешить прерывания
2B OR NOT 2B = FF
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Прерывания выключил.
Чтоб прога остановилась в нужном месте, добавьте там:
2. сделать бесконечный цикл (с командой WDT внутри - если сторожевой таймер включен.)

Как это сделать??? Бесконечный цикл это

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

while(1);
?
Я не Сашок!!!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sachok писал(а):Что то я в вашем самоучителе заблудился и не нашол задачу 1 с примеров для светодиодов .


А прямо в начале самомом написано: "Задачи-упражнения курса по AVR"
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
¤KOSTIK¤
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Пт авг 15, 2008 19:45:01
Откуда: Йошкар-Ола
Контактная информация:

Сообщение ¤KOSTIK¤ »

Всем привет.Я только начинающий в деле с микроконтроллерами и хочу собрать первую схему на ATTiny2313. Прочитал весь ваш форум и перелопатил почти весь инет .Есть вопрос о внутрисхемном программировании ATTiny2313: я так понял эту систему программирования-собираешь полностью устройство на ATTiny2313, выводишь выводы для программирования-соответственно MOSI,MISO,SCK,RESET,GND. Затем подключаешь к ним программатор. Вот тут тоже вопрос к профессионалам:чем лучше прошивать-пятью проводками от LPT или лучше с буферной микросхемой 74HC244 от этого же LPT ? Дальше, я так понял, подаём питание на схему с ATTiny2313. А сколько нужно подавать: кто то пишет что столько, сколько нужно для питания микроконтроллера, кто то говорит сколько по схеме должно быть, а кто то говорит, что от внутрисхемного программирования у них сгорел порт LPT. (всё это вычитал на форумах по микроконтроллерам). Шиться хочу CodeVisionAVR C Compiler- как он в деле по прошивке этого микроконтроллера?Вот такая вот проблема.Заранее спасибо всем ответившим.
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

¤KOSTIK¤ писал(а):Есть вопрос о внутрисхемном программировании ATTiny2313... CodeVisionAVR C Compiler- как он в деле по прошивке


"Всё о прошивании AVR" - стр. 7 краткого курса - моя домашняя страничка.

¤KOSTIK¤ писал(а):кто то пишет что столько, кто то говорит сколько, а кто то говорит


Правильно так как в даташите на МК написано. Я считаю что у меня в курсе тоже правильно написано - я проверял.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sachok писал(а):tych Спасибо за ответ но в нем мало чего понял.
1. выключить перерывания
это убрать вот этот участок программы??

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

 interrupt [TIM1_OVF] void timer1_overflow(void)
{
// снова инициализируем Таймер/Счетчик 1
TCNT1=0x10000-(xtal/1024/fmove);



Это ОБРАБОТЧИК прерывания - сюда прога попадет когда оно случится.

А нужно запретить реакцию на событие прерывания.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
¤KOSTIK¤
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Пт авг 15, 2008 19:45:01
Откуда: Йошкар-Ола
Контактная информация:

Сообщение ¤KOSTIK¤ »

Спасибо за помощь, tych. Если ты проверял-сделаю как у тебя написано на домашней стрнаничке. Потом напишу о результате по твоему способу.[/quote]
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Всем спасибо!!! Разобрался со своими светодиодами :)
Я не Сашок!!!
poff
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вс авг 10, 2008 00:41:08

Сообщение poff »

Господа, услыште меня. Почему компиляторы avrasm иtavrasm отказываются видеть регистры РОН в диапазоне R0-R15, а видят только регистры R16-R31,хотя в даташите на ATTINY2313 указано, что в наличии имеется 32 регистра РОН.

Заранее благодарен
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

poff писал(а):Господа, услыште меня. Почему компиляторы avrasm иtavrasm отказываются видеть регистры РОН в диапазоне R0-R15, а видят только регистры R16-R31,хотя в даташите на ATTINY2313 указано, что в наличии имеется 32 регистра РОН.


В обучалку радикота загляни. Ну и в help ассемблеров тоже.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
¤KOSTIK¤
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Пт авг 15, 2008 19:45:01
Откуда: Йошкар-Ола
Контактная информация:

Сообщение ¤KOSTIK¤ »

Уважаемые,прошу вашей помощи. Программатором STK200 буду шить ATTiny2313. Объясните пожалуйста,куда подсоединять вывод LED к контроллеру?
Вложения
07_avrprog.png
(5.1 КБ) 656 скачиваний
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

¤KOSTIK¤ писал(а):Уважаемые,прошу вашей помощи. Программатором STK200 буду шить ATTiny2313. Объясните пожалуйста,куда подсоединять вывод LED к контроллеру?

Не надо подключать.
Последний раз редактировалось tych Пн авг 18, 2008 16:13:59, всего редактировалось 1 раз.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
¤KOSTIK¤
Первый раз сказал Мяу!
Сообщения: 34
Зарегистрирован: Пт авг 15, 2008 19:45:01
Откуда: Йошкар-Ола
Контактная информация:

Сообщение ¤KOSTIK¤ »

Благодарствую,tych.
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Нужна помощ начинающему. Как инвертировать сигнали на выходах порта В. Исходник в вложении.
Вложения
код.c
(1.32 КБ) 546 скачиваний
Я не Сашок!!!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sachok писал(а):Нужна помощ начинающему. Как инвертировать сигнали на выходах порта В. Исходник в вложении.

Можно так

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

PORTB=~( то что есть в исходнике );


А если там светодиоды, то переключить их на другой лог уровень ключения .
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

tych спасибо за ответ!
не знаю правильно ли Вы меня поняли но попробую разеснить что мне нужно. Сейчас программа работает нормально и останавливается на 5 бите порта В если он равен лог. 0. при такой настройке портов на выходе порта В появляются лог. 0 при прерываниях. таким образом светодиоды нужно соединять анодами вместе и через резистор на +5В, а катоды на выводи порта В. мне желательно сделать так что бы светодиоды можно было соединить катодами вместе и их на общий провод, а анодами к выходам порта В через резисторы. то есть нужна такая переделка программы что бы на выходах порта В появлялись лог.1. если можете то помогите. :) и ещё маленькое условие при работе должен светится только 1 светодиод.
а потом я уже сам попробую переделать что бы прога останавливалась когда бит 5 порта В будет равен не лог.0 , а лог.1.
Я не Сашок!!!
Shutilla
Открыл глаза
Сообщения: 52
Зарегистрирован: Чт июл 03, 2008 12:34:48
Откуда: Волгоград

Сообщение Shutilla »

Прошиваю tiny2313 БайтБластером из обучалки через Avreal. Благополучно прошилось раз эдак 5, а на шестой ругается вот так:
Command:
+TINY2313 -p1 -ab -o4MHz -% -n -ew clock.hex
% LPT base port 0x378
% assume that LPT data writes not faster then 1uS
% ByteBlaster found
% ByteBlaster mode
% osc = 4000kHz -> setup=1, hold=1,1
% Reset
% PgmOn reply 0xAC525353
% Synchronised after 1 try
% GetID reply 0x53535353
Not connected
Can't continue
Reset pin released
Adapter disabled
Если запустить с -!, то, няп, все байты читаются как 0х53. Причем контроллер работает исправно (относительно той программы, которая в нем есть).
С чего бы это (всмысле, куда копать)?
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Shutilla писал(а):куда копать ?

Возможно в посиках "соплей" :lol:
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
snayperAlfa
Открыл глаза
Сообщения: 58
Зарегистрирован: Ср июл 09, 2008 22:17:41

Сообщение snayperAlfa »

Есть статья про программаторы http://radiokot.ru/lab/controller/29/.Там есть про USB AR910 (НЕ протосовсский).Там используется AT90S2313.Но данного МК у меня в городе нету.Можно ли его заменить на Tiny2313 и при этом использовать прошивку для AT90S2313? Или может гдето есть программаторы с аппаратным USB->UART,но использующие доступные МК(Mega8 например).Хочется в качестве преобразователя использовать шнурок от мобиьного,коих у меня имеется в достаточном количестве.
Ответить

Вернуться в «AVR»