manual

Page 1

USER'S GUIDE

EasyPIC

v7

connectivity

microcontrollers supported

Supports 3.3V and 5V devices

Easily add extra boards

Four connectors for each port

Fast USB 2.0 programmer and

The ultimate PICÂŽ board

Dual Power Supply

mikroBUS™ sockets

Amazing Connectivity

In-Circuit Debugger


To our valued customers From the day one, we in mikroElektronika gave ourselves the highest possible goals in pursuit of excellence. That same day, the idea of EasyPIC™ development board was born. And we all grew together with EasyPIC™. In its each and tiniest piece we had put all of our energy, creativity and sense of what’s best for an engineer. I’ve personally assembled hundreds of early EasyPIC™ boards myself with my home soldering iron. Today, we present you the 7th generation of the board, which brings us some exciting new features. We hope that you will like it as much as we do. Use it wisely and have fun!

Nebojsa Matic, Owner and General Manager of mikroElektronika


Table of contents

Introduction

Connectivity

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

04

mikroBUS™ sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

It's good to know . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

05

Input/Output Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

Power Supply Dual power supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Displays 06

Supported MCUs Supported microcontrollers . . . . . . . . . . . . . . . . . . . . . . . .

08

LCD 2x16 characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

GLCD 128x64px . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Touchpanel controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

4 digit 7-seg display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

Modules

Programming On-board programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

DS1820 - Digital Temperature Sensor . . . . . . . . . . . . . .

28

Installing programmer drivers . . . . . . . . . . . . . . . . . . . . . .

12

LM35 - Analog Temperature Sensor . . . . . . . . . . . . . . . .

29

Programming software . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

ADC inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

mikroICD™ - In Circuit Debugger . . . . . . . . . . . . . . . . . . . .

14

I2C EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

Piezo Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

Additional GNDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

Communication UART via RS-232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

UART via USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

What’s next

USB connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

What’s Next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

page 3


introruction

Introduction EasyPIC™ is an old friend. It has been with us for six generations. Many of us made our first steps in embedded world with EasyPIC™. Today it has thousands of users: students, hobbyists, enthusiasts and professionals. It’s used in many schools and other educational intitutions across the globe. We may say that it’s the most famous PIC development system in the world. We asked ourselves what we can do to make such a great board even greater. And we made some brilliant changes. We focused all of our creativity and knowledge into making a revolutionary new design, unlike any previous version of the board. We now present you with the new version 7 that brings so much more, and we hope that you will be thrilled with your new board, just as we are. EasyPIC™ development Team

Four Connectors for each port

3.3V and 5V power supply

Amazing connectivity

Everything is already here ™

mikroProg on board

Dual Power Supply

mikroBUS support

EasyPIC™ v7 is all about connectivity. Having four different connectors for each port, you can connect accessory boards, sensors and your custom electronics easier then ever before.

Powerful on-board mikroProg™ programmer and In-Circuit debugger can program and debug over 250 microcontrollers. You will need it, whether you are a professional or a beginner.

EasyPIC™ v7 is among few development boards which support both 3.3V and 5V microcontrollers. This feature greatly increases the number of supported MCUs. It’s like having two boards instead of one!

Just plug in your Click™ board, and it’s ready to work. We picked up a set of the most useful pins you need for development and made a pinout standard you will enjoy using.

page 4

For easier connections ™


introduction

It's good to know PIC18F45K22 is the new default microcontoller!

System Specification

Until now, EasyPIC™ development boards were equipped with

- More power than ever before

PIC16® as the default chip. Now we are giving you more

- Great choice for both beginners

power than ever before. PIC18F45K22 is the new default

power supply 7–23V AC or 9–32V DC or via USB cable (5V DC)

and professionals

chip of EasyPIC™ v7! It has 16 MIPS operation, 64K bytes of

- Rich with modules

linear program memory, 3896 bytes of linear data memory,

- Enough RAM and Flash

and support for a wide range of power supply from 1.8V to

- Comes with examples for

5V. It’s loaded with great modules: 36 General purpose I/O

mikroC, mikroBasic and

pins, 30 Analog Input pins (AD), Digital-To-Analog Converter

mikroPascal compilers

power consumption ~85mA when all peripheral modules are disconnected board dimensions 266 x 220mm (10.47 x 8.66 inch)

(DAC), support for Capacitive Touch Sensing using Charge Time Measurement Unit (CTMU), three 8-bit timers and four

weight ~445g (0.981 lbs)

16-bit timers. It also has pair of CCP, Comparators and MSSP modules (which can be either SPI or I2C).

Package contains 19122011

www.mikroe.com

We present you with a complete color to make electr schematics onics more for EasyPIC understand most used ™ v7 devel able, even SMD comp opment board for absolu onents, and . We wante te beginners, what your made additi d board is consis so we provid onal comm ed photos ted of, and ents and drawi of how it actua ngs so you lly works. can get to know

Copyright ©2011 Mikroelektronika. All rights reserved. Mikroelektronika, Mikroelektronika logo and other Mikroelektronika trademarks are the property of Mikroelektronika. All other tradmarks are the property of their respective owners. Unauthorised copying, hiring, renting, public performance and broadcasting of this DVD prohibited.

1

Damage resistant protective box

2

EasyPIC™ v7 board in antistatic bag

3

USB cable

4

User Manuals and Board schematics

5

DVD with examples and documentation

page 5


power supply

Dual power supply Board contains switching power supply that creates stable voltage and current levels necessary for powering each part of the board. Power supply section contains two power regulators: MC34063A, which generates VCC-5V, and MC33269DT3.3 which creates VCC-3.3V power supply, thus making the board capable of supporting both 5V and 3.3V microcontrollers. Power supply unit can be powered in two different ways: with USB power supply, and using external adapters via adapter connector (CN31) or additional screw terminals (CN30). External adapter voltage levels must be in range of 9-32V DC or 7-23V AC. Use jumper J6 to specify which power source you are using, and jumper J5 to specify whether you are using 5V or 3.3V microcontroller. Upon providing the power using either external adapter, or USB power source, you can turn the board on using SWITCH 1 (Figure 3-1).

1 REG1 GND VOUT

SWITCH1

3

3

2

1

VCC-5V

VCC-5V

E4

C14

10uF

100nF

Figure 3-1: Dual power supply unit of EasyPIC™ v7

2

VCC-3.3

VIN MC33269DT3.3

E7 10uF

E6 220uF/35V

VCC-USB

VCC-5V U3

J6 M1X3 VCC-SW

1

L2

2

220uH E2 220uF/35V

3 D1 MBRS140T3

C8 220pF

VCC-BRD VCC-5V J5 M1X3

4

SWC

DRVC

SWE

IPK

CT

VIN

GND MC34063A

CMPR

8

D13

R65 0.22

7 VCC-EXT

6 5

VCC-SW R34 3K

E1 220uF/35V

+

1N4007 D14

1N4007

-

CN31

R35 1K VCC-3.3

CN30 LD37 POWER

D15 CON2

1N4007

Figure 3-2: Dual power supply unit schematics page 6

D12

1N4007

CON2

R66 2K2


power supply

Smart engineering of EasyPIC™ v7 development board allowed us to support both 3.3V and 5V microcontrollers on a single board, which is more then 250 devices.

Power supply:

via DC connector or screw terminals (7V to 23V AC or 9V to 32V DC), or via USB cable (5V DC) Power consumption: up to 600mA (depending on how many on-board modules are currently active)

How to power the board? 1. With USB cable

1

2

3

4

5

6

Set J6 jumper to USB position To power the board with USB cable, place jumper J6 in USB position, and place jumper J5 in 5V or 3.3V position, depending on which microcontroller you are using. You can then plug in the USB cable as shown on images 1 and 2 , and turn the power switch ON.

2. Using adapter Set J6 jumper to EXT position To power the board via adapter connector, place jumper J6 in EXT position, and place jumper J5 in 5V or 3.3V position, depending on which microcontroller you are using. You can then plug in the adapter cable as shown on images 3 and 4 , and turn the power switch ON.

3. With laboratory power supply Set J6 jumper to EXT position To power the board using screw terminals, place jumper J6 in EXT position, and place jumper J5 in 5V or 3.3V position, depending on which microcontroller you are using. You can then plug in the adapter cable as shown on images 5 and 6 , and turn the power switch ON.

page 7


