By: Engr. M.Rizwan Anjum
Department of Electronic Engineering
UCET, IUB.
Contents
►Introduction
►Parameters consideration for Automation
►Selecting microcontroller
►Internal architecture of Microcontroller
►Applications
Introduction
Automation
►The control of an industrial process (e.g
manufacturing, production etc) by automatic rather
that manual means is often called automation
►Automation can be defined as a technology that
uses programmed commands to operate a given
process
Basic building block diagram of
Automation
Transducer
Processing/ control Processing/ control Output/ Display
Appliances
Set point
Sensors/ Transducers
►Level
►Flow
►Pressure
►Temperature
►Humidity
Display
►Input Parameters
►Set point
►Indication for Output (alarm)
Controller
►Takes Input
►Verifies the conditions
►Controls the equipment &
►Displays the output
Microcontrollers
The prime use of a microcontroller :
► To control the operation of a machine using a fixed
program that is stored in ROM and that does not
change over the lifetime of the system
Typical Microcontrollers
►The most common microcontrollers are 8-
bit.
►4-bit are used in high volume very low cost
applications
►16 & 32 bit are used in high-end
applications.
►Typical clock frequencies are 12 - 24 MHz
Different manufacturers of
microcontroller
►Intel
►Atmel
►Philips
►Dallas Semiconductors
►Microchip
►Motorola
Criteria for Selecting microcontroller
► meeting the computing needs of the task
efficiently and cost effectively
speed, the amount of ROM and RAM, the
number of I/O ports and timers, size,
packaging, power consumption
easy to upgrade
cost per unit
► availability of software development tools
assemblers, debuggers, C compilers, emulator,
simulator, technical support
► wide availability and reliable sources of the
microcontrollers.
Different aspects of a microcontroller
►Hardware: Interface to the real world
►Software: order how to deal with inputs
Test case: 8051
► A smaller computer
► On-chip RAM, ROM, I/O ports...
RAM ROM
I/O
Port
Timer
Serial
COM
Port
CPU
A single chip
History of 8051
►1981, Intel MCS-51
►The 8051 became popular after Intel
allowed other manufacturers to make and
market an flavor of the 8051.
different speed, amount of on-chip ROM
code-compatible with the original 8051
form a 8051 family
Block Diagram
Counter
Inputs
CPU
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD
P0 P2 P1 P3
Address/Data
Pin Description of the 8051
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(T0)P3.4
(T1)P3.5
XTAL2
XTAL1
GND
(INT0)P3.2
(INT1)P3.3
(RD)P3.7
(WR)P3.6
Vcc
P0.0(AD0)
P0.1(AD1)
P0.2(AD2)
P0.3(AD3)
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPP
ALE/PROG
PSEN
P2.7(A15)
P2.6(A14)
P2.5(A13)
P2.4(A12)
P2.3(A11)
P2.2(A10)
P2.1(A9)
P2.0(A8)
8051
(8031)
Port 3 Alternate Functions
17 RD P3.7
16 WR P3.6
15 T1 P3.5
14 T0 P3.4
13 INT1 P3.3
12 INT0 P3.2
11 TxD P3.1
10 RxD P3.0
Pin Function P3 Bit
MICROCONTROLLER I/O pins
I/O pins are very useful for the following :
►reading Inputs/ reading keypads
►Displaying output
►controlling Motors (PWM) etc.
A Pin of Port 1
8051 IC
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
TB1
TB2
P0.x
Writing “1” to Output Pin P1.X
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
Vcc
1. write a 1 to the pin
1
0
output 1
TB1
TB2
Setb p1.x
Writing “0” to Output Pin P1.X
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
ground
1. write a 0 to the pin
0
1
output 0
TB1
TB2
Reading “High” at Input Pin
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=High
1
0
3. Read pin=1 Read latch=0
Write to latch=1
1
TB1
TB2
Reading “Low” at Input Pin
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=Low
1
0
3. Read pin=1 Read latch=0
Write to latch=1
0
TB1
TB2
8051 Family
►Mask programmable
factory fitted Programs
►OTP one time programmable
User Programmable
►Reprogrammable
User Reprogrammable
Comparison of the 8051 Family Members
► ROM type
8031 no ROM ; requires external Rom
80xx mask ROM
87xx EPROM
89xx Flash EEPROM
► 89xx
8951
8952
8953
8955
898252
891051
892051
► Example (AT89C51,AT89LV51)
AT= ATMEL(Manufacture)
C = CMOS technology
LV= Low Power(3.0v)
Registers
A
B
R0
R1
R3
R4
R2
R5
R7
R6
DPH DPL
PC
DPTR
PC
Some 8051 16-bit Register
Some 8-bitt Registers of
the 8051
Memory mapping in 8051
► ROM memory map in 8051 family
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
4k
DS5000 - 32
8k 32k
from Atmel Corporation
from Dallas Semiconductor
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8751
AT89C51
8752
AT89C52
4k
DS5000 - 32
8k 32k
from Atmel Corporation
from Dallas Semiconductor
RAM memory space allocation in the 8051
7FH
30H
2FH
20H
1FH
17H
10H
0FH
07H
08H
18H
00H
Register Bank 0
Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM
General RAM
Development Cycle of microcontroller based project
How to interface Devices
►Inputs and Outputs
►Compatibility of I/Os
►Impedance matching
►Selecting right microcontroller
General diagram of Automation
Analog to
Digital converter
8051uc
Display
Actuator
D0~D7
Sensor
input/Analog
Control
Signals
Set point
Decoder
Decoder Decoder
Decoder
Counter Counter
Counter Counter
Units Tens
hundreds Thousands
Clk input
Why Microcontroller
Less complex
Cheaper
Conversion using Transmitter
Exp. Temperature transmitter, pressure transmitter. etc
►Fixed
►Universal controllers
Applications of microcontroller
►Personal information products: Cell phone,
pager, watch, pocket recorder, calculator
►Laptop components: mouse, keyboard,
modem, fax card, sound card, battery
charger
►Home appliances: door lock, alarm clock,
thermostat, air conditioner, TV remote, VCR,
small refrigerator, exercise equipment,
washer/dryer, microwave oven
►Industrial equipment: Temperature/pressure
controllers, Counters, timers, RPM Controllers
►Toys: video games, cars, dolls, etc.
Microcontroller Applications
Microcontroller Application Area
Sample projects
Car parking gate control
org 0
mov p0, #00
mov p1, #00
mov p2, #00
mov p3, #00
wait: jnb p1.0, wait1 ; wait for enter into parking
acall here ; if inside goto here subroutine
wait1: jnb p1.2, wait ; wait for leave parking
acall here1 ; if leave parking goto here1
here: setb p2.0 ; start motor1 for open d gate
limit1: jnb p3.0, limit1 ; start motor1 until it strikes to limit switch
clr p2.0 ; after defined time stop d motor
switch: jnb p1.1, switch ; wait for input when the car cross the entering door
setb p2.1 ; when gate crossed start motor1 in revese direction to close d gate
limit2: jnb p3.1, limit2 ; start motor1 in reverse direction until it strikes to the other limit
clr p2.1 ; after closing the door now stop motor1
inc a ; start counter to count number of cars on seven segment display
mov p0, a ; display result on port 0 'use decoder'
ret ; return from subroutine
here1: setb p2.2 ; start motor2 for open d gate
limit3: jnb p3.2, limit3 ; start motor2 until it strikes to the other limit
clr p2.2 ; after defined time stop d motor
switch1:jnb p1.3, switch1 ;wait for input when the car cross the exit door
setb p2.3 ; when gate crossed start motor2 in revese direction to close d gate
limit4: jnb p3.3, limit4 ; start motor2 until it strikes to the other limit
clr p2.3 ; after closing the door now stop motor2
dec a ; count down
mov p0, a ; display result on port 0
sjmp wait ; restart
end
Car parking gate control program