#include <mega8.h>
#include <delay.h>
int z=0;
void main(void)
{
DDRB = 0b0000000;
PORTB = 0b0000001;
DDRD = 0b0000111;
PORTD = 0b0000000;
while (1)
{
if (PINB==0b0000000)
{
TCCR0 = 0b00000101;
TCNT0 = 0
while (z < 21)
{
if (TCNT0 == 255)
{
z++;
};
};
TCNT0 = 0;
TCCR0 = 0b00000000;
PORTD=0b00000111;
_delay_ms(1000)
};
if (PINB==0b0000001)
{
PORTD=0b00000000;
};
};
};
Короче порт b0 на ввод с подтягивалкой , порты d 3 штука на выход , обяьвляю это , потом в беск цикл , обьявил частоту нулевого таймера платки , обнулил его ячейку памяти , и пока z не сделаетется в 1024/1000000*255*20 секунд ждем , потом обнуляем таймер на всякий , вдруг потом юзать будем ниже по коду , зажигаем 3 светоидиота и усе по сути
Русским языком говоря , нажал кнопку подождал примерно 5.2 с загорелись лампочки на 1000 мс проверили что ты уже отпустил кнопку и потухли )
Код не работает в протеусе и сыплет ошибками , искал ошибку в инете и ничего зазорного в коде не нашел