Board contains eight DIP sockets: DIP40, DIP28, DIP18A, DIP18B, DIP20, DIP14, DIP8 and support for PIC10F MCUs. With dual power supply and smart on-board mikroProg, board is capable of programming over 250 microcontrollers from PIC10F, PIC12F, PIC16F, PIC16Enh, PIC18F, PIC18FJ and PIC18FK families. There are two DIP18 sockets for PIC microcontrollers provided on the board - DIP18A and DIP18B. Which of these sockets you will use depends solely on the pinout of the microcontroller in use. The EasyPIC™ v7 development system comes with the PIC18F45K22 microcontroller in a DIP40 package. IMPORTANT: When using PIC18F2331 or PIC18F2431 microcontollers it is necessary to place J20 jumper, in order to route VCC power line to RA5 pin (Figure 4-1)

C35 100nF

J7 M1X3

MCLR-RE3

1

40

RB7-MCU

RA0

1

18

100nF

RA0

2

39

RB6-MCU

RA1

2

17

RB2

RA4

3

16

RA7-MCU

MCLR-RA5

4

RA4 RA4-DIP40

RA1

3

38

RA2

4

37

RB4

15

RA6-MCU

RA3

5

36

RB3

5

C11

14

RA4-DIP40

6

35

RB2

RA2

6

100nF

13

VCC-MCU RB7-MCU

RA5-DIP40

7

VCC-MCU

C33 100nF

VCC-MCU

34

RB1

RA3

7

12

RB6-MCU

RE0

8

33

RB0

RB0

8

11

RB5

RE1

9

32

RB1

9

10

RB4

10uF

RE2

10

31

for PIC18F44J10, PIC18F45J10 J10 M1X3 RA4 RA4-DIP28 E13 10uF for PIC18F24J10, PIC18F25J10 PIC18F2XJ50, PIC18F2XJ11

J23 M1X3

C37

C38

100nF

100nF

for PIC16F722/723/726

RA5-DIP28

VCC-MCU

DIP SKT 18B

11

30

RD7

12

29

RD6

RA7-MCU

13

28

RD5

RA6-MCU

14

27

RD4

VCC-MCU RA5-MCU

RC0

15

26

RC7

RC1

16

25

RC6

RC2

17

24

RC3-MCU

18

23

VCC-MCU

VCC-MCU

C9 100nF

SKT5 1

20

2

19

RA0-MCU

RA4-MCU

3

18

RA1-MCU

MCLR-RA3

4

17

RA2-MCU

RC5-MCU

RC5

5

16

RC0

RC4-MCU

RC4

6

15

RC1

14

RC2

VCC-MCU

C13 100nF

RD0

19

22

RD3

7

RD1

20

21

RC3

RD2

RC6

8

13

RB4

RC7

9

12

RB5

RB7

10

11

RB6

DIP SKT 40

RA5 RA5-DIP28

VCAP jumpers explained

SKT2 MCLR-RE3

1

28

RB7-MCU

RA0

2

27

RB6-MCU

RA1

3

26

RB5

RA2

4

25

RB4

RA3

5

24

RB3

RA4-DIP28

6

23

RB2

RA5-DIP28

7

22

RB1

8

21

RB0

RA7-MCU

9

RA6-MCU

10

RC0

11

RC1

12

17

RC6

RC2

13

16

RC5-MCU

RC3-MCU

14

15

RC4-MCU

20

VCC-MCU

19

C10

VCC-MCU

SKT6 1

VCC-MCU RA5-MCU

DIP SKT 28

14

2

VCC-MCU

page 8

RA0-MCU

12

RA1-MCU

3

MCLR-RA3

4

C42

11

RA2

RC5

5

100nF

10

RC0

RC4

6

9

RC1

RC3

7

8

RC2

DIP SKT 14 SKT7 1

VCC-MCU RA5-MCU

8 VCC-MCU

2

RA4-MCU

3

MCLR-RA3

4

C40 100nF

7

RA0-MCU

6

RA1-MCU

5

RA2

8

MCLR-RA3

SKT3

Figure 4-1: Schematics of on-board DIP sockets, and VCAP jumpers

RA2

1

18

RA3

2

17

RA0

RA4

3

16

RA7-MCU

MCLR-RA5

4

15

RA6-MCU

VCC-MCU

DIP SKT 8

RA1

5

C12

14

RB0

6

100nF

13

VCC-MCU RB7-MCU

RB1

7

12

RB6-MCU

RB2

8

11

RB5

RB3

9

10

RB4

SKT8 1 VCC-MCU J13

VCC-MCU RA7 2 RA2 RA7-MCU 3 RA1-MCU

4

7 RA6 6 RA6-MCU

C39

100nF

M2X3 X1 DIP SKT 8 8MHz SYS 10F20X C7

22pF

J17 VCAP position for PIC18F44J10 and PIC18F45J10

J13

RA7

RA6 RA6-MCU

RA7-MCU

J10 VCAP for PIC18F24J10, PIC18F25J10 PIC18F2XJ50, PIC18F2XJ11

C6

Figure 4-2: crystal oscillators

RA5

22pF

J14

RA5-MCU M2X3 X2 8MHz SEC

RA4 RA4-MCU

RA5-MCU M2X3 X2 8MHz SEC

C7

22pF

22pF

J14

RA5

M2X3 X1 8MHz SYS

J23 VCAP for PIC16F722, PIC16F723, PIC16F726

RA0-MCU

5

10F22X C6

J22 VCAP position when using PIC16F724/16F727

If you do not place VCAP jumper for the MCUs that need it, you might experience some instabilities in program execution.

13

RA4-MCU

RC7

18

100nF

DIP SKT 20

DIP SKT 18A

IMPORTANT:

RB3

RB5

E11

for PIC18F2331/2431

Some PIC16F, PIC18FK and all PIC18FJ microcontrollers have cores that work on 1.8V-2.5V voltage range, and peripherals that work with 3.3V and 5V voltages. Internally, those microcontrollers have power regulators, which adjust the core voltage levels. In order for those devices to have a stable operation of the core, manufacturer recommends that decoupling capacitive filters should be provided, and connected between specific microcontroller pins designated with VCAP and GND. EasyPIC v7 board provides jumpers which are used for this purpose. Here is list of devices that require jumpers placed in VCAP position:

SKT4

SKT1

C36

for PIC16F724/727

J20 M1X2

DATA BUS

RA5 RA5-DIP40

VCC-MCU

(see figure 4-1)

supported MCUs

Supported microcontrollers

J22 M1X3

RA4 RA4-MCU

C22

C21

22pF

22pF


1

2

supported MCUs

How to properly place your microcontroller into the DIP socket? 3

Figure 4-3: Place both ends of microcontroller on the socket so the pins are aligned correctly

Figure 4-4: with both fingers, evenly distribute the force and press the chip into the socket.

Figure 4-5: Properly placed microcontroller will have equally leveled pins.

Before you plug the microcontroller into the appropriate socket, make sure that the power supply is turned off. Images above show how to correctly plug a microcontroller. First make sure that a half circular cut

in the microcontroller DIP packaging maches the cut in the DIP socket. Place one end of the microcontroller into the socket as shown in Figure 4-3. Then put the microcontroller slowly down until all the pins

match the socket as shown in Figure 4-4. Check again if everything is placed correctly and press the microcontroller until it is completely plugged into the socket as shown in Figure 4-5.

IMPORTANT:

Only one microcontroller may be plugged into the development board at the same time.

Using crystal oscillators 1

Figure 4-6: RA6 and RA7 as I/O pins (when using internal oscillator)

2

Figure 4-7: RA6 and RA7 connected to X1 oscillator

PIC microcontrollers normally use a quartz crystal for the purpose of providing clock frequency. The EasyPIC™ v7 provides two sockets for quartz-crystal. Microcontrollers in DIP18A, DIP18B, DIP28 and DIP40 packages use socket X1 (OSC1) for quartz-crystal.

3

Figure 4-8: RA4 and RA5 as I/O pins (when using internal oscillator)

4

Figure 4-9: RA4 and RA5 connected to X1 oscillator

If you want to use microcontrollers in DIP8, DIP14 and DIP20 packages, it is necessary to put quartz crystal into socket X2 (OSC2). The value of the quartzcrystal depends on the maximum clock frequency allowed, and your application, and you can always exchange the default 8MHz crystal with another one.

IMPORTANT: Microcontrollers which are plugged into socket 10F use their own internal oscillator and are not connected to any of the mentioned quartz-crystal sockets. page 9


programming

