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



