PIC 16F877 / 16F874 Development Board

Summary of PIC 16F877 / 16F874 Development Board


The Development Board v1.1 (DB12) is a versatile PIC development board for PIC16F877/16F874 (and compatible 18F4x2/18F4x8) offering selectable clock (RC or crystal), in-circuit programming connector, LVP support via dip switch, 8-channel LED logic monitor driven by an octal CMOS buffer, dual connectors for all MCU pins, onboard 5V regulator or external supply option, trimmer for A/D testing, reset options, mode selection switches, and status LEDs.

Parts used in the DB12 Development Board:

  • PIC microcontroller socket (PIC16F877 / PIC16F874 compatible)
  • Octal CMOS buffer (driving eight LEDs)
  • Eight small indicator LEDs
  • Crystal oscillator connector (supports 1–20 MHz crystals)
  • RC oscillator components (resistor, trimmer, capacitors)
  • Trimmer potentiometer for A/D input
  • 4- or 6-way dip switches (mode selection)
  • Dip switch for LVP mode selection
  • Reset switch
  • Reset pull-up resistor and RC Power-On components
  • On-board 5V voltage regulator (with input capacitors)
  • Power input connector (7–15V supply)
  • Double connectors for plugs and wire connections to MCU pins
  • Connector for in-circuit programmer (programming cable)
  • LEDs signaling supply presence (three supply LEDs)
  • Various capacitors (including 15 pF for crystal load)
  • Resistors and wiring jumpers
  • Double-sided PCB

The Development Board v. 1.1 connected to an LCD display. It is well visible (read further, in the description) the row of LEDs used to check the logic state of up to 8 I/O ports or external circuits’ pins. Of course, if you own an 8 trace oscilloscope, you can do without it. :-)) On the right bottom the programming cable.

Characteristics of the DB12

As I have done with the PIC 16F84 / C84 Evaluation Board, designed and built by myself according to my need, when approaching a higher level microcontroller I decided to design a circuit allowing easy development of applications. This board, in fact, allows the PIC to be interfaced with external circuits in a reliable and versatile way, making it possible to blame just the external circuits in case of electrical problems, and, of course, to concentrate just on the software.

16F874 Development Board

Supported microcontrollers: PIC 16F877, 16F874

Note: the PIC 16F877 pin-out is upwardly compatible with the pin-out of PIC 18F442, 18F452, 18F448, 18F458. This board have been designed for PIC16F877 and tested with it (and on this page we’ll always refer to it); the circuit should be anyway suitable for mentioned microcontrollers, too (18F4x2 and 18F4x8), with the following notes:

a) the OSC2 pin would be multiplexed with RA6
b) in the 16F877, LVP programming and LVP-mode working involve the RB3 pin, while in the 18F4x2 and 18F4x8 families the RB5 pin is involved, so, in these ones, the LVP mode is not selectable just through a dip-switch like you can do for the 16F877; LVP working (but not LVP programming) should be anyway possible connecting to the ground the proper pin, through a resistor, through the board’s connectors or through a wire
c) the values of capacitance adviced for the main crystal oscillator, in the range 1 MHz to 20 MHz, are the same in the datasheet of the 16F877 and of 18F4x2 and 18F4x8 families; the value of 15 pF choosen for this board (and tested with crystals from 4 MHz to 20 MHz with the 16F877) should therefore be suitable also for the two mentioned 18 families.