On-board programmer What is mikroProg™? mikroProg™ is a fast USB 2.0 programmer with mikroICD™ hardware In-Circuit Debugger. Smart engineering allows mikroProg™ to support all PIC10, PIC12, PIC16, PIC18, devices in a single programmer! It supports over 250 microcontrollers from Microchip®. Outstanding performance and easy operation are among it's top features.

How do I start? In order to start using mikroProg™ and program your microcontroller, you just have to follow two simple steps: 1. Install the necessary software - Install USB drivers - Install mikroProg Suite™ for PIC® software 2. Power up the board, and you are ready to go. - Plug in the programmer USB cable - LINK LED should light up.

Why so many LEDs? Three LEDs indicate specific programmer operation. Link LED lights up when USB link is established with your PC, Active LED lights up when programmer is active. Data is on when data is being transfered between the programmer and PC software (compiler or mikroProg Suite™ for PIC®).

NOTE:

page 10

If you use other than the default PIC18F45K22 MCU, you want to make sure that programmer jumpers are placed in proper positions for your microcontroller socket.

MCLR pin selection

Programing lines selection

MCLR pin function

Before using the programmer, make sure to set MCLR pin jumpers J1 and J2, so that MCLR line is routed to the correct socket for your microcontroller. If you are using the default PIC18F45K22, jumpers are supposed to be set for DIP40, as shown below.

Jumpers J8 and J9 are used to select PGC and PGD programming lines for your microcontroller. Make sure to place jumpers in the proper position for your socket.

Using jumper J19 you can specify whether RST pin of your microcontroller is connected to the onboard reset circuit, or acts just as I/O pin.

DIP40, DIP28

DIP18A, DIP18B

DIP20 DIP14 DIP8

DIP40, DIP28, DIP18A, DIP18B

DIP20, DIP14, DIP8

MCLR as MCLR

MCLR as I/O


VCC-3.3

VCC-5V VCC-MCU

LD38 LINK

LD39 ACTIVE

VCC-BRD

J1

LD40 DATA

I/O VCC-USB

R67 2K2

R68 4K7

programming

VCC-3.3

M2X3 J2

R69 6K8

L4 FERRITE

MCU-VPP

CN2 VCC 1

MCU-VPP MCU-PGC MCU-PGD

MCLR-RE3 MCLR-RA5 MCLR-RA3

M2X3

D- 2 D+ 3 C19

RE3 RA5 RA3

MCU-PGC

GND 4

BOARD-PGC

USB

100nF

BOARD-VPP BOARD-PGC BOARD-PGD

MCU-PGD BOARD-PGD

J8

M2X3 M2X4 J9

M2X3 M2X4

RB6-MCU RA1-MUX RB6 RA1

RB7-MCU RA0-MUX RB7 RA0

DATA BUS #RST BOARD-VPP I/O

VCC-BRD J19 M1X3

R7 10K

R6

T65 RESET

C41

CN28 MCU-PGC MCU-PGD

MCU-VPP #RST

VCC-BRD

1 2 3 4 5 6

ICD VCC-BRD C18 100nF

RJ12

1K

100nF

Figure 5-1: mikroProg™ block schematics

Programming with ICD2/ICD3 EasyPIC™ v7 is equipped with RJ-12 connector compatibile with Microchip® ICD2® and ICD3® external programmers. This way you can override the on-board mikroProg™ programmer and InCircuit Debugger, and use other programming tools with the board. But you still have to set the appropriate jumpers, as described in the previous page. Insert your ICD programmer cable into connector CN28, as shown in images 1 and 2 .

1

2 page 11


On-board mikroProg™ requires drivers in order to work. Drivers are located on the Product DVD that you received with the EasyPIC™ v7 package: DVD://download/eng/software/ development-tools/universal/ mikroprog/mikroprog_for_pic_ drivers_v200.zip

19122011

www.mikroe.com

Av

ai

Copyright ©2011 Mikroelektronika. All rights reserved. Mikroelektronika, Mikroelektronika logo and other Mikroelektronika trademarks are the property of Mikroelektronika. All other tradmarks are the property of their respective owners. Unauthorised copying, hiring, renting, public performance and broadcasting of this DVD prohibited.

lab

le on Product

D!

programming

Installing programmer drivers DV

When you locate the drivers, please extract files from the ZIP archive. Folder with extracted files contains folders with drivers for different operating systems. Depending on which operating system you use, choose adequate folder and open it.

In the opened folder you should be able to locate the driver setup file. Double click on setup file to begin installation of the programmer drivers.

page 12

Step 1 - Start Installation

Step 2 - Accept EULA

Welcome screen of the installation. Just click on Next button to procede.

Carefully read End User License Agreement. If you agree with it, click Next to procede.

Step 3 - Installing drivers Drivers are installed automatically in a matter of seconds.

Step 4 - Finish installation You will be informed if the dirvers are installed correctly. Click on Finish button to end installation process.


mikroProg Suite™ for PIC® On-board mikroProg™ programmer requires special programming software called mikroProg Suite™ for PIC®. This software is used for programming all of Microchip® microcontroller families, including PIC10, PIC12, PIC16, PIC18, dsPIC30/33, PIC24 and PIC32. Software has intuitive interface and SingleClick™ programming technology. To begin, first locate the installation archive on the Product DVD: 19122011

le on Produc

D!

Av

Copyright ©2011 Mikroelektronika. All rights reserved. Mikroelektronika, Mikroelektronika logo and other Mikroelektronika trademarks are the property of Mikroelektronika. All other tradmarks are the property of their respective owners. Unauthorised copying, hiring, renting, public performance and broadcasting of this DVD prohibited.

lab

Installation wizard - 6 simple steps

DVD://download/eng/software/development-tools/universal/ mikroprog/mikroprog_suite_for_pic_v220.zip

www.mikroe.com

ai

programming

Programming software

V tD

After downloading, extract the package and double click the executable setup file, to start installation.

Step 1 - Start Installation

Step 2 - Accept EULA and continue

Step 3 - Install for All users

Step 4 - Choose destination folder

Step 5 - Installation in progress

Step 6 - Finish Installation

page 13


programming

mikroICD - In Circuit Debugger ™

What is Debugging? Every developer comes to a point where he has to monitor the code execution in order to find errors in the code, or simply to see if everything is going as planed. This hunt for bugs, or errors in the code is called debugging. There are two ways to do this: one is the software simulation, which enables you to simulate what is supposed to be happening on the microcontroller as your code lines are executed, and the other, most reliable one, is monitoring the code execution on the chip itself. And this latter one is called In-Circuit debugging. "In-Circuit" means that it is the real deal - code executes right on the target device.

How do I use the debugger? When you build your project for debugging, and program the microcontroller with this HEX file, you can start the debugger using [F9] command. Compiler will change layout to debugging view, and a blue line will mark where code execution is currently paused. Use debugging toolbar in the Watch Window to guide the program execution, and stop anytime. Add the desired variables to Watch Window and monitor their values. Complete guide to using mikroICD™ with your compiler is provided with the EasyPIC™ v7 package.

mikroICD

bugger

in-circuit de

Figure 5-2: mikroICD™ manual explains debugging thoroughly

What is mikroICD™? The on-board mikroProg™ programmer supports mikroICD™ - a highly effective tool for a Real-Time debugging on hardware level. The mikroICD™ debugger enables you to execute your program on the host PIC microcontroller and view variable values, Special Function Registers (SFR), RAM, CODE and EEPROM memory along with the mikroICD™ code execution on hardware. Whether you are a beginner, or a professional, this powerful tool, with intuitive interface and convenient set of commands will enable you to track down bugs quickly. mikroICD™ is one of the fastest, and most reliable debugging tools on the market.

Supported Compilers All MikroElektronika compilers, mikroC™, mikroBasic™ and mikroPascal™ for PIC®, dsPIC® and PIC32® natively support mikroICD™. Specialized mikroICD™ DLL module allows compilers to exploit the full potential of fast hardware debugging. Along with compilers, make sure to install the appropriate programmer drivers and mikroProg Suite™ for PIC® programming software, as described on pages 12 and 13. page 14

Figure 5-3: mikroC PRO for PIC compiler in debugging view, with SFR registers in Watch Window


Here is a short overview of which debugging commands are supported in mikroElektronika compilers. You can see what each command does, and what are their shortcuts when you are in debugging mode. It will give you some general picture of what your debugger can do.

Toolbar Icon

Command Name

Shortcut

Description

Start Debugger

[F9]

Starts Debugger.

