В общем разобрался я с регистром, при проверке отдельно от схемы все четко единичку передвигает. Но включив в схему, причем добавил третью ногу в работу, чтобы ноль подавала на сброс (74199) а затем обратно единичку. Короче чето непонятки какието, при симуляции все нормально вроде, а включаю эмуляцию неработает
Вот код (показываю только то что изменялось)
Код
LCDNybble(char Nybble, char RS)
{
unsigned int i;
/*PORTA.0 = 0;
for (i=0; i<6; i++)
{
PORTA.1 = 1;
PORTA.1 = 0;
} */
PORTA.2 = 0;
PORTA.2 = 1;
PORTA.0 = 1;
PORTA.1 = 1;
PORTA.1 = 0;
PORTA.0 = RS;
PORTA.1 = 1;
PORTA.1 = 0;
for (i=0; i<4; i++)
{
if ((Nybble & 0x08) != 0)
PORTA.0 = 1;
else
PORTA.0 = 0;
PORTA.1 = 1;
PORTA.1 = 0;
Nybble = Nybble << 1;
}
PORTA.0 = 1;
PORTA.0 = 0;
}
// Port A initialization
State0=0
PORTA=0x00;
DDRA=0x07;
..........
// LCD module initialization
//lcd_init(16);
PORTA.1 = 0;
PORTA.0 = 0;
PORTA.2 = 1;
delay_ms(20);
LCDNybble(0x03,0);
delay_ms(5);
........