Помогите с Tiny15

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Всем котам привет !
Ребя такая проблемка. Использовал Attiny13 но из-за их неимения купил Attiny15.
Пишу на Си.
Программа компилируется, в протеусе работает как нада, а на железе вообще полный ноль.

Вот программа написана на Си для Attiny13 помогите перевести её для Attiny15 на ASM:
  • #include <tiny13.h>
    #include <delay.h>

    int BackSecconds=0;
    int BackCounterDelay=0;
    int FlagLamp=0;

    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    BackCounterDelay--;
    }

    void main(void)
    {
    #pragma optsize-
    CLKPR=0x80;
    CLKPR=0x00;
    #ifdef _OPTIMIZE_SIZE_
    #pragma optsize+
    #endif

    PORTB=0x00;
    DDRB=0x05;

    TCCR0A=0x00;
    TCCR0B=0x02;
    TCNT0=0x00;
    OCR0A=0x00;
    OCR0B=0x00;

    GIMSK=0x00;
    MCUCR=0x00;

    TIMSK0=0x02;

    ACSR=0x80;
    ADCSRB=0x00;

    PORTB.0=0;
    PORTB.2=0;

    BackSecconds=30;
    BackCounterDelay=4600;
    FlagLamp=0;

    #asm("sei")

    while (1)
    {
    #asm("cli")

    if(BackSecconds<=0)
    {
    PORTB.0=1;
    PORTB.2=1;
    }
    else
    {
    if(BackCounterDelay<=0)
    {
    BackSecconds--;
    BackCounterDelay=4600;
    if(FlagLamp==0){PORTB.0=1;FlagLamp=1;}else{PORTB.0=0;FlagLamp=0;};
    }
    };

    #asm("sei")
    };
    }

Проще говоря это таймер:
при подачи питания на МК начинается отсчет 30 секкунд, в это время мигает светодиод на PB0, по истечению времени (30 сек), включаем пины PB0 и PB2.
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Что мешает для тини15 писать на Си?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

А после компиляции посмотреть файл *.asm?
Docendo discimus
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

вся проблема - в названии служебных регистров
у Т15 нет TCCR0A(B) у неё есть TCCR0, и с остальными регистрами может быть такая же заморочка.
Выход - берешь два ДШ на Т13 и Т15 и сравниваешь названия. :beer:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Ребята, все что писал на Си для tiny15 работает в ПРОТЕУС-е, а на железе не работает вообще.
Сегодня целый день искал и читал что Си не поддерживает tiny15 из за не имения памяти.

Помогите кто знает как написать эту прогу на асме.
Контактная информация:
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

а зачем тебе ЭТО?
уж больно на таймер для детонатора смахивает. :dont_know:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Таймер который будет запускать насос с задержкой в 30 сек после подачи питания, что бы успели включиться и протестироваться другие системы.

Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 151
Зарегистрирован: Пт май 01, 2009 08:58:42
Откуда: г. Коломна

Сообщение evgeniy66 »

kybertech писал(а):Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.
Скорее всего на Си под эту модель нельзя писать проги, AVR Studio предупреждает: "MCU 'attiny15' supported for assembler only"
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Народ, я теряю веру в жизнь !
За ночь выучил немного ассемблера ))))
Написал кусок кода который включает светодиод на порту PB0 прошил МК - НЕ РАБОТАЕТ. ЧТО ЭТО МОЖЕТ БЫТЬ ?
В эмуляторе работает
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Ладно, не гони волну, вечером что-нибудь накропаю :tea:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

evgeniy66 писал(а):Скорее всего на Си под эту модель нельзя писать проги, AVR Studio предупреждает: "MCU 'attiny15' supported for assembler only"
Почему нельзя?

ICCTiny

http://www.imagecraft.com/pub/readme.tiny
http://www.imagecraft.com/pub/icctinydem.exe
Вложения
icc.jpg
(72.22 КБ) 637 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