Run/Pause Debugger

[F6]

Run/Pause Debugger.

Stop Debugger

[Ctrl + F2]

Stops Debugger.

Step Into

[F7]

Executes the current program line, then halts. If the executed program line calls another routine, the debugger steps into the routine and halts after executing the first instruction within it.

Step Over

[F8]

Executes the current program line, then halts. If the executed program line calls another routine, the debugger will not step into it. The whole routine will be executed and the debugger halts at the first instruction following the call.

Step Out

[Ctrl + F8]

Executes all remaining program lines within the subroutine. The debugger halts immediately upon exiting the subroutine.

Run To Cursor

[F4]

Executes the program until reaching the cursor position.

Toggle Breakpoint

[F5]

Toggle breakpoints option sets new breakpoints or removes those already set at the current cursor position.

Show/Hide breakpoints

[Shift+F4]

Shows/Hides window with all breakpoints

Clears breakpoints

[Shift+Ctrl+F5]

Deletes selected breakpoints

Jump to interrupt

[F2]

Opens window with available interrupts (doesnt work in mikroICD™ mode) page 15

programming

mikroICD™ commands


The UART (universal asynchronous receiver/transmitter) is one of the most common ways of exchanging data between the MCU and peripheral components. It is a serial protocol with separate transmit and receive lines, and can be used for full-duplex communication. Both sides must be initialized with the same baudrate, otherwise the data will not be received correctly.

In order to enable RS-232 communication, you must set J3 and J4 jumpers in the RS-232 position, and enable desired RX and TX lines via SW1 and SW2 DIP switches. For example, if you want to enable RS-232 connection on UART1 module of the default PIC18F45K22 chip, you should enable SW1.1 (RC7) and SW2.1 (RC6) lines.

RS-232 serial communication is performed through a 9-pin SUB-D connector and the microcontroller UART module. In order to enable this communication, it is necessary to establish a connection between RX and TX lines on SUB-D connector and the same pins on the target microcontroller using DIP switches. Since RS-232 communication voltage levels are different than microcontroller logic levels, it is necessary to use a RS-232 Transceiver circuit, such as MAX3232 as shown on Figure 6-1.

VCC-MCU

CN37

9 6

C30 100nF

1 2 3 4 5 6 7

C31 100nF

8

C1+

VCC

V+

GND

C1 -

T1 OUT

C2+

R1 IN

C2 -

R1 OUT

V-

T1 IN

T2 OUT

T2 IN

R2 IN

R2 OUT

MAX3232

Bottom view

RS-232

16 15

R32 100K SW1

14 13 12

RX-232

11

TX-232

10 9

VCC-MCU E8

RX-232 RX-FTDI

J3 RX M1X3

1 2 3 4 5 6 7 8

SW2 16 15 14 13 12 11 10 9

RC7 RB2 RB1 RB4 RA3 RB5 RC5 RD7

TX-232 TX-FTDI

J4 TX M1X3

DIP SW 8

10uF

Figure 6-1: RS-232 connection schematics page 16

1 2 3 4 5 6 7 8

ON

1 6 2 7 3 8 4 9 5

C28 100nF

VCC-MCU

U4

ON

1

6

1

9

5

5

C29 100nF

DATA BUS

Enabling RS-232

SUB-D 9p

communication

UART via RS-232

DIP SW 8

16 15 14 13 12 11 10 9

RC6 RB5 RB2 RB1 RA2 RB7 RC4 RD6


communication

UART via USB Modern PC computers, laptops and notebooks are no longer equpped with RS-232 connectors and UART controllers. They are nowdays replaced with USB connectors and USB controllers. Still, certain technology enables UART communication to be done over USB connection. Controllers such as FT232RL from FTDI® convert UART signals to the appropriate USB standard. In order to use USB-UART module on EasyPIC™ v7, you must first install FTDI drivers on your computer. Drivers can be found on Product DVD:

Enabling USB-UART

DVD://download/eng/software/development-tools/ universal/ftdi/vcp_drivers.zip

19122011

In order to enable USB-UART communication, you must set J3 and J4 jumpers in the USB-UART position, and enable desired RX and TX lines via SW1 and SW2 DIP switches. For example, if you want to enable USB-UART connection on UART1 module of the default PIC18F45K22 chip, you should enable SW1.1 (RC7) and SW2.1 (RC6) lines.

Copyright ©2011 Mikroelektronika. All rights reserved. Mikroelektronika, Mikroelektronika logo and other Mikroelektronika trademarks are the property of Mikroelektronika. All other tradmarks are the property of their respective owners. Unauthorised copying, hiring, renting, public performance and broadcasting of this DVD prohibited.

D!

www.mikroe.com

USB-UART communication is being done through a FT232RL controller, USB connector (CN32), and microcontroller UART module. To establish this connection, you must put J3 and J4 jumpers in the USB-UART position, and connect RX and TX lines of the microcontroller to the appropriate input and output pins of the FT232RL. This selection is done using DIP switches SW1 and SW2.

Av

ai

lab

le on Product

DV

FTDI

VCC-MCU

VCC-5V

VCC-5V

U2 SW1 J3 RX

RX-FTDI

M1X3

DATA BUS

ON

RX-232

1 2 3 4 5 6 7 8

16 15 14 13 12 11 10 9

RC7 RB2 RB1 RB4 RA3 RB5 RC5 RD7

TX-FTDI

TX M1X3

ON

TX-232

Figure 7-1: USB-UART connection schematics

J4

DIP SW 8

1 2 3 4

TX-FTDI

5 6 7 8

DIP SW 8 SW2 1 2 3 4 5 6 7 8

RX-FTDI

16 15 14 13 12 11 10 9

RC6 RB5 RB2 RB1 RA2 RB7 RC4 RD6

9 10 11 12 13 14

TXD

OSCO

DTR#

OSCI

RTS#

TEST

VCCIO

AGND

RXD

NC

RI# GND NC

CBUS0

FT232RL

CBUS1 GND

DSR#

VCC

DCD#

RESET#

CTS#

GND

CBUS4

3V3OUT

CBUS2

USBDM

CBUS3

USBDP

28 27 26

VCC-MCU

R8 2K2

25 23

R9 4K7 LD41

24

C50 100nF

VCC-MCU

VCC-5V E12 10uF

VCC-MCU C34 100nF

LED

CN32

LD42

VCC 1

RX-LED

D- 2 TX-LED

22 21

D+ 3 R78 4K7

20 19 18

GND 4 USB

R79 10K

17 16 15 C32 100nF

page 17


communication

USB connection USB connector (CN4) which enables microcontrollers that support USB communication to establish a connection with the target host (eg. PC, Laptop, etc). Selection of communication lines is done using jumpers J12 or J18, depending on

the target microcontroller. When communication lines are routed from the microcontroller to the USB connector using mentioned jumpers, they are cut off from the rest of the board, and cannot be accessed via PORT

RC3-MCU RC3 RC4-MCU RC4 RC5-MCU RC5

GND 4

USB

J12 M3X3

page 18

Figure 8-3: USB enabled on PORTA

PIC18FXX(J)50, PIC18FXX(J)53, PIC18FXX(J)55, PIC18FXX58 RA2-MCU RA2 RA1-MCU RA1-MUX RA0-MCU RA0-MUX

LD44 USB ON

Figure 8-2: USB enabled on PORTC

DATA BUS

VCC-3.3

CN4

VCC 1

Depending on your target microcontroller, USB communication can be enabled on PORTA or PORTC. For PIC18(L)F1XK50 you should put J18 jumpers in the USB position (Figure 8-3). For PIC18Fxx(J)50, PIC18Fxx(J)53, PIC18Fxx(J)55 and PIC18Fxx58 place J12 jumpers in the USB position (Figure 8-2).

D- 2

Enabling USB connection

Figure 8-1: USB function disabled

headers. Dedicated USB ON LED signalizes the presense of USB connection, when the USB cable is inserted into the USB connector.

Figure 8-4: USB connection schematics (jumpers are in USB disabled position)

D+ 3

USB is the acronym for Universal Serial Bus. This is a very popular industry standard that defines cables, connectors and protocols used for communication and power supply between computers and other devices. EasyPIC™ v7 contains

R11 4K7 J18 M3X3

for PIC18F1XK50, PIC18LF1XK50


