The AVR has a huge number of registers. These control all the behaviour of the controller and can be seen as the API to all the other internal components. The registers take up the first 255 bytes of data memory on the AVR. It starts with the general purpose registers (R0 .. R31), followed by all the registers for all the different devices.
Three general registers have been put in a different location, these are GPIOR0, GPIOR1, GPIOR2. These have no special meaning, so they can be freely used by the software.
The register window gives an overview of the vast number of registers on the AVR, all accessible from the tree structure on the left.
On the right you see the value of the register and the individual bits,belonging to the register. The registers can have a value from 0 to 255.
You can enter new values for the registers. It is important to note that all values are filtered on validity. For interrupt flags it is always a 0 that needs to be written to the field to clear it. Also if the system is running, writing certain values can trigger certain actions on the emulator. It is very interesting to know what values you are changing. But since it is an emulator you can't really do anything wrong.
© COPYRIGHT 2010 Imre Leber