Let’s now describe the main characteristics of this circuit:

  • Clock generated by RC net or by crystal (XT,HS); clock frequency can be varied with a trimmer in RC mode and using different crystals in the XT and HS modes (without soldering them, but just inserting them into a connector)
  • Octal CMOS buffer driving eight small LEDs: you could connect to the buffer’s inputs, by convenient but affordable wires (red wires in some of the pictures above), PIC’s I/O pins and pins of any external circuit (external circuit and this board connected to the same ground reference), and you can do this without charging the sources; of course, signals being monitored can be carried to other points through another connector
  • Double connectors, both for plugs and for wires, to connect to the external world all the microcontroller’s pins (RESET and supply included)
  • Connector to connect the PIC to various kinds of programmers, allowing you not to remove the PIC from its own socket. NOTE: THIS BOARD IS NOT A PROGRAMMER.
  • LVP mode selected through a dip switch
  • Selection of working modes through 4 or 6-ways dip switches
  • Trimmer to experience on-chip A/D converters (you can connect it to any of the 8 A/D converters of the 16F877)
  • Reset switch; selection of connection of RESET pin to Vdd through a simple pull-up or through a RC Power On circuit; the RESET pin can be driven by a programmer or by external circuits
  • Supply modes: 5V sourced by the on board regulator (input about 7-15V), that can also be fed to external circuits, or supply to the PIC from external circuits
  • LEDs signaling presence of supply in different points of the board (you can disconnect one of the three LEDs)

As previously said, this circuit is not a PIC programmer, but it can be easily interfaced with one of the many programmers you can find, allowing you not to remove the microcontroller from the board (in-system programming).
Compared to the version 1.1, connection also to LVP programmers is now supported; besides this characteristic, it is of course possible to work both with chips with the LVP bit set (just a switch need to be set) and with the LVP bit not set; it is of course possible to interface the board with traditional programmers (12 V on /MCLR), the most part, I would say.
The D.B. is built on a double side board, so realizing it is not the simplest thing in the world; besides, taking a look at the layout, you can easily recognize that it was the only way to make it, unless one had decided to insert dozens bridges.

NOTE: the images of the layout and the schematics further on this page are at low resolution, for obvious problems concerning the time needed to load this page, but their links point to better resolution images. When you click on a link of an image (i.e. the layout) and a new window opens, I suggest you not to close it, as it could be useful to take a look at it while reading this page and in particular for the examples that are further described.

While designing this circuit I tried to realize a versatile circuit and, in the same time, I also pursued the possibility to mount only the components one wish, making this D.B. a not expensive one.
It is of course possible to mount later a part or all the components not soldered at first.
The version here described is the 1.2, completed in February 2003.

 

For more detail: PIC 16F877 / 16F874 Development Board

Quick Solutions to Questions related to the DB12 Development Board:

  • Which microcontrollers does the DB12 support?
    The board is designed for PIC16F877 and PIC16F874 and is compatible with PIC18F442, 18F452, 18F448, and 18F458 with noted differences.
  • How is the clock generated on the DB12?
    Clock can be generated by an RC network or by inserting a crystal into the connector (XT or HS modes) and adjusted with a trimmer in RC mode.
  • Can the DB12 be used for in-circuit programming?
    Yes, it has a connector to interface with various programmers so the PIC need not be removed; the board itself is not a programmer.
  • Does the DB12 support LVP programming?
    Yes for the 16F877 LVP mode is selectable via a dip switch; other compatible PIC families may require grounding the proper pin through a resistor or connector for LVP operation.
  • How can I monitor I/O pins on the DB12?
    An octal CMOS buffer drives eight small LEDs allowing logic state monitoring of up to eight I/O or external circuit pins.
  • What supply options are available on the DB12?
    The board provides an onboard 5V regulator (input about 7–15V) that can also feed external circuits, or the PIC can be powered from external supply.
  • Is there a way to test the PIC A/D converters on the DB12?
    Yes, a trimmer is provided which can be connected to any of the eight A/D inputs of the 16F877 for testing.
  • What reset options does the DB12 provide?
    There is a reset switch and selection between a simple pull-up to Vdd or an RC Power On circuit; RESET can also be driven by a programmer or external circuit.
  • Are all MCU pins accessible for external circuits?
    Yes, double connectors for both plugs and wires expose all microcontroller pins including RESET and supply.
  • Does the DB12 include indicators for supply presence?
    Yes, there are LEDs signaling supply presence at different board points and one of the three can be disconnected.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter