The 8051 Microcontroller: Architecture, Programming, and Applications