/********************************
*This program uses interrupts so*
* that when the full string has *
*been received it is sent out *
*again on the serial port *
********************************/
#include <reg51.h>
unsigned char index;
char name[] = "Tobias Mole ";
main (void){
/*initialise serial port and est int*/
TMOD = 0x20; /*PUT TIMER 1 INTO 8-BIT MODE*/
TH1 = 243;
TR1 = 1; /*START TIMER 1*/
SM0 = 0;
SM1 = 1; /*SET SERIAL PORT AS 8-BIT UART*/
IT1 = 1; /*EDGE TRIG. INT1*/
EX1 = 1; /*ENABLE INT1*/
ES = 1; /*ENABLE SERIAL PORT INT*/
EA = 1; /*ENABLE ALL*/
while (1){} /*DO NOTHING*/
}
void external1ISR (void) interrupt 2{
index = 0;
TI = 1;
}
void serialPortISR (void) interrupt 4{
if (name[index] != 0){
SBUF = name[index];
index++;
}
TI = 0;
}
|