8051 interfacings presentation from basics to hobby robot by embeddedmarket.com

Post on 10-Oct-2014

180 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

An in depth presentation made by Pratik Deshpande, founder of Embeddedmarket.com. He has used this presentation along with his decade plus experience of teaching to mass audience and corporate software companies.

TRANSCRIPT

www.EmbeddedMarket.com

www.EmbeddedMarket.com

Robot Controls using 8051Presented by: Pratik Deshpande

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mWorkshop Objective

Understand the real world development using Microcontrollers

Explore the features of microcontroller and use them in real life applications

Use 89V51RD2 microcontroller to control a Hobby Robot

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mDetails of Workshop

Your Basic Preparation

Interface 8051 with various circuits

Use built-in features of 8051

Apply above said learning to control a hobby robot

This workshop is to learn the control techniques. Mechanical aspects will not be discussed.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mMicrocontroller & Computer

Basic Parts of a Computer

Processor

Hard disk

RAM

Monitor

Keyboard

Mouse

Ports

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mMicrocontroller & Digital Circuits

Microcontroller has built in

Processor

Memory to Store Program

Memory to Store Data

Ports for Input & Outputs

Flexible

Multipurpose

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mWhy to use a Microcontroller?

Why use Microcontroller instead of PC?

Why use Microcontroller instead of Digital Circuits?

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mProducts using Microcontroller

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mEmbedded Vs IT Sector

Microcontroller is entry point to the Embedded Development

Embedded is Hardware + Software

IT is Software only

Recent Global Economic downturn has less effect on Embedded Related companies

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

You should know:

Internals of microcontrollers

Writing programs to create application

Programming languages

Bits , Bytes and Address

Binary, Decimal & Hexadecimal Numbers

Details of Interface (Input / Output circuits)

Built-in Features of Microcontroller

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

8051 Microcontroller

AT89S51

AT89S52

P89V51RD2

Differs in

Program memory Size

Data Memory Size

Certain built-in features

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Internals of 89V51RD2

8 Bit processor

64 KB Flash (Memory to store program)

1 KB RAM (Memory to store data)

Special Function Registers (SFR – Used

for Configuration of Built-in Features)

32 I/O Lines

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Writing programs to create application Assign value to a Port

Read value from a Port

Process input values

Configure, Enable & disable

Built-in Features

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Programming languages For Microcontrollers Human readable programming language

• Assembly Language

• C Language

• Basic Language

Machine Code

• Hex File

Start:

JB P2.0,Start

JB P1.0,MakeItON

SETB P1.0

:1000000020A0FD209004D2908002C290

30A0FD80FC

:01001000EF00

:00000001FF

Assembler Software

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Copy Hex File to Microcontroller

HEX

File

Programmer

Device

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Bits , Bytes and Address

1 0 1 0 1 0 1 0

0th Bit7th Bit

MSB LSB

1 Byte

Value

Binary = 10101010b

Decimal = 170d

Hexadecimal = AAh

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Bits , Bytes and Address

22d

22h

10111001b

25d

122d

220d

2Ah

02d

128 Byte RAM

00h

01h

02h

03h

04h

05h

06h

07h

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Details of Interface (Input / Output circuits)

LED Interfacing

Seven Segment Interfacing

Reading Input from Switch

Display text to LCD

Drive DC Motor using L293D

Drive Stepper Motor using ULN2803

Driver Relay using ULN2803

Send text to PC using RS232 Serial Communication

Transmit Infrared

Receive Infrared Signal

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Built-in Features of Microcontroller

Timer

Counter

Serial Communication

Interrupts

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLet’s get prepared

Flash memory & Data memory

Program is written in Assembly Language

“Assembler software” converts it to HEX

file

Hex File is downloaded to Microcontroller

via “Programming Device”

Hex File is Stored in Microcontroller’s

“Flash memory”

Variables used by this program are stored

in Microcontroller’s Data memory (RAM)

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mTime to See a Demo

Running LEDs

Seven Segment Display showing Numbers 0 to 9

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAre you prepared now?

By now you know

Difference between microcontroller, PC and digital

circuit

Internals of microcontrollers

Writing programs to create application

Programming languages

Bits , Bytes and Address

Binary, Decimal & Hexadecimal Numbers

Details of Interface (Input / Output circuits)

Built-in Features of Microcontroller

You have seen one demo

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m?

Are you prepared to learn “How to write a program in Assembly Language?”

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

We will learn (Limited Scope to fit available time)

Assigning Byte values

Assigning Bit values

