Keil Logo

Peripheral Simulation

For Maxim MAX7651 — Port 0

Simulation support for this peripheral or feature is comprised of:

  • Dialog boxes which display and allow you to change peripheral configuration.
  • VTREGs (Virtual Target Registers) which support I/O with the peripheral.

These simulation capabilities are described below.

Parallel Port 0 Dialog

Parallel Port 0

This dialog displays the SFR and pins of Port 0.

  • P0: This is the P0 SFR. The HEX value and value of each bit is displayed and may be changed from this dialog.
  • Pins: These are the states of the pins on the simulated MCU. When used as outputs, these have the same value as the P0 SFR. When used as inputs (P0.x is 1) you may set the level of the input pin to high (1) or low (0).

The PORT0 VTREG may be used (from the Command Window or from a user or signal function) to affect the input values of the simulated pins of Port 0.

Timer/Counter 0 Dialog

Timer/Counter 0

The Keil Debugger simulates all aspects of Timer/Counter 0. The configuration is reflected in the Timer/Counter 0 Dialog that you may open from the Peripherals Menu. You may use the controls in the dialog to override the settings configured by your target program. This allows you to learn how the timer/counter works by interactively changing the configuration settings.


  • Mode settings select the size and auto-reload functions, and set either Timer or Counter operation.
  • TCON (Timer Control Register) holds the run/stop and overflow flag for Timers 0 and 1.
  • TMOD (Timer Mode Register) holds the mode, gate cotrol and counter/timer select bits.
  • TH0 (Timer 0 - High Byte) contains the upper 8-bits of the Timer 0 value.
  • TL0 (Timer 0 - Low Byte) contains the lower 8-bits of the Timer 0 value.
  • T0 Pin is the Timer/Counter 0 pin for external input (P3.4/T0).
  • TF0 (Timer 0 Overflow Flag) is set when when Timer 0 overflows.


  • Status (Timer/Counter Status) displays the current status of the Timer/Counter.
  • TR0 (Timer 0 Run Control) is set to turn Timer 0 on, and reset to turn it off.
  • GATE (Gating Control) is set to enable a timer/counter while the INT0 flag is high and run control (TR0) is set.
  • INT0# External Interrupt 0 Input / Timer 0 Gate Control Input pin.

Data Type: unsigned char

The PORTx VTREGs represent the I/O pins of the simulated MCU for Port 0, Port 1, and so on. PORT0 represents Port 0, PORT1 represents Port 1, etc. You may read PORTx to determine the state of the output pins of that port. For example, in the command window, you may type,


to obtain value corresponding to the set pins of Port 0. You may also change the input values of port pins by changing the value of the VTREG. For example,


sets the upper four port pins of Port 1 to a value of 1 and the lower 4 port pins to a value of 0. You may use the bitwise operators AND(&), OR(|) and XOR(^) to change individual bits of the PORTx VTREGs. For example:

PORT1 |=  0x01;  /* Set P1.0 Pin */
PORT3 &= ~0x02;  /* Clr P3.1 Pin */
PORT1 ^=  0x80;  /* Toggle P1.7 Pin */
Get more information about the
Peripheral Simulation Capabilities
of the µVision Debugger.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.