Microprocessors/Microcontrollers - Do registers have addresses?
The source of the confusion is that there are (in general) two kinds of things that can be called "registers".

The first is probably what you are familiar with: in ARM, it's registers R0, R1, R2, ... R12, SP, LR, PC and in x86 it's eax, ebx, ecx, edx, ebp, and so on. These can also be called "core registers" or "processor registers". They don't have addresses in the system memory space and can be accessed only by specific instructions.

The other is the registers that can control various hardware blocks (peripherals), in the CPU itself or external to it. On LPC1768 and many other embedded processors they're typically memory-mapped, and that's why they have addresses. For example the UART0 block is at address 0x4000C000 and that's where you need to read or write to communicate with it. To distinguish from the core registers, they can be called "peripheral registers" or "hardware registers".

On some low-end 8-bit microcontrollers like 8051 or PIC, there may be no core registers at all besides perhaps an accumulator, and all other registers are mapped into various memory areas like "internal RAM" (for temporary storage/calculation) or "Special Function Registers" (SFR) memory for the control and peripheral registers. In them, "registers" almost always have an address.

Bigger ARMs also have coprocessor registers, that can be used to control various core functions (e.g. MMU or cache) with instructions like MRC or MCR. These registers are similar to the core registers in that they don't have a memory address but just a number.

Also, on x86 you can have I/O ports, accessed by instructions in and out, which can be used to control some hardware blocks. These are similar in function to the peripheral registers but are usually not called such.