microprocessor is used for general purposes.eeedrmcet.zohosites.com/files/iii year/sem 5/mpmc... ·...

27
MICROPROCESSORS AND MICROCONTROLLERS Microprocessor is used for GENERAL purposes. It is the heart of the computer. To use microprocessor other components such as Memory & Components for receiving and sending data must be added to it.

Upload: vuongcong

Post on 11-Mar-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

MICROPROCESSORS AND

MICROCONTROLLERS

Microprocessor is used for GENERAL

purposes.

It is the heart of the computer.

To use microprocessor other components such

as

◦ Memory &

◦ Components for receiving and sending data

must be added to it.

Page 2: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

MICROCONTROLLERS

Microcontrollers is designed for SPECIAL

purpose.

No other external components are

needed for its application because all

peripherals are built into it.

Page 3: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

EMBEDDED SYSTEMS

Embedded technology is that exclusively

written software is embedded inside the

custom built hardware to do specific function.

The advantages are

◦ higher performance,

lower power consumption

compact size.

Page 4: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Contd…..

The most commonly used

microcontrollers for embedded systems

are

PIC ( Programmable Interrupt Controller)

8051 belongs to ATMEL 89C51 family.

Page 5: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

8051 Microcontroller Architecture

and Applications

The 8051 Microcontroller was designed in

1980’s by Intel.

Developed for embedded system applications.

“There are many applications with 8051

microcontroller. So, 8051 Microcontroller

Projects have great significance in Engineering final

year.”

Page 6: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease
Page 7: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

FEATURES

8-bit CPU

4k bytes ROM for the program

128 BYTES of RAM for variables

32 I/O lines ( 4 PORTS WITH 8 EACH )

2 timers

1 Serial port

6 interrupt

Page 8: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease
Page 9: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

PIN DETAILS

Page 10: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

INTERFACING WITH 8051

Interfacing of 8051 with

◦ Relay

◦ PWM Generator

◦ DC Motor

◦ Stepper Motor

Page 11: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

STEPPER MOTOR

A stepper motor is an electromechanical device

which converts electrical pulses into discrete

mechanical movements or steps.

This motor divides a full rotation of 360

degrees into a number of equal steps.

Page 12: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing Stepper Motor with 8051

We now want to control a stepper motor in 8051 . It works by turning ON & OFF a four I/O port lines generating at a particular frequency.

The 8051 has four numbers of I/O port lines, connected with I/O Port lines (P0.0 – P0.3) to rotate the stepper motor.

ULN2003 is a high voltage and high current Darlington array IC.

ULN2003 is used as a driver for port I/O lines, drivers output connected to stepper motor, connector provided for external power supply if needed.

Page 13: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Pin Assignment with 8051

Pin Assignment with 8051

Page 14: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

C Program to control stepper motor

using 8051

#include <reg51.h> //Define 8051 registers

#include<stdio.h>

void DelayMs(unsigned int); //Delay function\

//----------------------------------

// Main Program

//----------------------------------

void Clockwise (void)

{

unsigned int i;

for (i=0;i<30;i++)

{

P0 = 0x01;DelayMs(5); //Delay 20msec

P0 = 0x02;DelayMs(5);

P0 = 0x04;DelayMs(5);

P0 = 0x08;DelayMs(5);

}

}

Page 15: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

C Program to control stepper motor using 8051

Contd….

