An interrupt driven library for HD44780-based LCD displays