Budżet: 2000 UAH Termin: 1 dzień
Здравствуйте.
Посмотрел задание. Могу выполнить работу за пару часов.
Есть программа на Assembler для микроконтроллера ATMega8, нужно перевести на язык C++ и скомпилировать в НЕХ файл, для последующей прошивки микроконтроллера (желательно c помощью программы AVRstudio4).
Budżet: 2000 UAH Termin: 1 dzień
Здравствуйте.
Посмотрел задание. Могу выполнить работу за пару часов.
это что за среда?
явно ж не авр студия.
какой из файлов это исходник ассемблерный?
я с иаром не работал, поэтому мне не видно
а за подсказку спасибо)
Программа просто глупая. Половина чего не используется. Например подпрограмма задержки 50 мс нафиг не нужна, операция с флагом Т тоже нафиг не нужна, сбрасывать PORTC, 0 тоже нет необходимости, т.к. он нигде не устанавливается. Если отбросить всю эту ересь, то за дкесять мин вот что получается. Дарю бесплатно.
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<BIT)) // Ìàêðîñ íà óñòàíîâêó áèòà
#define CLEARBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT)) // Ìàêðîñ íà ñáðîñ áèòà
#define CHECKBIT(ADDRESS,BIT) (ADDRESS & (1<<BIT)) // Ìàêðîñ íà ïðîâåðêó áèòà
void main (void)
{
asm("wdr");
WDTCR |= (1<<WDCE) | (1<<WDE);
WDTCR = (1<<WDE)| (1<<WDP2)| (1<<WDP1)| (1<<WDP0);
DDRD = 0x00;
DDRC = 0xFF;
DDRB = 0xFF;
SETBIT(PORTB, 1);
CLEARBIT(PORTB, 0);
for(;;)
{
asm("wdr");
if (!CHECKBIT(PIND, 2))
SETBIT(PORTC, 2);
else
CLEARBIT(PORTC, 2);
while (!CHECKBIT(PIND, 3)){}
while (CHECKBIT(PIND, 3)){}
__delay_ms(5);
if (CHECKBIT(ACSR, 5))
{
SETBIT(PORTB, 0);
CLEARBIT(PORTB, 1);
__delay_ms(5);
}
else
{
CLEARBIT(PORTB, 0);
SETBIT(PORTB, 1);
}
}
}
3 oferty 29 lipca
Inżynieria mechaniczna i produkcja instrumentów 4 oferty 28 lipca