Sie sind auf Seite 1von 47

Training Report

On

Embedded Systems
(July 1th to 11th August)

At

EmTech Foundation, New Delhi


Submitted in Partial Fulfillment of Requirement
for the award of degree of B.Tech

in

ELECTRONICS AND COMMUNICATION ENGINEERING

Submitted By:

Deepak Kumar
(2307388)

Submitted to:

Electronics and Communication Engineering Department


Ambala College of Engineering and Applied Research
Devsthali, near Mithapur, Ambala Cantt.
(Affiliated to Kurukshetra University, Kurukshetra)
(2009-10)

1
ACKNOWLEDGEMENT
Any work of this nature would not have possible without support and guidance of
others. It is important to acknowledge all those peoples who had a major influence on
the conception & fruition of this report.
I am very thankful to all those who helped me during my Practical Training
at EMTECH FOUNDATION. I am very thankful to Mr. Naveen kumar (C.E.O), who
allowed me six weeks training in EMTECH, Delhi. I am also thankful to Mr. Neeraj
Kumar & Mr. Shubham Goyal (EMTECH Team members) who share their
knowledge with me.
My special thanks to Mr. Naveen kumar for engaging in many fruitful
work and I am very grateful for his cooperation and help at various stages of my
training period .
I also thanks to the staff of ‘EMTECH’ for their co-operation & guidance.
Lastly I am thankful to the management for allowing me to do summer training in
their organization.

2
TABLE OF CONTENTS

CONTENTS PAGE
NO.
COMPANY PROFILE 1
CHAPTER1: EMBEDDED SYSTEMS 2-13
1.1 INSIDE THE CPU 3
1.2 EMBEDDED PRODUCTS & THEIR CHRACTERSTICS 4
1.3 EXAMPLES OF EMBEDDED SYSTEMS 6
1.4 OTHER APPLICATIONS 9
1.5 EMBEDDED SYSTEMS vs. GENRAL COMPUTING 10
SYSTEMS
1.6 EMBEDDED MARKET GLOBALLY 10
CHAPTER2 :MICROCONTROLLER 14-27
2.1 IMPORTANT FEATURES & APPLICATIONS 14
2.2 MICROPROCESSOR vs. MICROCONTROLLER 16
2.3 TYPES OF MICROCONTROLLERS 16
2.4 HISTORY OF THE 8051 18
2.5 STANDARD FEATURES OF 8051 20
MICROCONTROLLER
2.6 8051 ARCHITECTURE 22
2.7 8051 REGISTERS 25
CHAPTER3 : PROGRAMMING OF 8051 28-33
3.1 LANGUAGES 28
3.2 ADRESSING MODES 29
3.3 TYPES OF INSTRUCTIONS 30
3.4 PROGRAMMING TOOLS 32
CHAPTER 4 : INTERFACING DEVICES 34-38
4.1 GENRAL INTERFACING DEVICES 34
CHAPTER 5 : PROGRAMMING OF 8051 39-42
REFRENCES 43

LIST OF FIGURES

3
Figure No. Title Page No.
1.1 EMBEDDED PRODUCTS 4
1.2 HARDWARE 5
1.3 SOFTWARE 6
1.4 EXAMPLES OF EMBEDDED SYSTEMS 7
1.5 EMBEDDED IN ROBOTICS 8
1.6 GENRAL APPLICATIONS 10
1.7 EMBEDDED MARKETPLACE 11
1.8 GROWTH RATE 12
2.1 PROCESSORS RELATED TO 8051 15
2.2 BLOCK DIAGRAM OF 8051 22
2.3 PIN DIAGRAM OF 8051 23
2.4 CONNECTION DIAGRAM 25
4.1 RELAY CIRCUIT 35
4.2 RELAY WORKING 36
4.3 OPTOCOUPLER 36
4.4 CONSTRUCTION OF OPTOCOUPLER 37
4.5 LCD Connections 38

LIST OF TABLES

Table No. Title Page No.


2.1 4-bit Microcontrollers 17
2.2 8-bit Microcontrollers 17
2.3 16-bit Microcontrollers 18
2.4 Comparison of 8051 Family members 21

4
EmTech Foundation
Introduction
Embedded Technology Foundation (EmTech) was established in 2000 as a public
sector Enterprise provides various services like:
• EMBEDDED SYSTEMS DESIGINING COURSES

• TRAINING ON 8051/PIC/AVR/ARM MICROCONTROLLERS

5
• CAREER & JOB PLACEMENT PROGRAM FOR ENGINEERS

• SUMMER / WINTER INDUSTRIAL EMBEDDED SYSTEMS TRAINING


FOR ENGINEERING STUDENTS

Today EmTech Foundation is spread over five locations in Gurgaon, Faridabad,


Greater Noida, Jodhpur, New Delhi having ISO-9001 accreditation.
Embedded Technology Foundation also organize Training programs in different
institutions for PCB designing, Embedded System Designing etc.

Embedded Technology Foundation is UK’s Board Affiliated ISO 9001:2000 Certified


company Leaders in Embedded Technology Training provides training on Embedded
Systems for Engineering Students & organize various Training workshops on
Robotics, PCB Designing for Engineering students.

CHAPTER 1

INTRODUCTION
An embedded system is a combination of hardware and software design to meet a
specific need with performance in a given time frame. It is a specialized computer

