This application note describes a KEELOQ code hopping decoder implemented on a Microchip Mid-Range PICmicro microcontroller (PIC16CE624). The software has been designed as a group of independent modules (standard assembly include files “.inc” ). For clarity and ease of maintenance, each module covers a single function. Each module can be modified to accommodate different behavior, support a different microcontroller (MCU), and/or a different set of peripherals (such as memories and timers).