The 8051/8052 Microcontroller: Architecture, Assembly Language, and Hardware Interfacing