6
system that is a part of larger system on machine. Typically an embedded system is
housed on a single microcontroller board with programs stored in ROM. Virtually all
appliances which have a digital interface—watches, microwaves, cars—utilize
embedded systems include an operating system, but many are so specialized that the
entire logic can be implemented as a single program. An embedded controller is a
controller (or computer) that is embedded into some device for some purpose other
than to provide general purpose computing. It is a special –purpose system in which
the computer is completely encapsulated by the device it controls. Unlike a general-
purpose computer, such as a personal computer, an embedded system performs pre-
defined tasks, usually with very specific requirements. Since the system is dedicated
to a specific task, design engineers can optimize it, reducing the size and cost of
product. Embedded systems are often mass produced, so the cost savings may be
multiplied by millions of items. Hand held computers or PDAs are generally
considered embedded devices because of the nature of their hardware design, even
though they are more expandable in software terms. This line of definition continues
to blur as devices expand. Embedded systems are a combination of hardware as well
as software. The software written for embedded systems is often called firmware, and
is stored in ROM or FLASH memory chips rather than a disk drive. It often runs with
limited hardware resources: small or no keyboard, screen, and little RAM memory.
Embedded systems are designed to do some specific task, rather than be a general
purpose computer for multitasks. Some also have real-time performance constraints
that must be met, for reasons such as safety and usability: others may have low or no
performance requirements, allowing the system hardware to be simplified to reduce
costs.

1.1 INSIDE THE CPU :


 REGISTERS: These are used to store information temporarily, which could
be address or data.

7
 ALU: Arithmetic logic Unit- performs arithmetic operations such as addition,
subtraction, division, multiplication and logical operations AND, OR, XOR,
NOT

 PROGRAM COUNTER: It points to the next instruction to be fetched.


Increases automatically with execution of each instruction.

 INSTRUCTION DECODER: Interprets the instructions fetched into CPU.

DATA BUS:
 Used to carry information in and out of CPU.
 Increase in number of data buses increases speed as well as cost.
Address bus:
 Used to identify the devices and memory connected to the CPU.
 Determines the number of locations which it can communicate
 No. of locations=2^X where X= number of address lines. Ex: 16 address lines
make 64k of addressable memory.
RAM:
 Random Access Memory
 Also known as Data Memory. This is a volatile memory and is used to store
the data temporarily during the execution of a program.
ROM:
 Read Only Memory
 This is a permanent memory. In Embedded systems (micro controllers) the
ROM is FLASH ROM also known as CODE MEMORY. The program is
stored in this memory, which doesn’t have to remain same.

1.2 EMBEDDED PRODUCTS & THEIR CHRACTERSTICS:

8
INPUT
SYSTEM
S

CONTROL
LOGICS

FEEDBACK/ERRO
R CONNECTION OUTPUT
SYSTEMS

Fig. 1.1 EMBEDDED PRODUCTS

CHARACTERISTICS OF EMBEDDED PRODUCTS:


 Perform single set of functions.
 Works in time constrained environment
 Provides high-performance and reliability
 Mostly embedded systems have low cost because they are mass produced in
millions.
 Some embedded systems have mechanical moving parts such as disk drives as
they are less reliable as compared to solid state parts such as Flash memory.

How quickly an embedded design responds to a particular function key being pushed
on an information appliance or to an event triggered by the appliance doesn't just
depend on how well the device was designed. Nowadays it depends on things that
used to be far outside the problem domain of traditional unconnected, or locally
connected, embedded systems. In connected embedded systems, response time to an
event depends on how fast the routers and the servers on the intranet, the virtual
private network, or the World-wide Web can respond. This is especially true as
companies such as IBM, Microsoft, and Sun shift to services-based models as a way
to counteract the shift away from platform loyalty and take advantage of the Internet.
They want to shift to a model in which software is maintained on a server and sell
services on a transaction-by-transaction basis. The designer of a net-centric embedded
device now has to deal with a problem domain as large and as complex as the servers
and routers that link the device to the controlling system. In any design that depends
on access to resources located remotely, as is proposed by a number of services-

9
oriented models for future Web activity, it will be necessary determine not just the
parameters of the problem. You'll also have to look for sources of delay that require
modifications of the way the various elements interact, which ones are related to the
nature of the Internet medium, and which depend on the architecture of the various
nodes. The architecture of the various computing devices will affect the performance
parameters important to an embedded designer; specifically in the microprocessors at
the heart of every server. Embedded designers are going to have to look closely at the
architecture of the processors in that server-mediated chain of causality imposed on
all connected net-centric computer systems. The demands that are placed on Web
servers are much different now from even a year ago, and they will differ even more
in a few years. Processor architectures will have to reflect that change. The nature of
the server loads in the context of both present and future diverse.

HARDWARE

Digital Circuits
Digitallatches
Decoder, Circuits
Decoder,
etc. latches
etc.

Passive
Passive Analog Circuits
components AnalogADC,
Circuits
components OPAMP,
Resistance, OPAMP,
Resistance, DAC ADC,
Capacitance, DAC
Capacitance, etc.
Transistors etc. etc.
Transistors etc.
Hardware
Hardware

Printed Electro-
Printed
Circuit Electro-
mechanical
Circuit
Boards mechanical
Motors,
Boards
(PCB’s) Motors,
Valves etc.
(PCB’s) Valves etc.

Fig 1.2

SOFTWARE

10
Machine
Machine
Language
Language

Assembly
Java/J2EE Software Assembly
Java/J2EE Software Language
Language

Embedded C,
Embedded C,
C++
C++

Fig 1.3

1.3 EXAMPLES OF EMBEDDED SYSTEMS:


 Automatic teller machines(ATM)
 Cellular telephones and telephone switches
 Engine controllers and antilock brake controllers for automobiles
 Home automation products, such as thermostats, air conditioners, sprinklers,
and security monitoring systems, handheld calculators.
 Household appliances, including microwave ovens, washing machines,
