MicroElektronika EasyPIC4 User manual

EasyPIC
ICD
4
SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development tools - Books - Compilers
Software and Hardware
solutions for Embedded World
With useful implemented peripherals, plentiful practical
code examples and a broad set of additional add-on
boards (Serial Ethernet, Compact Flash, MMC/SD,
ADC, DAC, CAN, RTC, RS-485, etc.), MikroElektronika
development boards make fast and reliable tools that
can satisfy the needs of experienced engineers and
beginners alike.
EasyPIC4
User’s Manual
3in 1
ICD
mikro
IN-CIRCUIT
DEBUGGER
ICD
mikro
IN-CIRCUIT
DEBUGGER
MICROCHIP
DEVELOPMENT
BOARD
MICROCHIP
DEVELOPMENT
BOARD
PICPIC
USB 2.0
IN-CIRCUIT
PROGRAMMER
USB 2.0
IN-CIRCUIT
PROGRAMMER

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 22
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
No part of this manual, including the product and software described in it, may be
reproduced, transmitted, transcribed, stored in a retrieval system, or translated into
any language in any form or by any means, except documentation kept buy the pur-
chaser for backup purposes, without the express written permission of
MikroElektronika company.
Product warranty or service will not be extended if the product is repaired, modified
or altered, unless such repair, modification or alteration is authorized in writing by
MikroElektronika.
MIKROELEKTRONIKA PROVIDE THIS MANUAL “AS IS” WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
TO THE IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PUROSE.
IN NO EVENT SHALL MIKROELEKTRONIKA, ITS DIRECTORS, OFFICERS,
EMPLOYEES OR DISTRIBUTORS BE LIABLE FOR ANY INDIRECT, SPECIAL,
INCIDENTAL, OR CONSEQUENTIAL DAMAGES(INCLUDING DAMAGES FOR
LOSS OF PROFITS, LOSS OF BUSINESS, LOSS OF USE OR DATA, INTERRUP-
TION OF BUSINESS AND THE LIKE) EVEN IF MIKROELEKTRONIKA HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY
DEFECT OR ERROR IN THIS MANUAL OR PRODUCT.
SPECIFICATION AND INFORMATION CONTAINED IN THIS MANUAL ARE FUR-
NISHED FOR INTERNATIONAL USE ONLY, AND ARE SUBJECT TO CHANGE AT
ANY TIME WITHOUT NOTICE, AND SHOULD BE CONSTRUED AS A COMMIT-
MENT BY MIKROELEKTRONIKA
MikroElektronika assumes no responsibility or liability for any errors or inaccuracies
that may appear in this manual, including the product and software described in it.
Product and corporate names appearing in this manual may or may not be regis-
tered trademarks or copyrights of their respective companies, and are used only for
identification or explanation and to the owners benefit, without intent to infringe.
First edition
September 2006

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 33
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
CCOONNTTEENNTTSS
CONNECTING THE SYSTEM page 4
INTRODUCTION page 5
Power Supply page 10
On-board USB 2.0 programmer page 11
Jumpers page 7
Switches page 6
MCU sockets page 8
LEDs page 16
Pushbutton switches page 18
PS/2 keyboard page 28
7-segment displays page 21
Graphic LCD page 22
LCD 2x16 in 4-bit mode page 23
LCD 2x16 in 8-bit mode page 24
A-D Converter input page 30
CONTENTS
DESCRIPTION OF THE DEVELOPMENT SYSTEM page 5
USB Communication page 27
Direct Port Access page 32
RS-232 Communication page 26
DS1820 Digital Thermometer page 29
mikroICD (In-Circuit Debugger) page 15
Oscillator page 13

EasyPIC4 User’s Manual
44
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
EasyPIC
ICD
4
CCOONNNNEECCTTIINNGGTTHHEESSYYSSTTEEMM
The development system box contains the development system, product CD, USB
cable, RS232 cable and this manual.
The first thing to do is to take the system out of the box. Unpack the USB cable and
connect it to the PC. Please use USB ports on the back of the PC with direct con-
nection to the motherboard.
Install the PICFLASH2 programmer and drivers. Start the installation from the
product CD: CD_Drive:/product/zip/PICFlash2_setup.exe.
After the installation connect the USB cable to the EasyPIC4 board.
Run and use PICFLASH2 as explained in the document ‘PICflash2 programmer’.
After these 4 steps, your EasyPIC4 is installed and ready for use. You should try to
read a program from the chip or to load an example from the examples folder of
mikroElektronika’s compilers for PIC or from the product CD:
CD_Drive:/product/zip/easypic4_examples.zip.
CONNECTING THE SYSTEM
Step no.1
Step no.2
Step no.3
Step no.4

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 55
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
The EasyPIC4 development system is a full-featured development board for
Microchip PIC microcontrollers. It has been designed to allow students and engi-
neers to easily exercise and explore the capabilities of PIC microcontrollers. It
allows PIC microcontrollers to be interfaced with external circuits and a broad range
of peripheral devices, allowing a user to concentrate on software development.
Figure 1 illustrates the development board. Each component is marked on a
silkscreen, both top and bottom. These marks describe connections to the microcon-
troller, operation modes, and provide some useful notes. The need for additional
schematics is minimized since all relevant information is printed on the board.
IINNTTRROODDUUCCTTIIOONN
INTRODUCTION
Figure 1. EasyPIC4 development board
MICROCHIP
DEVELOPMENT
BOARD
MICROCHIP
DEVELOPMENT
BOARD
PICPIC

