|
Myke's Home Page
Book CD-ROM Home
File Copying/Harddrive Setup
Development Tools
Experiments
Projects
Useful Code Snippets and Macros
Introduction to Electronics
Introduction to Programming
Datasheets
PCBs
Links
|
"YAP-II" Programmer
The original YAP programmer came about as I was working through the first
edition of the book, trying to come up with a PICmicro® MCU programmer that would work
on a wide variety of different PCs. When I started the project, I found that it wasn't hard
to create a programmer that would work on one PC, using its own internal timing, but
any time I tried the design out on another PC I found that it wouldn't work. The
El-Cheapo design and PCB that is provided in this book is a
continuation of this work, with a much more effective design.
The YAP-II is designed to connect to a PC or workstation via its RS-232 port
and program devices at 1200 bps ("8-N-1"). This data rate allows applications to be
programmed into a PIC16F84 in about two minutes, which is no where near as fast as some of
the designs available on the internet; but I can guarantee that it will work on every PC out
there with an RS-232 port.
Click Here to access the source code
on the CD-ROM.
The YAP-II connects to a PC/Workstation RS-232 Port using a "Straight
Through" cable with a 9 pin male "D-Shell" connector for the YAP-II. A 15+ Volt AC/DC
("Wall Wart") Power Supply with a 2.5 mm "Power Plug" is required for powering the
programmer. For Microsoft "Windows" PCs, I have created a GUI interface that can be
loaded into the PC by clicking Here.
When I designed the application, I wanted it to include the necessary
peripherals (ie LEDs and buttons) that the Experiments presented in
this book could be run on it. This has resulted in a fairly large PCB
that incorporates the programmer hardware, the peripherals and a small breadboard that can be
used to test out the application. The programmer circuit is shown in the
yap-ii.pdf file. The peripheral functions can be found in the
yap-iiac.pdf file.
The bill of materials for the YAP-II is listed in the table below.
| Part |
Description |
| U1 |
PIC16C711-20/P Programmed with YAP-II Software |
| U2 |
18 Pin Socket/ZIF Socket |
| U4 |
78L12 +12 Volt Regulator in a TO-92 Package |
| U5 |
Maxim MAX232 RS-232 Interface |
| U6 |
7805 +5 Volt Regulator in a TO-92 Package |
| U7 |
ECS Programmable Oscillator OECS-160-3-C3X1A (Digi-Key Part Number XC307-ND) |
| CR1 - CR3 |
1N914 Silicon Diode |
| CR4 |
1N4001 Silicon Diode |
| LED1 - LED2 |
5mm LED, Any Type |
| LED3 |
10 LED "Bargraph" Display |
| Q1, Q6 |
2N3906 PNP Bipolar Transistors |
| Q2 |
2N3904 NPN Bipolar Transistor |
| Q5 |
2106A P-Channel MOSFET (Digi-Key Part Number: ZVP2106A-ND) |
| R1, R3, R7 |
10K, 1/4 Watt Resistors |
| R2, R6 |
220 Ohm, 1/4 Watt Resistors |
| R5, R10, R13 |
330 Ohm, 1/4 Watt Resistors |
| R8, R9, R15 - R17 |
1K, 1/4 Watt Resistors |
| POT1 - POT2 |
10K, Single Turn PCB Mount Potentiometer (Digi-Key Part Number: 3310Y-1-103-ND |
| SIP1 - SIP2 |
220 Ohm, x9 Common Pin SIP |
| C1 - C2 |
0.1 uF Capacitors (Any Type) |
| C3 - C4, C7 - C9 |
1.0 uF Capacitors (Any Type) |
| C5, C6 |
10 uF, 35 Volt, Electrolytic Capacitors |
| CSPKR |
0.47 uF, 16 Volt, Tantalum Capacitor |
| SPKR |
Piezo Speaker (Digi-Key Part Number: P9922-ND) |
| SW1 |
SPDT PCB Mount Switch |
| RST, BUT1, BUT2 |
Momentary On, PCB Mount Push Buttons |
| J1 |
2.5 mm PCB Mount Power Socket |
| J2 |
9-Pin Female PCB Mount D-Shell |
| J3, J5 |
19x1 Female IDC Connector |
| J4 |
5x1 Female IDC Connector |
| Miscellaneous |
PCB Board, Serial Cable, Power Supply |
The commands for the YAP-II are listed in the table below:
| Command |
Action |
| A |
"Ping" - Return Carriage Return/Line Feed |
| B |
Reset the Program Counter to 0 |
| C |
Clear the Flash based PICmicro MCU's Program Memory |
| D |
Dump 256 Instructions of Program Memory at the current Program Counter's Address. Add 256 to the Program Counter when done. |
| E |
EPROM Part Programming - "Text Send" the Application's Hex File |
| F |
Flash Part Programming - "Text Send" the Application's Hex File |
| G |
Get Eight Instructions Starting at Address 0x02000 |
| 1, 2, 4, 8 |
Run the PICMicro MCU at the Specified Speed in MHz |
The nineteen pin connector wired to the PICmicro MCU is defined as:
| Pin |
Function |
| 1 |
Gnd |
| 2 |
Vcc |
| 3 |
_MCLR - No High Programming Voltage |
| 4 |
YAP-II Oscillator |
| 5 |
Serial Input |
| 6 |
Serial Output |
| 7 - 11 |
RA0 to RA4 |
| 12 - 19 |
RB0 to RB7. Note: RB6 and RB7 cannot be loaded during programming operation |
The nineteen pin connector wired to the peripheral (accessory) devices
is defined as:
| Pin |
Function |
| 1 - 10 |
LED1 - LED10 |
| 11 |
BUT1 |
| 12 |
BUT2 |
| 13 |
POT1 |
| 14 |
POT2 Wiper |
| 15 |
POT2 Connection 1 |
| 16 |
POT2 Connection 2 |
| 17 |
Speaker |
| 18 - 19 |
Pull Up 1 - Pull Up 2 |
|