mikroBUS sockets Easier connectivity and simple configuration are imperative in modern electronic devices. Success of the USB standard comes from it’s simplicity of usage and high and reliable data transfer rates. As we in mikroElektronika see it, Plug-and-Play devices with minimum settings are the future in embedded world too. This is why our engineers have come up with a simple, but briliant pinout with lines that most of today’s accessory boards require, which almost completely eliminates the need of additional hardware settings. We called this new standard the mikroBUS™. EasyPIC™ v7 is the first development board in the world to support mikroBUS™ with two on-board sockets. As you can see, there are no additional DIP switches, or jumper selections. Everything is

connectivity

already routed to the most appropriate pins of the microcontroller sockets.

mikroBUS™ host connector Each mikroBUS™ host connector consists of two 1x8 female headers containing pins that are most likely to be used in the target accessory board. There are three groups of communication pins: SPI, UART and I2C communication. There are also single pins for PWM, Interrupt, Analog input, Reset and Chip Select. Pinout contains two power groups: +5V and GND on one header and +3.3V and GND on the other 1x8 header.

mikroBUS™ pinout explained PWM - PWM output line INT - Hardware Interrupt line RX - UART Receive line TX - UART Transmit line SCL - I2C Clock line SDA - I2C Data line +5V - VCC-5V power line GND - Reference Ground

AN - Analog pin RST - Reset pin CS - SPI Chip Select line SCK - SPI Clock line MISO - SPI Slave Output line MOSI - SPI Slave Input line +3.3V - VCC-3.3V power line GND - Reference Ground

DATA BUS

VCC-3.3V

RA2 PE1 RE0 RC3 RC4 RC5

VCC-5V

AN RST CS SCK MISO MOSI 3.3V GND

PWM INT RX TX SCL SDA 5V GND

R90 1K

RC0 RB0 RC7 RC6 RC3 RC4

VCC-3.3V

RA3 RE2 RA5 RC3 RC4 RC5

VCC-5V

AN RST CS SCK MISO MOSI 3.3V GND

PWM INT RX TX SCL SDA 5V GND

R91 1K

RC1 RB1 RC7 RC6 RC3 RC4

Figure 9-1: mikroBUS™ connection schematics

Integrate mikroBUS™ in your design mikroBUS™ is not made to be only a part of our development boards. You can freely place mikroBUS™ host connectors in your final PCB designs, as long as you clearly mark them with mikroBUS™ logo and footprint specifications. For more information, logo artwork and PCB files visit our website: http://www.mikroe.com/mikrobus

page 19


connectivity

ADC click™

BEE click™

BlueTooth click™

MP3 click™

RTC2 click™

Click Boards are plug-n-play! ™

mikroElektronika’s portfolio of over 200 accessory boards is now enriched by an additional set of mikroBUS™ compatible Click Boards™. Almost each month several new Click boards™ are released. It is our intention to provide the community with as much of these boards as possible, so you will be able to expand your EasyPIC™ v7 with additional functionality with literaly zero

LightHz click™ page 20

microSD click™

hardware configuration. Just plug and play. Visit the Click boards™ webpage for the complete list of available boards: http://www.mikroe.com/eng/categories/view/102/click-boards/

DAC click™

DIGIPOT click™

SHT1x click™


connectivity

WiFi click™

GPS click™

RS485 click™

CAN SPI click™

Buzz click™

Code Examples It easy to get your Click™ board up and running. We provided the examples for mikroC™, mikroBasic™ and mikroPascal™ compilers on our Libstock community website. Just download them and you are ready to start:

http://www.libstock.com

page 21


connectivity

Input/Output Group One of the most distinctive features of EasyPIC™ v7 are it’s Input/Output PORT groups. They add so much to the connectivity potential of the board.

Everything is groupped together It took us a while to realize that having PORT headers, PORT buttons and PORT LEDs next to each other, and groupped together, makes development easier, and the entire EasyPIC™ v7 cleaner and well organized. We have also provided Figure 10-1: I/O group contains 3 PORT headers, tri-state an additional PORT headers on the left side of the board, so you can access any pin pull up/down DIP switch, buttons and LEDs all in one place you want from both sides of the board. Some PORT pins are directly connected to the microcontroller, and some that are connected to other on-board modules are enabled via jumpers (for example USB jumpers, J12 and J18).

Tri-state pull-up/down DIP switches RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0

DATA BUS

CN25 PORT C

RN3 SW3

SW7

ON

Tri-state DIP switches, like SW7 on Figure 10-2, are used to enable 4K7 pull-up or pull-down resistor on any desired port pin. Each of those switches has three states: 1. middle position disables both pull-up and pull-down feature from the PORT pin 2. up position connects the resistor in pull-up state to the selected pin 3. down position connects the Figure 10-2: Tri-state resistor in pull-down state to the DIP switch on PORTC selected PORT pin.

PC_LED

UP PULL DOWN

1 2 3 4 5 6 7 8

CN15

RC0 RC2 RC4 RC6

8x4K7

PORT C

VCC-BRD

RC1 RC3 RC5 RC7

CN10

RC0 RC2 RC4 RC6

VCC-BRD

M2X5

RC1 RC3 RC5 RC7

M2X5

DIP SW 8 TRI-STATE

VCC-MCU

RC0 1 2 RC1 RC2 3 RC3 4 5 RC4 RC5 6 RC6 7 RC7 8 9 VCC-BRD 10

N1X10

RN8

DIP SW 8

8x10K

DATA BUS PORT C

VCC-BRD

M2X5

Figure 10-3: Additional PORT header on the left side of the board page 22

J17

220

LD20

LD19

LD18

LD17

RC0

LD21

RC1

LD22

RC2

LD23

RC3

R80

LD24

RC4

VCC-MCU

RC5

RC1 RC3 RC5 RC7

RC6

CN20

RC7

RC0 RC2 RC4 RC6

RC7

RC6

RC5

RC4

RC3

RC2

RC1

RC0

T24

T23

T22

T21

T20

T19

T18

T17

J24 BUTTON PRESS LEVEL

Figure 10-4: Schematic of the single I/O group connected to microcontroller PORTC


connectivity

Headers Buttons

LEDs

With enhanced connectivity as one of the key features of EasyPIC v7, we have provided four connection headers for each PORT. I/O PORT group contains two male IDC10 2x5 headers (like CN10 and CN15 on Figure 10-4). These headers are all compatible with over 70 mikroElektronika accessory boards, and enable simple connection. There is one more IDC10 header available on the left side of the board, next to the section with displays.

LED (Light-Emitting Diode) is a highly efficient electronic light source. When connecting LEDs, it is Microcontroller neccessary to place SMD resistor a current limiting limiting current resistor in series through the LED so that LEDs are provided with the current value specified by the manufacturer. A common LED diode voltage is approximately 2.5V, while the current varies from 0.2mA to 20mA, depending on the type of the LED. The EasyPIC™ v7 board uses low-current LEDs with typical current consumption of 0.2mA or 0.3mA, depending of VCC voltage selection. Board contains 36 LEDs which can be used for visual indication of the logic state on PORT pins. An active LED indicates that a logic high (1) is present on the pin. In order to enable PORT LEDs, Figure 10-7: SW3.1 it is necessary to enable the through SW3.4 corresponding DIP switches switches are used to on SW3 (Figure 10-7). enable PORT LEDs

NOTE: Because of it's orientation, header on the left side of the board is not meant for placing accessory boards directly. Instead, use wire jumpers or other ways to establish connection and utilize these pins. I/O PORT group also contains 1x10 connection pad (like CN25 on Figure 10-4) which can be used for connecting mikroElektronika PROTO boards, or custom user boards.

The logic state of all microcontroller digital inputs may be changed using push buttons. Jumper J17 is available Figure 10-6: Button press for selecting which logic level jumper (J17) state will be applied to corresponding MCU pin when button is pressed in any I/O port group. If you, for example, place J17 in VCC position, then pressing of any push button in I/O group will apply logical one to the appropriate microcontroller pin. The same goes for GND. If the jumper is taken out, then all push buttons of the associated PORT will be disconnected from the microcontroller pin. You can disable pin protection 220ohm resistors by placing jumper J24, which will connect your push buttons directly to VCC or GND. Be aware that doing so you may accidentally damage MCU in case of wrong usage.

Reset Button

Figure 10-5: IDC10 male headers enable easy connection with mikroElektronika accessory boards

In the far upper right section of the board, there is a RESET button, which can be used to manually reset the microcontroller. This button is directly connected to the MCLR pin.

page 23


displays