void AntiClockwise (void) { unsigned int i; for (i=0;i<30;i++) { P0 = 0x08;DelayMs(5); //Delay 20msec P0 = 0x04;DelayMs(5); P0 = 0x02;DelayMs(5); P0 = 0x01;DelayMs(5); } } void main (void) { P0 = 0; //Initialize Port0 while(1) //Loop Forever { Clockwise (); DelayMs (100); P0 = 0; AntiClockwise (); DelayMs (100); P0 = 0; } }

Page 16: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

RELAY

A relay is an electrically operated switch. Relays are

used where it is necessary to control a circuit by a low-

power signal (with complete electrical isolation

between control and controlled circuits), or where

several circuits must be controlled by one signal.

A relay opens and closes under control of another

electrical circuit. It is therefore connected to output

pins of the microcontroller and used to turn on/off

high-power devices such as motors, transformers,

heaters, bulbs, antenna systems etc Relay is connected

to port 1.0

Page 17: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

C Program to control relay using 8051

#include<stdio.h>

sbit relay_pin = P2^0;

void Delay_ms(int);

void main()

{

do

{

relay_pin = 1; //Relay ON

Delay_ms(1000);

relay_pin = 0; //Relay OFF

Delay_ms(1000);

}while(1);

}

void Delay_ms(int k)

{ int j; int i;

for(i=0;i<k;i++)

{

for(j=0;j<100;j++)

{ }

}

}

Page 18: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with PWM GENERATOR

Pulse-width modulation (PWM), or pulse-duration

modulation (PDM), is a modulation technique that conforms the

width of the pulse,the pulse duration, based on modulator signal

information. Although this modulation technique can be used to

encode information for transmission, its main use is to allow the

control of the power supplied to electrical devices, especially to

inertial loads such as motors.

The term duty cycle describes the proportion of 'on' time to the

regular interval or 'period' of time; a low duty cycle corresponds to

low power, because the power is off for most of the time. Duty

cycle is expressed in percent, 100% being fully on.

Page 19: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with PWM GENERATOR

Contd…

By changing the width of the pulse applied to

the DC motor we can increase or decrease the

amount of power to the motor and increase or

decrease the motor speed.

The voltage have fixed amplitude but variable

duty cycle.If the pulse is wider then the speed

will be higher and if the pulse is smaller then

the speed will be lower.

Page 20: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with PWM GENERATOR

Contd…

If the PWM circuitry is embedded in the chip,

we have to load the registers with high and low

pulses then microcontroller will take remaining

controls.

If the PWM circuitry is not embedded in the

chip, we have to create various duty cycle pulses

using software.

Page 21: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with PWM GENERATOR

Page 22: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with DC motor

DC Motors are small, inexpensive and powerful motors used

widely in robotics for their small size and high energy out. A typical

DC motor operates at speeds that are far too high speed to be

useful, and torque that are too low. Gear’s reduce the speed of

motor and increases the torque.

The maximum current that can be sourced or sunk from a 8051

microcontroller is 15 mA at 5v. But a DC Motor need currents

very much more than that and it need voltages 6v, 12v, 24v etc,

depending upon the type of motor used. Another problem is that

the back emf produced by the motor may affect the proper

functioning of the microcontroller. Due to these reasons we can’t

connect a DC Motor directly to a microcontroller.

Page 23: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Interfacing 8051 with DC motor

Page 24: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

DESCRIPTION OF DRIVER CIRCUIT

Page 25: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

PROGRAM TO INTERFACE DC MOTOR WITH 8051

#include<reg52.h>

#include<stdio.h>

void delay(void);

sbit motor_pin_1 = P2^0;

sbit motor_pin_2 = P2^1;

void main()

{

do {

motor_pin_1 = 1;

motor_pin_2 = 0; //Rotates Motor Anti Clockwise

delay();

motor_pin_1 = 1;

motor_pin_2 = 1; //Stops Motor

delay();

motor_pin_1 = 0;

Page 26: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Contd… motor_pin_2 = 1; //Rotates Motor Clockwise

delay();

motor_pin_1 = 0;

motor_pin_2 = 0; //Stops Motor

delay();

}

while(1);

}

void delay()

{

int i,j; for(i=0;i<1000;i++)

{

for(j=0;j<1000;j++)

{ }

}

}

Page 27: Microprocessor is used for GENERAL purposes.eeedrmcet.zohosites.com/files/III Year/SEM 5/MPMC... · 8051 belongs to ATMEL 89C51 family. ... the DC motor we can increase or decrease

Control Signals and Motor

Status

P2.0/IN1 P2.1/IN2 Motor Status

LOW LOW Stops

LOW HIGH Clockwise

HIGH LOW Anti-Clockwise

HIGH HIGH Stops