Datasheet
PICkit™ 3 Debug Express
DS41370C-page 44 © 2009 Microchip Technology Inc.
FIGURE 3-36: WATCH VARIABLES
For each watch variable, the Watch window displays the File Register Address, the
Symbol Name (variable name), and current Value. The value display format can be
changed by right-clicking on a value and selecting Properties from the pop-up menu.
Note that our two enumerated type variables, SwitchPressed and Direction will display
the enumeration value, and not the mnemonic.
The Watch window can also be used to edit variable values. Select the LATD value by
clicking on it, and type in the hex value ‘AA’. Press enter to set the value. Look at the
demo board; note that every other LED is now turned on. This is because through the
Watch window, we just directly wrote to the LATD register the value 0xAA, which is
binary 0b10101010!
Select the PORTB symbol, right-click and select Properties. In the properties dialogue,
go to the dropdown box for “Format:” and select “Binary”. Click OK to close the
dialogue. The PORTB value is now displayed in a binary format, with bit 7 on the left.
Step through the code once using <F8>. Note the value for PORTB bit 0, which is pin
RB0 and connected to the demo board switch. The bit value should now be set (‘1’).
While pressing down the Demo Board button, step again with <F8>. Note that PORTB
bit 0 is now low since the switch is pressed!
Take some time to play with the lesson code, stepping through it and watching
variables and the demo board LEDs. You can also press the button and step through
the switch detection statements. Set different breakpoints to experiment using them.
Add TMR0L and TMR0H SFRs to the Watch window, and observe them counting while
you step through the code. Note that they don’t increment once per step, as each C
statement may be compiled into more than one assembly instruction and Timer0 is
incremented once per assembly (machine) instruction.
Note: The “Value” fields in the Watch window, File Register window, and Special
Function Register windows may not be valid immediately after first being
opened. Step the code once to update the values.