написал простую программу чтоб на каждое N нажатие кнопки по rs был сигнал
вод код проги
CODE
#include <mega8.h>
#include <delay.h>
#include <io.h>
#include <stdio.h>
void main()
{
PORTB=0x00;
DDRB=0x1F;
PORTC=0x03;
DDRC=0x01;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
UCSRA=0x00; //
UCSRB=0x08; //
UCSRC=0x86; //инициализация передатчика 8 1 нет
UBRRH=0x00; // асинхронный 192000
UBRRL=0x19; //
ACSR=0x80;
SFIOR=0x00;
while (1)
{
int c;
int l;
c=0;
l=7;
m1: // передача данных
PORTC.0=0;
delay_ms(500);
printf("нажатие клавиши ");
c=-1;
PORTC.0=1; // гасим индикатор
PORTB=c; // ОТЛАДКА
m2: // сканируем первый импульс
if (PINC.1==1)
{delay_us(10);
if (PINC.1==1)
{c=c+1;
PORTB=c; //ОТЛАДКА
goto m3;
}
else
{goto m2;
};
}
else
{goto m2;
};
m3:
if (c==l)
{goto m1;
}
else
{goto m4;
};
m4:
if (PINC.1==0)
{delay_us(10);
if (PINC.1==0)
{goto m2;
}
else
{goto m4;
};
}
else
{goto m4;
};
};
}
#include <delay.h>
#include <io.h>
#include <stdio.h>
void main()
{
PORTB=0x00;
DDRB=0x1F;
PORTC=0x03;
DDRC=0x01;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
UCSRA=0x00; //
UCSRB=0x08; //
UCSRC=0x86; //инициализация передатчика 8 1 нет
UBRRH=0x00; // асинхронный 192000
UBRRL=0x19; //
ACSR=0x80;
SFIOR=0x00;
while (1)
{
int c;
int l;
c=0;
l=7;
m1: // передача данных
PORTC.0=0;
delay_ms(500);
printf("нажатие клавиши ");
c=-1;
PORTC.0=1; // гасим индикатор
PORTB=c; // ОТЛАДКА
m2: // сканируем первый импульс
if (PINC.1==1)
{delay_us(10);
if (PINC.1==1)
{c=c+1;
PORTB=c; //ОТЛАДКА
goto m3;
}
else
{goto m2;
};
}
else
{goto m2;
};
m3:
if (c==l)
{goto m1;
}
else
{goto m4;
};
m4:
if (PINC.1==0)
{delay_us(10);
if (PINC.1==0)
{goto m2;
}
else
{goto m4;
};
}
else
{goto m4;
};
};
}
работает счет нажатия клавиши и индикаторы на порт B0-4
но передача не идет по rs (смотрел осциллографом)
подскажите что я не так делаю ?