Код: Выделить всё
#include <90s2343.h>
#include <delay.h>
void main(void)
{
unsigned char pause;
DDRB.4 =0xFF;
pause = 1;
while (1)
{
PORTB.4 =0xFF;
delay_ms(pause);
PORTB.4 =0x00;
delay_ms(pause);
}
}Код: Выделить всё
#include <90s2343.h>
#include <delay.h>
void main(void)
{
unsigned char pause;
DDRB.4 =0xFF;
pause = 1;
while (1)
{
PORTB.4 =0xFF;
delay_ms(pause);
PORTB.4 =0x00;
delay_ms(pause);
}
}мне бы это ввиде кодапросто КОТ писал(а):Возможно внешнее прерывание и в прерывании указать +1 или -1.
Код: Выделить всё
#include <tiny13.h>
interrupt[2] void ExtInt1(void)
{ if (PORTB.3=1)
{pause=X+1
X=pause};
if (PORTB.4=1)
{pause=X-1
X=pause}
void main(void)
{
unsigned char X;
unsigned char pause;
pause=X
DDRB=0b11101;
PORTB=0b00010;
MCUCR=0b00000010
GTCCR=0b10000000
#asm("sei")
while (1)
{
PORTB.4 =0xFF;
delay_ms(pause);
PORTB.4 =0x00;
delay_ms(pause);
}
}а почему? а если мне надо от 1 гц до 10 кгц?просто КОТ писал(а):Да, кстати -- Частоты будут: 1кГц, 500Гц, 333Гц, 250Гц, 200Гц, 166Гц, 143Гц, 125Гц, 111Гц, 100Гц.
Да. В _delay_ms() запрещено использовать переменные.delay_ms(pause); однозначно убирай.