Например TDA7294

Форум РадиоКот :: Просмотр темы - Помогите с Tiny15
Форум РадиоКот
https://radiokot.ru/forum/

Помогите с Tiny15
https://radiokot.ru/forum/viewtopic.php?f=20&t=28966
Страница 1 из 1

Автор:  kybertech [ Пт апр 16, 2010 15:41:42 ]
Заголовок сообщения:  Помогите с Tiny15

Всем котам привет !
Ребя такая проблемка. Использовал 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.

Автор:  Danko [ Пт апр 16, 2010 16:41:53 ]
Заголовок сообщения:  Re: Помогите с Tiny15

Что мешает для тини15 писать на Си?

Автор:  pyzhman [ Пт апр 16, 2010 20:53:49 ]
Заголовок сообщения:  Re: Помогите с Tiny15

А после компиляции посмотреть файл *.asm?

Автор:  GP1 [ Пт апр 16, 2010 21:39:56 ]
Заголовок сообщения:  Re: Помогите с Tiny15

вся проблема - в названии служебных регистров
у Т15 нет TCCR0A(B) у неё есть TCCR0, и с остальными регистрами может быть такая же заморочка.
Выход - берешь два ДШ на Т13 и Т15 и сравниваешь названия. :beer:

Автор:  kybertech [ Пт апр 16, 2010 23:25:04 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

Помогите кто знает как написать эту прогу на асме.

Автор:  GP1 [ Пт апр 16, 2010 23:31:59 ]
Заголовок сообщения:  Re: Помогите с Tiny15

а зачем тебе ЭТО?
уж больно на таймер для детонатора смахивает. :dont_know:

Автор:  kybertech [ Сб апр 17, 2010 00:53:51 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.

Автор:  evgeniy66 [ Сб апр 17, 2010 05:41:30 ]
Заголовок сообщения:  Re: Помогите с Tiny15

kybertech писал(а):
Ну так че поможете ? Или хоть скажите в чем можно писать на Си под тини15 что бы нормально работало.

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

Автор:  kybertech [ Сб апр 17, 2010 09:23:34 ]
Заголовок сообщения:  Re: Помогите с Tiny15

Народ, я теряю веру в жизнь !
За ночь выучил немного ассемблера ))))
Написал кусок кода который включает светодиод на порту PB0 прошил МК - НЕ РАБОТАЕТ. ЧТО ЭТО МОЖЕТ БЫТЬ ?
В эмуляторе работает

Автор:  GP1 [ Сб апр 17, 2010 09:42:43 ]
Заголовок сообщения:  Re: Помогите с Tiny15

Ладно, не гони волну, вечером что-нибудь накропаю :tea:

Автор:  Danko [ Сб апр 17, 2010 14:30:23 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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 KiB]
Скачиваний: 624

Автор:  kybertech [ Сб апр 17, 2010 19:10:45 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

Но другие контроллеры то шьються и работают замечательно !

Автор:  GP1 [ Сб апр 17, 2010 21:27:40 ]
Заголовок сообщения:  Re: Помогите с Tiny15

Вот что получилось. Точность отработки +0,2сек
в железе не проверял :)))
во вложении проект для VMLab 3.15 ну *.hex само-собой там есть, скачать абсолютно бесплатно можно здесь:
http://www.amctools.com/

Вложения:
kybertech.rar [94.68 KiB]
Скачиваний: 186

Автор:  kybertech [ Вс апр 18, 2010 16:34:49 ]
Заголовок сообщения:  Re: Помогите с Tiny15

В железе не работает не пойму почему !

Автор:  Danko [ Вс апр 18, 2010 17:37:47 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

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

На сколько я помню тини15 один из тех МК в которых калибровочное значение автоматически НЕ заносится в регистр OSCCAL.

Вложения:
Комментарий к файлу: Исходник ICCtiny + схема sPlan
pult.zip [10.32 KiB]
Скачиваний: 202

Автор:  kybertech [ Вс апр 18, 2010 21:07:18 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

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

Я думаю тему можно закрыть !

Автор:  viktor110668 [ Пн апр 19, 2010 12:03:56 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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

Автор:  kybertech [ Пн апр 19, 2010 15:33:01 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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



Выше в ответе есть ссылки ! проверил работают !

Автор:  YS [ Ср апр 21, 2010 21:12:56 ]
Заголовок сообщения:  Re: Помогите с Tiny15

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


А зачем для этого МК? :shock: Таймер на RC-цепочке уже не модно? :))) См. во вложении - задержка 33 секунды, активный уровень - высокий. Если надо низкий - просто перекинуть входы операционника... :tea:

Автор:  simpleX [ Ср май 05, 2010 18:59:02 ]
Заголовок сообщения:  Re: Помогите с Tiny15

kybertech писал(а):
... И самое главное что хочу сказать ! Много читал что этот МК нужно программить только на асме - ЭТО НЕ ТАК ! На Си писать можно свободно !!!!!!!!!! к примеру в ICCtiny !


Юзая С, в конечном счёте всё равно получается .asm файл, который скармливается атмеловскому компилеру. И с какого бодуна ввели запрет на С для каких бы то ни было камней?! Тока если генерируемый код не влазит на флэшку - ето единственный момент...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/