television sets, DVD players
 Handheld computers
 videogame consoles
 Even computer peripherals themselves such as routers and printers have
embedded processors.

11
Fig 1.4 EXAMPLES OF EMBEDDED SYSTEMS

EMBEDDED PRESENCE IN INDUSTRY:


 TELECOM: To have attractive, easy-to-use, multi functional devices, or
to have the most reliable infrastructure where system down time is never
issue are just some of hurdles the telecommunications sector is facing today.

To meet market time-to-market pressures, Model-Driven Development


models they use to describe the system can automatically be used to validate the
system, and ultimately the models can generate platform specific code for the
embedded system. Teleological is working intimately with major players in

+the Telecommunication market and understands the special needs of this market,
and provides solutions through products and services to enable them to meet those
needs.

12
ROBOTICS:

Fig 1.5 EMBEDDED IN ROBOTICS

This is a Part I of a series of articles which is an attempt to introduce the reader into
the world of embedded systems and their applications in the industry. I have decided
to divide the topic into several parts that will be presented gradually as I complete
them. The objective of the series will be a general discussion of embedded systems
and what they are. In the process I will also show how to assemble a basic robot using
a robotics kit provided by Parallax which will be controlled thru the BASIC Stamp II
microcontroller. Towards the end of the series, I will start using the Microsoft
Robotics Studio to illustrate some of the f features available thru the new IDE
provided by Microsoft if time permits.

13
So what is an embedded system? In general terms, an embedded system is any device
that includes a programmable computer for a specific task. Sometimes it is also said
that, a computer. Embedded systems are found everywhere these days! Your cell
phone, digital camera, portable video games, calculators, digital watches, and etc…
the list can go on for a really Long time. This gives you an idea of the broad
application base of embedded systems.

1.4 OTHER APPLICATIONS:

14
Fig 1.6 GENRAL APPLICATIONS

1.5 EMBEDDED SYSTEMS VS. GENERAL COMPUTING


SYSTEMS:
 An embedded system will have very few resources compared to GENERAL
purpose computing systems like desktop computer.
 The memory capacity and processing power in an embedded system is limited
 It is more challenging to develop an application in embedded system due to its
constricted environment as compared to developing the same for a desktop system
 Embedded system are dedicated to specific task
 ES can be implemented using wide variety of processors, even generic or custom
 Es are cost sensitive(but so are PC)
 Es operate have real time constraints
 Es have environmental constraints (i.e. supposed to work in diverse environmental
conditions)
 Es usually run out of ROM
 Es have resource constraints
 Es are infrequently reprogrammed
 Es often work in reactive mode
 Es have hard reliability and correctness constraints.

1.6 EMBEDDED MARKET GLOBALLY:

15
 The world market for embedded systems development is around $250
billion and is expected to grow at a CAGR of 26%

 Cisco, Wind River Systems, Sun Microsystems, Integrated Systems,


Microware Systems, and QNX Software Systems are among the prominent
developers of embedded systems.

 According to a study, for future of Embedded Systems Technologies, the


market for embedded systems is expected to grow at an average annual
growth rate (AAGR) of 16% over the period.

Fig 1.7 EMBEDDED MARKETPLACE

16
GROWTH RATE:
 Embedded Processor will grow at 11.2% on average per year
 Embedded Memory products will rise at an AAGR of 17.7%.
 Embedded Boards will see a respectable AAGR of 13.1%.
 Embedded Software will average annual growth rate (AAGR) of 16%.

18
16
14
12
growth 10 Embedded
Rate 8 Processor
6 Embedded
4 Memory
2 Embedded
0 Boards
1st
Qtr
2004

Fig 1.8 GROWTH RATE

WHY THE MARKET OF EMBEDDED SYSTEMS IS BOOMING??


 Embedded products are no more limited just to the high-end technology
related tools. They are very much an integral part of our life today.
 Everyday home appliances, phones, toys, entertainment systems and
printers, though find extensive use of embedded systems, are first
generation systems.

 The advent of the internet and the need for convergence has ushered a new
era in the field of embedded systems.

17
 The embedded systems applications will branch out areas as diverse as
wireless, internet and mobile communications, industrial control, test and
measurement, networking, aerospace and automotive control, consumer
electronics, digital imaging and defence

Exciting Career opportunities:


 15% of HCL staff is working on embedded systems. It contributes more
than 30% of HCL Technologies revenues.

 Wipro has around 4,000 people in embedded systems. If the telecom


services are included then the number goes up to 9000.

18
CHAPTER 2
MICRONTROLLER

INTRODUCTION:
Microcontrollers are single chip computers. The Intel 8051 is a single chip
microcontroller (µC) which was developed by Intel in 1980 for use in embedded
systems. Intel's original versions were popular in the 1980s and early 1990s, but has
today largely been superseded by a vast range of faster and/or functionally enhanced
8051-compatible devices manufactured by more than 20 independent manufacturers
including Atmel, Infineon Technologies (formerly Siemens AG), Maxim Integrated
Products (via its Dallas Semiconductor subsidiary), NXP (formerly Philips
Semiconductor), Winbond, ST Microelectronics, Silicon Laboratories (formerly
Cygnal), Texas Instruments and Cypress Semiconductor. Intel's official designation
for the 8051 family of µCs is MCS 51.Intel's original 8051 family was developed
using NMOS technology, but later versions, identified by a letter "C" in their name,
e.g. 80C51, used CMOS technology and were less power-hungry than their NMOS
predecessors - this made them eminently more suitable for battery-powered devices.

2.1 Important features and applications

