Machines › Computers › Microchip › PIC16F84A
PIC16F84A
1998
The Microchip PIC16F84A (1998) is the iconic 8-bit hobbyist microcontroller — an 18-pin mid-range PIC and the machine a whole generation learned assembly on. It is a Harvard chip with a 14-bit core: 14-bit program words in a 1K flash, a separate 8-bit data memory (special-function registers plus 68 bytes of RAM), the W register, an 8-level hardware call stack, TMR0 with a prescaler, a single interrupt vector, and PORTA / PORTB I/O clocked at around 4MHz. Here the whole chip is modelled from scratch in JavaScript, running real assembled firmware on an on-board LED panel.
PIC16F84A Online Emulator
Play PIC16F84A using JavaScript directly in your browser.
Controls
Runs real PIC16F84A firmware on a from-scratch mid-range PIC core. Pick a program with the ROM selector: the on-board LED sits on RB0 (green), with the rest of PORTB and PORTA shown as a row of indicators. Open the debugger to single-step the PIC, watch W / STATUS / the port registers, disassemble the flash and set breakpoints. The "Button to LED" program reads a push button on RA0 — hold RA0 in the Controls window to light the LED.
Runs real PIC16F84A firmware on a from-scratch mid-range PIC core. Pick a program with the ROM selector: the on-board LED sits on RB0 (green), with the rest of PORTB and PORTA shown as a row of indicators. Open the debugger to single-step the PIC, watch W / STATUS / the port registers, disassemble the flash and set breakpoints. The "Button to LED" program reads a push button on RA0 — hold RA0 in the Controls window to light the LED.
Runs real PIC16F84A firmware on a from-scratch mid-range PIC core. Pick a program with the ROM selector: the on-board LED sits on RB0 (green), with the rest of PORTB and PORTA shown as a row of indicators. Open the debugger to single-step the PIC, watch W / STATUS / the port registers, disassemble the flash and set breakpoints. The "Button to LED" program reads a push button on RA0 — hold RA0 in the Controls window to light the LED.
Runs real PIC16F84A firmware on a from-scratch mid-range PIC core. Pick a program with the ROM selector: the on-board LED sits on RB0 (green), with the rest of PORTB and PORTA shown as a row of indicators. Open the debugger to single-step the PIC, watch W / STATUS / the port registers, disassemble the flash and set breakpoints. The "Button to LED" program reads a push button on RA0 — hold RA0 in the Controls window to light the LED.
Runs real PIC16F84A firmware on a from-scratch mid-range PIC core. Pick a program with the ROM selector: the on-board LED sits on RB0 (green), with the rest of PORTB and PORTA shown as a row of indicators. Open the debugger to single-step the PIC, watch W / STATUS / the port registers, disassemble the flash and set breakpoints. The "Button to LED" program reads a push button on RA0 — hold RA0 in the Controls window to light the LED.
Configurations
| Configuration | Emulator | Machine | OS | Legal | |
|---|---|---|---|---|---|
| PIC16F84A — Blink RB0 | PIC16F84A | PIC16F84A | open | Open ⛶ | |
| PIC16F84A — PORTB chase | PIC16F84A | PIC16F84A | open | Open ⛶ | |
| PIC16F84A — TMR0 blink | PIC16F84A | PIC16F84A | open | Open ⛶ | |
| PIC16F84A — Button to LED | PIC16F84A | PIC16F84A | open | Open ⛶ | |
| PIC16F84A — Interrupt blink | PIC16F84A | PIC16F84A | open | Open ⛶ |
Chips
Emulators
| Emulator | Type | License | Site |
|---|---|---|---|
| PIC16F84A | online | MIT | Website ↗ |