An embedded system uses a microprocessor to control a specific function without being programmed by the end user like a PC. Many embedded systems are based on PC hardware and software due to its accessibility. Microprocessors are widely used in embedded systems as they can replace discrete logic circuits, provide functional and maintenance upgrades, improve performance, protect intellectual property, and replace analogue circuits.