A modified and extended version of the C501 microcontroller, C504 offers enhanced functionality, such as a capture compare unit (CCU) that allows use in motor control applications. C504 is compatible with SAB 80C52/C501 µCs and can replace the devices in existing applications. C504-2R contains a non-volatile 16K x 8 read-only program memory, a voltatile on-chip 512 x 8 read/write data memory, four 8-bit wide ports, three 16-bit timers/counters, a 16-bit capture/compare unit, a 10-bit compare timer, a twelve source, two priority level interrupt structure, a serial port, versatile fail safe mechanisms, on-chip emulation support logic, and a 10-bit A/D converter. C504-L is identical to the C504-2R except that it lacks the on-chip program memory. And C504-2E is an OTP version with a 16K x 8 memory.