LCD 2x16 characters Liquid Crystal Displays or LCDs are cheap and popular way of representing information to the end user of some electronic device. Character LCDs can be used to represent standard and custom characters in the predefined number of fields. EasyPIC™ v7 provides the connector and the necessary interface for supporting 2x16 character LCDs in 4-bit mode. This type of display has two rows consisted of 16 character fields. Each field is a 7x5 pixel matrix. Communication with the display module is done through CN7 display connector. Board is fitted with uniquely designed plastic display distancer, which allows the LCD module to perfectly and firmly fit into place.

IMPORTANT: Make sure to turn off the power supply before placing LCD onto the board. Otherwise your display can be permanently damaged.

DATA BUS VCC-MCU Q11 BC846 VCC-MCU

R89

ON

P4 10K

SW4

R10 1K LCD-GLCD BPWM

VCC-5V

4K7 RB5 RB4 RB3 RB2 RB1 RB0

GND

VEE RB4 GND RB5 GND GND GND GND RB0 RB1 RB2 RB3 LCD-GLCD BCK K-LCD

R93 56

VCC-5V

RC2

Figure 11-2: 2x16 LCD connection schematics

Vss Vdd Vee RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 A K

CN7

Figure 11-1: On-board LCD 2x16 display connector

Connector pinout explained GND and VCC - Display power supply lines Vo - LCD contrast level from potentiometer P4 RS - Register Select Signal line E - Display Enable line R/W - Determines whether display is in Read or Write mode. It’s always connected to GND, leaving the display in Write mode all the time. D0–D3 - Display is supported in 4-bit data mode, so lower half of the data byte interface is connected to GND. D4–D7 - Upper half of the data byte LED+ - Connection with the backlight LED anode LED- - Connection with the backlight LED cathode

Standard and PWM-driven backlight We have allowed LCD backlight to be enabled in two different ways: 1. It can be turned on with full brightness using SW4.6 switch. 2. Brightness level can be determined with PWM signal from the microcontroller, allowing you to write custom backlight controling software. This backlight mode is enabled with SW4.5 switch.

IMPORTANT: In order to use PWM backlight both SW4.5 and SW4.6 switches must be enabled at the same time.

LCD2X16

page 24


Graphical Liquid Crystal Displays, or GLCDs are used to display monochromatic graphical content, such as text, images, human-machine interfaces and other content. EasyPIC™ v7 provides the connector and necessary interface for supporting GLCD with resolution of 128x64 pixels, driven by the KS108 or similar display controller. Communication with the display module is done through CN6 display connector. Board is fitted with uniquely designed plastic display distancer, which allows the GLCD module to perfectly and firmly fit into place.

Display connector is routed to PORTB (control lines) and PORTD (data lines) of the microcontroller sockets. Since PORTB is also used by 2x16 character LCD display, you cannot use both displays simoutaneously. You can control the display contrast using dedicated potentiometer P3. Full brightness display backlight can be enabled with SW4.5 switch, and PWM-driven backlight with SW4.6 switch. SW4

DATA BUS

Q11 BC846 R89

P3 10K

R10 1K

LCD-GLCD BPWM

Connector pinout explained

LCD-GLCD BCK K-GLCD

Vo RB2 RB3 RB4 RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7 RB5

RB0 RB1 GND

RC2 VCC-5V

4K7 R92 20

VCC-5V

ON

VCC-MCU

Figure 12-1: GLCD 128x64 connection schematics

displays

GLCD 128x64

CN6

GLCD 128X64

CS1 and CS2 - Controller Chip Select lines VCC - +5V display power supply GND - Reference ground Vo - GLCD contrast level from potentiometer P3 RS - Data (High), Instruction (Low) selection line R/W - Determines whether display is in Read or Write mode.

E - Display Enable line D0–D7 - Data lines RST - Display reset line Vee - Reference voltage for GLCD contrast potentiometer P3 LED+ - Connection with the backlight LED anode LED- - Connection with the backlight LED cathode

Standard and PWM-driven backlight As for LCD, we have allowed GLCD backlight to be enabled in two different ways: 1. It can be turned on with full brightness using SW4.6 switch. 2. Brightness level can be determined with PWM signal from the microcontroller, allowing you to write custom backlight controling software. This backlight mode is enabled with SW4.5 switch.

IMPORTANT: In order to use PWM backlight both SW4.5 and SW4.6 switches must be enabled at the same time.

page 25


displays

Touchpanel controller Touchpanel is a glass panel whose surface is covered with two layers of resistive material. When the screen is pressed, the outer layer is pushed onto the inner layer and appropriate controllers can measure that pressure and pinpoint its location. This is how touchpanels can be used as an input devices. EasyPIC™ v7 is equipped with

touchpanel controller and connector for 4-wire resistive touchpanels. It can very accurately register pressure at a specific point, representing the touch coordinates in the form of analog voltages, which can then be easily converted to X- and Y- values. Touchpanel is ment to be mounted onto the GLCD display.

Correctly placing the touchpanel cable into the connector

1 Figure 13-1: Put Touch Panel flat cable in the connector

2 Figure 13-2: Use a tip of your finger to push it inside

3 Figure 13-3: Now place GLCD with Touch panel into GLCD socket

SW3 ON

VCC-MCU

VCC-MCU Q15 BC856 R22 10K

RIGHT

R16 1K Q13 BC846

DATA BUS

Enabling Touch panel

R12 1K

R15 10K

VCC-MCU Q14 BC856

RA0 RA1 RC0 RC1

BOTTOM LEFT DRIVEA DRIVEB

R14

DRIVEA

10K

TOP

Q12 BC846

LEFT

C25 100nF

R25 100K

CN29

R45 10K

LEFT BOTTOM

VCC-MCU

Q16 BC846 C26 100nF

R26 100K

R23 1K DRIVEB

R24 10K GLCD 128X64

TOUCHPANEL CONTROLLER BOTTOM LEFT TOP RIGHT

page 26

Figure 13-4: Touch Panel controller and connection schematics

Touchpanel is enabled using SW3.5, SW3.6, SW3.7 and SW3.8 switches. They connect READ-X and READ-Y lines of the touchpanel with RA0 and RA1 analog inputs, and DRIVEA and DRIVEB with RC0 and RC1 digital outputs on microcontroller sockets. Do not connect additional boards or otherwise interfere with these lines while you use touchpanel, because you may corrupt the results of the readings and get inacurate touch coordinates.

Figure 13-5: Turn on switches 5 through 8 on SW3 to enable Touch panel controller


which is used to enable the digit to which the data is currently being sent. By multiplexing data through all four segments fast enough, you create an illusion that all four segments are in operation simoutaneously. This is possible because human eye has a slower reaction time than the mention changes. This way you can represent numbers in decimal or hexadecimal form. Eight data lines that are common for all the digits are connected to PORTD, and digit select lines are connected to RA0–RA3 lines on the microcontroller sockets.

SW4 1 2 3 4 5 6 7 8

ON

DIS0 DIS1 DIS2 DIS3 LCD-GLCD BPWM LCD-GLCD BCK EEPROM-SCL EEPROM-SDA

16 15 14 13 12 11 10 9

RA0 RA1 RA2 RA3 RC2 VCC-5V RC3 RC4

RD0 RD1 RD2 RD3 RD4 RD5 RD6 RD7

DIP SW 8

R81-R88

SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG DP

8x470

SEG E SEG D SEG C SEG DP SEG B SEG A SEG F SEG G

1 2 3 4 5 6 7 8

DIS3 7 SEG DISP e d c dp b a f g

cc

Enabling the display To enable digit select lines for the 4-digit 7-segment display you have to turn on SW4.1, SW4.2, SW4.3 and SW4.4 switches. Digit select lines are connected to RA0 – RA3 pins on the microcontroller sockets, while data lines are connected to RD0 – RD8 pins. For proper operation of the display, make sure that you do not place additional boards on mentioned lines which can interfere with logic levels used in your application.

SEG E SEG D SEG C SEG DP SEG B SEG A SEG F SEG G

1 2 3 4 5 6 7 8

e d c dp b a f g

cc

SEG E SEG D SEG C SEG DP SEG B SEG A SEG F SEG G

1 2 3 4 5 6 7 8

8

8

R28 10K

DIS2 7 SEG DISP

Q4 BC846

R29 10K

Figure 14-1: Turn on switches 1 through 4 on SW4 to enable 4-digit 7-seg display

DIS1 7 SEG DISP e d c dp b a f g

cc

SEG E SEG D SEG C SEG DP SEG B SEG A SEG F SEG G