EasyPIC4 User’s Manual
66
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
SSWWIITTCCHHEESS
EasyPIC
ICD
4
SWITCHES
The EasyPIC4 development board features a number of peripherial devices. In
order to enable these devices before programming, you need to check if appropri-
ate jumpers or switches have been properly set.
Switches are devices that have two positions - ON and OFF, which have a role to
establish or break a connection between two contacts. The EasyPIC4 development
board has two groups of switches.
The first group, SW1, enables connections between the microcontroller port with
analog capabilities (PORTA) and external pull-up/down resistors. The pull-up/down
resistors should be disconnected from the analog input pins, otherwise they will
affect the input voltage level. When PORTA pins are used as digital inputs/outputs,
the appropriate pull-up/down resistors should be enabled.
The upper four switches of SW2 are used to enable LEDs connected to PORTA/E,
PORTB, PORTC and PORTD. For example, if the switch for PORTB is OFF, all
PORTB LEDs will be turned off.
The lower four switches of SW2 are used to enable the 7-segment displays. If you
don’t need the 7-segment displays in your project, these switches should be OFF.
Switch is ON
Switch is OFF
1
ON
432 5876
Figure 2.
Group of 8 switches
Switch 1 is ON, and other
switches are OFF

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 77
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
JJUUMMPPEERRSS
Jumpers, like switches, can break or establish a connection between two points.
Beneath the plastic cover of the jumper is a metal contact, which makes a connec-
tion if the jumper is placed between two disconnected pins.
For example, the jumper group JP10 have two jumpers used as switches. They are
used to connect or disconnect PS/2 CLK pin to RC1 and PS/2 DATA pin to RC0 pin
of the microcontroller. A connection is made when the jumpers are placed between
two contacts.
More often jumpers are used as a selector between two possible connections by
using a three pin connector. As illustrated in Fig. 4, the middle contact can be con-
nected to the left or right pin, depending on the jumper’s position.
Left line
is selected
All lines are
disconnected
Right line
is selected
Jumper is ON
Jumper is OFF
Figure 3.
Figure 4.
Jumper as a
switch
Jumper as a
multiplexer
JUMPERS

EasyPIC4 User’s Manual
88
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
MMCCUUSSOOCCKKEETTSS
EasyPIC
ICD
4
EasyPIC4 is delivered with a 40-pin microcontroller. Users can remove this one and
fit a different microcontroller in DIP40, DIP28, DIP20, DIP18, DIP14 or DIP8
packages of an adequate pinout.
MCU SOCKETS
Note: Since all packages have parallel connections, there must not be more than one
microcontroller on the board at a time.
Figure 5.
MCU sockets
Note: Make sure to place jumper JP18 in lower position (labeled as VCC) while
using PIC18F2331 microcontroller. When using some other 28-pin MCU this
jumper must be at upper position (labeled as RA5).
Note: There are two DIP18 sockets, with different pinouts (DIP18A and DIP18B).
When putting 18-pin microcontoller into DIP18 socket choose the one with corre-
sponding pinout. For example, PIC16F628A uses DIP18A socket, while
PIC18F1220 uses DIP18B socket. The 10F MCU socket is used only for PIC10F
family and the DIP8 socket is used for all other 8-pin microcontrollers.

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 99
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
DIP40
RA0
RA1
RA2
RA3
RA4
RA5
RE0
RE1
RE2
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
VDD
VSS
MCLR
VDD
VSS
RA4
RA4
RA4
RA4
PortA
DIP28
vcc
vcc
vcc
RA4 RA4 GP4
(RA4)
DIP18 DIP14
DIP8
1
1
ON
ON
8
8
7
7
6
6
5
5
4
4
3
3
2
2
PORTA/E
PORTA/GP
RA4
JP17
SW2
SW1
Microcontroller’s pins are routed to various peripherals as illustrated in Fig. 6. All
ports have direct connections to Direct Port Access connectors. Such connectors are
typically used for connecting external peripherals to the board or for providing use-
ful points for connecting digital logic probe.
All ports are connected to LEDs, push-button switches and pull-up/down resistors,
which allow easy monitoring and testing of digital pin state .
Some pins are connected to other peripherials such as the DS1820 temperature sen-
sor, RS-232 communication, 7-segment displays, LCD, etc.
System connection
Figure 6.
MMCCUUSSOOCCKKEETTSS