Logical Operations on Bytes

Logical Operations on Bits

Rotate Values

Increment & Decrement Values

Direct Jumps

Conditional Jumps For Bytes

Calls

Conditional Jumps For Bits

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Assigning & Copy Byte values

MOV R0, #55h

MOV A, R0

MOV A, #55h

MOV 90h, A

MOV 90h, #33h

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Assigning Bit values

SETB 00h

CLR 00h

CPL 00h

Copy Bit values

MOV C, 00h

MOV 00h, C

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Logical operations on Byte

ANL A, R0

ANL A, 90h

ANL A, #55h

ANL 90h, A

ANL 90h, #55h

Same format applies for

ORL

XRL

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Logical Operations on Bits

ANL C, 00h

ORL C, 00h

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Rotate Values

RL A

RR A

1 0 1 0 1 1 0 0

1 0 1 0 1 1 0 0

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Increment & Decrement values

INC A

INC R0

INC 00h

DEC A

DEC R0

DEC 00h

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mAssembly Language

Following types of commands will be covered during further demos

Direct Jumps

Conditional Jumps For Bytes

Calls

Conditional Jumps For Bits

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mWhy 89V51RD2?

Reasons for selecting 89V51RD2

8051 compatible

No expensive programmer device required

Big Flash memory size to store large

program hex

Easily available

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mFree Gift & Purchase

Register yourself to www.EmbeddedMarket.com

Facebook.com/EmbeddedMarket

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mPCB Design & Manufacturing

Email your schematics and get the price estimate for PCB Design & manufacturing

Payment by DD

Delivery by courier

Delivery time 6-10 days

Single & Double Side Designs

Email ID: support@deccanrobots.com

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGet, Set, Go…

Let’s begin the real learning

Its time to write your First program

To Glow One LED

• CLR P1.0

To Glow alternate 4 LEDs ON and 4 LEDs OFF

• MOV P1, #55h

Refer next slide for LED circuit.

How to write this code?

Where to write this code?

How to convert it to HEX?

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGet, Set, Go…

LED Circuit on 89V51RD2 Starter Kit

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m8051IDE & FlashMagic

1

2

3

4

5

89V51RD2

COM1

2400

Check this

Select Hex File

Start After

Hardware

Setup is ready

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Starter Kit

1

23

4 56

8

9

10

11

12

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Starter Kit

Hardware Setup to Program

Connect Serial

Cable

9-12V DC

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Internals

64KB Flash memory

1KB Data RAM

Special Function Registers

4 Ports

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Internals

Internal Memory Organization Configuration

Registers,

Port Registers,

Maths registers

Memory to

Store values of

variables.

e.g. Count is 12

Memory from 00h to 07h is

also termed as R0 to R7

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Internals

List of Special Function Registers (SFR)

Math – A, B

Interrupt – IE

Timer Control – TMOD, TCON

Timer / Counter – TH0, TL0, TH1, TL1

Serial Communication – SCON, SBUF

PORT – P0, P1, P2, P3

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

m89V51RD2 Pin details

P1

P3

P0

P2

+5V

GND

Crystal

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

1

Crystal

11.0592

MHz

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Crystal Frequency is 11.0592 MHz

1 Machine cycle = Crystal frequency/12

i.e. 12 clocks makes one machine cycle

Machine cycle is time required to

• Fetch instruction from Flash Memory

• +

• Execute the instruction

Every microcontroller has different Machine cycle time

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

How much time is require to fill this glass?

Depends on Water Speed

& Glass size

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

89V51RD2 has 3 Timers built-in

They are Timer0, Timer1, Timer2

Let’s use Timer0 to Generate a delay of approximate 1 second

Timer0 is built-in feature of 89V51RD2

SFRs related to Timer0 are:

TH0, TL0 (Call it as T0)

TMOD

TCON

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Special Function register TH0 and TL0 is like empty glass

Combined size of TH0 and TL0 is 16 Bits

i.e. T0 is of 16 bit size

Now you know the size of empty Glass

Next Task is to calculate the Time required to fill these 16bits.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

1 Machine cycle Frequency

=11.0592MHz /12

= 0.9216 MHz

T=1/ F

T (Time required for 1 machine cycle)

=1/0.9216

=1.0850694

=1.085 Micro Seconds (Round Off)

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

In other words we can say that with 11.0592 MHZ Crystal Connected, Timer’s value will increment every 1.085 micro seconds.

T0 is of 16 bit size, thus it can store 65536 drops of water.

T0 will take

