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

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

Сообщение tych »

snayperAlfa писал(а):Можно ли его заменить на Tiny2313 и при этом использовать прошивку для AT90S2313
точно не скажу - можно попробовать.

Но есть наверняка и более новые прошивки уже под Тини2313. Поищи.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Реклама
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Для вопросов по статьям есть специальный раздел. В частности, по упомянутому Вами материалу есть тема http://radiokot.ru/forum/viewtopic.php?t=7597, прошу туда. Если коротко, как показала практика (не моя), эту же прошивку для ATTiny2313 использовать не получится, есть решения с софтовым USB, например http://www.recursion.jp/avrcdc/index.html, есть решения программаторов на ATTiny2313, поищите
Оптимизм х (Опыт + Знания) = const
Реклама
Аватара пользователя
tembl4
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт янв 15, 2008 21:18:36
Откуда: МО г.Фрязино-Щёлково
Контактная информация:

Сообщение tembl4 »

помогите плиз мне нужно что таймер прерывался 1 раз в секунду написал вот так и чё та это всё опаздывает

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

          ldi Temp,0b00000100   ;тактовый сигнал = CK/256
          out TCCR1B,Temp

          ldi Temp,0x98       ;инициализация компаратора
          out OCR1AH,Temp
          ldi Temp,0x97       ;или 0х96 это совсем чють чють меняет
          out OCR1AL,Temp
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

Здравствуйте!! У меня такая беда!! прошиваю тини2313 последовательно... вот таким программатором, используя прогу Uni Prof.... находит,прошивает проц нормально,,, но работает МК, только когда включена отладка проги,, при ее закрытии МК вообще молчит!!
в чем может быть дело?
Вложения
111.jpg
(22.04 КБ) 510 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

Может в проге что-то не ТО ! возьми прошивку мигалку светодиодом точно работающую да зашей.
Проверить прошивку можно в PROTEUS 7.4
- http://www.radiokot.ru/forum/viewtopic. ... &start=220
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Реклама
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

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

Сообщение tych »

Денис203 писал(а):ну я самую обычную прогу пишу... просто включить светодиод.. и он даже это не хочет, без отладчика...
А в симуляторе прошивка работает ?
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

да, работает...
я говорю... и в реале работает,, только когда запускаю отладку в УниПроф.....
я думаю.. просто могет какой флажок где поставить?
Алексей77
Родился
Сообщения: 1
Зарегистрирован: Сб авг 30, 2008 20:04:58
Откуда: Украина

Сообщение Алексей77 »

Может светодиоду питания не хватает?
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

А вы шлейф прогамматора отключаете? Ресет куда-нибудь подключен?
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

и не отключаю и отключаю.. все равно... одно!
но когда отключаю, то Ресет на нолик через резистор подключен!
а куда он вообще должен? пустой должен?
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

Все! Спасибо! разобрался! работает!
Аватара пользователя
delay
Нашел транзистор. Понюхал.
Сообщения: 173
Зарегистрирован: Чт мар 20, 2008 20:33:43
Контактная информация:

Сообщение delay »

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

Сообщение tych »

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

Сообщение sachok »

Граждане помогите начинающиму. Увидел на конкурсе работу "термометр на ATtiny2313" хочу себе такой но там нет исходника, а так не интересно. Хочу разобраться как єто все работает сам, поєтому начал сам писать прошивку. Часть программы взял из книги. Уже есть инициализация датчика и запись показаний в масив. Но тут я столкнулся с проблемой: как вывести значения которые записаны в масиве на семисегментный индикатор с общим анодом. Был на сайте ARV читал статью про вывод на индикаторы, понял то что нужно сделать прерывания с частотой 75Гц так как индикаторов будет 3. Может вы мне помогите в этом деле:
1. Как сделать такие прерывания таймера.
2.И как вывесть данные из масива.
Температурный датчик DS1820, МК ATtiny2313. PORTB удобно использовать для вывода информации на сегменты индикаторов, PORTD первые 3 бита хочу задействовать для управления анодами индикаторов.
Код который у меня уже есть во вложении.
И ещё нужно ли сохранять ROM код датчика??
Вложения
термометр.c
(2.86 КБ) 533 скачивания
Я не Сашок!!!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sachok писал(а):нужно сделать прерывания с частотой 75Гц таймера.
Об этом ПОДРОБНО рассказано в Задаче 6 в моей домашней страничке. Там в картинках показана настройка прерываний от таймера.

