//поиздеваемся над звуком,применяя библиотечную функцию _delay_ms и _delay_us
#define F_CPU 4000000UL //обязательно,т.к. это значение используется функцией _delay_... как параметр
#include <avr/io.h>
#include <avr/pgmspace.h>
#include "util/delay.h" //обязательно откройте этот файл и изучите его
//Фукции _delay_ms_us нельзя передать переменную,а только константу,поэтому схитрим и напишим свою функцию.
void delay_us(unsigned int us)
{
for(unsigned int i=0;i<us;i++)//Цикл us-раз вызывает _delay_us(1)-1-на микросекунда
{
_delay_us(1);
}
}
void main(void)
{
DDRB=0x08;
PORTB=0x08;
ACSR=0x80;
unsigned int us=600;
while(1)
{
PORTB^=(1<<PB3);
delay_us(us);
us--;
if(!us)
us=100;
}
}
//Только нужно нажать Alt+F7 и найти там Toolchain/Optimization и поставить Os
НАЗАД Assembler AVR Assembler PIC ДАЛЕЕ