2.Pc Based Controlling Devices in Industriesabstract

Embed Size (px)

Citation preview

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    1/102

    COMMAND BASED STREET LIGHT CONTROLLINGTHROUGH PC

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    2/102

    INDEX

    CONTENTS

    1. Abbreviations2. Figures locations

    3. Introduction

    4. Block Diagram

    5. Block Diagram Description

    6. Schematic

    7. Schematic Description

    8. Hardware Components

    Power supply

    Microcontroller

    Max232

    relays

    pc

    9. Circuit Description

    10. Software componentsa. About Kielb. Embedded C

    11. KEIL procedure description12. Conclusion (or) Synopsis13. Future Aspects

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    3/102

    14. Bibliography

    Abbreviations

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    4/102

    Symbo

    l

    Name

    ACC Accumulator

    B B register

    PSW Program status word

    SP Stack pointer

    DPTR Data pointer 2 bytes

    DPL Low byte

    DPH High byte

    P0 Port0

    P1 Port1

    P2 Port2

    P3 Port3

    IP Interrupt priority control

    IE Interrupt enable control

    TMOD Timer/counter mode control

    TCON Timer/counter control

    T2CON Timer/counter 2 control

    T2MOD Timer/counter mode2 control

    TH0 Timer/counter 0high byte

    TL0 Timer/counter 0 low byte

    TH1 Timer/counter 1 high byte

    TL1 Timer/counter 1 low byte

    TH2 Timer/counter 2 high byte

    TL2 Timer/counter 2 low byte

    SCON Serial control

    SBUF Serial data buffer

    MAX MAXIM (IC manufacturer )

    TTL Transistor to Transistor Logic

    ATM Automatic Teller Machine

    RS 232 Recommended Standard

    AC Alternating Current

    DC Direct Current

    LCD Li uid Cr stal Dis la

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    5/102

    Figure Locations

    S.No. Figure Page No.

    1

    Components of Typical Linear Power

    Supply

    2 An Electrical Transformer

    3 Bridge Rectifier

    4 Bridge Rectifier Positive Cycle

    5 Bridge Rectifier Negative Cycle

    6 Three terminal voltage Regulator

    7 Functional Diagram of Microcontroller

    8 Pin Diagram of Microcontroller

    9 Oscillator connections

    10 External clock drive connections

    11 A register

    12 B register

    13 RAM

    14 RAM Allocation15 Register Banks

    16 PSW

    17 DPTR

    18 SP

    19 PORT 0

    20 TL0 and TH0

    21 DB9

    22 Connecting Microcontroller to PC

    23 Types of SIM Structures

    24 Smart Card Pin-out

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    6/102

    25 Smart Card Reader

    26 LCD

    27 MAX 232 Pin-out

    28 MAX 232 Operating circuit

    29 MAX 232 Logic output

    30 Project

    31 New Project

    32 Select Target device

    33 Select device for Target

    34 Copy 8051 startup code

    35 Source group 1

    36 New file

    37 Opened new file

    38 File Save

    39 Add files to the source group

    40 Adding files to the source group

    41 Compilation

    42 After Compilation

    43 Build

    44 Selecting the Ports to be visualized

    45 Start Debugging

    INTRODUCTION

    EMBEDDED SYSTEMS

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    7/102

    Embedded systems are designed to do some specific task, rather than be a general-

    purpose computer for multiple tasks. Some also have real time performance constraints that must

    be met, for reason such as safety and usability; others may have low or no performance

    requirements, allowing the system hardware to be simplified to reduce costs.

    An embedded system is not always a separate block - very often it is physically built-

    in to the device it is controlling.

    The software written for embedded systems is often called firmware, and is stored in read-only

    memory or flash convector chips rather than a disk drive. It often runs with limited computer

    hardware resources: small or no keyboard, screen, and little memory.

    Now a day's every system is automated in order to face new challenges. In the present

    days Automated systems have less manual operations, flexibility, reliability and accurate. Due tothis demand every field prefers automated control systems. Especially in the field of electronics

    automated systems are giving good performance. In the present scenario of war situations,

    unmanned systems plays very important role to minimize human losses.

    Today, there exists no well-defined body of knowledge a student must learn to become

    proficient in communications and information systems. This is an emerging field, and builds on

    data communications, computer networks, distributed systems, information management, and

    applications.

    PC control has become an indispensable item of every days life. Starting from routines

    like gate openers, window shutters through metering and PC fire alarms to automotive

    applications like remote keyless entry and tire pressure monitoring systems. Wireless control

    devices have established themselves as a cost-efficient and robust solution for a broad range of

    control applications.

    In this project we are controlling various devices i.e. various street lights through PC justby typing the commands in communication terminal, in which PC is interfaced with the

    microcontroller serially. According to commands given by PC the controller makes the devices

    ON or OFF.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    8/102

    BLOCDIAGRAM:

    Block diagram explanation:

    This Project mainly consists of Power Supply section, Microcontroller section,

    Energy Meter, Smart Card Reader section, LCD display section, Max 232 serial

    driver section, Relay section and latch section, GSM modem section, Load sections.

    Power supply:

    MICRO

    CONTROLLE

    R

    LIGHTING

    SYSTEM

    PC

    MA

    X

    2

    3

    2

    RELAYS

    CIRCUIT

    POWER

    SUPPLY

    DC MOTOR

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    9/102

    In this system we are using 5V power supply for microcontroller of Transmitter section as well

    as receiver section. We use rectifiers for converting the A.C. into D.C and a step down

    transformer to step down the voltage. The full description of the Power supply section is given in

    this documentation in the following sections i.e. hardware components.

    Microcontroller (8051):

    In this project work the micro-controller is playing a major role. Micro-controllers were

    originally used as components in complicated process-control systems. However, because of

    their small size and low price, Micro-controllers are now also being used in regulators for

    individual control loops. In several areas Micro-controllers are now outperforming their analog

    counterparts and are cheaper as well.

    Relay Section:This section is nothing but driving circuitry needed to drive the

    DEVICES. So this section basically includes a Relay with its protection circuitry. This

    section is responsible to drive the Normal devices.

    MAX 232 Sections:The microcontroller can communicate with the serial devices

    using its single Serial Port. The logic levels at which this serial port operates is TTL

    logics. But some of the serial devices operate at RS 232 Logic levels. For example

    PC and Smart Card Reader etc. So in order to communicate the Microcontroller witheither Smart Card Reader or PC, a mismatch between the Logic levels occurs. In

    order to avoid this mismatch, in other words to match the Logic levels, a Serial

    driver is used. And MAX 232 is a Serial Line Driver used to establish communication

    between microcontroller and PC (or Smart Card Reader)

    SCHEMATIC DIAGRAM:

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    10/102

    SCHEMATIC DESCRIPTION:

    Firstly, the required operating voltage for Microcontroller 89C51 is 5V. Hence the 5V

    D.C. power supply is needed by the same. This regulated 5V is generated by first stepping down

    the 230V to 18V by the step down transformer.

    In the both the Power supplies the step downed a.c. voltage is being rectified by the

    Bridge Rectifier. The diodes used are 1N4007. The rectified a.c voltage is now filtered using a

    C filter. Now the rectified, filtered D.C. voltage is fed to the Voltage Regulator. This voltage

    regulator allows us to have a Regulated Voltage. In Power supply given to Microcontroller 5V is

    generated using 7805 and in other two power supply 12V is generated using 7812. The rectified;

    filtered and regulated voltage is again filtered for ripples using an electrolytic capacitor 100F.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    11/102

    Now the output from the first section is fed to 40th pin of 89c51 microcontroller to supply

    operating voltage and from other power supply to circuitry.

    The microcontroller 89C51 with Pull up resistors at Port0 and crystal oscillator of

    11.0592 MHz crystal in conjunction with couple of capacitors of is placed at 18th

    & 19th

    pins of89C51 to make it work (execute) properly.

    In this Schematic, P2.0 is connected to relay for device1.P1.0 TO p1.3 are connected to TheLEDS.P3.0, P3.1 are connected to the Max 10,11 pins and 14, 13 pins are connected to the

    PC by using DB 9 connector.

    20th pin connected to GROUND

    40th pin is connected to Vcc

    HARDWARE COMPONENTS:

    Power supply

    Microcontroller

    Max232

    relays

    pc

    HARDWARE EXPLANANATION:

    MICRO CONTROLLER 89C51

    Introduction

    A Micro controller consists of a powerful CPU tightly coupled with memory, various I/O

    interfaces such as serial port, parallel port timer or counter, interrupt controller, data acquisition

    interfaces-Analog to Digital converter, Digital to Analog converter, integrated on to a single

    silicon chip.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    12/102

    If a system is developed with a microprocessor, the designer has to go for external

    memory such as RAM, ROM, EPROM and peripherals. But controller is provided all these

    facilities on a single chip. Development of a Micro controller reduces PCB size and cost of

    design.

    One of the major differences between a Microprocessor and a Micro controller is that a

    controller often deals with bits not bytes as in the real world application.

    Intel has introduced a family of Micro controllers called the MCS-51.

    The Major Features:

    Compatible with MCS-51 products

    4k Bytes of in-system Reprogrammable flash memory

    Fully static operation: 0HZ to 24MHZ

    Three level programmable clock

    128 * 8 bit timer/counters

    Six interrupt sources

    Programmable serial channel

    Low power idle power-down modes

    Why AT 89C51

    The system requirements and control specifications clearly rule out the use

    of 16, 32 or 64 bit micro controllers or microprocessors. Systems using these may

    be earlier to implement due to large number of internal features. They are also

    faster and more reliable but, 8-bit micro controller satisfactorily serves the above

    application. Using an inexpensive 8-bit Microcontroller will doom the 32-bit productfailure in any competitive market place.

    Coming to the question of why to use AT89C51 of all the 8-bit microcontroller available

    in the market the main answer would be because it has 4 Kb on chip flash memory which is just

    sufficient for our application. The on-chip Flash ROM allows the program memory to be

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    13/102

    reprogrammed in system or by conventional non-volatile memory Programmer. Moreover

    ATMEL is the leader in flash technology in todays market place and hence using AT 89C51 is

    the optimal solution.

    AT89C51 MICROCONTROLLER ARCHITECTURE

    The 89C51 architecture consists of these specific features:

    Eight bit CPU with registers A (the accumulator) and B

    Sixteen-bit program counter (PC) and data pointer (DPTR) Eight- bit stack pointer (PSW)

    Eight-bit stack pointer (Sp)

    Internal ROM or EPROM (8751) of 0(8031) to 4K (89C51)

    Internal RAM of 128 bytes:

    1. Four register banks, each containing eight registers

    2. Sixteen bytes, which maybe addressed at the bit level

    3. Eighty bytes of general- purpose data memory

    Thirty two input/output pins arranged as four 8-bit ports:p0-p3

    Two 16-bit timer/counters: T0 and T1

    Full duplex serial data receiver/transmitter: SBUF

    Control registers: TCON, TMOD, SCON, PCON, IP, and IE

    Two external and three internal interrupts sources.

    Oscillator and clock circuits.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    14/102

    Functional block diagram of micro controller

    The 89C51 oscillator and clock:

    The heart of the 89C51 circuitry that generates the clock pulses by which all the internal

    all internal operations are synchronized. Pins XTAL1 And XTAL2 is provided for connecting a

    resonant network to form an oscillator. Typically a quartz crystal and capacitors are employed.

    The crystal frequency is the basic internal clock frequency of the microcontroller. The

    manufacturers make 89C51 designs that run at specific minimum and maximum frequencies

    typically 1 to 16 MHz.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    15/102

    Fig 3.7.2: - Oscillator and timing circuit

    Types of memory:

    The 89C51 have three general types of memory. They are on-chip memory,

    external Code memory and external Ram. On-Chip memory refers to physically

    existing memory on the micro controller itself. External code memory is the code

    memory that resides off chip. This is often in the form of an external EPROM.

    External RAM is the Ram that resides off chip. This often is in the form of standard

    static RAM or flash RAM.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    16/102

    a) Code memory

    Code memory is the memory that holds the actual 89C51 programs that is to

    be run. This memory is limited to 64K. Code memory may be found on-chip or off-

    chip. It is possible to have 4K of code memory on-chip and 60K off chip memory

    simultaneously. If only off-chip memory is available then there can be 64K of off

    chip ROM. This is controlled by pin provided as EA

    b) Internal RAM

    The 89C51 have a bank of 128 of internal RAM. The internal RAM is found on-

    chip. So it is the fastest Ram available. And also it is most flexible in terms of

    reading and writing. Internal Ram is volatile, so when 89C51 is reset, this memory is

    cleared. 128 bytes of internal memory are subdivided. The first 32 bytes are divided

    into 4 register banks. Each bank contains 8 registers. Internal RAM also contains

    128 bits, which are addressed from 20h to 2Fh. These bits are bit addressed i.e.

    each individual bit of a byte can be addressed by the user. They are numbered 00hto 7Fh. The user may make use of these variables with commands such as SETB

    and CLR.

    FLASH MEMORY:

    Flash memory (sometimes called "flash RAM") is a type of constantly-powered non volatile that can be erased and reprogrammed in units of memory

    called blocks. It is a variation of electrically erasable programmable read-only

    memory (EEPROM) which, unlike flash memory, is erased and rewritten at the byte

    level, which is slower than flash memory updating. Flash memory is often used to

    hold control code such as the basic input/output system (BIOS) in a personal

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    17/102

    computer. When BIOS needs to be changed (rewritten), the flash memory can be

    written to in block (rather than byte) sizes, making it easy to update. On the other

    hand, flash memory is not useful as random access memory (RAM) because RAM

    needs to be addressable at the byte (not the block) level.

    Flash memory gets its name because the microchip is organized so that a

    section of memory cells are erased in a single action or "flash." The erasure is

    caused by Fowler-Nordheim tunneling in which electrons pierce through a thin

    dielectric material to remove an electronic charge from a floating gate associated

    with each memory cell. Intel offers a form of flash memory that holds two bits

    (rather than one) in each memory cell, thus doubling the capacity of memory

    without a corresponding increase in price.

    Flash memory is used in digital cellular phones, digital cameras, LAN

    switches, PC Cards for notebook computers, digital set-up boxes, embedded

    controllers, and other devices.

    Memory Type

    Features

    FLASH Low-cost, high-density, high-speed

    architecture; low power; high

    reliability

    ROM

    Read-Only Memory

    Mature, high-density, reliable, low

    cost; time-consuming mask

    required, suitable for high

    production with stable code

    SRAM

    Static Random-Access Memory

    Highest speed, high-power, low-

    density memory; limited density

    drives up cost

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    18/102

    EPROM

    Electrically Programmable Read-

    Only Memory

    High-density memory; must be

    exposed to ultraviolet light for

    erasure

    EEPROMorE2

    PROMElectrically Erasable Programmable

    Read-Only Memory

    Electrically byte-erasable; lowerreliability, higher cost, lowest

    density

    DRAM

    Dynamic Random Access Memory

    High-density, low-cost, high-speed,

    high-power

    Technical Overview of Flash Memory

    Flash memory is a nonvolatile memory using NOR technology, which allows the user

    to electrically program and erase information. Intel Flash memory uses memory

    cells similar to an EPROM, but with a much thinner, precisely grown oxide between

    the floating gate and the source (see Figure 2). Flash programming occurs when

    electrons are placed on the floating gate. The charge is stored on the floating gate,

    with the oxide layer allowing the cell to be electrically erased through the source.

    Intel Flash memory is an extremely reliable nonvolatile memory architecture.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    19/102

    Fig 3.7.3: - Pin diagram of AT89C51

    Pin Description:

    VCC: Supply voltage.

    GND: Ground.

    Port 0:

    Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink

    eight TTL inputs. When ones are written to port 0 pins, the pins can be used as high impedance

    inputs. Port 0 may also be configured to be the multiplexed low order address/data bus during

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    20/102

    accesses to external program and data memory. In this mode P0 has internal pull-ups. Port 0 also

    receives the code bytes during Flash programming, and outputs the code bytes during program

    verification. External pull-ups are required during program verification.

    Port 1:

    Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers

    can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the

    internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled

    low will source current (IIL) because of the internal pull-ups. Port 1 also receives the low-order

    address bytes during Flash programming and verification.

    Port 2:

    Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers

    can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the

    internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled

    low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address

    byte during fetches from external program memory and during accesses to external data

    memories that use 16-bit addresses (MOVX @DPTR). In this application, it uses strong internal

    pull-ups when emitting 1s. During accesses to external data memories that use 8-bit addresses

    (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also

    receives the high-order address bits and some control signals during Flash programming and

    verification.

    Port 3:

    Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins

    they are pulled high by the internal pull-ups and can be used as inputs. As inputs,

    Port 3 pins that are externally being pulled low will source current (IIL) because of

    the pull-ups.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    21/102

    Port 3 also serves the functions of various special features of the AT89C51 as listed

    below:

    Port 3 also receives some control signals for Flash programming and verification

    Tab 6.2.1 Port pins and their alternate functions

    RST:

    Reset input. A high on this pin for two machine cycles while the oscillator is

    running resets the device.

    ALE/PROG:

    Address Latch Enable output pulse for latching the low byte of the address during

    accesses to external memory. This pin is also the program pulse input (PROG) during Flashprogramming. In normal operation ALE is emitted at a constant rate of 1/6the oscillator

    frequency, and may be used for external timing or clocking purposes. Note, however, that one

    ALE pulse is skipped during each access to external Data Memory.

    If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With

    the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    22/102

    pin is pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in

    external execution mode.

    PSEN:

    Program Store Enable is the read strobe to external program memory. When the

    AT89C51 is executing code from external program memory, PSEN is activated twice each

    machine cycle, except that two PSEN activations are skipped during each access to external data

    memory.

    EA/VPP:

    External Access Enable EA must be strapped to GND in order to enable the

    device to fetch code from external program memory locations starting at 0000H up

    to FFFFH.

    Note, however, that if lock bit 1 is programmed, EA will be internally latched

    on reset.

    EA should be strapped to VCC for internal program executions. This pin also

    receives the 12-volt programming enable voltage (VPP) during Flash programming,

    for parts that require 12-volt VPP.

    XTAL1:

    Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

    XTAL2:

    It is the Output from the inverting oscillator amplifier.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    23/102

    Oscillator Characteristics:

    XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier

    which can be configured for use as an on-chip oscillator, as shown in Figs 6.2.3. Either a quartz

    crystal or ceramic resonator may be used. To drive the device from an external clock source,XTAL2 should be left unconnected while XTAL1 is driven as shown in Figure 6.2.4.There are

    no requirements on the duty cycle of the external clock signal, since the input to the internal

    clocking circuitry is through a divide-by-two flip-flop, but minimum and maximum voltage high

    and low time specifications must be observed.

    Fig 6.2.3 Oscillator Connections Fig 6.2.4 External Clock Drive

    Configuration

    Notes:

    1. Under steady state (non-transient) conditions, IOL must be externally

    limited as follows:

    Maximum IOL per port pin: 10 mA

    Maximum IOL per 8-bit port: Port 0: 26 mA

    Ports 1, 2, 3: 15 mA

    Maximum total IOL for all output pins: 71 mA

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    24/102

    If IOL exceeds the test condition, VOL may exceed the related

    specification. Pins are not guaranteed to sink current greater than the

    listed test conditions.

    2. Minimum VCC for Power-down is 2V.

    REGISTERS:

    In the CPU, registers are used to store information temporarily. That

    information could be a byte of data to be processed, or an address pointing to the

    data to be fetched. The vast majority of 8051 registers are 8bit registers. In the

    8051 there is only one data type: 8bits. The 8bits of a register are shown in the

    diagram from the MSB (most significant bit) D7 to the LSB (least significant bit) D0.

    With an 8-bit data type, any data larger than 8bits must be broken into 8-bit chunks

    before it is processed. Since there are a large number of registers in the 8051, we

    will concentrate on some of the widely used general-purpose registers and cover

    special registers in future chapters.

    D

    7

    D

    6

    D

    5

    D

    4

    D

    3

    D

    2

    D

    1

    D

    0

    The most widely used registers of the 8051 are A (accumulator), B, R0, R1,

    R2, R3, R4, R5, R6, R7, DPTR (data pointer), and PC (program counter). All of the

    above registers are 8-bits, except DPTR and the program counter. The

    accumulator, register A, is used for all arithmetic and logic instructions.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    25/102

    SFRs (Special Function Registers)

    Among the registers R0-R7 is part of the 128 bytes of RAM memory. What about

    registers A, B, PSW, and DPTR? Do they also have addresses? The answer is yes. In the 8051,

    registers A, B, PSW and DPTR are part of the group of registers commonly referred to as SFR

    (special function registers). There are many special function registers and they are widely used.

    The SFR can be accessed by the names (which is much easier) or by their addresses. For

    example, register A has address E0h, and register B has been ignited the address F0H, as shown

    in table.

    The following two points should noted about the SFR addresses.

    1. The Special function registers have addresses between 80H and FFH. These

    addresses are above 80H, since the addresses 00 to 7FH are addresses of RAM

    memory inside the 8051.

    2. Not all the address space of 80H to FFH is used by the SFR. The unused locations

    80H to FFH are reserved and must not be used by the 8051 programmer.

    Regarding direct addressing mode, notice the following two points: (a) the address value

    is limited to one byte, 00-FFH, which means this addressing mode is limited to accessing RAM

    locations and registers located inside the 8051. (b) If you examine the l st file for an assembly

    language program, you will see that the SFR registers names are replaced with their addresses as

    listed in table.

    Symb

    ol

    Name Addre

    ss

    ACC Accumulator 0E0H

    B B register 0F0H

    PSW Program status word 0D0H

    SP Stack pointer 81H

    DPTR Data pointer 2 bytes

    DPL Low byte 82H

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    26/102

    DPH High byte 83H

    P0 Port0 80H

    P1 Port1 90H

    P2 Port2 0A0HP3 Port3 0B0H

    IP Interrupt priority control 0B8H

    IE Interrupt enable control 0A8H

    TMOD Timer/counter mode

    control

    89H

    TCON Timer/counter control 88H

    T2CO

    N

    Timer/counter 2 control 0C8H

    T2MO

    D

    Timer/counter mode2

    control

    0C9H

    TH0 Timer/counter 0high byte 8CH

    TL0 Timer/counter 0 low byte 8AH

    TH1 Timer/counter 1 high

    byte

    8DH

    TL1 Timer/counter 1 low byte 8BH

    TH2 Timer/counter 2 high

    byte

    0CDH

    TL2 Timer/counter 2 low byte 0CCH

    RCAP

    2H

    T/C 2 capture register

    high byte

    0CBH

    RCAP

    2L

    T/C 2 capture register

    low byte

    0CAH

    SCON Serial control 98H

    SBUF Serial data buffer 99H

    PCON Power control 87H

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    27/102

    Table: 8051 Special function register Address

    A Register (Accumulator)

    This is a general-purpose register which serves for storing intermediate results during operating.

    A number (an operand) should be added to the accumulator prior to execute an instruction upon

    it. Once an arithmetical operation is preformed by the ALU, the result is placed into the

    accumulator. If a data should be transferred from one register to another, it must go throughaccumulator. For such universal purpose, this is the most commonly used register that none

    microcontroller can be imagined without (more than a half 8051 microcontroller's instructions

    used use the accumulator in some way).

    B Register

    B register is used during multiply and divide operations which can be performed only upon

    numbers stored in the A and B registers. All other instructions in the program can use thisregister as a spare accumulator (A).

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    28/102

    During programming, each of registers is called by name so that

    their exact address is not so important for the user. During compiling into machine

    code (series of hexadecimal numbers recognized as instructions by the

    microcontroller), PC will automatically, instead of registers name, write necessary

    addresses into the microcontroller.

    R Registers (R0-R7)

    This is a common name for the total 8 general purpose registers (R0, R1, and R2 ...R7). Even

    they are not true SFRs, they deserve to be discussed here because of their purpose. The bank is

    active when the R registers it includes are in use. Similar to the accumulator, they are used for

    temporary storing variables and intermediate results. Which of the banks will be active depends

    on two bits included in the PSW Register. These registers are stored in four banks in the scope ofRAM.

    The following example best illustrates the useful purpose of these registers. Suppose that

    mathematical operations on numbers previously stored in the R registers should be performed:

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    29/102

    (R1+R2) - (R3+R4). Obviously, a register for temporary storing results of addition is needed.

    Everything is quite simple and the program is as follows:

    MOV A, R3; Means: move number from R3 into accumulator

    ADD A, R4; Means: add number from R4 to accumulator (result remains in accumulator)

    MOV R5, A; Means: temporarily moves the result from accumulator into R5

    MOV A, R1; Means: move number from R1 into accumulator

    ADD A, R2; Means: add number from R2 to accumulator

    SUBB A, R5; Means: subtract number from R5 (there are R3+R4)

    8051 Register Banks and Stack

    RAM memory space allocation in the 8051

    There are 128 bytes of RAM in the 8051. The 128 bytes of RAM inside the

    8051 are assigned addresses 00 to7FH. These 128 bytes are divided into three

    different groups as follows:

    1. A total of 32 bytes from locations 00 to 1FH hex are set aside for registerbanks and the stack.

    2. A total of 16 bytes from locations 20 to 2FH hex are set aside for bit-

    addressable read/write memory.

    3. A total of 80 bytes from locations 30H to 7FH are used for read and write

    storage, or what is normally called Scratch pad. These 80 locations of

    RAM are widely used for the purpose of storing data and parameters nu

    8051 programmers.

    Register banks in the 8051

    A total of 32bytes of RAM are set aside for the register banks and stack.

    These 32 bytes are divided into 4 banks of registers in which each bank has

    registers, R0-R7. RAM locations 0 to 7 are set aside for bank 0 of R0-R7 where R0 is

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    30/102

    RAM location 0, R1 is RAM location 1, and R2 is location 2, and so on, until memory

    location7, which belongs to R7 of bank0. The second bank of registers R0-R7 starts

    at RAM location 08 and goes to location 0FH. The third bank of R0-R7 starts at

    memory location 10H and goes to location 17H. Finally, RAM locations 18H to 1FH

    are set aside for the fourth bank of R0-R7. Fig shows how the 32 bytes are allocated

    into 4 banks.

    As we can see from fig 1, the bank 1 uses the same RAM space as the

    stack. This is a major problem in programming the 8051. we must either not use

    register bank1, or allocate another area of RAM for the stack.

    Default register bank

    If RAM locations 00-1F are set aside for the four register banks, whichregister bank of R0-R7 do we have access to when the 8051 is powered up? The

    answer is register bank 0; that is , RAM locations 0, 1,2,3,4,5,6, and 7 are accessed

    with the names R0, R1, R2, R3, R4, R5, R6, and R7 when programming the 8051. It

    is much easier to refer to these RAM locations with names such as R0, R1 and so on,

    than by their memory locations as shown in fig 2.

    The register banks are switched by using the D3 & D4 bits of register PSW.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    31/102

    FIG: RAM Allocation in the 8051

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    32/102

    Fig: 8051 Register Banks and their RAM Addresses

    PSW Register (Program Status Word)

    This is one of the most important SFRs. The Program Status Word (PSW) contains several status

    bits that reflect the current state of the CPU. This register contains: Carry bit, Auxiliary Carry,

    two register bank select bits, Overflow flag, parity bit, and user-definable status flag. The ALU

    automatically changes some of registers bits, which is usually used in regulation of the program

    performing.

    P - Parity bit. If a number in accumulator is even then this bit will be automatically set (1),

    otherwise it will be cleared (0). It is mainly used during data transmission and receiving via

    serial communication.

    - Bit 1. This bit is intended for the future versions of the microcontrollers, so it is not supposed to

    be here.

    OV Overflow occurs when the result of arithmetical operation is greater than 255 (decimal), so

    that it can not be stored in one register. In that case, this bit will be set (1). If there is no

    overflow, this bit will be cleared (0).

    RS0, RS1 - Register bank selects bits. These two bits are used to select one of the four register

    banks in RAM. By writing zeroes and ones to these bits, a group of registers R0-R7 is stored in

    one of four banks in RAM.

    RS1 RS2 Space in RAM

    0 0 Bank0 00h-07h

    0 1 Bank1 08h-0Fh

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    33/102

    1 0 Bank2 10h-17h

    1 1 Bank3 18h-1Fh

    F0 - Flag 0. This is a general-purpose bit available to the user.

    AC - Auxiliary Carry Flag is used for BCD operations only.

    CY - Carry Flag is the (ninth) auxiliary bit used for all arithmetical operations and shift

    instructions.

    DPTR Register (Data Pointer)

    These registers are not true ones because they do not physically exist. They consist of two

    separate registers: DPH (Data Pointer High) and (Data Pointer Low). Their 16 bits are used for

    external memory addressing. They may be handled as a 16-bit register or as two independent 8-

    bit registers. Besides, the DPTR Register is usually used for storing data and intermediate results

    which have nothing to do with memory locations.

    SP Register (Stack Pointer)

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    34/102

    The stack is a section of RAM used by the CPU to store information temporarily. This

    information could be data or an address. The CPU needs this storage area since there are only a

    limited number of registers.

    How stacks are accessed in the 8051

    If the stack is a section of RAM, there must be registers inside the CPU to point to it.

    The register used to access the stack is called the SP (Stack point) Register. The stack pointer in

    the 8051 is only 8 bits wide; which means that it can take values of 00 to FFH. When the 8051 is

    powered up, the SP register contains value 07. This means that RAM location 08 is the first

    location used for the stack by the 8051. The storing of a CPU register in the stack is called a

    PUSH, and pulling the contents off the stack back into a CPU register is called a POP. In other

    words, a register is pushed onto the stack to save it and popped off the stack to retrieve it. The

    job of the SP is very critical when push and pop actions are performed.

    Pushing onto the stack

    In the 8051 the stack pointer (SP) points to the last used location of the stack. As we

    push data onto the stack, the stack pointer is incremented by one. Notice that this different frommany microprocessors, notably x86 processors in which the SP is decremented when data is

    pushed onto the stack. As each PUSH is executed, the contents of the register are saved on the

    stack and SP is incremented by 1. Notice that for every byte of data saved on the stack and then

    SP is incremented only once. Notice also that to push the registers onto the stack we must use

    their RAM addresses. For example, the instruction PUSH pushes register R1 onto the stack.

    Popping from the stack

    Popping the contents of the stack back into a given register is the opposite process of

    pushing. With every pop, the top byte of the stack is copied to the register specified by the

    instruction and the stack pointer is decremented once.

    The upper limit of the stack

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    35/102

    As, mentioned earlier, locations 08 to 1FH in the 8051 RAM can be used for the stack.

    This is because locations 20-2FH of RAM are reserved for bit-addressable memory and must not

    be used by the stack. If in a program we need more than 24 bytes (08 to 1FH=24bytes) of stack,

    we can change the SP to point to RAM locations 30-7FH. This is done with the instruction

    MOV SP, #XX.

    P0, P1, P2, P3 - Input/Output Registers

    In case that external memory and serial communication system are not in use then, 4 ports with

    in total of 32 input-output lines are available to the user for connection to peripheral

    environment. Each bit inside these ports corresponds to the appropriate pin on the

    microcontroller. This means that logic state written to these ports appears as a voltage on the pin

    (0 or 5 V). Naturally, while reading, the opposite occurs voltage on some input pins is reflected

    in the appropriate port bit.

    The state of a port bit, besides being reflected in the pin, determines at the same time whether it

    will be configured as input or output. If a bit is cleared (0), the pin will be configured as output.

    In the same manner, if a bit is set to 1 the pin will be configured as input. After reset, as well as

    when turning the microcontroller ON, all bits on these ports are set to one (1). This means that

    the appropriate pins will be configured as inputs.

    Program counter:

    The important register in the 8051 is the PC (Program counter). The program counter

    points to the address of the next instruction to be executed. As the CPU fetches the OPCODE

    from the program ROM, the program counter is incremented to point to the next instruction. The

    program counter in the 8051 is 16bits wide. This means that the 8051 can access program

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    36/102

    addresses 0000 to FFFFH, a total of 64k bytes of code. However, not all members of the 8051

    have the entire 64K bytes of on-chip ROM installed, as we will see soon.

    Types of instructions

    Depending on operation they perform, all instructions are divided in several groups:

    Arithmetic Instructions

    Branch Instructions

    Data Transfer Instructions

    Logical Instructions

    Logical Instructions with bits

    The first part of each instruction, called MNEMONIC refers to the operation an instruction

    performs (copying, addition, logical operation etc.). Mnemonics commonly are shortened form

    of name of operation being executed. For example:

    INC R1; Increment R1 (increment register R1)

    LJMP LAB5 ;Long Jump LAB5 (long jump to address specified as LAB5)

    JNZ LOOP ;Jump if Not Zero LOOP (if the number in the accumulator is not 0, jump to

    address specified as LOOP)

    Another part of instruction, called OPERAND is separated from mnemonic at least by one empty

    space and defines data being processed by instructions. Some instructions have no operand; some

    have one, two or three. If there is more than one operand in instruction, they are separated by

    comma. For example:

    RET - (return from sub-routine)

    JZ TEMP - (if the number in the accumulator is not 0, jump to address specified as

    TEMP)

    ADD A,R3 - (add R3 and accumulator)

    CJNE A,#20,LOOP - (compare accumulator with 20. If they are not equal, jump to

    address specified as LOOP)

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    37/102

    Arithmetic instructions

    These instructions perform several basic operations (addition, subtraction, division,

    multiplication etc.) After execution, the result is stored in the first operand. For example:

    ADD A, R1 - The result of addition (A+R1) will be stored in the accumulator.

    Arithmetical Instructions

    Mnemonic DescriptionByte

    Number

    Oscillator

    Period

    ADD A,Rn Add R Register to accumulator 1 1

    ADD A,RxAdd directly addressed Rx Register to

    accumulator2 2

    ADD A,@RiAdd indirectly addressed Register to

    accumulator1 1

    ADD A,#X Add number X to accumulator 2 2

    ADDC A,RnAdd R Register with Carry bit to

    accumulator1 1

    Branch Instructions

    There are two kinds of these instructions:

    Unconditional jump instructions: After their execution a jump to a new location from where

    the program continues execution is executed.

    Conditional jump instructions: If some condition is met - a jump is executed. Otherwise, the

    program normally proceeds with the next instruction.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    38/102

    Branch Instruction

    Mnemonic DescriptionByte

    Number

    Oscillator

    Period

    ACALL

    adr11

    Call subroutine located at address within 2 K

    byte Program Memory space2 3

    LCALL

    adr16

    Call subroutine located at any address within

    64 K byte Program Memory space3 4

    RET Return from subroutine 1 4

    RETI Return from interrupt routine 1 4

    AJMP adr11Jump to address located within 2 K byte

    Program Memory space2 3

    LJMP adr16Jump to any address located within 64 K byte

    Program Memory space3 4

    Data Transfer Instructions

    These instructions move the content of one register to another one. The register which content is

    moved remains unchanged. If they have the suffix X (MOVX), the data is exchanged with

    external memory.

    Data Transfer Instruction

    Mnemonic DescriptionByte

    Number

    Cycle

    Number

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    39/102

    MOV A,Rn Move R register to accumulator 1 1

    MOV A,RxMove directly addressed Rx register to

    accumulator2 2

    MOV A,@RiMove indirectly addressed register to

    accumulator1 1

    MOV A,#X Move number X to accumulator 2 2

    Logical Instructions

    These instructions perform logical operations between corresponding bits of two registers. After

    execution, the result is stored in the first operand.

    Logical Instructions

    Mnemonic DescriptionByte

    Number

    Cycle

    Number

    ANL A,RnLogical AND between accumulator and R

    register1 1

    ANL A,RxLogical AND between accumulator and

    directly addressed register Rx2 2

    ANL A,@RiLogical AND between accumulator and

    indirectly addressed register1 1

    ANL A,#XLogical AND between accumulator and

    number X2 2

    Logical Operations on Bits

    Similar to logical instructions, these instructions perform logical operations. The difference is

    that these operations are performed on single bits.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    40/102

    Logical operations on bits

    Mnemonic DescriptionByte

    Number

    Cycle

    Number

    CLR C Clear Carry bit 1 1

    CLR bit Clear directly addressed bit 2 2

    SETB C Set Carry bit 1 1

    SETB bit Set directly addressed bit 2 2

    CPL C Complement Carry bit 1 1

    CPL bit Complement directly addressed bit 2 2

    TIMERSOn-chip timing/counting facility has proved the capabilities of the

    microcontroller for implementing the real time application. These includes pulse

    counting, frequency measurement, pulse width measurement, baud rate

    generation, etc,. Having sufficient number of timer/counters may be a need in a

    certain design application. The 8051 has two timers/counters. They can be usedeither as timers to generate a time delay or as counters to count events happening

    outside the microcontroller. Let discuss how these timers are used to generate time

    delays and we will also discuss how they are been used as event counters.

    PROGRAMMING 8051 TIMERS

    The 8051 has timers: Timer 0 and Timer1.they can be used either as timers or

    as event counters. Let us first discuss about the timers registers and how to

    program the timers to generate time delays.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    41/102

    BASIC RIGISTERS OF THE TIMER

    Both Timer 0 and Timer 1 are 16 bits wide. Since the 8051 has an 8-bit

    architecture, each 16-bit timer is accessed as two separate registers of low byte

    and high byte.

    TIMER 0 REGISTERS

    The 16-bit register of Timer 0 is accessed as low byte and high byte. the

    low byte register is called TL0(Timer 0 low byte)and the high byte register is

    referred to as TH0(Timer 0 high byte).These register can be accessed like any other

    register, such as A,B,R0,R1,R2,etc.for example, the instruction MOV TL0,

    #4Fmoves the value 4FH into TL0,the low byte of Timer 0.These registers can also

    be read like any other register.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    42/102

    TIMER 1 REGISTERS

    Timer 1 is also 16-bit register is split into two bytes, referred to as TL1

    (Timer 1 low byte) and TH1 (Timer 1 high byte).these registers are accessible n the

    same way as the register of Timer 0.

    TMOD (timer mode) REGISTER

    Both timers TIMER 0 and TIMER 1 use the same register, called TMOD, to set

    the various timer operation modes. TMOD is an 8-bit register in which the lower 4

    bits are set aside for Timer 0 and the upper 4 bits for Timer 1.in each case; thelower 2 bits are used to set the timer mode and the upper 2 bits to specify the

    operation.

    MODES:

    M1, M0:

    M0 and M1 are used to select the timer mode. There are three modes: 0, 1,

    2.Mode 0 is a 13-bit timer, mode 1 is a 16-bit timer, and mode 2 is an 8-bit timer.

    We will concentrate on modes 1 and 2 since they are the ones used most widely.

    We will soon describe the characteristics of these modes, after describing the reset

    of the TMOD register.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    43/102

    GATE Gate control when set. The timer/counter is enabled

    only

    While the INTx pin is high and the TRx control

    pin is.

    Set. When cleared, the timer is enabled.

    C/T Timer or counter selected cleared for timer

    operation

    (Input from internal system clock).set for counter

    Operation (input TX input pin).

    M 1 Mode bit 1

    M0 Mode bit 0

    M1 M0 MODE Operating Mode

    0 0 0 13-bit timer mode

    8-bit timer/counter THx with TLx as

    5 - Bit pre-scaler.

    0 1 1 16-bit timer mode

    16-bit timer/counters THx with TLx

    are

    Cascaded; there is no prescaler

    1 0 2 8-bit auto reload

    8-bit auto reload timer/counter;THx

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    44/102

    Holds a value that is to be reloaded

    into

    TLx each time it overflows.

    1 1 3 Split timer mode.

    C/T (clock/timer)

    This bit in the TMOD register is used to decide whether the timer is used as a

    delay generator or an event counter. If C/T=0, it is used as a timer for time delay

    generation. The clock source for the time delay is the crystal frequency of the 8051.

    This section is concerned with this choice. The timers use as an event counter is

    discussed in the next section.

    Serial Communication:

    Computers can transfer data in two ways: parallel and serial. In parallel data

    transfers, often 8 or more lines (wire conductors) are used to transfer data to a

    device that is only a few feet away. Examples of parallel data transfer are printers

    and hard disks; each uses cables with many wire strips. Although in such cases a

    lot of data can be transferred in a short amount of time by using many wires in

    parallel, the distance cannot be great. To transfer to a device located many meters

    away, the serial method is used. In serial communication, the data is sent one bit at

    a time, in contrast to parallel communication, in which the data is sent a byte or

    more at a time. Serial communication of the 8051 is the topic of this chapter. The

    8051 has serial communication capability built into it, there by making possible fast

    data transfer using only a few wires.

    If data is to be transferred on the telephone line, it must be converted from

    0s and 1s to audio tones, which are sinusoidal-shaped signals. A peripheral device

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    45/102

    called a modem, which stands for modulator/demodulator, performs this

    conversion.

    Serial data communication uses two methods, asynchronous and

    synchronous. The synchronous method transfers a block of data at a time, while

    the asynchronous method transfers a single byte at a time.

    In data transmission if the data can be transmitted and received, it is a

    duplex transmission. This is in contrast to simplex transmissions such as with

    printers, in which the computer only sends data. Duplex transmissions can be half

    or full duplex, depending on whether or not the data transfer can be simultaneous.

    If data is transmitted one way at a time, it is referred to as half duplex. If the data

    can go both ways at the same time, it is full duplex. Of course, full duplex requires

    two wire conductors for the data lines, one for transmission and one for reception,

    in order to transfer and receive data simultaneously.

    Asynchronous serial communication and data framing

    The data coming in at the receiving end of the data line in a serial data

    transfer is all 0s and 1s; it is difficult to make sense of the data unless the sender

    and receiver agree on a set of rules, a protocol, on how the data is packed, how

    many bits constitute a character, and when the data begins and ends.

    Start and stop bits

    Asynchronous serial data communication is widely used for character-

    oriented transmissions, while block-oriented data transfers use the synchronous

    method. In the asynchronous method, each character is placed between start and

    stop bits. This is called framing. In the data framing for asynchronous

    communications, the data, such as ASCII characters, are packed between a start bit

    and a stop bit. The start bit is always one bit, but the stop bit can be one or two bits.

    The start bit is always a 0 (low) and the stop bit (s) is 1 (high).

    Data transfer rate

    The rate of data transfer in serial data communication is stated in bps (bits

    per second). Another widely used terminology for bps is baud rate. However, the

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    46/102

    baud and bps rates are not necessarily equal. This is due to the fact that baud rate

    is the modem terminology and is defined as the number of signal changes per

    second. In modems a single change of signal, sometimes transfers several bits of

    data. As far as the conductor wire is concerned, the baud rate and bps are the

    same, and for this reason we use the bps and baud interchangeably.

    The data transfer rate of given computer system depends on

    communication ports incorporated into that system. For example, the early

    IBMPC/XT could transfer data at the rate of 100 to 9600 bps. In recent years,

    however, Pentium based PCS transfer data at rates as high as 56K bps. It must be

    noted that in asynchronous serial data communication, the baud rate is generally

    limited to 100,000bps.

    RS232 Standards

    To allow compatibility among data communication equipment made by

    various manufacturers, an interfacing standard called RS232 was set by the

    Electronics Industries Association (EIA) in 1960. In 1963 it was modified and called

    RS232A. RS232B AND RS232C were issued in 1965 and 1969, respectively. Today,

    RS232 is the most widely used serial I/O interfacing standard. This standard is used

    in PCs and numerous types of equipment. However, since the standard was set

    long before the advert of the TTL logic family, its input and output voltage levels arenot TTL compatible. In RS232, a 1 is represented by -3 to -25V, while a 0 bit is +3

    to +25V, making -3 to +3 undefined. For this reason, to connect any RS232 to a

    microcontroller system we must use voltage converters such as MAX232 to convert

    the TTL logic levels to the RS232 voltage levels, and vice versa. MAX232 IC chips

    are commonly referred to as line drivers.

    RS232 pins

    RS232 cable is commonly referred to as the DB-25 connector. In labeling, DB-25Prefers to the plug connector (male) and DB-25S is for the socket connector (female). Since not

    all the pins are used in PC cables, IBM introduced the DB-9 Version of the serial I/O standard,

    which uses 9 pins only, as shown in table.

    DB-9 pin connector

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    47/102

    1 2 3 4 5

    6 7 8 9

    (Out of computer and exposed end of cable)

    Pin Functions:

    Pin Description1 Data carrier detect (DCD)2 Received data (RXD)3 Transmitted data (TXD)4 Data terminal ready(DTR)

    5 Signal ground (GND)6 Data set ready (DSR)7 Request to send (RTS)8 Clear to send (CTS)9 Ring indicator (RI)

    Note: DCD, DSR, RTS and CTS are active low pins.

    The method used by RS-232 for communication allows for a simple connection of three lines:

    Tx, Rx, and Ground. The three essential signals for 2-way RS-232

    Communications are these:

    TXD: carries data from DTE to the DCE.

    RXD: carries data from DCE to the DTE

    SG: signal ground

    8051 connection to RS232

    The RS232 standard is not TTL compatible; therefore, it requires a line

    driver such as the MAX232 chip to convert RS232 voltage levels to TTL levels, and

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    48/102

    vice versa. The interfacing of 8051 with RS232 connectors via the MAX232 chip is

    the main topic.

    The 8051 has two pins that are used specifically for transferring

    and receiving data serially. These two pins are called TXD and RXD and a part of the

    port 3 group (P3.0 and P3.1). Pin 11 of the 8051 is assigned to TXD and pin 10 is

    designated as RXD. These pins are TTL compatible; therefore, they require a line

    driver to make them RS232 compatible. One such line driver is the MAX232 chip.

    MAX232 converts from RS232 voltage levels to TTL voltage

    levels, and vice versa. One advantage of the MAX232 chip is that it uses a +5V

    power source which, is the same as the source voltage for the 8051. In the other

    words, with a single +5V power supply we can power both the 8051 and MAX232,

    with no need for the power supplies that are common in many older systems. The

    MAX232 has two sets of line drivers for transferring and receiving data. The line

    drivers used for TXD are called T1 and T2, while the line drivers for RXD are

    designated as R1 and R2. In many applications only one of each is used.

    Embedded

    Controller

    RXD

    TXD

    TXD

    RXD2

    3

    5

    GND

    MAX 232

    CONNECTING C to PC using MAX 232

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    49/102

    INTERRUPTS

    A single microcontroller can serve several devices. There are two ways to do that:INTERRUPTS or POLLING.

    POLLING:

    In polling the microcontroller continuously monitors the status of a given device; when the status

    condition is met, it performs the service .After that, it moves on to monitor the next device untileach one is serviced. Although polling can monitor the status of several devices and serve each

    of them as certain condition are met.

    INTERRUPTS:

    In the interrupts method, whenever any device needs its service, the device

    notifies the microcontroller by sending it an interrupts signal. Upon receiving an interrupt signal,

    the microcontroller interrupts whatever it is doing and serves the device. The program associated

    with the interrupts is called the interrupt service routine (ISR).or interrupt handler.

    INTERRUPTS Vs POLLING:

    The advantage of interrupts is that the microcontroller can serve many devices (not all the

    same time, of course); each device can get the attention of the microcontroller based on the

    priority assigned to it. The polling method cannot assign priority since it checks all devices in

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    50/102

    round-robin fashion. More importantly, in the interrupt method the microcontroller can also

    ignore (mask) a device request for service. This is again not possible with the polling

    method. The most important reason that the interrupt method is preferable is that the polling

    method wastes much of the microcontrollers time by polling devices that do not need

    service. So, in order to avoid tying down the microcontroller, interrupts are used.

    INTERRUPT SERVICE ROUTINE

    For every interrupt, there must be an interrupt service routine (ISR), or interrupt

    handler. When an interrupt is invoked, the microcontroller runs the interrupts

    service routine. For every interrupt, there is a fixed location in memory that holds

    the address of its ISR. The group of memory location set aside to hold the addresses

    of ISR and is called the Interrupt Vector Table. Shown below:

    Interrupt Vector Table for the 8051:

    S.No. INTERRUPT ROM

    LOCATION

    (HEX)

    PIN FLAG

    CLEARING

    1. Reset 0000 9 Auto

    2. External

    hardware

    Interrupt 0

    0003 P3.2 (12) Auto

    3. Timers 0 000B Auto

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    51/102

    interrupt

    (TF0)

    4. External

    hardware

    Interrupt

    1(INT1)

    0013 P3.3 (13) Auto

    5. Timers 1

    interrupt

    (TF1)

    001B Auto

    6. Serial COM

    (RI and TI)

    0023 Programmer

    clears it

    Six Interrupts in the 8051:

    In reality, only five interrupts are available to the user in the 8051, but many

    manufacturers data sheets state that there are six interrupts since they include

    reset .the six interrupts in the 8051 are allocated as above.

    1. Reset. When the reset pin is activated, the 8051 jumps to address location

    0000.this is the power-up reset.

    2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer

    1.Memory location 000BH and 001BH in the interrupt vector table belong to

    Timer 0 and Timer 1, respectively.

    3. Two interrupts are set aside for hardware external harder interrupts. Pin

    number 12(P3.2) and 13(P3.3) in port 3 are for the external hardware

    interrupts INT0 and INT1,respectively.These external interrupts are alsoreferred to as EX1 and EX2.Memory location 0003H and 0013H in the

    interrupt vector table are assigned to INT0 and INT1, respectively.

    4. Serial communication has a single interrupt that belongs to both receive and

    transmit. The interrupt vector table location 0023H belongs to this interrupt.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    52/102

    Notice that a limited number of bytes are set aside for each interrupt. For example,

    a total of 8 bytes from location 0003 to 000A is set aside for INT0, external

    hardware interrupt 0.similarly,a total of 8 bytes from location 00BH to 0012H is

    reserved for TF0, Timer 0 interrupt. If the service routine for a given interrupt is

    short enough to fit in the memory space allocated to it, it is placed in the vector

    table; otherwise, and an LJMP instruction is placed in the vector table to point to the

    address of the ISR. In that rest of the bytes allocated to that interrupt are unused.

    From the above table also notice that only three bytes of ROM space are assigned

    to the reset pin. they are ROM address location 0,1 and2.address location 3

    belongs to external hardware interrupt 0.for this reason, in our program we put the

    LJMP as the first instruction and redirect the processor away from the interrupt

    vector table, as shown below

    Steps in executing an interrupt

    Upon activation of an interrupt, the microcontroller goes through the following

    steps.

    1. It finishes the instruction it is executing and saves the address of the next

    instruction (PC) on the stack.

    2. It also saves the current status of all the interrupts internally (i.e., not on the

    stack).

    3. It jumps to a fixed location in memory called the interrupt vector table that

    holds the address of the interrupts service routine.

    4. The microcontroller gets the address of the ISR from the interrupt vector

    table and jumps to it. It starts to execute the interrupt service subroutine

    until it reaches the last instruction of the subroutine, which is RETI (return

    from interrupt).

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    53/102

    5. Upon executing the RETI instruction, the microcontroller returns to the place

    where it was interrupted. First, it gets the program counter (PC) address from

    the stack by popping the top two bytes of the stack into the PC. Then it starts

    to execute from that address.

    Notice from step 5 the critical role of the stack. For this reason, we must be

    careful in manipulating the stack contents in the ISR. Specifically, in the ISR, just as

    in any CALL subroutine, the number of pushes and pops must be equal.

    Enabling and disabling an interrupt:

    Upon reset, all interrupt are disabled (masked), meaning that none will be

    responded to by the microcontroller if they are activated. The interrupt must be

    enabled by software in order for the microcontroller to respond to them. There is a

    register called IE (interrupt enable) that is responsible for enabling (unmasking) and

    disabling (masking) the interrupts.

    Notice that IE is a bit-addressable register.

    Steps in enabling an interrupt:

    To enable an interrupt, we take the following steps:

    1. Bit D7 of the IE register (EA) must be set to high to allow the reset to take

    effect.If EA=1, interrupts are enabled and will be responded to if their corresponding bit in

    IE are high. If EA=0, no interrupt will be responded to, even if the associated bit in

    the IE register is high.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    54/102

    Interrupt Enable Register

    D7 D6 D5 D4 D3 D2 D1 D0

    EA IE.7 disables all interrupts. If EA=0, no interrupts is acknowledged.

    If EA=1, each interrupt source is individually enabled disabled

    By setting or clearing its enable bit.

    -- IE.6 Not implemented, reserved for future use.*

    ET2 IE.5 Enables or disables Timer 2 overflow or capture interrupt (8052

    Only)

    ES IE.4 Enables or disables the serial port interrupts.

    ET1 IE.3 Enables or disables Timers 1 overflow interrupt

    EX1 IE.2 Enables or disables external interrupt 1.

    ET0 IE.1 Enables or disables Timer 0 overflow interrupt.

    EX0 IE.0 Enables or disables external interrupt.

    Power supply

    EA -- ET2 ES ET1 EX1 ET0

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    55/102

    The power supplies are designed to convert high voltage AC mains

    electricity to a suitable low voltage supply for electronics circuits and other devices. A power

    supply can by broken down into a series of blocks, each of which performs a particular function.

    A d.c power supply which maintains the output voltage constant irrespective of a.c mains

    fluctuations or load variations is known as Regulated D.C Power Supply

    For example a 5V regulated power supply system as shown below:

    Transformer:

    A transformer is an electrical device which is used to convert

    electrical power from one Electrical circuit to another without change in frequency.

    Transformers convert AC electricity from one voltage to another with little loss of power.

    Transformers work only with AC and this is one of the reasons why mains electricity is AC.

    Step-up transformers increase in output voltage, step-down transformers decrease in output

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    56/102

    voltage. Most power supplies use a step-down transformer to reduce the dangerously high mains

    voltage to a safer low voltage. The input coil is called the primary and the output coil is called

    the secondary. There is no electrical connection between the two coils; instead they are linked by

    an alternating magnetic field created in the soft-iron core of the transformer. The two lines in the

    middle of the circuit symbol represent the core. Transformers waste very little power so the

    power out is (almost) equal to the power in. Note that as voltage is stepped down current is

    stepped up. The ratio of the number of turns on each coil, called the turns ratio, determines the

    ratio of the voltages. A step-down transformer has a large number of turns on its primary (input)

    coil which is connected to the high voltage mains supply, and a small number of turns on its

    secondary (output) coil to give a low output voltage.

    An Electrical Transformer

    Turns ratio = Vp/ VS = Np/NS

    Power Out= Power In

    VS X IS=VP X IP

    Vp = primary (input) voltage

    Np = number of turns on primary coilIp = primary (input) current

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    57/102

    RECTIFIER:

    A circuit which is used to convert a.c to dc is known as RECTIFIER. The

    process of conversion a.c to d.c is called rectification

    TYPES OF RECTIFIERS:

    Half wave Rectifier Full wave rectifier

    1. Centre tap full wave rectifier.

    2. Bridge type full bridge rectifier.

    Comparison of rectifier circuits:

    Parameter

    Type of Rectifier

    Half wave Full wave

    Bridge

    Number of diodes

    1

    2

    4

    PIV of diodes

    Vm

    2Vm Vm

    D.C output voltage

    Vm/

    2Vm/

    2Vm/

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    58/102

    Vdc,at

    no-load

    0.318Vm

    0.636Vm 0.636Vm

    Ripple factor

    1.21

    0.482

    0.482

    Ripple

    frequency

    f 2f

    2f

    Rectification

    efficiency

    0.406

    0.812

    0.812

    Transformer

    Utilization

    Factor(TUF)

    0.287 0.693 0.812

    RMS voltage Vrms Vm/2 Vm/2 Vm/2

    Full-wave Rectifier:

    From the above comparision we came to know that full wave bridge rectifier as

    more advantages than the other two rectifiers. So, in our project we are using full

    wave bridge rectifier circuit.

    Bridge Rectifier: A bridge rectifier makes use of four diodes in a bridge arrangement to achieve

    full-wave rectification. This is a widely used configuration, both with individual diodes

    wired as shown and with single component bridges where the diode bridge is wired

    internally.

    A bridge rectifier makes use of four diodes in a bridge arrangement as shown

    in fig(a) to achieve full-wave rectification. This is a widely used configuration, both

    with individual diodes wired as shown and with single component bridges where the

    diode bridge is wired internally.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    59/102

    Fig(A)

    Operation:

    During positive half cycle of secondary, the diodes D2 and D3 are in forward biased

    while D1 and D4 are in reverse biased as shown in the fig(b). The current flow

    direction is shown in the fig (b) with dotted arrows.

    Fig(B)

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    60/102

    During negative half cycle of secondary voltage, the diodes D1 and D4 are in

    forward biased while D2 and D3 are in reverse biased as shown in the fig(c). The

    current flow direction is shown in the fig (c) with dotted arrows.

    Fig(C)

    Filter:

    A Filter is a device which removes the a.c component of rectifier

    output

    but allows the d.c component to reach the load

    Capacitor Filter:

    We have seen that the ripple content in the rectified output of half waverectifier is 121% or that of full-wave or bridge rectifier or bridge rectifier is 48%

    such high percentages of ripples is not acceptable for most of the applications.

    Ripples can be removed by one of the following methods of filtering.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    61/102

    (a) A capacitor, in parallel to the load, provides an easier by pass for the ripples

    voltage though it due to low impedance. At ripple frequency and leave the d.c.to

    appears the load.

    (b) An inductor, in series with the load, prevents the passage of the ripple current

    (due to high impedance at ripple frequency) while allowing the d.c (due to low

    resistance to d.c)

    (c) various combinations of capacitor and inductor, such as L-section filter

    section filter, multiple section filter etc. which make use of both the properties

    mentioned in (a) and (b) above. Two cases of capacitor filter, one applied on half

    wave rectifier and another with full wave rectifier.

    Filtering is performed by a large value electrolytic capacitor connected across the DC

    supply to act as a reservoir, supplying current to the output when the varying DC voltage from

    the rectifier is falling. The capacitor charges quickly near the peak of the varying DC, and then

    discharges as it supplies current to the output. Filtering significantly increases the average DC

    voltage to almost the peak value (1.4 RMS value).

    To calculate the value of capacitor(C),

    C = *3*f*r*Rl

    Where,

    f = supply frequency,

    r = ripple factor,

    Rl = load resistance

    Note: In our circuit we are using 1000F Hence large value of capacitor is placed to

    reduce ripples and to improve the DC component.

    Regulator:

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    62/102

    Voltage regulator ICs is available with fixed (typically 5, 12 and 15V) or variable

    output voltages. The maximum current they can pass also rates them. Negative

    voltage regulators are available, mainly for use in dual supplies. Most regulators

    include some automatic protection from excessive current ('overload protection')

    and overheating ('thermal protection'). Many of the fixed voltage regulator ICs have

    3 leads and look like power transistors, such as the 7805 +5V 1A regulator shown

    on the right. The LM7805 is simple to use. You simply connect the positive lead of

    your unregulated DC power supply (anything from 9VDC to 24VDC) to the Input pin,

    connect the negative lead to the Common pin and then when you turn on the

    power, you get a 5 volt supply from the output pin.

    Fig 6.1.6 A Three Terminal Voltage Regulator

    78XX:

    The Bay Linear LM78XX is integrated linear positive regulator with three

    terminals. The LM78XX offer several fixed output voltages making them useful in

    wide range of applications. When used as a zener diode/resistor combination

    replacement, the LM78XX usually results in an effective output impedance

    improvement of two orders of magnitude, lower quiescent current. The LM78XX is

    available in the TO-252, TO-220 & TO-263packages,

    Features:

    Output Current of 1.5A

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    63/102

    Output Voltage Tolerance of 5%

    Internal thermal overload protection

    Internal Short-Circuit Limited

    No External Component

    Output Voltage 5.0V, 6V, 8V, 9V, 10V,12V, 15V, 18V, 24V

    Offer in plastic TO-252, TO-220 & TO-263

    Direct Replacement for LM78XX

    MAX-232:The MAX232 from Maxim was the first IC which in one package contains the necessary drivers(two) and receivers (also two), to adapt the RS-232 signal voltage levels to TTL logic. It becamepopular, because it just needs one voltage (+5V) and generates the necessary RS-232 voltagelevels (approx. -10V and +10V) internally. This greatly simplified the design of circuitry.Circuitry designers no longer need to design and build a power supply with three voltages (e.g.-12V, +5V, and +12V), but could just provide one +5V power supply, e.g. with the help of asimple 78x05 voltage converter.

    The MAX232 has a successor, the MAX232A. The ICs are almost identical, however, the

    MAX232A is much more often used (and easier to get) than the original MAX232, and theMAX232A only needs external capacitors 1/10th the capacity of what the original MAX232needs.

    It should be noted that the MAX 232(A) is just a driver/receiver. It does not generate thenecessary RS-232 sequence of marks and spaces with the right timing, it does not decode the RS-232 signal, it does not provide a serial/parallel conversion. All it does is to convert signalvoltage levels. Generating serial data with the right timing and decoding serial data has to bedone by additional circuitry, e.g. by a 16550 UART or one of these small micro controllers (e.g.Atmel AVR, Microchip PIC) getting more and more popular.

    The MAX232 and MAX232A were once rather expensive ICs, but today they are cheap. It hasalso helped that many companies now produce clones (ie. Sipex). These clones sometimes needdifferent external circuitry, e.g. the capacities of the external capacitors vary. It is recommendedto check the data sheet of the particular manufacturer of an IC instead of relying on Maxim'soriginal data sheet.

    The original manufacturer (and now some clone manufacturers, too) offers a large series ofsimilar ICs, with different numbers of receivers and drivers, voltages, built-in or external

    http://www.maxim-ic.com/http://en.wikibooks.org/wiki/Serial_Programming:8250_UART_Programminghttp://en.wikibooks.org/wiki/Atmel_AVRhttp://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontrollerhttp://www.sipex.com/products/interface.htmhttp://www.maxim-ic.com/http://en.wikibooks.org/wiki/Serial_Programming:8250_UART_Programminghttp://en.wikibooks.org/wiki/Atmel_AVRhttp://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontrollerhttp://www.sipex.com/products/interface.htm
  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    64/102

    capacitors, etc. E.g. The MAX232 and MAX232A need external capacitors for the internalvoltage pump, while the MAX233 has these capacitors built-in. The MAX233 is also betweenthree and ten times more expensive in electronic shops than the MAX232A because of itsinternal capacitors. It is also more difficult to get the MAX233 than the garden varietyMAX232A.

    A Typical Application

    The MAX 232(A) has two receivers (converts from RS-232 to TTL voltage levels) and twodrivers (converts from TTL logic to RS-232 voltage levels). This means only two of the RS-232signals can be converted in each direction. The old MC1488/1498 combo provided four driversand receivers.

    Typically a pair of a driver/receiver of the MAX232 is used for

    TX and RX

    And the second one for

    CTS and RTS.

    There are not enough drivers/receivers in the MAX232 to also connect the DTR, DSR, and DCDsignals. Usually these signals can be omitted when e.g. communicating with a PC's serialinterface. If the DTE really requires these signals either a second MAX232 is needed, or someother IC from the MAX232 family can be used (if it can be found in consumer electronic shopsat all). An alternative for DTR/DSR is also given below.

    Maxim's data sheet explains the MAX232 family in great detail, including the pin configurationand how to connect such an IC to external circuitry. This information can be used as-is in owndesign to get a working RS-232 interface. Maxim's data just misses one critical piece ofinformation: How exactly to connect the RS-232 signals to the IC. So here is one possibleexample:

    MAX232 to RS232 DB9 Connection as a DCE

    MAX232 Pin

    Nbr.

    MAX232 Pin

    Name

    Sign

    al

    Volta

    ge

    DB9

    Pin

    7 T2out CTSRS-

    2327

    8 R2in RTSRS-

    2328

    http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdfhttp://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf
  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    65/102

    9 R2out RTS TTL n/a

    10 T2in CTS TTL n/a

    11 T1in TX TTL n/a

    12 R1out RX TTL n/a

    13 R1in TXRS-

    2323

    14 T1out RXRS-

    2322

    15 GND GND 0 5

    In addition one can directly wire DTR (DB9 pin 4) to DSR (DB9 pin 6) without going throughany circuitry. This gives automatic (brain dead) DSR acknowledgment of an incoming DTRsignal.

    Sometimes pin 6 of the MAX232 is hard wired to DCD (DB9 pin 1). This is not recommended.Pin 6 is the raw output of the voltage pump and inverter for the -10V voltage. Drawing currents

    from the pin leads to a rapid breakdown of the voltage, and as a consequence to a breakdown ofthe output voltage of the two RS-232 drivers. It is better to use software which doesn't care aboutDCD, but does hardware-handshaking via CTS/RTS only.

    The circuitry is completed by connecting five capacitors to the IC as it follows. The MAX232needs 1.0F capacitors, the MAX232A needs 0.1F capacitors. MAX232 clones show similardifferences. It is recommended to consult the corresponding data sheet. At least 16V capacitortypes should be used. If electrolytic or tantalic capacitors are used, the polarity has to beobserved. The first pin as listed in the following table is always where the plus pole of thecapacitor should be connected to.

    MAX232(A) external Capacitors

    Capaci

    tor

    +

    Pin

    -

    PinRemark

    C1 1 3

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    66/102

    C2 4 5

    C3 2 16

    C4GN

    D6

    This looks non-intuitive, but becausepin 6 is

    on -10V, GND gets the + connector, and

    not the -

    C5 16GN

    D

    The 5V power supply is connected to

    +5V: Pin 16 GND: Pin 15

    Features

    Meet or Exceed TIA/EIA-232-F and ITURecommendation V.28

    Operate With Single 5-V Power Supply Operate Up to 120 kbit/s Two Drivers and Two Receivers 30-V Input Levels Low Supply Current . . . 8 mA Typical

    Designed to be Interchangeable WithMaxim MAX232

    ESD Protection Exceeds JESD 222000-V Human-Body Model (A114-A)

    ApplicationsTIA/EIA-232-F

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    67/102

    Battery-Powered Systems

    Terminals

    Modems

    Computers

    Description/ordering information

    The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply EIA-232

    voltage levels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V TTL/CMOS levels.

    These receivers have a typical threshold of 1.3 V and a typical hysteresis of 0.5 V, and can accept 30-V

    inputs. Each driver converts TTL/CMOS input levels into EIA-232 levels. The driver, receiver, and voltage-

    generator functions are available as cells in the Texas Instruments Lin ASIC library.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    68/102

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    69/102

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    70/102

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    71/102

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    72/102

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    73/102

    RELAYS

    Relay is an electrically operated switch. Current flowing through the coil of the

    relay creates a magnetic field which attracts a lever and changes the switch

    contacts. The coil current can be on or off so relays have two switch positions and

    they are double throw (changeover) switches.

    Relays allow one circuit to switch a second circuit which can be completely

    separate from the first. For example a low voltage battery circuit can use a relay to

    switch a 230V AC mains circuit. There is no electrical connection inside the relay

    between the two circuits; the link is magnetic and mechanical.

    The coil of a relay passes a relatively large current, typically 30mA for a 12V

    relay, but it can be as much as 100mA for relays designed to operate from lower

    voltages. Most ICs (chips) cannot provide this current and a transistor is usually

    used to amplify the small IC current to the larger value required for the relay coil.

  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    74/102

    The maximum output current for the popular 555 timer IC is 200mA so these

    devices can supply relay coils directly without amplification.

    Relays are usually SPDT or DPDT but they can have many more sets of switch

    contacts, for example relays with 4 sets of changeover contacts are readilyavailable. For further information about switch contacts and the terms used to

    describe them please see the page on switches.

    Most relays are designed for PCB mounting but you can solder wires directly

    to the pins providing you take care to avoid melting the plastic case of the relay.

    The supplier's catalogue should show you the relay's connections. The coil will be

    obvious and it may be connected either way round. Relay coils produce brief high

    voltage 'spikes' when they are switched off and this can destroy transistors and ICs

    in the circuit. To prevent damage you must connect a protection diode across the

    relay coil.

    The animated picture shows a working relay with its coil and switch contacts.

    You can see a lever on the left being attracted by magnetism when the coil is

    switched on. This lever moves the switch contacts. There is one set of contacts

    (SPDT) in the foreground and another behind them, making the relay DPDT.

    The relay's switch connections are usually labelled COM, NC and

    NO:

    COM = Common, always connect to this, it is the moving part of the switch.

    http://www.kpsec.freeuk.com/components/relay.htm#protecthttp://www.kpsec.freeuk.com/components/relay.htm#protect
  • 7/29/2019 2.Pc Based Controlling Devices in Industriesabstract

    75/102

    NC = Normally Closed, COM is connected to this when the relay coil is off.

    NO = Normally Open, COM is connected to this when the relay coil is on.

    Connect to COM and NO if you want the switched circuit to be on when the

    relay coil is on.

    Connect to COM and NC if you want the switched circuit to be on when the

    relay coil is off.

    Choosing a relay

    You need to consider several features when choosing a relay:

    1. Physical size and pin arrangement If you are choosing a relay for an existing

    PCB you will need to ensure that its dimensions and pin arrangement are

    suitable. You should find this information in the supplier's catalogue.

    2. Coil voltage the relay's coil voltage rating and resistance must suit the circuit

    powering the relay coil. Many relays have a coil rated for a 12V supply but 5V

    and 24V relays are also readily available. Some relays operate perfectly well

    with a supply voltage which is a little lower than their rated value.

    3. Coil resistance the circuit must be able to supply the current required by the

    relay coil. You can use Ohm's law to calculate the current:

    Relay coil

    current =

    supplyvoltage

    coil

    resistance

    4. For example: A 12V supply relay with a coil resistance of 400 passes a

    current of 30mA. This is OK for a 555 timer IC (maximum output current

    200mA), but it is too much for most ICs and they will require a transistor to

    amplify the current.

    5. Switch ratings (voltage and current) the relay's switch contacts must be

    suitable for the circuit they are to control. You will need to check the voltage

    and current ratings. Note that the voltage rating is