EasyPIC4 User’s Manual
1100
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
PPOOWWEERRSSUUPPPPLLYY
EasyPIC
ICD
4
As a power supply source, users can select either a regulated supply from the USB
cable (default) or an external power supply. In case of the USB power supply, the
system should be connected to a PC using the USB programming cable, while the
jumper JP1 should be set in the right-hand position.
In the case of an external power supply, the EasyPIC4 board produces +5V using
an LM7805 voltage regulator. The external power supply can be AC or DC, with a
voltage between 8V and 16V and the jumper JP1 should be set in the left-hand posi-
tion. In Fig. 7 you can see USB and external power supply connectors.
GND
Vin Vout
VCC
CN1 8-12V (AC/DC)
+
E1
470uF
C8
100nF
E2
470uF
C15
100nF
1
2
VCC
D-
D+
GND
5V 5V
USB
FP1
1
2
3
USB yPower Suppl
External Power Supply
EXT
EXT
USB
USB
REG1
7805
E3
470uF
JP1
POWER SUPPLY
JP1 in the left-hand
position: system will
take power from the
external AC/DC
power adapter.
JP1 in the right-hand
position: system will
take power from the
USB cable.
USB and power supply connectors
Figure 7.
Figure 8. Power supply select jumper
Figure 9. JP1 is set to USB power supply
EXT USB
USB
connector
USB
connector
External power
supply connector
POWER SUPPLY
SELECTABLE
POWER SUPPLY
SELECTABLE

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 1111
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
OONN--BBOOAARRDDUUSSBBPPRROOGGRRAAMMMMEERR
ON-BOARD USB 2.0 PROGRAMMER
Figure 10.
Figure 11.
USB 2.0 programmer
JP5 jumpers explanation
There is no need for the use of
external equipment during pro-
gramming as EasyPIC4 develop-
ment system has its own on-board
USB programmer. All you need
to do is connect the system to a
PC using USB cable. Then, load
your program into the microcon-
troller via the PICFlash2 pro-
gramming software which is sup-
plied with EasyPIC4.
On the right of the USB programmer there is the JP5 jumpers group. These jumpers
are used for PGM pin selection. There are two different programming modes for PIC
MCUs: Low-Voltage and High-Voltage programming mode. PICflash2 supports
only High-Voltage programming mode which can be applied regardless of MCU’s
programming state. Since some PIC MCUs are being shipped whith Low-Voltage
programming mode as default, you must select a proper PGM pin (depending on
chip). For most of the MCUs you don’t have to use PGM selection and the JP5
jumpers group should stay in the Default position.
Default position
RB5 used as PGM RB4 used as PGM
RB3 used as PGM
Note: There is no need for reseting MCU after programming. The programmer will
reset the MCU automatically.
USB 2.0
IN-CIRCUIT
PROGRAMMER
USB 2.0
IN-CIRCUIT
PROGRAMMER

EasyPIC4 User’s Manual
1122
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
EasyPIC
ICD
4
OONN--BBOOAARRDDUUSSBBPPRROOGGRRAAMMMMEERR
Figure 14.
JP2 jumper
explanation
Jumper JP2 allows using the MCLR pin as RESET or as digital I/O. It can be RE3,
RA5 or RA3 pin depending on MCU that you are using.
When JP2 is in the lower position the hardware reset (pressing reset button) is
enabled and MCLR pin can not be used as an I/O pin.
When JP2 is in the upper position the MCLR pin can be used as an I/O pin but the
hardware reset is disabled.
MCLR pin
used as I/O
MCLR pin
used as RESET
When using DIP40, DIP28, DIP18A and DIP18B sockets, jumpers JP3 and JP4
should be in the upper position (default) as shown in Fig. 12.
For DIP20, DIP14 and DIP8 sockets, these jumpers should be in the lower position
(Fig. 13).
Figure 12.
Figure 13.
JP3 and JP4 for DIP40,
DIP28, DIP18A and DIP18B
JP3 and JP4 for DIP20,
DIP14 and DIP8

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 1133
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
OOSSCCIILLLLAATTOORR
OSCILLATOR
Since there are so many sockets on EasyPIC4 board, there are two oscillators that
are connected with two main sections of the MCU sockets. The first oscillator is
labeled as OSC1 and is connected to DIP40, DIP28, DIP18A and DIP18B socket.
The second oscillator is labeled as OSC2 and is connected to DIP20, DIP14 and
DIP8 socket.
Figure 15.
JP2 jumper explanation
Note: As you can see from the picture above, 10F MCU socket is not connected to
any of the two oscillators. This MCUs have only an internal oscillator and they can’t
be used with an external crystal.