На ICCTiny тоже писал ! и тоже не работает ! Я вот думаю может что-то с моим программатором ? Шью через PonyProg2000 программатор тоже PonyProg. При прошивке ошибок никаких не выдает. Фюзы не менял, все оставил по заводскому.
И не работает ! Чудеса прям какие-то !

Но другие контроллеры то шьються и работают замечательно !
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

Вот что получилось. Точность отработки +0,2сек
в железе не проверял :)))
во вложении проект для VMLab 3.15 ну *.hex само-собой там есть, скачать абсолютно бесплатно можно здесь:
http://www.amctools.com/
Вложения
kybertech.rar
(94.68 КБ) 197 скачиваний
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

В железе не работает не пойму почему !
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай

Сообщение Danko »

Когда-то делал пульт RC-5 на тини15.

Проект рабочий, проверен в железе. Может кому пригодится.

На сколько я помню тини15 один из тех МК в которых калибровочное значение автоматически НЕ заносится в регистр OSCCAL.
Вложения
pult.zip
Исходник ICCtiny + схема sPlan
(10.32 КБ) 216 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

Всем спасибо за поддержку ! Всем спасибо за помощь ! Огромное спасибо GP1
Не пинайте ногами ! Я ПРОТУПИЛ !
Не был подтянут резет через резистор на +5. Только впаял резистор все заработало!
:))) :))) :))) :)))

Хочу написать несколько тонкостей, может кому понадобиться !
1)Если PB5 не запрограммирован, то работает как резет - обязательно подтягивайте через резистор на +5В.
2)В Tiny15 действительно проблемы с калибровочным битом ! Его можно считать к примеру PONYPROG2000 и записать программно в регистр OSCCAL. - Таким образом получаем для каждого МК Tiny15 разная программа. Если не установить регистр OSCCAL - МК начинает работать на разных частотах.
3) И самое главное что хочу сказать ! Много читал что этот МК нужно программить только на асме - ЭТО НЕ ТАК ! На Си писать можно свободно !!!!!!!!!! к примеру в ICCtiny !

Я думаю тему можно закрыть !
Контактная информация:
Открыл глаза
Сообщения: 45
Зарегистрирован: Пн мар 09, 2009 08:06:49

Сообщение viktor110668 »

помогите ссылкой на ImageCraft ICCAVR Professional v6.31a
весь инет перерыл нигде нормально нескачивается либо ссылки битые
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 170
Зарегистрирован: Пт окт 31, 2008 02:54:28
Откуда: Украина

Сообщение kybertech »

viktor110668 писал(а):помогите ссылкой на ImageCraft ICCAVR Professional v6.31a
весь инет перерыл нигде нормально нескачивается либо ссылки битые

Выше в ответе есть ссылки ! проверил работают !
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Таймер который будет запускать насос с задержкой в 30 сек после подачи питания
А зачем для этого МК? :shock: Таймер на RC-цепочке уже не модно? :))) См. во вложении - задержка 33 секунды, активный уровень - высокий. Если надо низкий - просто перекинуть входы операционника... :tea:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 39
Зарегистрирован: Сб май 30, 2009 00:51:42
Откуда: Россия, г. Курск

Сообщение simpleX »

kybertech писал(а):... И самое главное что хочу сказать ! Много читал что этот МК нужно программить только на асме - ЭТО НЕ ТАК ! На Си писать можно свободно !!!!!!!!!! к примеру в ICCtiny !
Юзая С, в конечном счёте всё равно получается .asm файл, который скармливается атмеловскому компилеру. И с какого бодуна ввели запрет на С для каких бы то ни было камней?! Тока если генерируемый код не влазит на флэшку - ето единственный момент...
"Никогда не опускайся чего б тебе ни стоило, как бы ни было плохо.
А если отступил и сдал немного, то, считай, душа продалась и сдохла!
Честь и кровь - сохрани свою совесть, свобода и любовь - вот она русская гордость"
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»