• It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer,
etc.) in a single package
• 8-bit data bus - It can access 8 bits of data in one operation (hence it is an 8-bit
microcontroller)
• 16-bit address bus - It can access 216 memory locations - 64 kB each of RAM
and ROM
• On-chip RAM - 128 bytes ("Data Memory")
• On-chip ROM - 4 kB ("Program Memory")
• Four byte bi-directional input/output port
• UART (serial port)
• Two 16-bit Counter/timers

19
• Two-level interrupt priority

RELATED PROCESSORS:

The 8051's predecessor, the 8048, was used in the keyboard of the first IBM PC,
where it converted keypresses into the serial data stream which is sent to the main unit
of the computer. The 8048 and derivatives are still used today for basic model
keyboards.The 8031 was a cut down version of the original Intel 8051 that did not
contain any internal program memory (ROM). To use this chip external ROM is to be
added that will contain the program that the 8031 will fetch and execute.The 8052
was an enhanced version of the original Intel 8051 that featured 256 bytes of internal
RAM instead of 128 bytes, 8 kB of ROM instead of 4 kB, and a third 16-bit timer.
The 8032 had these same features except for the internal ROM program memory. The
8052 and 8032 are largely considered to be obsolete because these features and more
are included in nearly all modern 8051 based microcontrollers.

20
Fig. 2.1 PROCESSORS RELATED TO 8051

2.2 Microprocessor vs. Microcontroller

MICRPROCESSOR MICRCONTROLLER

1. Contains no on chip RAM, ROM, I/O, 1. Contains on chip RAM, ROM, I/O,

TIMER, Serial port . TIMER, Serial port .


2. Used in General Purpose applications 2. Used in Specific Purpose applications

3. Don’t provide data storage facility. 3. Provides data storage facility.

4. The structure of uP is as given below 4. The structure of uC is as given below


Data Bus
CPU RAM
CPU ROM
SE
RIA
Gene R R L
I/ TIM
ral A O ER
CO I/O TIMER
O M
purp M M PO SERIAL
ose RT COM
uP PORT

Address Bus

In short microcontroller can be defined as:

 True computer on a chip


 Specific-purpose digital computers
 Design incorporates all the features of a microprocessor like ALU, PC, SP and
registers along with RAM ROM, parallel I/O, serial I/O,, timers, clock circuits
ADC etc

2.3 Types of microcontroller:

4 – BIT MICROCONTROLLERS: It is the most popular microcontroller made in


terms of production. It is most economical and cheaper. It is mainly applicable to toys
and small appliances

21
Manufacturer: RAM ROM Other
Pins: I/O Counters
Model (bytes) (bytes) features
10 – bit ROM
Hitachi: HMCS40 28:10 – 32 512

National: COP42 28:23 1 64 1K Serial bit I/O

OKI: MSM6411 16:11 – 32 1K


TI: TMS 1000 28:23 – 64 1K LED display

Toshiba: TLCS47 42:35 2 128 2K Serial bit I/O

Table 2.1 4-bit Microcontrollers

8 – BIT MICROCONTROLLERS: It represents the transition zone between


dedicated, high volume, 4 bit microcontrollers and the high performance 16 bit
microcontrollers. 8-bit word size adequate for many computing tasks and control or
monitoring applications it is applicable to simple appliances control, high speed
machine control, data collection etc.

Manufacturer: RAM ROM


Pins: I/O Counters Other features
Model (bytes) (bytes)
Intel : 8048 40:27 1 64 1K Ext memory to 8K
Intel : 8051 40:32 2 128 4K Ext memory to 128K;serial port
Microchip:
18:12 0 25 1K 25/20 ma sink/source; WDT
PIC16C56
National : COP820 28:24 1 64 1K serial bit I/O
Motorola : 6805 28:20 1 64 1K
Motorola : 68HC11 52:40 2 256 8K serial ports; ADC; WDT
Rockwell : 6500/1 40:32 1 64 2K
Philips : 87C552 68:48 3 256 8K serial port; ADC; WDT
Zilog : Z8 40:32 2 128 2K Ext memory to 124K; serial port
Zilog : Z86C83 28:22 2 256 4K 8-channel AD; very low cost

Table 2.2 8-bit Microcontrollers

16 –BIT MICROCONTROLLERS: It provides faster and more sophisticated


calculations. It is applicable to control of servomechanisms like robot arms.

22
RAM ROM
Manufacturer: Pins: Counte
(byte (byte Other features
Model I/O rs
s) s)

Ext memory to 1M; serial port; A/D;


Hitachi:H8/532 84:65 5 1K 32K
PWM

Ext memory to 64K; serial port; A/D;


Intel:80C196 68:40 2 232 8K
PWM; WDT

National:HPC1616 Ext memory to 64K; serial port; A/D;


68:52 4 512 16K
4 PWM

Table 2.3 16-bit Microcontrollers

32 – BIT MICROCONTROLLERS: The design emphasis is more on high speed


computation features and not on chip features like RAM, ROM, and Timers etc. it is
applicable to robotics, highly intelligent instrumentation, avionics, image, processing,
telecommunications, automobiles

Example: Intel 80960, ARM

Hardware features Software features


132 – Pin ceramic package efficient procedure calls
20 MHz clock Fault handling capability
32 – Bit bus Trace events
Floating – point unit Global registers
512 – Byte instruction cache efficient interrupt vectors
Interrupt control versatile addressing

2.4 History of the 8051

 Developed by Intel Corporation in the year 1981.


 First 8-bit microcontroller called as 8051
 It was called as a “System on a chip”
 Intel refers to it as MCS-51