65536 x 1.085= 71106.56 Micro Sec

Or 71.10 MiliSec to overflow

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

If we want to count 1 second then we have to overflow timer approximately 14 times.

Because 1 sec = 1000 mili sec

1000 / 71.1 =14.06 = 14 times approx

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Now let’s configure the SFRs

TMOD

Gate C/T M1 M0 Gate C/T M1 M0

7 6 5 4 3 2 1 0

Timer 1 Timer 0

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

TMOD register is divided into 2 identical parts.

Bit M0 and M1 are used to set Mode of timer

Bit C/T is used to specify if you want a timer or counter

Gate Bit will allow you to use timer as stopwatch, i.e. timer will run only if externally a switch is pressed.

Gate C/T M1 M0 Gate C/T M1 M0

7 6 5 4 3 2 1 0

Timer 1 Timer 0

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

What will be value of TMOD to generate 1 Second delay?

Gate = 0 (We don’t want a stop watch)

C/T = 0 (We want timer, not counter)

M1=0 (*)

M0=1 (*)

• * M1=0 and M0=1 configures the Timer1 as 16bit timer.

• Other settings are 13 bit timer, 8 Bit timer, Split Timer. The 16 bit timer mode is most suitable for our application.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Now we have configured the Timer0 in 16bit timer mode

We know that Timer0 must overflow 14 times to generate 1 second delay

But how to Start the Timer?

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Use SFR named TCON to start timer

TR0 is used to start and stop the Timer0

Let’s see our partial code now

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

7 6 5 4 3 2 1 0

Used for Timer

Control

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Partial Code to generate 1 Second delay

MOV TMOD,#00000001b

SETB TR0

Now how to monitor the 14 times overflow?

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

TF0 is set to 1 automatically as T0 Overflows after 71.1 mili sec

Thus we should count 14 such overflows by monitoring TF0.

See full code on the next page

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

7 6 5 4 3 2 1 0

Used for Timer

Control

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

Delay:

MOV R0,#14d

MOV TMOD,#00000001b

Tstart:

SETB TR0

Loop:

JNB TF0,Loop

CLR TF0

CLR TR0

DJNZ R0,Tstart

RET

Configure TMOD

Start Timer0

Wait for one Overflow

Clear Overflow

Stop Timer

Do it for 14 Times

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mGenerate Delay using Timer

SETB P1.0

Start:

LCALL Delay

CPL P1.0

SJMP StartDelay:

MOV R0,#14d

MOV TMOD,#00000001b

Tstart:

SETB TR0

Loop:

JNB TF0,Loop

CLR TF0

CLR TR0

DJNZ R0,Tstart

RET

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRead Switch Input

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRead Switch Input

MOV P2,#00h

Start:

JB P1.0,Start

CPL P2.0

Wait:

JNB P1.0,Wait

Sjmp Start

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mDC Motor Control

-

+-

+

Try connecting DC

Motor here

Let’s now control it using 89V51RD2 Microcontroller

H

H

OFF

H

L

CLK

L

H

ANTI

CLK

L

L

OFF

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mDC Motor Control

L293D DC Motor Driver Circuit

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mDC Motor Control

Refer source Code

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mSeven Segment Display

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mSeven Segment Display

8

9

V

5

1

R

D

2

Board mapping on

the next screen.

Refer source code

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mSeven Segment Display

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

Demonstrated using MITSUMI Make Stepper Motor M35SP-8

Step Angle 7.5o

Thus requires 360/7.5 = 48 Steps to complete one full rotation.

Stepper motors are used for their accuracy.

Stepper motors have no Speed or RPM parameter

Most common use is in CNC machines

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

A

B

A1

B1

+V

A B A1 B1

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

ON

ON

OFF

OFF

A

B

A1

B1

+V

A B A1 B1

1 1 0 0

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

OFF

ON

ON

OFF

A

B

A1

B1

+V

A B A1 B1

0 1 1 0

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

OFF

OFF

ON

ON

A

B

A1

B1

+V

A B A1 B1

0 0 1 1

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

ON

OFF

OFF

ON

A

B

A1

B1

+V

A B A1 B1

1 0 0 1

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

VCC

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mStepper Motor Driver

Refer Source code

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mInterrupts

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mInterrupts

An interrupt is some event which interrupts normal program execution

Normal Program Running

|

Interrupt Received

|

Normal Program Halted

|

Sub-Routine Executed as expected by the Interrupt

|

Normal Program Continues

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mInterrupts

This subroutine, called an interrupt handler, is only executed when a certain event (interrupt) occurs.