EasyPIC4 User’s Manual
1144
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
For some microcontrollers oscillator input pins can also be used as digital input/out-
put pins. In order to implement this feature EasyPIC4 has jumpers for connecting
MCU either to oscillator or to digital I/O pins. You can see the schematics for OSC1
oscillator on Fig. 16.
EasyPIC
ICD
4
PICxxxx
RA0
RA1
RA2
RA3
RC0
RC1
RA4
RA5
RE0
RE1
RE2
RC3
RD0
RD1
RC4
RD3
RD2
RC5
RC6
RC7
RD4
RD5
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
RC2
VDD
VSS
RA7/OSC1
RA6/OSC2
MCLR
VDD
VSS
vcc
X1
8MHz
C6
22pF
C7
22pF
RA7 RA6
JP13
RA6 and RA7 pins are
used as oscillator input
RA6 and RA7 pins are
used as digital I/O
Figure 16.
Oscillator connection with MCU
Note: If the used DIP’s oscillator pins are labeled with OSC1 then the oscillator
should be placed in the OSC1 connector. If the used DIP’s oscillator pins are labeled
with OSC2 then the oscillator should be placed in the OSC2 connector.
OOSSCCIILLLLAATTOORR

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 1155
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
mmiikkrrooIICCDD((IINN--CCIIRRCCUUIITTDDEEBBUUGGGGEERR))
mikroICD (Real-Time Hardware In-Circuit Debugger)
mikroICD is highly effective tool for Real-Time debugging on hardware level.
mikroICD debugger enables you to execute a program on a PIC microcontroller and
view variable values, Special Function Registers (SFR) and EEPROM as the pro-
gram is running.
Start Debugger [F9]
Run/ Pause Debugger [F6]
Toggle Breakpoints [F5]
Run to cursor [F4]
Step Into [F7]
Step Over [F8]
Flush RAM [F2]
Stop Debugger [Ctrl+F2]
Figure 17. On-Board USB programmer
with mikroICD
ICD
mikro
IN-CIRCUIT
DEBUGGER
ICD
mikro
IN-CIRCUIT
DEBUGGER
You can use mikroICD within any of MikroElektronika’s compilers for PIC
(mikroC, mikroBasic or mikroPascal). All you have to do is to select appropriate
build type (Release or ICD Debug), build the project, program the MCU, select
appropriate debugger (mikroICD Debugger) and you are ready to go.
Note: For more information on how to use mikroICD debugger please refer to the
mikroICD documentation: “mikroICD User’s Manual”. You can also find it within
the Help documentation inside any of the mentioned compilers.
mikroICD debugger uses on-board programmer to communicate with the compiler
and it supports common debugger commands:

EasyPIC4 User’s Manual
1166
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
LLEEDDss
EasyPIC
ICD
4
Light Emitting Diodes (LEDs) are the most commonly used components, usually for
displaying pin’s digital state. EasyPIC4 has 36 LEDs that are connected to the
microcontroller’s PORTA, PORTB, PORTC, PORTD and PORTE.
LEDs
Figure 18. Light Emitting Diodes
Each group of eight LEDs can be enabled or disabled using the switch SW2. The
exception is PORTE which has 4 LEDs and is connected to the same switch as
PORTA.
Fig. 19. illustrates the connection of a LEDs to PORTB of the microcontroller. A
resistor is used in series with the LED to limit the LED's current. In this case the
resistor's value is 1K.

EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 1177
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
LLEEDDss
The LEDs are enabled when the corresponding switch on SW2 is on. When enabled,
LEDs will display the state of the corresponding microcontroller pin; otherwise the
LEDs will always be off, no matter what the port state is, as no current can flow
through LED.
RN7
R-SIL 8/9
1
2
3
4
5
6
7
8
9
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
1
ON
432 5876
PORTD LED
PORTC LED
PORTB LED
PORTA/E LED
VCC
PICxxxx
RA0
RA1
RA2
RA3
RC0
RC1
RA4
RA5
RE0
RE1
RE2
RC3
RD0
RD1
RC4
RD3
RD2
RC5
RC6
RC7
RD4
RD5
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
RC2
VDD
VSS
OSC1
OSC2
MCLR
VDD
VSS
CURRENT FLOW
X1
8MHz
C6
22pF
C7
22pF
Figure 19.
LED schematics