In 2005, the 8051 microcontroller celebrated it's 25th anniversary. Intel introduced a
Single-chip processor, the 4004, in 1971. It was a 4-bit microprocessor, with
whopping processing speed of 100 thousand operations per second, and was meant for

23
an electronic calculator. There is a lot of 4-bit processing in calculators, especially if
the software is based on BCD arithmetic’s. Later Intel introduced the 8-bitter 8008
and it's grown-up brother - the famous 8080 (which then was perfected by an ex-Intel
employee as Ziploc Z80, one of the best 8-bit microprocessors of all times).
In 1976, Intel introduced its first microcontroller, 8048. It integrated the processing
core with code and data memory and certain peripherals. The code memory was a
1kB mask ROM (defined by the last metallization mask during the chip processing) or
EPROM (after all, Intel invented EPROM), the data memory was 64 bytes of RAM
(including the 8-level stack and two pages of eight general purpose registers). Besides
general-purpose I/O (see below), peripherals included a timer and an external
interrupt (plus the necessary interrupt system).Although the 8048 is clearly an 8-bit
architecture, it is said to be an ancestor of the 4-bit 4004 Rather than the 8080. Also it
is said to bear remarkable similarities to Fairchild F8 microprocessor.

8051: The Classics.


In 1980, Intel introduced the successor to 8048, the 8051.Intel made sure that the
transition from the already successful model will be as smooth as Possible.
Architecturally, the 8051 is an extension to 8048. Almost every resource of
8048 is present in 8051 in same or superior form. 4kB ROM and 128B RAM on chip.
Pin Compatibility was not maintained, but it was not a real issue. Software
compatibility is not binary wise but source-wise, but that is also acceptable. The
preliminary datasheet read: "Enhanced MCS-48 Architecture".
The extensions included code and data memory extended to 64kB with appropriate
support in Instruction set and registers (DPTR), relative conditional and unconditional
jumps (conditionals and DJNZ were constrained within a 256-byte page in 8048), four
register banks instead of two,” unlimited" stack (8048 had stack limited to 16 bytes),
multiple and divide instructions. As for peripherals, second timer was added and both
were extended to 16 bits with multiple modes
(Including 8-bit auto reload mode), and an UART (which was a luxury that many
lower-end microcontrollers didn't have even a couple of years ago). The raw clock
frequency did not increase considerably, being 12MHz, but an instruction cycle is 12
clocks now.

24
2.5 Standard Features of 8051 Microcontroller:

 8 Bit data path and ALU.


 On chip flash memory.
 4K X 8 ROM - Program memory.
 128 x 8 RAM - Data memory.
 Multiple 16-bit Timer/Counter.
 Full duplex UART (Serial port).
 On chip clock oscillator.
 32 I/O pins
 Six Interrupt sources
 Introduced by Intel Corporation in 1981 as MCS – 51

Main features of MCS – 51:

• Feature Quantity

ROM 4K bytes
RAM 128 bytes
Timer 2
I/O Pins 32
Serial port 1
Interrupt sources 6

 Intel allowed other manufacturers to make and market any version of 8051
 depending upon the speed and on chip ROM
 All versions code compatible
 Other members of the 8051 family: 8052, 8031

25
COMPARISON OF 8051 FAMILY MEMBERS:

Feature 8051 8031 8052

ROM 4K 0K 8K
RAM (bytes) 128 128 256
Timers 2 2 3
I/O Pins 32 32 32
Serial Port 1 1 1
Interrupt Sources 6 6 8

Table 2.4 Comparison of 8051 family members

128 bytes of RAM, a timer and extra 4K bytes of on chip ROM. 8051 is an upward
compatible to 8052.

MICROCONTROLLER (AT89S52)

The AT89S52 is an upgraded version of the micro controller 8051. the main features
of 8051 are given as under:8051 micro controller has 128 bytes of RAM, 4K bytes of
on-chip ROM, two timers, one serial port, and four ports (each 8-bits wide) all on a
single chip. The 8051 is an 8-bit processor i.e. the CPU can work on only 8 bits of
data at a time. The fixed amount of on-chip ROM, RAM, and number of I/O ports in
microcontroller makes them ideal for many applications in which cost and space are
critical.

FEATURES OF THE AT89S52:


Feature Quantity
ROM 4K bytes
RAM 128 bytes

26
Timer 2
I/O pins 32
Serial port 1
Interrupt sources 6
The only differences in 89S52 and 8051 is that of on-chip ROM and RAM, timers and
interrupts. Both the micro controllers are based on the high power CISC architecture
of INTEL-MCS-51.

2.6 8051 ARCHITECTURE:

The 8051 family is one of the most common microcontroller architectures used
worldwide. 8051 based microcontrollers are offered in hundreds of variants from
many different silicon manufacturers. The 8051 is based on an 8-bit CISC core with
Harvard architecture. The 8051 family is one of the most common microcontroller
architectures used worldwide. 8051 based microcontrollers are offered in hundreds of
variants from many different silicon manufacturers. The 8051 is based on an 8-bit
CISC core with Harvard architecture

BLOCK DIAGRAM OF UC 8051 :

EXTERNAL
INTERRUP
TS ON-
ETC.
CHI
INTERRU P COUNTER
PT ON CHIP TIMER1
FLA
CONTRO SH RAM
L TIMER0 INPUT

CPU

BUS SERIAL
OSC CONTRO 4 I/O PORTS PORT
L

TXD RXD
P0 P2 P1 P3
ADDRESS/DA
TA

27
Fig 2.2BLOCK DIAGRAM OF 8051

PIN DIAGRAM:

P1.0 1 40 Vcc

P1.1 2 39 P0.0 (AD0)

P1.2 3 38 P0.1 (AD1)

P1.3 P0.2 (AD2)


4 37

P1.4 5 36 P0.3 (AD3)

P1.5 P0.4 (AD4)


6 35

P1.6 7 34 P0.5 (AD5)

P1.7 8 33 P0.6 (AD6)

RST 9 32 P0.7 (AD7)

(RXD) P3.0 10 31 EA/VPP

(TXD) P3.1 11 30 ALE/PROG

(INT0) P3.2 12 29 PSEN

(INT1) P3.3 13 28 P2.7 (A15)

(T0) P3.4 14 27 P2.6 (A14)

(T1) P3.5 P2.5 (A13)


15 26
(WR) P3.6 P2.4 (A12)
16 25
(RD) P3.7 P2.3 (A11)
17 24
XTAL2 P2.2 (A10)
18 23
XTAL1 P2.1 (A9)
19 22
GND P2.0 (A8)
20 21

Fig. 2.3 PIN DIAGRAM OF 8051

PIN DESCRIPTION :

Port 1- Pins (1-8) :

 Input/output pins
 Contains internal pull-ups.

Port 3- Pins (10-17)


 Input/output pins.

28
 Contains internal pull-ups.
 Alternate functions to provide signals such as interrupts.
Port 2- pins (21-28) :
 Input/output port.
 Contains internal pull-ups.
 Used both as I/O port and higher address byte

Port 0- Pins (32-39):


 Input/output pins.
 Required external Pull- up resisters of 10 k.
 Used both as I/O port and higher address byte

PSEN- (pin 29): Program store enable


 Active low input
 Used while accessing external memory.
 Connected to OE pin of external ROM.

ALE- (pin 30) : Address Latch Enable


 Active high.
 Used for de-multiplexing the address and data by connecting G pin of the
74LS373.

EA - (pin 31):

 Active low input.


 To access external ROM, it must be GND.

XTAL1and XTAL2 - (pin 19 and pin 18):

 Provides clock to quartz crystal oscillator.

29
Fig. 2.4CONNECTIONS DIAGRAM

RST- (pin 9) : Reset


 Active high input.
 Terminate all activities of uc.
 Sets PC to 0.
 Requires minimum 2 machine cycles.
VCC - (pin 40): Power supply
GND – (pin 20): Ground

2.7 8051 REGISTERS:


GENERAL PURPOSE REGISTERS:
REGISTERS (R0-R7): Set of 8 auxiliary registers, namely R0-R7
There are 4 such banks in lower RAM.

Data Pointer (DPTR): Made of two 8-bit registers, namely DPH and DPL.

30
Used to furnish memory address for internal and external code access and external
data access.

Program Counter (PC): 16-bit register holds the address of the next program
instruction to be executed, automatically Incremented after each instruction fetch.

Stack Pointer (SP): 8-bit register, used to hold an internal RAM Address called the
top of the stack.

Special Function Registers


CPU REGISTER:
ACC : Accumulator.
-B : B registers.
- PSW : Program Status Word.
- SP : Stack Pointer.
- DPTR : Data Pointer (DPH, DPL).

INTERRUPT CONTROL:
-IE : Interrupt Enable.
-IP : Interrupt Priority.

I/O PORT:
- P0 : Port 0.
- P1 : Port 1.
- P2 : Port 2.
- P3 : Port 3.

TIMERS:
- TMOD: Timer mode.
- TCON : Timer control.
- TH0 : Timer 0 high byte.
- TL0 : Timer 0 low byte.
- TH1 : Timer 1 high byte.

31
- TL1 : Timer 1 low byte.

SERIAL I/O:
- SCON : Serial port control.
- SBUF : Serial data registers.

OTHER:
- PCON : Power control & misc.

32
CHAPTER 3
PROGRAMMING OF 8051

3.1 LANGUAGES:
MACHINE LANGUAGE :
 A program that consists of0’s and 1’s is called a machine language
 Deals directly with the internal structure of microprocessor and
microcontroller
 CPU can work only in machine language

ASSEMBLY LANGUAGE
 .Defined by a set of rules that specify the symbols that can be used and
they may be combined to form a line of code.
 The instruction has a special format.

[LABEL] mnemonics operand [COMMENT]

 Better understanding than machine language

Label:
 Name of a label should be meaningful giving the reflection of the code
functionality. E.g. (LED_ON: Label indicates the switch ON the LED)
 First character should be an alphabet.
 No. character should not be more than 8 characters.
 Reserve words must not be used as label.

MNEMONIC AND OPERAND:


 Mnemonics are assembly opcodes
E.g. MOV, ADD, RLC
 The operand can be data or address
 Mnemonics can be of 1 byte or more.

33
COMMENT:
 Begin with semicolon comment indication.
 Comments should be small and meaningful.
 Assembler ignores comments, but they are indispensable to programmer.

HIGH LEVEL LANGUAGES


 The language whose instruction set is more compatible with human languages
and human thought processes
 HLL offers three significant advantages over machine/assembly language.

SIMPLICITY.UNIFORMITY.PROBABILITY
 HLL the programmer need not to be concern with internal detail of
microprocessor and microcontroller

3.2 ADDRESSING MODES


IMMEDIATE ADDRESSING MODE:
 The operand comes immediately after the opcode.
 Immediate data must be preceded by the pound sign (#).
 Can be used to load information into any of the registers and
memory locations.
MOV 30H, #23H
MOV A, #25H
MOV R0, #65H

REGISTERS ADDRESSING MODES:


 Involves the use of registers to hold the data to be
manipulated.
MOV A, R0
MOV R1, A
MOV A, R6

34
DIRECT ADDRESSING MODE:
 The data in the RAM memory location and whose address is
known.
 The address is given as apart of instruction

MOV 30H, A : Save content of A in RAM


MOV R0, 24H
MOV A, 28H

REGISTER INDIRECT ADDRESSING MODES:


 A register is used as a pointer to the data.
 As the register hold the address of RAM location they must be proceeded by
“@” sign.
 Only register R0, R1 are used for this purpose.

MOV A, R0; Move the content of Ram location whose address is


Held by R0 into A.

MOV @R1, B; Move contents of B into RAM location whose


Address is held by R1.

INDEXED ADDRESSING MODE:


 Used in accessing data elements of look-up table located in ROM space.
 The 16-bit register DPTR and ACC are used to form the address of data
element stored on a chip ROM.
 The instruction used foe this purpose is

MOV A, @A+DPTR

3.3 TYPES OF INSTRUCTIONS:


Arithmetic instructions:
Mnemonic Operands Bytes/cycle

35
ADD A, Rn 1/1
ADDC A, direct 2/1
SUBB A, @ RI 1/1
A, #Data 2/1

INC A 1/1
DEC Rn 1/1
Direct 2/1
@ RI 2/1

INC DPTR 1/2


MUL AB 1/4
DIV AB 1/4
DA A 1/1

LOGIC INSTRUCTIONS

Mnemonic Operands Bytes/Cycle

ANL A, R 1/1
ORL A, direct 2/1
XRL A,@Ri 1/1
A, #data 2/1
Direct, A 2/1
Direct, #data 3/2
C, bit 2/2
C, /bit 2/2
CLR A 1/1
CPL C 1/1
Bit 2/1

36
RL A 1/1
RLC A 1/1
RRC A 1/1
SWAP A 1/1
SETB C 1/1

DATA TRANSFER INSTRUCTION


Mnemonic operands Bytes/Cycles

MOV A, Rn 1/1
A, direct 2/1
A, @ RI 1/1
A, #data 2/1
Rn, A 1/1
Rn, direct 2/2
Rn, #data 2/1
Direct, A 2/1
Direct, Rn 2/2
Direct, direct 3/2
Direct, @ RI 2/2
Direct, #data 3/2
MOVC A, @ A+DPTR 1/2
A, @ A+PC 1/2
PUSH Direct 2/2
POP direct 2/2
XCH A, Rn 1/1
XCHD A,@ Ri 1/1

3.4 PROGRAMMING TOOLS


 EDITOR: It provides the facility to write the programs and then immediate
assemble or compile the program. It gives us the facility to create new text,
open existing text and save the written text.

37
 ASSEMBLER: Assembler is software which convert assembly language
program into machine language program called object code. After assembling
it generates a number of files
Asm file---lst file---Obj file---Link file---Hex file
 ASSEMBLING A PROGRAM:
 The program developed by the programmer is stored as asm file
 The assembler converts the source file into machine code and produce an
object file and list file
 The linker links all the object files and produces link files
 The link file is fed into an OH (object to hex converter) which creates a
hex file.
 The hex file is programmed into the ROM
 COMPILER:
 A compiler is a program that translates a high level language program to
machine level language instructions
 A compiler may use an assembly language as an intermediate step in the
translation or may translate the program directly to machine code
 After assembling the code it generates a number of files like c file, asm
file, lst file, obj file, rel file, link file, hex file etc depending on the
compiler.
 The most popular microcontroller compilers are SDCC, READS, (PIC),
PL/M, from Intel and many more,
 PROGRAMMER:
 Programmer is a device used to program the hex file generated by
assembler/compiler into ROM of microcontroller
 SIMULATOR: It is a program which provides the facility to step through
the code to see exactly what is happening as the program runs. The
contents of register or variable can altered to change the way the program
runs. A simulator can’t support real interrupts or devices.
 DEBUGGER: It is a tool that is used to help identify and fix problems in
a program. It supports step by step execution of the code and viewing the

38
contents of code variables. It allows monitoring of registers memory and
program statements

CHAPTER 4

INTERFACING DEVICES
Many times we need to interface some devices at I/O ports of 8051 microcontroller.
Some common interfacing devices are:

4.1 GENRAL INTERFACING DEVICES:

LIGHT EMITTING DIODES (LED)


Light emitting diodes, commonly called LEDs do dozens of different jobs and are
found in all kinds of devices. Among other things, they form the numbers on digital
clocks, transmit information from remote controls, light up watches and tell you when
your appliances are turned on. Collected together, they can form images on a jumbo
television screen or illuminate a traffic light.
Basically, LEDs are just tiny light bulbs that fit easily into an electrical circuit. But
unlike ordinary incandescent bulbs, they don't have a filament that will burn out, and
they don't get especially hot. They are illuminated solely by the movement of
electrons in a semiconductor material, and they last just as long as a standard
transistor.

PHOTO DIODE
Photodiode are efficient light detectors that can be made small sizes, good linearity,
and high response speed. Photodiode converts light into an electrical signal.
Photodiode are faster than photoconductor because they have a pn junction to collect
the carriers.
Photo dictions mechanism in photodiodes is similar to that in photoconductor in
that an electron-hole pair is created by a
Photon for which hv>=Eg but it differs in that only the photo carrier
That diffuse to the depletion layer are counted and only the minority carriers are
collected.

RELAYS

39
In industrial application we need to isolate one circuit electrically from another, while
still allowing the first circuit to control the second. The way of providing electrical
isolation between two circuits is to place a relay between them.

A relay consists of a coil, which may be energized by the low-voltage circuit, and one
or more sets of switch contacts, which may be connected to the high-voltage circuit.

Low-voltage circuit High-voltage circuit

A relay providing isolation between two circuits

Fig. 4.1 RELAY CIRCUIT

RELAYS WORKING:

When a relay is off, the metal arm is at its rest position and so there is contact
between the Normally Closed (N.C.) switch contact and the 'common' switch contact.

If a current is passed through the coil, the resulting magnetic field attracts the metal
arm and there is now contact between the Normally Open (N.O.) switch contact and
the common switch contact.
Fig. 4.2 RELAY WORKING

Relay off Relay on


Metal arm

Coil Energized coil

Coil contacts
N.C. Common N.O. contact
contact contact

There is contact between the There is now contact between the


common and N.C. contacts common and N.O. contacts
40
The mechanical operation of a relay
OPTOCOUPLERS
The MCT2XXX series opt isolators consist of a gallium arsenide
infrared emitting diode driving a silicon phototransistor in a 6-pin dual in-line
package.

Fig 4.3 OPTOCOUPLER


There are many situations where signals and data need to be
transferred from one subsystem to another within a piece of electronics equipment, or
from one piece of equipment to another, without making a direct electrical
connection. Often this is because the source and destination are (or may be at times) at
very different voltage levels.
Relays provide this kind of isolation, but even small relays tend to be fairly bulky
compared with ICs and many of today’s other miniature circuit components. Because
they’re electro-mechanical, relays are also not as reliable and only capable of
relatively low speed operation. Where small size, higher speed and greater reliability
are important, a much better alternative is to use an optocoupler. These use a beam of
light to transmit the signals or data across an electrical barrier, and achieve excellent
isolation.
Optocouplers typically come in a small 6-pin or 8-pin IC package, but
are essentially a combination of two distinct devices: an optical transmitter, typically
a gallium arsenide LED (light-emitting diode) and an optical receiver such as a
phototransistor or light-triggered diac. The two are separated by a transparent barrier
which blocks any electrical current flow between the two, but does allow the passage
41
of light. The basic idea is shown in Fig.1, along with the usual circuit symbol for an
optocoupler.

Fig 4.4 CONSTRUCTION OF A OPTOCOUPLER


Usually the electrical connections to the LED section are brought out
to the pins on one side of the package and those for the phototransistor or diac to the
other side, to physically separate them as much as possible. This usually allows
optocouplers to withstand voltages of anywhere between 500V and 7500V between
input and output.

Optocouplers are essentially digital or switching devices, so they’re


best for transferring either on-off control signals or digital data. Analog signals can be
transferred by means of frequency or pulse-width modulation.

LCD
A Liquid Crystal Display is a thin, flat display device made up of any number of color
or monochrome pixels arrayed in front of light source or reflector.

42
Fig 4.5 LCD Connections

It is often utilize in battery powered electronic devices because it uses very small
amount of electric power.
LCD’s can be broadly broken in to two categories:
Graphics LCD
Character LCD

CHAPTER 5
Programming of 8051

LED’s interfacing program:

LEDPORT EQU P0
MAIN:
LEDPORT,#00H
ACALL DELAY

43
LEDPORT,#00H
ACALL DELAY
SJMP MAIN
DELAY1:
MOV 33H,#100D
D3: MOV 34H,#100D
D2: MOV 35H,#50D
D1: DJNZ 35H,D1
DJNZ 34H,D2
DJNZ 33H,D3
RET

LCD interfacing Program:


LCDPORT EQU P2
RS EQU P1.1
EN EQU P1.0

ORG 0000H
MOV P2,#38H
ACALL COMMAND
MOV P2,#0CH
ACALL COMMAND
MOV P2,#01H
ACALL COMMAND
MOV P2,#80H
ACALL COMMAND

MOV R2,#00H
MOV R3,#16D
H2:
MOV A,R2
MOV DPTR,#0100H
MOVC A,@A+DPTR
MOV P2,A
44
ACALL DATA
INC R2
DJNZ R3,H2

MOV P2,#0C0H
ACALL COMMAND
MOV R4,#00H
MOV R5,#16D
H3:
MOV A,R4
MOV DPTR,#0110H
MOVC A,@A+DPTR
MOV P2,A
ACALL DATA
INC R4
DJNZ R5,H3
HERE3:SJMP HERE3

COMMAND:
CLR P1.0
SETB P1.1
NOP
NOP
CLR P1.1
ACALL DELAY
RET

DATA:
SETB P1.0
SETB P1.1
NOP
NOP
CLR P1.1
ACALL DELAY
45
RET

delay:
MOV R0,#0FFH
HERE1:MOV R1,#0FFH
HERE:DJNZ R1,HERE
DJNZ R0,HERE1
RET

ORG 0100H
DB 'DEEPAK GUPTA'
ORG 0110H
DB 'DATE 30/JUL/2009'

7 Segment Interfacing Program:


SEG EQU P3
LOOP2:
MOV R3,#00H
MOV R4,#10D
LOOP1:
MOV A,R3
MOV DPTR,#0070H
MOVC A,@A+DPTR
ORL A,00H
MOV P3,A
ACALL DELAY
INC R3
DJNZ R4,LOOP1
SJMP LOOP2
STOP: SJMP STOP

delay:
MOV R0,#0FFH
HERE1:MOV R1,#0FFH
46
HERE:DJNZ R1,HERE
DJNZ R0,HERE1
RET

org 0070h
DB 00H
DB 10H
DB 20H
DB 30H
DB 40H
DB 50H
DB 60H
DB 70H
DB 80H
DB 90H

REFRENCES

www.emtech.in
www.wikipidia.com
www.siliconindia.com
www.google.com

47

Das könnte Ihnen auch gefallen