#pragma small /* use memory model 'small' */ #include /* Register Set of 80C167 controller */ #include /* Standard I/O functions */ /******************************************************************************/ /* main program */ /******************************************************************************/ void main (void) { /* execution starts here */ /* init serial0 port: */ P3 |= 0x0400; /* set port 3.10 output latch (TXD) */ DP3 |= 0x0400; /* configure port 3.10 for output */ /* operation. ( TXD output) */ DP3 &= 0xF7FF; /* configure port 3.11 for input */ /* operation. ( RXD input) */ S0TIC = 0x80; /* set transmit interrupt flag */ S0RIC = 0x00; /* delete receive interrupt flag */ S0BG = 0x40; /* set baudrate to 19200 baud */ S0CON = 0x8011; /* set serial mode */ putchar(' '); /* send dummy-Byte for compatibility */ printf ("Hello World\n"); /* print 'Hello World' to the serial */ printf ("Ich... der Beste!\n"); /* port. */ while (1) { /* An embedded program without any */ /* operating system usually does not */ /* stop and never returns. */ /* We've used an endless loop in this */ /* example. */ printf (" char = %02bX\n",getchar()); /* print the two digit hex code of */ /* any received character */ } }