PICflash
On-Board USB
programmer
R17
10K
Reset
VCC
C14
100n
PICxxxx
RA0
RA1
RA2
RA3
RC0
RC1
RA4
RA5
RE0
RE1
RE2
RC3
RD0
RD1
RC4
RD3
RD2
RC5
RC6
RC7
RD4
RD5
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
RC2
VDD
VSS
OSC1
OSC2
MCLR
VDD
VSS
VCC
X1
8MHz
C6
22pF
C7
22pF
EasyPIC4 User’s Manual
1188
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
PPUUSSHHBBUUTTTTOONNSSWWIITTCCHHEESS
EasyPIC
ICD
4
EasyPIC4 has 36 push buttons, which can
be used to change states of digital inputs
to microcontroller's ports. There is also
one switch that acts as a RESET. Reset
switch schematic is shown in Figure 21.
PUSHBUTTON SWITCHES
Figure 22.
Pushbutton switches
Figure 20.
Reset switch
Figure 21.
Reset switch schematic

VCC
RA0
RA1
RA2
RA3
RA4
RA5
RA6
RA7
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
RC0
RC1
RC2
RC3
RC4
RC5
RC6
RC7
RD0 RE0
RD1 RE1
RD2 RE2
RD3 RE3
RD4
RD5
RD6
RD7
PORTA PORTB PORTC PORTD PORTE
VCC
PICxxxx
RA0
RA1
RA2
RA3
RC0
RC1
RA4
RA5
RE0
RE1
RE2
RC3
RD0
RD1
RC4
RD3
RD2
RC5
RC6
RC7
RD4
RD5
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
RC2
VDD
VSS
OSC1
OSC2
MCLR
VDD
VSS
0V while button
is pressed
+5V while button
is pressed
X1
8MHz
C6
22pF
C7
22pF
JP17
EasyPIC4 User’s Manual
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD 1199
page
MikroElektronika
Development
tools
EasyPIC
ICD
4
PPUUSSHHBBUUTTTTOONNSSWWIITTCCHHEESS
Figure 23.
Buttons schematics
Buttons connections to PORTA, PORTB, PORTC, PORTD and PORTE are shown
in Fig. 23. Jumper JP17 determines whether a button press will bring logical zero or
logical one to the appropriate pin.
When button is not pressed, pin state is determined by the pull-up or pull-down port
jumpers.
In the example shown in Fig. 23, JP17 is connected to +5V, therefore pressing the
buttons will bring logical one to the appropriate pins.

EasyPIC4 User’s Manual
2200
page
MIKROELEKTRONIKA SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD
MikroElektronika
Development
tools
PPUUSSHHBBUUTTTTOONNSSWWIITTCCHHEESS
EasyPIC
ICD
4
On Fig. 24 the JP21 switch is
set to pull-up, therefore when
the button is not pressed,
pull-up resistor pulls the
microcontroller’s RB4 pin to
+5V.
A button press causes the
port pin to be connected to
ground (JP17 is in the lower
position).
Thus, only when the button is
pressed the microcontroller
will sense a logical zero; oth-
erwise the pin state will
always be logical one.
On Fig. 25 the JP21 switch is
set to pull-down, therefore
when the button is not
pressed, pull-down resistor
pulls the microcontroller’s
RB4 pin to 0V.
A button press causes the
port pin to be connected to
+5V (JP17 is in the higher
position).
Thus, only when the button is
pressed the microcontroller
will sense a logical one; oth-
erwise the pin state will
always be logical zero.
RB4
PortB pull-up
0V while pressed
vcc
DIP40
RA0
RA1
RA2
RA3
RA4
RA5
RE0
RE1
RE2
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
VDD
VSS
MCLR
VDD
VSS
vcc
JP21
JP17
RB4
PortB pull-down
5V while pressed
vcc
DIP40
RA0
RA1
RA2
RA3
RA4
RA5
RE0
RE1
RE2
RD6
RD7
RB0
RB1
RB2
RB3
RB4
RB5
RB7
RB6
VDD
VSS
MCLR
VDD
VSS
vcc
JP21
JP17
Figure 24.
Figure 25.
Button with pull-up resistor
Button with pull-down resistor
Table of contents
Other MicroElektronika Motherboard manuals