I took a long time to decide, but it is this board based on PIC16F84 from the Microchip team that I chose. It has everything you need to start playing, including an LCD display (2x16 characters backlit), a superb 32-pin connector for communication ....., a few switches and bit display LEDs of each of the 2 Ports ( Port A on 5-bits, Port B on 8-bits ). Thanks to its on-board DC / DC converter which produces the + 13V essential for programming, this card is very comfortable to use.
This assembly was developed at the Ludwig Geissler school in Hanau (FRG), paying particular attention to the “didactic” and “methodical” aspects. this single card has been in use for several years now, with continued success in various classes and technical courses devoted to microcontroller-based developments. For an investment of around 100 € ( 'Elektor' printed circuit board included in October 2012 ) this mono-card constitutes, for the radio-amateur and / or the engaged electronics engineer, an excellent platform to give shape to his own ideas and realize their own developments.
The assembly is based on an 8-bit PIC16F84 microcontroller from the Microchip team which can operate with a maximum clock frequency of 20MHz. It incorporates a serial interface available on the K2 connector, through a protection buffer formed by IC4. To generate the programming voltage of + 13V, use the DC-DC converter IC2, the activation / deactivation of which is controlled by the switch S1. When closed, VPP voltage is available on pin 2 of TL497. In addition, it allows, thanks to a low state, to switch the buffer IC4 in order to ensure serial communication with a PC. When S1 is open, connector K2 is isolated from the rest of the circuit.
A low state on pin 3 of IC4.A allows T2 to be blocked via T1, and so the VPP voltage becomes available on pin 4 of IC3. LED D21 is used to indicate that the card is, when it is on, in programming mode ...
The 2 serial programming signals DATA and CLOCK then arrive, via control stages IC4.C and IC4.D, to inputs RB6 and RB7 of the controller. The control stage IC4.B supplies the interface with data when the controller is read. Stage IC4.A is used to control, as appropriate, the DC programming voltage or the reset of the controller (reset).
LEDs D8 to D20 display the logic state of each of the lines of the ports RA and RB of the microcontroller.
Pushbuttons S5 to S7 constitute a kind of mini-keyboard. An action on pushbuttons S6 and S7 results in the application of a high level (a "1") on the port lines RA0 and RA1 respectively. The S7 pushbutton performs the same function for both lines at the same time, due to the presence of a “wired OR port” function formed by the pair of diodes D3 and D4. The decoding of the actions on these keys is the business of the software.
The operating modes will be visualized by means of an alphanumeric LCD display with 2 lines of 16 characters (MOD1). This module uses an HD44780 controller from Hitachi.
The display is controlled by the validation lines E (Enable) and register selection RS (Register Selection) which attack the port lines RA2 and RA3. The RW (Read / Write) read / write input of the module is permanently forced to ground (GND), since the read mode is only very exceptionally needed.
All the lines of the controller as well as the supply voltage available at the level of the supply jack are transferred to a 32-contact socket of the DIN41612 type. This allows an easy connection of personal assemblies made on an experiment board with pellets equipped with a suitable 32-pin male connector to our single PICÉE board.
The mono-card is supplied with power via an external mains adapter, the output of which is plugged into the power jack K1. The permissible voltage range supplied by the adapter is 7 to 12 V. The integrated voltage regulator IC1 regulates the input voltage to +5 V. LED D22 signals the presence of the supply voltage.
Adaptation of the card for E-Blocks
I also made the modification of my board to adapt it to the E-blocks system , and to do this I added 2 jumpers (S11 and S12) which allow to switch from the original system to the E compatible system -Blocks. Indeed, on the original diagram, the control of the LCD display is done in 8-bit mode, and uses the 2 Ports A and B of the micro-controller:
- RA2: E
- RA3: RS
- RB0..RB7: D0..D7
The correction made with the 2 additional jumpers as well as a few cuts and straps on the printed circuit make it possible to free Port A, and to control the LCD display in 4-bit mode:
- RB2: E
- RB3: RS
- RB4..RB7: D4..D7
On the diagram also appears a second modification on the RC Oscillator part, it is the value of the capacitor C7 (100nF) that I have changed to 22pF so that it can be used in the following frequency range: 1, 6MHZ <Fosc <5MHz, quite practical for debugging ...
Schematic modified for E-Blocks adaptation
[Edit of August 3, 2015]:
With the advent of new machines without both RS232 and PCMCIA serial interfaces, it was no longer possible for me to program the PIC's and I therefore made another modification on my card, the '' addition of an ICSP connector. This allows me to use it again with the help of my ICD2 Programmer / Debugger .
For the development of assembly programs, you need additional programming tools, such as MPLAB under Windows, or Piklab under Linux. You can download Piklab directly from the developer's site , or if you are on Ubuntu, install it using Synaptics for example.
To program your applications in the PIC16F84, ICPROG.EXE also allows you to work comfortably. When installing the equipment, the PICÉE single card identifies itself as a JDM programmer . In Linux and in command line, there is PicProg or if you are in Ubuntu install it using Synaptics for example.
Visit the developer's site for the commands to use.
The article devoted by Elektor in its review n ° 284 in February 2002:
Mono-board development system to PIC16F84
Download link for the full review : https://www.elektor.fr/pdf-download-fr-02-2002
Link to order the printed circuit : https://www.elektor.fr/picee-development-system