=== 1-wire систему вы можете отладить в PROTEUS 7.4 - там есть пример в папке
C:\Program Files\Proteus7.4\SAMPLES\VSM for AVR\One-Wire
Есть и динамическая индикация.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

tych спасибо! На вашей страничке посмотрел как делаются прерывания в ICC. Вот такой код получился:

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

//TIMER0 initialize - prescale:1024
// WGM: CTC
// desired value: 75Hz
// actual value: 74,999Hz (0,0%)
void timer0_init(void)
{
 TCCR0B = 0x00; //stop timer
 TCNT0 = 0x71; //set count
 OCR0A = 0x8F; //set count
 OCR0B = 0x8F; //set count
 TCCR0A = 0x00; //start timer
 TCCR0B = 0x05; //start timer
}

#pragma interrupt_handler timer0_compa_isr:iv_TIM0_COMP
void timer0_compa_isr(void)
{
}

#pragma interrupt_handler timer0_ovf_isr:iv_TIM0_OVF
void timer0_ovf_isr(void)
{
 //TIMER0 has overflowed
 TCNT0 = 0x71; //reload counter value
}

//call this routine to initialize all peripherals
void init_devices(void)
{
 //stop errant interrupts until set up
 CLI(); //disable all interrupts
 port_init();
 timer0_init();

 MCUCR = 0x00;
 GIMSK = 0x00;
 TIMSK = 0x03;
 SEI(); //re-enable interrupts
 //all peripherals are now initialized
}

//
void main(void)
{
 init_devices();
 //insert your functional code here...
}
Кажись все правильно. Proteus штука очень хорошая при наладке но мне ещё нет чего налаживать и там нет исходников что бы посмотреть как эти функции реализированые. По поводу вывода информации на индикаторы: насколько я понимаю мне надо выводить на 3 первые бита PORTD лог 1 с частотой переключения в 25Гц. Как єто сделать? вопрос по выводу информации из масива остаётся открытым, а также что делать с ROM кодами датчиков их надо считывать, сохранять??
Я не Сашок!!!
Аватара пользователя
tych
Э...
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва
Контактная информация:

Сообщение tych »

sachok писал(а):tych спасибо! На вашей страничке посмотрел как делаются прерывания в ICC. Вот такой код получился
Поздравляю :lol: Там же написано как отличаются обработчики прерываний для разных компиляторов.
sachok писал(а):Proteus штука очень хорошая при наладке но там нет исходников что бы посмотреть как эти функции реализированые.
Для сети устройств 1-wire ЕСТЬ ИСХОДНИКИ ! под CVAVR. Смотрите ВНИМАТЕЛЬНЕЕ.
sachok писал(а): По поводу вывода информации на индикаторы: насколько я понимаю мне надо выводить на 3 первые бита PORTD лог 1 с частотой переключения в 25Гц. Как єто сделать?
Называется такая штука - Динамическая индикация 7seg LED

Вот почитайте ПОДРОБНО как делать на Си для ATmega16 - разбито на 2 части
Вложения
7segLED AVR на Си ПОДРОБНО.part1.rar
(98.4 КБ) 390 скачиваний
7segLED AVR на Си ПОДРОБНО.part2.rar
(74.76 КБ) 436 скачиваний
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Денис203
Открыл глаза
Сообщения: 51
Зарегистрирован: Вт авг 28, 2007 10:53:49
Контактная информация:

Сообщение Денис203 »

Еще раз, всем привет! с той проблемой разобрался... на Ресет ничего не надо!
теперь , что-то не могу понять... пишу такой текст, элементарный, чтобы запустить таймер 1, компаратор Б,, все для того же тини 2313...
и ничего не работает... может с аврстудио косяк случился??
.device ATtiny2313
.include "C:\Program files\Atmel\AVR Tools\AvrAssembler\Appnotes\tn23134def.inc"

.cseg
.org 0

rjmp Reset
rjmp Timer1_CompB
Timer1_CompB:
Reset:
ldi r16,0b00100000
out TIMSK,r16
ldi r16,0b00000010
out TCCR1B,r16
ldi r16,0b00010000
out OCR1BL,r16
sei
main:rjmp main
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Как посмотреть исходник в Proteus я уже нашол :) С ROM кодом тоже кажись все понял если датчик только 1 то его считывать и сохранять не надо. Исходники которые есть в архивах не хотят компилироваться в CVAVR. Может подскажете прогу которой можно откомпилировать или что надо исправить для CVAVR что бы он warningив и errorор не выдавал.
Я не Сашок!!!
Ответить

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