1 2 3 4 5 6 7 8

8

Q3 BC846

DIS3 DIS2 DIS1 DIS0

R30 10K

DIS0 7 SEG DISP e d c dp b a f g

cc 8

Q2 BC846

R31 10K

Q1 BC846

DATA BUS

One seven segment digit consist of 7+1 LEDs which are arranged in a specific formation which can be used to represent digits from 0 to 9 and even some letters. One additional LED is used for marking the decimal dot, in case you want to write a decimal point in the desired segment. EasyPIC™ v7 contains four of these digits put together to form 4 digit 7 segment display. Driving such a display is done using multiplexing techniques. Data lines are shared between segments, and therefore the same segment LEDs in each digit are connected in parallel. Each digit has it’s unique digit select line,

displays

4 digit 7-seg display

Figure 14-2: 4-digit 7-segment display schematics page 27


modules

DS1820 - Digital Temperature Sensor DS1820 is a digital temperature sensor that uses 1-wire® interface for it’s operation. It is capable of measuring temperatures within the range of -55 to 128°C, and provides ±0.5°C accuracy for temperatures within the range of -10 to 85°C. It requires 3V to 5.5V power supply for stable operation. It takes maximum

of 750ms for the DS1820 to calculate temperature with 9-bit resolution. 1-wire® serial communication enables data to be transfered over a single communication line, while the process itself is under the control of the master microcontroller. The advantage of such communication is that only one microcontroller pin is used. Multiple

sensors can be connected on the same line. All slave devices by default have a unique ID code, which enables the master device to easily identify all devices sharing the same interface. EasyPIC™ v7 provides a separate socket (TS1) for the DS1820. Communication line with the microcontroller is selected with jumper J11.

TOP VIEW

2

3

4

Figure 15-1: DS1820 not connected

Figure 15-2: DS1820 placed in socket

Figure 15-3: DS1820 connected to RE2 pin

Figure 15-4: DS1820 connected to RA4 pin

DS1820

TS1

GND 1 DQ 2 VCC 3

1

EasyPIC™ v7 enables you to establish 1-wire® communication between DS1820 and the microcontroller via RA4 or RE2 microcontroller pins. The selection of either of those two lines is done using J11 jumper. When placing the sensor in the socket make sure that half-circle on the board’s silkscreen markings matches the rounded part of the DS1820 sensor. If you accidently connect the sensor the other way, it may be permanently damaged and you might need to replace it with another one. During the readings of the sensor, make sure that no other device (except those in 1-wire network) uses the selected line, because it may interfere with the data.

page 28

GND VCC-MCU R2 1K

DQ VCC

DATA BUS

Enabling DS1820 Sensor

J11 Figure 15-5: DS1820 connected to RE2 pin

RE2 RA4


The LM35 is a low-cost precision integrated-circuit temperature sensor, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in ° Kelvin, as the user is not required to subtract a large constant voltage from its output to

obtain convenient Centigrade scaling. It has a linear +10.0 mV/°C scale factor and less than 60 μA current drain. As it draws only 60 μA from its supply, it has very low self-heating, less than 0.1°C in still air. EasyPIC™ v7 enables you to get analog readings from the LM35 sensor in restricted temperature range from +2ºC to +150ºC. Board provides a

modules

LM35 - Analog Temperature Sensor separate socket (TS2) for the LM35 sensor in TO-92 plastic packaging. Readings are done with microcontroller using single analog input line, which is selected with jumper J25. Jumper connects the sensor with either RE2 or RE1 microcontroller pins.

Enabling LM35 Sensor 1

2

3

4 TOP VIEW Figure 16-4: LM35 connected to RE2 pin

EasyPIC™ v7 enables you to get analog readings from the LM35 sensor using RE1 or RE2 microcontroller pins. The selection of either of those two lines is done using J25 jumper. When placing the sensor in the socket make sure that half-circle on the board’s silkscreen markings matches the rounded part of the LM35 sensor. If you accidently connect the sensor the other way, it can be permanently damaged and you might need to replace it with another one. During the readings of the sensor, make sure that no other device uses the selected analog line, because it may interfere with the readings.

LM35

TS2

DATA BUS

Figure 16-3: LM35 connected to RE1 pin

1 2 3

Figure 16-2: LM35 placed in socket

VCC VOUT GND

Figure 16-1: LM35 not connected

VCC VOUT

VCC-5V

Figure 16-5: LM35 connected to RE1 pin

GND J25 RE2 RE1 page 29


modules

ADC inputs Digital signals have two discrete states, which are decoded as high and low, and interpreted as logic 1 and logic 0. Analog signals, on the other hand, are continuous, and can have any value within defined range. A/D converters are specialized circuits which can convert analog signals (voltages) into a digital representation, usually in form of an integer number. The value of this number is lineary dependent on the input voltage value. Most microcontrollers nowdays internally have A/D converters connected to one or more input pins. Some of the most important parameters of A/D converters are conversion time and resolution. Conversion time determines how fast can an analog voltage be represented in form of a digital number. This is an important parameter if you need fast data acquisition. The other parameter is resolution. Resolution represents the number of discrete steps that supported voltage range can be divided into. It determines the sensitivity of the A/D converter. Resolution is represented in maximum number of bits that resulting number occupies. Most PICŽ microcontrollers have 10-bit resolution, meaning that maximum value of conversion can be represented with 10 bits, which converted to integer is 210=1024. This means that supported voltage range, for example from 0-5V, can be devided into 1024 discrete steps of about 4.88mV. EasyPIC™ v7 provides an interface in form of two potentiometers for simulating analog input voltages that can be routed to any of the 10 supported analog input pins. P1 10K

J15

RA0 RA1 RA2 RA3 RA5

VCC-MCU

R63 220 M2X5

DATA BUS

Figure 17-2: Schematic of ADC input

page 30

P2 10K

J16

RB0 RB1 RB2 RB3 RB4

R64 220 ADC INPUT

M2X5

VCC-MCU

Enabling ADC inputs

Figure 17-1: use J15 and J16 jumpers to connect analog input lines with potentiometers P1 and P2 In order to connect the output of the potentiometer P1 to RA0, RA1, RA2, RA3 or RA5 analog microcontroller inputs, you have to place the jumper J15 in the desired position. If you want to connect potentiometer P2 to any of the RB0 – RB4 analog microcontroller inputs, place jumper J16 in the desired position. By moving the potentiometer knob, you can create voltages in range from GND to VCC.


I C EEPROM EEPROM is short for Electrically Erasable Programmable Read Only Memory. It is usually a secondary storage memory in devices containing data that is retained even if the device looses power supply. EEPROMs come with parallel or serial interface to the master device. Because of the ability to alter single bytes of data, EEPROM devices are used to store personal preference and configuration data in a wide spectrum of consumer, automotive, telecommunication, medical, industrial, and PC applications. EasyPIC™ v7 supports serial EEPROM which uses I2C communication interface and has 1024 bytes of available memory. Board contains socket for serial EEPROMs in DIP8 packaging, so you can easily exchange it with different memory size EEPROM IC. EEPROM itself supports single byte or 16-byte (page) write and read operations. Data rates are dependant of power supply voltage, and go up to 1 MHz with 5V power supply, and 400 kHz for 3.3V power supply.

Enabling I2C EEPROM Figure 18-1: Activate SW4.7 and SW4.8 switches to connect microcontroller I2C lines to Serial EEPROM.

In order to connect I2C EEPROM to the microcontroller you must enable SW4.7 and SW4.8 switches, as shown on Figure 18-1. 1kΩ pull-up resistors necessary for I2C communication are already provided on SDA and SCL lines once switches are turned on. Prior to using EEPROM in your application, make sure to disconnect other peripherials, LEDs and additional pull-up or pull-down resistors from the RC3 and RC4 communication lines that could interfere with the data signals and cause data corruption.

I2C is a multi-master serial single-ended bus that is used to attach low-speed peripherals to computer or embedded systems. I²C uses only two bidirectional open-drain lines, Serial Data Line (SDA) and Serial Clock (SCL), pulled up with resistors. Data and clock lines are driven with a master device. Up to 112 slave devices can be connected to the same bus. Each slave must have a unique address.

VCC-MCU

1 2 3 4

U8 A0 A1 A2

VCC WP SCL

VSS

SDA

DIP SKT 8 (24C08)

8 7 6 5

VCC-MCU

R4 1K

VCC-MCU

ON

