#include <at89x51.h> // Definitions of registers, SFRs and Bits
#include "uart.c"

// ISR-Prototypes ===================================================
void External0_ISR(void) interrupt 0; // ISR for the external input INT0
void Timer0_ISR(void)    interrupt 1; // ISR for Timer0 overflow
void External1_ISR(void) interrupt 2; // ISR for the external input INT1
void Timer1_ISR(void)    interrupt 3; // ISR for Timer1 overflow
void Serial_ISR(void)    interrupt 4; // ISR for serial reception

// External0-ISR (INT0) =============================================
void External0_ISR(void) interrupt 0 
{
// Safety-routine
_asm
  nop
_endasm;
return;  
}

// Timer0-ISR =======================================================
void Timer0_ISR(void) interrupt 1
{
// Safety-routine
_asm
  nop
_endasm;
return;
}

// External1-ISR (INT1) =============================================
void External1_ISR(void) interrupt 2
{
// Safety-routine
_asm
  nop
_endasm;
return;
}

void Timer1_ISR(void) interrupt 3
{
// Safety-routine
_asm
  nop
_endasm;
return;
}

// Serial-ISR =======================================================
void Serial_ISR(void) interrupt 4
{
// Safety-routine
_asm
  nop
_endasm;
return;
}

// MAIN =============================================================
void main( void )
{
int i,j;
char s[7];
uart_init();
uart_puts("Name: ");
uart_gets(s);
uart_putc(10);uart_putc(13);
uart_puts("Hello, ");
uart_puts(s);
uart_putc(10);uart_putc(13);
uart_puts("i: ");i=uart_geti();
uart_putc(10);uart_putc(13);
uart_puts("j: ");j=uart_geti();
uart_putc(10);uart_putc(13);
uart_puti(i);uart_puts(" * ");uart_puti(j);uart_puts(" = ");uart_puti(i*j);
uart_putc(10);uart_putc(13);
}