uint8_t Intel8255::readByPort(uint8_t p03) { switch (p03) { case 0: return readPortA(); case 1: return readPortB(); case 2: return readPortC(); case 3: return readControl(); } return 0; }
void Intel8255::strobePortB(void) { readPortB(); /* override this */ }
int main(void) { cfgPorts(); initLCD(); sendCode(nIns, 0x80); /*sendCode(nData, 'P'); sendCode(nData, 'I'); sendCode(nData, 'I'); sendCode(nData, 'X'); sendCode(nData, 'E'); sendCode(nData, 'L'); sendCode(nData, '['); sendCode(nData, 'D'); sendCode(nData, 'A'); sendCode(nData, 'N'); sendCode(nData, 'C'); sendCode(nData, 'E'); sendCode(nData, ']'); */ unsigned char Counter_Unidades = 0x30; unsigned char Counter_Decenas = 0x30; unsigned char Counter_Centenas = 0x30; for(;;) { Counter_Unidades ++; delay(n1sec); if(Counter_Unidades == 0x3A) { Counter_Unidades = 0x30; Counter_Decenas ++; delay(n1sec); } sendCode(nIns, 0x87); sendCode(nData, Counter_Unidades); if(Counter_Decenas == 0x3A) { Counter_Decenas = 0x30; Counter_Centenas ++; delay(n1sec); } sendCode(nIns, 0x86); sendCode(nData, Counter_Decenas); if(Counter_Centenas == 0x3A) { Counter_Decenas = 0x30; } sendCode(nIns, 0x85); sendCode(nData, Counter_Centenas); if (readPortB(btn1)== nButtonPressed) { Stop=1; } while (Stop ==1) { if(readPortB(btn2)== nButtonPressed) { Stop=0; } } } return 0; }