C24 100nF

What is I2C?

SW4

VCC-MCU

VCC-MCU

modules

2

R5 1K EEPROM-SCL EEPROM-SDA

RC3 RC4 DIP SW 8

DATA BUS

RA0 RA1 RA2 RA3 RC2 VCC-5V

Figure 18-1: Schematic of I2C EEPROM module

page 31


modules

Piezo Buzzer Piezoelectricity is the charge which accumulates in certain solid materials in response to mechanical pressure, but also providing the charge to the piezoelectric material causes it to physically deform. One of the most widely used applications of piezoelectricity is the production of sound generators, called piezo buzzers. Piezo buzzer is an electric component that comes in different shapes and sizes, which can be used to create sound waves when provided with analog electrical signal. EasyPIC™ v7 comes with piezo buzzer which can be connected either to RC2 or RE1 microcontroller pins, which is determined by the position of J21 jumper. Buzzer is driven by transistor Q8 (Figure 19-1). Microcontrollers can create sound by generating a PWM (Pulse Width Modulated) signal – a square wave signal, which is nothing more than

a sequence of logic zeros and ones. Frequency of the square signal determines the pitch of the generated sound, and duty cycle of the signal can be used to increase or decrease the volume in the range from 0% to 100% of the duty cycle. You can generate PWM signal using hardware capture-compare module, which is usually available in most microcontrollers, or by writing a custom software which emulates the desired signal waveform.

Supported sound frequencies Piezo buzzer’s resonant frequency (where you can expect it's best performance) is 3.8kHz, but you can also use it to create sound in the range between 2kHz and 4kHz.

VCC-5V

R3 1K

PERSPECTIVE VIEW TOP VIEW PZ1

Freq = 3kHz, Duty Cycle =

VCC-5V

R27

50% PERSPECTIVEVolume =Q8 PZ1

BUZZER

BC846

Freq = 3kHz, Duty Cycle = 80%

R3 R27 1K

RC2 RE1

10K VCC-5V R3 Q8 BC846 1K

TOP VIEW PERSPECTIVE VCC-5V VIEW PZ1 TOP 50% Freq = 3kHz, VIEW VIEW

J21

TO SOCKETS TO SOCKETS TO SOCKETS

PZ1

Figure 19-1: Piezo buzzer connected to RC2 microcontroller pin

TO SOCKETS

TOP VIEW

J21

RC2

HowBUZZER to make it sing?RE1 10K

J21 R3 Buzzer starts "singing" when you provide RC2 1K R27 PWM BUZZER signal from the microcontroller

Freq = 3kHz, RE1 80% 10K to the buzzer driver. The pitch of the PERSPECTIVEVolume =Q8 J21 by the frequency, sound is determined VIEW BC846 RC2 R27 and amplitude is determined by the BUZZER Freq = 3kHz, Duty Cycle = 20% Freq = 3kHz, duty cycle of the PWM signal. RE1 Volume =Q820% 10K BC846

page 32

Enabling Piezo Buzzer In order to use the on-board Piezo Buzzer in your application, you first have to connect the transistor driver of piezo buzzer to the appropriate microcontroller pin. This is done using jumper J21. You can place the jumper in two positions, thus connecting the buzzer driver to either RC2 or RE1 microcontroller pin. Figure 19-2: Use jumper J12 to connect Piezo buzzer on RE1 or RC2 pin


EasyPIC™ v7 contains three GND pins located in three different sections of the board, which allow you to easily connect oscilloscope GND reference when you monitor signals on microcontroller pins, or signals of on-board modules.

1 1

GND is located between UART module and 4-digit 7-seg display.

2

GND is located in the cross section between DIP18 and DIP14 sockets

3

3

GND is located between PORTD I/O group and DIP28 socket.

1

Figure 20-1: 3 oscilloscope GND pins are conveniently positioned so each part of the board can be reached with an oscilloscope probe

2

2 3 page 33

modules

Additional GNDs


You have now completed the journey through each and every feature of EasyPIC™ v7 board. You got to know it’s modules, organization, supported microcontrollers, programmer and debugger. Now you are ready to start using your new board. We are suggesting several steps which are probably the best way to begin. We invite you to join thousands of users of EasyPIC™ brand. You will find very useful projects and tutorials and can get help from a large ecosystem of users. Welcome!

Compiler You still don’t have an appropriate compiler? Locate PIC compiler that suits you best on the Product DVD provided with the package: DVD://download/eng/software/compilers/

Choose between mikroC™, mikroBasic™ and mikroPascal™ and download fully functional demo version, so you can begin building your PIC applications.

19122011

www.mikroe.com

Av

ai

lab

le on Product

Projects

Community

Support

Once you have chosen your compiler, and since you already got the board, you are ready to start writing your first projects. We have equipped our compilers with dozens of examples that demonstrate the use of each and every feature of the EasyPIC™ board, and all of our accessory boards as well. This makes an excellent starting point for your future projects. Just load the example, read well commented code, and see how it works on hardware. Browse through the compiler Examples path to find the following folder:

If you want to find answers to your questions on many interesting topics we invite you to visit our forum at http://www.mikroe.com/forum and browse through more than 150 thousand posts. You are likely to find just the right information for you. On the other hand, if you want to download free projects and libraries, or share your own code, please visit the Libstock™ website. With user profiles, you can get to know other programmers, and subscribe to receive notifications on their code.

We all know how important it is that we can rely on someone in moments when we are stuck with our projects, facing a deadline, or when we just want to ask a simple, basic question, that’s pulling us back for a while. We do understand how important this is to people and therefore our Support Department is one of the pillars upon which our company is based. MikroElektronika offers Free Tech Support to the end of product lifetime, so if something goes wrong, we are ready and willing to help!

\Development Systems\EASYPIC_v7

page 34

Copyright ©2011 Mikroelektronika. All rights reserved. Mikroelektronika, Mikroelektronika logo and other Mikroelektronika trademarks are the property of Mikroelektronika. All other tradmarks are the property of their respective owners. Unauthorised copying, hiring, renting, public performance and broadcasting of this DVD prohibited.

http://www.libstock.com/

http://www.mikroe.com/esupport/

D!

what’s next?

What’s Next?

DV


DISCLAIMER All the products owned by MikroElektronika are protected by copyright law and international copyright treaty. Therefore, this manual is to be treated as any other copyright material. No part of this manual, including product and software described herein, must be reproduced, stored in a retrieval system, translated or transmitted in any form or by any means, without the prior written permission of MikroElektronika. The manual PDF edition can be printed for private or local use, but not for distribution. Any modification of this manual is prohibited. MikroElektronika provides this manual ‘as is’ without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties or conditions of merchantability or fitness for a particular purpose. MikroElektronika shall assume no responsibility or liability for any errors, omissions and inaccuracies that may appear in this manual. In no event shall MikroElektronika, its directors, officers, employees or distributors be liable for any indirect, specific, incidental or consequential damages (including damages for loss of business profits and business information, business interruption or any other pecuniary loss) arising out of the use of this manual or product, even if MikroElektronika has been advised of the possibility of such damages. MikroElektronika reserves the right to change information contained in this manual at any time without prior notice, if necessary.

HIGH RISK ACTIVITIES The products of MikroElektronika are not fault – tolerant nor designed, manufactured or intended for use or resale as on – line control equipment in hazardous environments requiring fail – safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines or weapons systems in which the failure of Software could lead directly to death, personal injury or severe physical or environmental damage (‘High Risk Activities’). MikroElektronika and its suppliers specifically disclaim any expressed or implied warranty of fitness for High Risk Activities.

TRADEMARKS The MikroElektronika name and logo, the MikroElektronika logo, mikroC™, mikroBasic™, mikroPascal™, mikroProg™, EasyPIC™, EasyPIC PRO™, mikroBus™ and Click boards™ are trademarks of MikroElektronika. All other trademarks mentioned herein are property of their respective companies. All other product and corporate names appearing in this manual may or may not be registered trademarks or copyrights of their respective companies, and are only used for identification or explanation and to the owners’ benefit, with no intent to infringe.

Copyright © MikroElektronika™, 2012, All Rights Reserved.


If you want to learn more about our products, please visit our website at www.mikroe.com If you are experiencing some problems with any of our products or just need additional information, please place your ticket at www.mikroe.com/esupport If you have any questions, comments or business proposals, do not hesitate to contact us at office@mikroe.com

EasyPIC v7 User Manual ver. 1.00

0 100000 018859


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.