#include unsigned char CHAR; void TC7_INIT(void); void SCI0_INIT(void); void main(void) { DDRB = 0xFF; DDRA = 0x00; SCI0_INIT(); TC7_INIT(); HPRIO = (unsigned char)(Vsci0&0x00FF); __asm CLI; for(;;) { PORTB = PORTA; } } void SCI0_INIT(void) { SCI0BDH = 0x00; SCI0BDL = 0x0D; SCI0CR1 = 0x00; SCI0CR2 = 0xAC; } void TC7_INIT(void) { TSCR1 = 0x80; TSCR2 = 0x04; TIOS = TIOS | TIOS_IOS7_MASK; TCTL1 = 0x40; TIE = 0x80; } interrupt (((0x10000-Vsci0)/2)-1) void SCI0_ISR(void){ if(SCI0SR1_TDRE_MASK & SCI0SR1) SCI0DRL = CHAR; if(SCI0SR1_RDRF_MASK & SCI0SR1) CHAR = SCI0DRL; } interrupt (((0x10000-Vtimch7)/2)-1) void TC7_ISR(void) { TC7 = TCNT + (word)62500; TFLG1 = TFLG1 | TFLG1_C7F_MASK; }