implementing soft usart: encapsulate timers
implementing soft usart: encapsulate timers