Registers are a fundamental concept of microcontrollers, and understanding them is essential for programming microcontrollers successfully. A register is a small amount of memory on the controller which can be read from, written to, and configured by the programmer. Generally speaking, it's a container for a piece of data or instruction used in computer operations. On a microcontroller, many registers often contain different information like time settings, control instructions and so on. All this data may be rewritten as needed as the controller processes instructions. It's up to the programmer to ensure registers are set up accurately before running code that uses those registers to ensure desired results.