Types of interrupts

Timer 0 Overflow.

Timer 1 Overflow.

Timer 2 Overflow

Reception/Transmission of Serial Character.

External Event 0.

External Event 1.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mExternal Interrupt

This subroutine must be written at specific flash memory address.

External 0 at Program memory address 0003h

External 1 at Program memory address 0013h

Timer 0 at Program memory address 000Bh

Timer 1 at Program memory address 001Bh

Serial Tx/Rx at Program memory address 0023h

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mExternal Interrupt

How to Enable Interrupt

EA: All interrupt enable

ES: Enable Serial Interrupt

ET1: Enable Timer 1 Interrupt

EX1: Enable External 1 Interrupt

ET0: Enable Timer 0 Interrupt

EX0: Enable External 0 Interrupt

EA - - ES ET1 EX1 ET0 EX0

7 6 5 4 3 2 1 0

IE

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mExternal Interrupt

Refer Source Code

P3.2

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mCounter

P3.4

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

7 6 5 4 3 2 1 0

Used for Timer

Control

TCON

Gate C/T M1 M0 Gate C/T M1 M0

7 6 5 4 3 2 1 0

Timer 1 Timer 0

MOV TMOD,#00000101b

SETB TR0

TMOD

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mCounter

start:

MOV TMOD,#00000101b

SETB TR0

Loop:

MOV P2,TL0

SJMP Loop

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRelay Interfacing

N/C

C

N/O

?

+V

Use a Switch to

ON & Off Relay,

Observe the

“Tick” sound

generated when

Relay’s magnet

is energized

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRelay Interfacing

N/C

C

N/O

?

+V

230V PhN

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLCD Interfacing

LCD Circuit

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mLCD Interfacing

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mTSOP1738 RC5 Remote

38KHZ Industrial Grade IR receiver

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mTSOP1738 RC5 Remote

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mTSOP1738 RC5 Remote

Refer Source Code

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Use RS232 to communicate between a PC and embedded product

Data logger is common example of it

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Rx & Tx

Pins

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Steps to Communicate

Both devices (PC & embedded product)

must decide on common speed of

communication,

This speed is called as baud rate

We will use 2400 baud rate

i.e. 2400 bits per second

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

SFR’s required for Serial Comunication

SCON

PCON

SBUF

TMOD

TCON

TL1

TH1

Baud rate settings

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

SCON register is used to specify RS232 communication settings:

SM0SM1SM2RENTB8 RB8 TI RI

7 6 5 4 3 2 1 0

Mode of

RS232I want to

receive data

over RS232

Indicates

that Data is

transmitted

Indicates

that Data is

received

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Mode of serial communicationSM0 SM1 Serial

ModeExplanation Baud Rate

0 0 0 8-bit Shift Register

Oscillator / 12

0 1 1 8-bit UART Set by Timer 1

1 0 2 9-bit UART Oscillator / 32

1 1 3 9-bit UART Set by Timer 1

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Baud rate = 2400.

Mode type = Mode 1 of serial communication.

In this mode we can send and receive 8 bit data.

Baud rate to send this data can be set using Timer 1.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Timer 1 is used in 8-bit auto reload mode to generate required BAUD rate.

We can not use Timer 0. There no such internal provision to do so

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Lets understand Timer 1 Configurations:

TMOD = 00100000b (8-bit auto reload mode)

In 8 bit auto-reload mode, Timer 1 acts as 8 bit and not 16 bits.

8 bits of TL1 are used to increment timer value.

8 bits of TH1 are used to tell TL1 to start incrementing again from this value as it overflows. This is called as auto-reload.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

This re-load value for TH1 will be calculated using this formula:

TH1 = 256 - ((Crystal / 384) / Baud)

TH1 = 256 - ((11059000 / 384) / 2400 )TH1 = 256 - ((28,799) /2400)TH1 = 256 – 11.99 = 244.00042=

=244d

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

TMOD = 00100000b (8-bit auto reload mode)

TH1= 244d (as per formula)

Remember to make 7th bit of PCON register to 0.

If it is set to 1 then speed will be doubled.

This bit is also called as SMOD.

ww

w.D

ecc

an

Ro

bo

ts.c

om

Microcontroller Kits Available at www.DeccanRobots.com

www.EmbeddedMarket.com

Microcontroller, Arduino & Embedded Kits available at EmbeddedMarket.com

ww

w.E

mb

ed

de

dM

ark

et.

co

mRS232

Refer Source Code

top related