go to main index know about us who we are and what we are provide ? we provide training on how to reach us send e-mail us
   

REMOTE CONTROLLED
CAR

 

Introduction

In this  project we will control the car with keypad. We will use Microswitches for controlling car-.Switches willl be four. One for left,right, forward and backward. To control the motors we will use L293D IC or H bridge circuit for amplification , because output current of microcontroller is not sufficient to drive the motors. In this way we can control big machines in industry and can get précised goods. Robotics as we know is combination of electronics+software+ Mechanical. We will direactly give input from remote to microcontroller. Microocontroller default output is low.

. In this project we use two slow speed motor for running the platform of the small robot. In this project we use 89c51 microcontroller as a main processor. One connection of switches connected with microcontroller and other with ground. When we press any key then we give low signal to mircontroller.

Motor is not directly connected with the microcontroller. For the safety of the main processor we interface the motor with optocoupler circuit. Here we use pc 817 ( 4 pin opto coupler) to interface the micro controller with  the motor circuit. We use H bridge circuit with the motor. H bridge basically control the movement of the motor. With the help of this H bridge we change the direction of the motor. We use four transistor circuit with each motor. We are using four transistor circuit. Out of these four transistor  two transistor is NPN and two transistor and PNP transistor.  One NPN and One PNP provide a one direction voltage and motor moves on one direction. Second NPN and second PNP transistor again change the direction of the motor automatically.

 

 

 

 

MCU 89c2051

Crystal 11.592 MHz- 1 nos.

On/off Switch- 1 nos.

Diodes IN 4001- 10 nos.

Optocoupler 817- 2nos.

Cap 10µf,0.1 µf,330µf

Transistors -547or 548

Resistances 330 Ω,8.2kΩ,30pf

LED

IC7805  voltage Regulator

Motors dc

Infrared sensors set

Copper Clad board

Ply board

Ferric Chloride

Wires

Soldering iron

Soldering wire

Flux

 

Universal Programmer

 

Software Required

UMPS

ORCAD

Sprog-VX

 

 

 

 

 

 

- 8051 Instruction Set

 

Arithmetic Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ADD A,Rn       Add register to Accumulator (ACC).                            1          1

 

ADD A,direct   Add direct byte to ACC.                                                          2          1

 

ADD A,@Ri    Add indirect RAM to ACC                  .                       1          1

 

ADD A,#data   Add immediate data to ACC                .                       2          1

 

ADDC A,Rn    Add register to ACC with carry                        .                       1          1

 

ADDC A,direct            Add direct byte to ACC with carry.                                          2          1

 

ADDC A,@Ri             Add indirect RAM to ACC with carry.                         1          1

 

ADDC A,#data            Add immediate data to ACC with carry.                                   2          1

 

SUBB A,Rn     Subtract register from ACC with borrow.                                  1          1

 

SUBB A,direct             Subtract direct byte from ACC with borrow                              2          1

 

SUBB A,@Ri Subtract indirect RAM from ACC with borrow.                        1          1

 

SUBB A,#data             Subtract immediate data from ACC with borrow.                      2          1

 

INC A                         Increment ACC.                                                                       1          1

 

INC Rn                       Increment register.                                                        1          1

 

INC direct        Increment direct byte.                                                   2          1

 

INC @Ri         Increment indirect RAM.                                                          1          1

 

DEC A                         Decrement ACC.                                                                     1          1

 

DEC Rn           Decrement register.                                                       1          1

 

DEC direct       Decrement direct byte.                                                  2          1

 

DEC @Ri        Decrement indirect RAM.                                                         1          1

 

INC DPTR      Increment data pointer.                                                 1          2         

 

MUL AB         Multiply A and B Result: A <- low byte, B <- high byte.            1          4

 

DIV AB           Divide A by B Result: A <- whole part, B <- remainder.            1          4

 

DA A               Decimal adjust ACC.                                                    1          1

 

 

 

Logical Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ANL A,Rn       AND Register to ACC.                                                            1          1

 

ANL A,direct   AND direct byte to ACC.                                                        2          1

 

ANL A,@Ri    AND indirect RAM to ACC.                                        1          1

 

ANL A,#data   AND immediate data to ACC.                                      2          1

 

ANL direct,A   AND ACC to direct byte.                                                        2          1

 

ANL direct,#data         AND immediate data to direct byte.                              3          2

 

ORL A,Rn       OR Register to ACC.                                                   1          1

 

ORL A,direct   OR direct byte to ACC.                                                           2          1

 

ORL A,@Ri     OR indirect RAM to ACC.                                           1          1

 

ORL A,#data   OR immediate data to ACC.                                         2          1

 

ORL direct,A   OR ACC to direct byte.                                                           2          1

 

ORL direct,#data         OR immediate data to direct byte.                                             3          2

 

XRL A,Rn        Exclusive OR Register to ACC.                                                1          1

 

XRL A,direct   Exclusive OR direct byte to ACC.                                            2          1

 

XRL A,@Ri     Exclusive OR indirect RAM to ACC.                            1          1

 

XRL A,#data   Exclusive OR immediate data to ACC.                          2          1

 

XRL direct,A   Exclusive OR ACC to direct byte.                                            2          1         

 

XRL direct,#data          XOR immediate data to direct byte.                                          3          2

 

CLR A                         Clear ACC (set all bits to zero).                                                1          1

 

CPL A                         Compliment ACC.                                                        1          1

 

RL A                Rotate ACC left.                                                                      1          1

 

RLC A                         Rotate ACC left through carry.                                     1          1

 

RR A               Rotate ACC right.                                                        1          1

 

RRC A                         Rotate ACC right through carry.                                                           1          1

 

SWAP A         Swap nibbles within ACC.                                                                    1          1

 

 

 

Data Transfer

 

Mnemonic                    Description                                                                   Size      Cycles

 

MOV A,Rn                  Move register to ACC.                                                 1          1

 

MOV A,direct              Move direct byte to ACC.                                                        2          1

 

MOV A,@Ri               Move indirect RAM to ACC.                                       1          1

 

MOV A,#data              Move immediate data to ACC.                                     2          1

 

MOV Rn,A                  Move ACC to register.                                                 1          1

 

MOV Rn,direct                        Move direct byte to register.                                         2          2

 

MOV Rn,#data                        Move immediate data to register.                                              2          1

 

MOV direct,A              Move ACC to direct byte.                                                        2          1

 

MOV direct,Rn                        Move register to direct byte.                                         2          2

 

MOV direct,direct        Move direct byte to direct byte.                                                3          2

 

MOV direct,@Ri         Move indirect RAM to direct byte.                                           2          2

 

MOV direct,#data        Move immediate data to direct byte.                             3          2

 

MOV @Ri,A               Move ACC to indirect RAM.                                       1          1

 

MOV @Ri,direct         Move direct byte to indirect RAM.                                           2          2

 

MOV @Ri,#data                     Move immediate data to indirect RAM.                         2          1

 

MOV DPTR,#data16   Move immediate 16 bit data to data pointer register.                  3          2

 

MOVC A,@A+DPTR             Move code byte relative to DPTR to ACC (16 bit address).     1          2

 

MOVC A,@A+PC      Move code byte relative to PC to ACC (16 bit address).          1          2

 

MOVX A,@Ri                        Move external RAM to ACC (8 bit address).                           1          2

 

MOVX A,@DPTR      Move external RAM to ACC (16 bit address).             1          2

 

MOVX @Ri,A                        Move ACC to external RAM (8 bit address).                           1          2

 

MOVX @DPTR,A      Move ACC to external RAM (16 bit address).             1          2

 

PUSH direct                 Push direct byte onto stack.                                          2          2

 

POP direct                   Pop direct byte from stack.                                           2          2

 

XCH A,Rn                   Exchange register with ACC.                                        1          1

 

XCH A,direct               Exchange direct byte with ACC.                                               2          1

 

XCH A,@Ri                Exchange indirect RAM with ACC.                                          1          1

 

XCHD A,@Ri                         Exchange low order nibble of indirect

RAM with low order nibble of ACC                             1          1

 

Boolean Variable Manipulation

 

Mnemonic                    Description                                                                   Size      Cycles

 

CLR C                                     Clear carry flag.                                                                        1          1

 

CLR bit                                    Clear direct bit.                                                             2          1

 

SETB C                       Set carry flag.                                                              1          1

 

SETB                           bitSet direct bit                                                             2          1

 

CPL C                                     Compliment carry flag.                                                  1          1

 

CPL bit                                    Compliment direct bit.                                                   2          1

 

ANL C,bit        AND direct bit to carry flag.                                                     2          2

 

ANL C,/bit       AND compliment of direct bit to carry.                                     2          2

 

ORL C,bit        OR direct bit to carry flag.                                                                    2          2

 

ORL C,/bit       OR compliment of direct bit to carry.                                        2          2

 

MOV C,bit      Move direct bit to carry flag.                                                     2          1

 

MOV bit,C      Move carry to direct bit.                                                                       2          2

 

JC rel               Jump if carry is set.                                                                   2          2

 

JNC rel                        Jump if carry is not set.                                                             2          2

 

JB bit,rel           Jump if direct bit is set.                                                              3          2

 

JNB bit,rel        Jump if direct bit is not set.                                                        3          2

 

JBC bit,rel        Jump if direct bit is set & clear bit.                                                         3          2

 

 

Program Branching

 

Mnemonic        Description                                                                               Size      Cycles

 

ACALL                       addr11            Absolute subroutine call.                                                           2          2

 

LCALL                        addr16             Long subroutine call.                                                     3          2

 

RET                 Return from subroutine.                                                             1          2

 

RETI                Return from interrupt.                                                                1          2

 

AJMP addr11 Absolute jump.                                                                         2          2

 

LJMP addr16   Long jump.                                                                               3          2

 

SJMP rel          Short jump (relative address).                                                   2          2

 

JMP @A+DPTR         Jump indirect relative to the DPTR.                                                       1          2

 

JZ rel                Jump relative if ACC is zero.                                                     2          2

 

JNZ rel                         Jump relative if ACC is not zero.                                                           2          2

 

CJNE A,direct,rel         Compare direct byte to ACC and jump if not equal.                  3          2

 

CJNE A,#data,rel         Compare immediate byte to ACC and jump if not equal.           3          2

 

CJNE Rn,#data,rel       Compare immediate byte to register and jump if not equal.         3          2

 

CJNE @Ri,#data,rel    Compare immediate byte to indirect and jump if not equal.         3          2

 

DJNZ Rn,rel     Decrement register and jump if not zero.                                                2          2

 

DJNZ direct,rel            Decrement direct byte and jump if not zero.                                           3          2

 

 

 

 

 

Table of Contents

 

 

 

1.                 Acknowledgements.

2.                 Certificate.

3.                 Introduction to the Project.

4.                 Circuit Diagram.

5.                 Component List.

6.                 Hardware

a.        Power Supply for the circuit.

b.        Integrated Circuits.

c.         Transistors.

d.        Diode.

e.        Relays.

f.          Transformer.

g.        Resistors.

h.        Capacitors.

 

7.                 Project Working.

8.                 Project Synopsis.

9.                 Bibliography.

 

Figure 6 - Schem WELCOME TO THE WORLD OF THE MICROCONTROLLERS.

 

Look around. Notice the smart “intelligent” systems? Be it the T.V, washing machines, video games, telephones, automobiles, aero planes, power systems, or any application having a LED or a LCD as a user interface, the control is likely to be in the hands of a micro controller!

Measure and control, that’s where the micro controller is at its best.

Micro controllers are here to stay. Going by the current trend, it is obvious that micro controllers will be playing bigger and bigger roles in the different activities of our lives.

 

These embedded chips are very small, but are designed to replace components  much bigger and bulky In size. They process information very intelligently and efficiently. They sense the environment around them. The signals they gather are tuned into digital data that streams through tributaries of circuit lines at the speed of light. Inside the microprocessor collates and calculators. The software has middling intelligence. Then in a split second, the processed streams are shoved out.

 

What is the primary difference between a microprocessor and a micro controller?

 

 Unlike the microprocessor, the micro controller can be considered to be a true “Computer on a chip”.

In addition to the various features like the ALU, PC, SP and registers found on a microprocessor, the micro controller also incorporates features like the ROM, RAM, Ports, timers, clock circuits, counters, reset functions etc.


 

 

 

While the microprocessor is more a general-purpose device, used for read, write and calculations on data, the micro controller, in addition to the above functions also controls the environment.

 

 

 

 

8051 micro controller

 

The 8051

The 8051 developed and launched in the early 80`s, is one of the most popular micro controller in use today. It has a reasonably large amount of built in ROM and RAM. In addition it has the ability to access external memory.

The generic term `8x51` is used to define the device. The value of x defining the kind of ROM, i.e. x=0, indicates none, x=3, indicates mask ROM, x=7, indicates EPROM and x=9 indicates EEPROM or Flash.

A note on ROM

The early 8051, namely the 8031 was designed without any ROM. This device could run only with external memory connected to it. Subsequent developments lead to the development of the PROM or the programmable ROM. This type had the disadvantage of being highly unreliable.

The next in line, was the EPROM or Erasable Programmable ROM. These devices used ultraviolet light erasable memory cells. Thus a program could be loaded, tested and erased using ultra violet rays. A new program could then be loaded again.

An improved EPROM was the EEPROM or the electrically erasable PROM. This does not require ultra violet rays, and memory can be cleared using circuits within the chip itself.

Finally there is the FLASH, which is an improvement over the EEPROM. While the terms EEPROM and flash are sometimes used interchangeably, the difference lies in the fact that flash erases the complete memory at one stroke, and not act on the individual cells. This results in reducing the time for erasure.

 

 

Different microcontrollers in market.

 

 

 

 

 

 

 

 

Intel 8051

 

Intel 8051 is CISC architecture which is easy to program in assembly language and also has a good support for High level languages.

 

The memory of the microcontroller can be extended up to 64k.

 

This microcontroller is one of the easiest microcontrollers to learn.

 

The 8051 microcontroller is in the field for more than 20 years. There are lots of books and study materials are readily available for 8051.

 

 

 

 

 

Derivatives

 

The best thing done by Intel is to give the designs of the 8051 microcontroller to everyone. So it is not the fact that Intel is the only manufacture for the 8051 there more than 20 manufactures, with each of minimum 20 models. Literally there are hundreds of models of  8051 microcontroller available in market to choose.  Some of the major manufactures of 8051 are

 

Ř      Atmel

 

Ř      Philips

 

Philips

            The Philips‘s 8051 derivatives has more number of features than in any microcontroller. The costs of the Philips microcontrollers are higher than the Atmel’s which makes us to choose Atmel more often than Philips

 

Dallas

            Dallas has made many revolutions in the semiconductor market. Dallas’s 8051 derivative is the fastest one in the market. It works 3 times as fast as a 8051 can process. But we are unable to get more in India.

 

Atmel

            These people were the one to master the flash devices. They are the cheapest microcontroller available in the market. Atmel’s even introduced a 20pin variant of 8051 named 2051. The Atmel’s 8051 derivatives can be got in India less than 70 rupees. There are lots of cheap programmers available in India for Atmel. So it is always good for students to stick with 8051 when you learn a new microcontroller.

 

 

 

Architecture

 

Architecture is must to learn because before learning new machine it is necessary to learn the capabilities of the machine. This is some thing like before learning about the car you cannot become a good driver. The architecture of the 8051 is given below.

 

 



 

The 8051 doesn’t have any special feature than other microcontroller. The only feature is that it is easy to learn. Architecture makes us to know about the hardware features of the microcontroller. The features of the 8051 are

 

§         4K Bytes of Flash Memory

§         128 x 8-Bit Internal RAM

§         Fully Static Operation: 1 MHz to 24 MHz

§         32 Programmable I/O Lines

§         Two 16-Bit Timer/Counters

§         Six Interrupt Sources (5 Vectored)

§         Programmable Serial Channel

§         Low Power Idle and Power Down Modes

 

 

The 8051 has a 8-Bit CPU that means it is able to process 8 bit of data at a time. 8051 has 235 instructions. Some of the important registers and their functions are

 

 

 

 

 

Let’s now move on to a practical example. We shall work on a simple practical application and using the example as a base, shall explore the various features of the 8051 microcontroller.

Consider an electric circuit as follows,



 


The positive side (+ve) of the battery is connected to one side of a switch. The other side of the switch is connected to a bulb or LED (Light Emitting Diode). The bulb is then connected to a resistor, and the other end of the resistor is connected to the negative (-ve) side of the battery.

When the switch is closed or ‘switched on’ the bulb glows. When the switch is open or ‘switched off’ the bulb goes off

If you are instructed to put the switch on and off every 30 seconds, how would you do it? Obviously you would keep looking at your watch and every time the second hand crosses 30 seconds you would keep turning the switch on and off.

Imagine if you had to do this action consistently for a full day. Do you think you would be able to do it? Now if you had to do this for a month, a year??

No way, you would say!

The next step would be, then to make it automatic. This is where we use the Microcontroller.

But if the action has to take place every 30 seconds, how will the microcontroller keep track of time?

Execution time

Look at the following instruction,
clr p1.0

This is an assembly language instruction. It means we are instructing the microcontroller to put a value of ‘zero’ in bit zero of port one. This instruction is equivalent to telling the microcontroller to switch on the bulb. The instruction then to instruct the microcontroller to switch off the bulb is,

Set p1.0

This instructs the microcontroller to put a value of ‘one’ in bit zero of port one.

Don’t worry about what bit zero and port one means. We shall learn it in more detail as we proceed.

There are a set of well defined instructions, which are used while communicating with the microcontroller. Each of these instructions requires a standard number of cycles to execute. The cycle could be one or more in number.

How is this time then calculated?

The speed with which a microcontroller executes instructions is determined by what is known as the crystal speed. A crystal is a component connected externally to the microcontroller. The crystal has different values, and some of the used values are 6MHZ, 10MHZ, and 11.059 MHz etc.
Thus a 10MHZ crystal would pulse at the rate of 10,000,000 times per second.

 

 

 

 

 

The time is calculated using the formula

No of cycles per second = Crystal frequency in HZ / 12.

For a 10MHZ crystal the number of cycles would be,

10,000,000/12=833333.33333 cycles.

This means that in one second, the microcontroller would execute 833333.33333 cycles.

Therefore for one cycle, what would be the time? Try it out.

The instruction clr p1.0 would use one cycle to execute. Similarly, the instruction setb p1.0 also uses one cycle.

So go ahead and calculate what would be the number of cycles required to be executed to get a time of 30 seconds!

Getting back to our bulb example, all we would need to do is to instruct the microcontroller to carry out some instructions equivalent to a period of 30 seconds, like counting from zero upwards, then switch on the bulb, carry out instructions equivalent to 30 seconds and switch off the bulb.

Just put the whole thing in a loop, and you have a never ending on-off sequence.

 

Let us now have a look at the features of the 8051 core, keeping the above example as a reference,

1. 8-bit CPU.( Consisting of the ‘A’ and ‘B’ registers)

Most of the transactions within the microcontroller are carried out through the ‘A’ register, also known as the Accumulator. In addition all arithmetic functions are carried out generally in the ‘A’ register. There is another register known as the ‘B’ register, which is used exclusively for multiplication and division.

Thus an 8-bit notation would indicate that the maximum value that can be input into these registers is ‘11111111’. Puzzled?

The value is not decimal 111, 11,111! It represents a binary number, having an equivalent value of ‘FF’ in Hexadecimal and a value of 255 in decimal.

We shall read in more detail on the different numbering systems namely the Binary and Hexadecimal system in our next module.

 

2. 4K on-chip ROM

Once you have written out the instructions for the microcontroller, where do you put these instructions?

Obviously you would like these instructions to be safe, and not get deleted or changed during execution. Hence you would load it into the ‘ROM’

The size of the program you write is bound to vary depending on the application, and the number of lines. The 8051 microcontroller gives you space to load up to 4K of program size into the internal ROM.

4K, that’s all? Well just wait. You would be surprised at the amount of stuff you can load in this 4K of space.

Of course you could always extend the space by connecting to 64K of external ROM if required.

3. 128 bytes on-chip RAM

This is the space provided for executing the program in terms of moving data, storing data etc.

4. 32 I/O lines. (Four- 8 bit ports, labeled P0, P1, P2, P3)

In our bulb example, we used the notation p1.0. This means bit zero of port one. One bit controls one bulb.

Thus port one would have 8 bits. There are a total of four ports named p0, p1, p2, p3, giving a total of 32 lines. These lines can be used both as input or output.


 

5. Two 16 bit timers / counters.

A microcontroller normally executes one instruction at a time. However certain applications would require that some event has to be tracked independent of the main program.

The manufacturers have provided a solution, by providing two timers. These timers execute in the background independent of the main program. Once the required time has been reached, (remember the time calculations described above?), they can trigger a branch in the main program.

These timers can also be used as counters, so that they can count the number of events, and on reaching the required count, can cause a branch in the main program.

6. Full Duplex serial data receiver / transmitter.

The 8051 microcontroller is capable of communicating with external devices like the PC etc. Here data is sent in the form of bytes, at predefined speeds, also known as baud rates.

The transmission is serial, in the sense, one bit at a time

7. 5- interrupt sources with two priority levels (Two external and three internal)

During the discussion on the timers, we had indicated that the timers can trigger a branch in the main program. However, what would we do in case we would like the microcontroller to take the branch, and then return back to the main program, without having to constantly check whether the required time / count has been reached?

This is where the interrupts come into play. These can be set to either the timers, or to some external events. Whenever the background program has reached the required criteria in terms of time or count or an external event, the branch is taken, and on completion of the branch, the control returns to the main program.

Priority levels indicate which interrupt is more important, and needs to be executed first in case two interrupts occur at the same time.

8. On-chip clock oscillator.

This represents the oscillator circuits within the microcontroller. Thus the hardware is reduced to just simply connecting an external crystal, to achieve the required pulsing rate.

 

 

 

PIN FUNCTION OF IC 89C51.

 

1                    Supply pin of this ic is pin no 40. Normally we apply a 5  volt regulated dc power supply to this pin. For this purpose either we use step down transformer power supply or we use  9 volt battery with 7805 regulator.

2                   Ground pin of this ic is pin no 20.  Pin no 20 is normally connected to the ground pin ( normally negative point of the power supply.

3                    XTAL is connected to the  pin no 18 and pin no 19 of this ic.  The quartz crystal oscillator connected to XTAL1 and  XTAL2 PIN. These pins also needs two capacitors of 30 pf value. One side of each capacitor  is connected to crystal and other pis is connected to the ground  point. Normally we connect a 12 MHz or 11.0592 MHz crystal with this ic.. But we use crystal upto 20 MHz to this pins

4                    RESET PIN..  Pin no 9 is the reset pin of this ic.. It is an active high pin.  On applying  a high pulse to this pin, the micro controller will reset and terminate all activities. This is often referred to as a power on reset. The high pulse must

be high for a minimum of 2 machine  cycles before it is allowed to go low.

 

5.          PORT0 Port 0 occupies a total of 8 pins. Pin no 32 to pin no 39. It can be used  for input or output. We connect all the pins of the port 0 with the pullup resistor (10 k ohm) externally. This is due to fact that port 0 is an open drain mode. It is just like a open collector transistor.

 

6.          PORT1. ALL the ports in micrcontroller is 8 bit wide pin no 1 to pin no 8 because it is a 8 bit controller. All the main register and sfr all is mainly 8 bit wide. Port 1 is also occupies a 8 pins. But there is no need of pull up resistor in this port. Upon reset port 1 act as a input port. Upon reset all the ports act as a input port

 

7.        PORT2. port 2 also have a 8 pins. It can be used as a input or output. There is no need of any pull up resistor to this pin.

 

 

PORT 3. Port3 occupies a  totoal 8 pins from pin no 10 to pin no 17. It can be       used  as input or output. Port 3 does not require any pull up resistor. The same as port 1 and port2. Port 3  is configured as an  output port on reset. Port 3 has the additional function of providing some  important signals  such as interrupts. Port 3 also use for serial communication.

 

 

 

 

 

 

 

ALE   ALE is an output pin and is active high. When connecting an 8031 to external  memory, port 0 provides both address and data. In other words, the 8031 multiplexes address and data through port 0 to save pins. The ALE pin is used for demultiplexing the address and data by connecting to the  ic 74ls373 chip.

 

 

PSEN. PSEN stands for program store eneable. In an 8031 based system in which an external rom holds the program code, this pin is connected to the OE pin of the rom.

 

EA. EA. In 89c51 8751 or any other family member of the ateml 89c51 series all come with on-chip rom to store programs, in such cases the EA  pin is connected to the Vcc. For family member 8031 and 8032 is which there is no on chip rom, code is stored in external memory and this is fetched by 8031. In that case EA pin must be connected to GND pin to indicate that the code is stored  externally.

 

 

 

 

SPECIAL FUNCTION REGISTER ( SFR) ADDRESSES.

 

 

ACC                ACCUMULATOR                                           0E0H

 

B                      B REGISTER                                                   0F0H

 

PSW                PROGRAM STATUS WORD                           0D0H

 

SP                    STACK POINTER                                           81H

 

DPTR              DATA POINTER 2 BYTES

 

DPL                 LOW BYTE OF DPTR                         82H

DPH                HIGH BYTE OF DPTR                                   83H

 

P0                    PORT0                                                            80H

 

P1                    PORT1                                                            90H

 

P2                    PORT2                                                            0A0H

 

P3                    PORT3                                                            0B0H

 

TMOD             TIMER/COUNTER MODE CONTROL          89H

 

TCON              TIMER COUNTER CONTROL                       88H

 

TH0                 TIMER 0 HIGH BYTE                         8CH

 

TLO                 TIMER 0 LOW BYTE                                      8AH

 

TH1                 TIMER 1 HIGH BYTE                         8DH

 

TL1                  TIMER 1 LOW BYTE                                      8BH

 

SCON              SERIAL CONTROL                                         98H

 

SBUF              SERIAL DATA BUFFER                                99H

 

PCON             POWER CONTROL                                        87H

 

 

 

 

INSTRUCTIONS

 

SINGLE BIT INSTRUCTIONS.

 

 

SETB  BIT                            SET THE BIT =1

 

CLR BIT                                CLEAR THE BIT =0

 

CPL BIT                                 COMPLIMENT THE BIT   0 =1, 1=0

 

JB BIT,TARGET                  JUMP TO TARGET IF BIT =1

 

JNB BIT, TARGET              JUMP TO TARGET IF BIT =0

 

JBC BIT,TARGET                JUMP TO  TARGET IF BIT =1 &THEN CLEAR THE BIT    

        

 

 

MOV INSTRUCTIONS

 

MOV instruction simply copy the data  from one location to another location

 

MOV D,S

 

Copy the data from(S) source to D(destination)

 

MOV R0,A      ; Copy contents of  A into Register R0

 

MOV R1,A      ; Copy  contents of A into register R1

 

MOV A,R3      ; copy contents of Register R3 into Accnmulator.

 

 

DIRECT LOADING THROUGH MOV

 

MOV A,#23H                         ; Direct load the value of 23h in A

 

MOV R0,#12h                        ; direct load the value of 12h in R0

 

MOV R5,#0F9H         ; Load the F9 value in the Register R5

 

 

ADD INSTRUCTIONS.

 

ADD instructions adds the source byte to the accumulator ( A) and place the result in the Accumulator.

 

MOV A, #25H

 

ADD A,#42H              ; BY this instructions we add the value 42h in Accumulator ( 42H+ 25H)

 

ADDA,R3                   ;By this instructions we move the data from register r3 to accumulator and then add the contents of  the register into accumulator  .

 

 

 

 

SUBROUTINE CALL  FUNCTION.

 

ACALL,TARGET ADDRESS

 

By this instructions  we call subroutines  with a target address within 2k bytes from the current program counter.

 

LCALL, TARGET ADDRESS.

 

ACALL  is a limit for the 2 k byte program counter, but for upto 64k  byte we use  LCALL instructions.. Note that LCALL  is a 3 byte instructions. ACALL  is a two byte instructions.

 

 

AJMP TARGET ADDRESS.

 

This is for absolute jump

 

AJMP stand for absolute jump. It transfers program execution to the  target address unconditionally. The target address for this instruction must be withib 2 k byte of program memory.

 

LJMP is also for absoltute jump. It tranfer program execution to the target addres unconditionally.  This is a 3 byte instructions LJMP   jump to any address within 64 k byte location.

 

 

 

 

 

 

 INSTRUCTIONS RELATED TO THE CARRY

 

JC TARGET

 

JUMP  TO THE TARGET  IF CY FLAG =1

 

 

JNC TARGET

 

JUMP TO THE TARGET ADDRESS IF CY FLAG IS = 0 

 

 

 

INSTRUCTIONS RELASTED TO JUMP WITH ACCUMULATOR

 

 

JZ TARGET

 

JUMP  TO TARGET IF A = 0

 

 

JNZ TARGET

 

JUMP IF ACCUMULATOR IS NOT ZERO

 

This instructions jumps if registe A has a value other than zero

 

 

 

 

INSTRUCTIONS RELATED TO THE ROTATE

 

 

RL A 

 

ROTATE LEFT THE ACCUMULATOR

 

BY this instructions we rotate the bits of A left. The bits rotated out of  A are rotated back into A at the opposite end

 

 

RR A

 

By this instruction we rotate the contents of the accumulator from right to left from LSB  to MSB

 

 

 

RRC A

 

This is same as RR A but difference is that the bit rotated out of register first enter in to carry and then  enter into MSB

 

 

 

RLC A

 

ROTATE  A LEFT THROUGH CARRY

 

 

Same as above but but shift the data from MSB to  carry and carry to LSB

 

 

 

RET

 

This is return from subroutine. This instructions is used to return from a subroutine previously entered by  instructions LCALL and ACALL.

 

 

RET1

 

THIS  is used at the end of an interrupt service routine. We use this instructions after intruupt routine,

 

 

PUSH.

 

This copies the indicated byte onto the stack and increments SP by . This instructions supports only direct addressing mode.

 

 

POP.

 

POP FROM STACK.

 

This copies the byte pointed to be SP to the location whose direct address is indicated, and decrements SP by 1. Notice that this instructions supports only direct addressing mode.

 

 

 

 

DPTR INSTRUCTIONS.

 

 MOV DPTR,#16 BIT VALUE

 

LOAD DATA POINTER

 

This instructions load the 16 bit dptr register with a 16 bit immediate value

 

MOV C A,@A+DPTR

This instructions moves a byte of data located in program ROM into register A. This allows us to put strings of data, such as look up  table elements.

 

 

MOVC  A,@A+PC

 

 

This instructions moves a byte of data located in the program area to A. the address of the desired byte of data is formed by adding the program counter ( PC) register to the original value of the accumulator.

INC BYTE

 

This instructions add 1 to the register or memory location specified by the operand.

 

          INC A

          INC Rn

          INC DIRECT

 

DEC BYTE

 

This instructions subtracts 1 from the byte operand. Note that CY is unchanged

 

          DEC A

          DEC Rn

          DEC DIRECT

 

 

 

 

ARITHMATIC INSTRUCTIONS.

 

ANL  dest-byte, source-byte

 

This perform a logical AND operation

 

This performs a logical AND on the operands, bit by bit, storing the result in the destination. Notice that both the source and destination values are byte –size only

 

`                                                                                                   

DIV AB

 

This instructions divides a byte accumulator by the byte in register B. It is assumed that both register A and B contain an unsigned byte. After the division the quotient will be in  register A and  the remainder in register B.

 

 

 

TMOD ( TIMER MODE ) REGISTER

 

 

Both timer is the 89c51 share the  one register TMOD. 4 LSB bit for the timer 0 and 4 MSB for the timer 1.

 

In each case lower 2 bits set the mode of the timer

 

Upper two bits set the operations.

 

 

GATE:             Gating control when set. Timer/counter is enabled only while the INTX pin is high and the TRx control pin  is set. When cleared, the timer is enabled whenever the TRx control bit is set

 

C/T :                Timer or counter selected cleared for timer operation ( input from internal system clock)

 

M1                   Mode bit 1

 

M0                   Mode bit  0

 

 

 

 

M1       M0       MODE             OPERATING MODE

 

0          0          0                      13 BIT TIMER/MODE

 

0          1          1                      16 BIT TIMER MODE

 

1          0          2                      8 BIT AUTO RELOAD

 

1          1          3                      SPLIT TIMER MODE

 

 

 

 

PSW  ( PROGRAM STATUS WORD)

 

 

 

 

CY       PSW.7             CARRY FLAG

 

AC       PSW.6             AUXILIARY CARRY                                                                                                                          

 

F0        PSW.5             AVAILABLE FOR  THE USER FRO GENERAL PURPOSE

 

RS1     PSW.4             REGISTER  BANK SELECTOR BIT 1

 

RS0     PSW.3             REGISTER BANK SELECTOR BIT 0

 

0V       PSW.2             OVERFLOW  FLAG

 

--         PSW.1             USER DEFINABLE BIT

 

P          PSW.0             PARITY FLAG SET/CLEARED BY HARDWARE

 

 

 

 

PCON REGISATER ( NON BIT ADDRESSABLE)

 

 

 

If the SMOD = 0 ( DEFAULT  ON RESET)

                       

                        TH1     =                     CRYSTAL FREQUENCY

                                                256---- ____________________

                                                           

384    X  BAUD RATE

 

If the SMOD IS = 1

                                                            CRYSTAL FREQUENCY

                        TH1     =         256--------------------------------------

                                                            192 X BAUD RATE

 

There are two ways to increase the baud rate of data transfer in the  8051

 

1.                  To use a higher frequency crystal

2.                  To change a bit in the PCON register

 

 

PCON register is an 8 bit register . Of the 8 bits, some are unused, and some are used for the power control capability of the 8051. the bit which is used for the serial communication is D7, the SMOD bit. When the 8051 is powered up, D7 ( SMOD BIT)  OF  PCON register is zero. We can set it to high by software and thereby double the baud  rate

 

 

 

BAUD RATE COMPARISION FOR SMOD = 0 AND SMOD =1

 

TH1     ( DECIMAL)              HEX                SMOD =0       SMOD =1

 

            -3                                 FA                   4800                9600

            -12                               F4                    2400                4800

            -24                               E8                    1200                2400

 

XTAL = 11.0592 MHZ

                                                             

 

 

 

 

IE ( INTERRUPT ENABLE REGISTOR)

 

 

 

EA       IE.7      Disable all interrupts if EA = 0, no interrupts is acknowledged

                        If EA is 1, each interrupt source is individually enabled or disbaled

                        By sending or clearing its enable  bit.

 

            IE.6      NOT implemented

 

ET2      IE.5      enables or disables timer 2 overflag in 89c52 only

 

ES        IE.4      Enables or disables all serial interrupt

 

ET1      IE.3      Enables or Disables  timer 1 overflow interrupt

 

EX1     IE.2      Enables or disables external interrupt

 

ET0      IE.1      Enables or Disbales timer 0 interrupt.

 

EX0     IE.0      Enables or Disables external interrupt 0

 

 

 

 

 

 

 

 

 

INTERRUPT PRIORITY REGISTER

 

 

 

 

If the bit is 0, the corresponding interrupt has a lower priority and if the bit is 1 the corresponding interrupt has a higher priority

 

 

 

            IP.7      NOT IMPLEMENTED, RESERVED FOR FUTURE USE.

 

            IP.6      NOT IMPLEMENTED, RESERVED FOR FUTURE USE

 

PT2      IP.5      DEFINE THE  TIMER 2 INTERRUPT PRIORITY LELVEL

 

PS        IP.4      DEFINES THE SERIAL PORT INTERRUPT PRIORITY LEVEL

 

PT1      IP.3      DEFINES THE TIMER 1 INTERRUPT PRIORITY LEVEL

 

PX1     IP.2      DEFINES EXTERNAL INTERRUPT 1 PRIORITY LEVEL

 

PT0      IP.1      DEFINES THE TIMER 0 INTERRUPT PRIORITY LEVEL

 

PX0     IP.0      DEFINES THE EXTERNAL INTERRUPT 0 PRIORITY LEVEL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SCON: SERIAL PORT CONTROL REGISTER , BIT ADDRESSABLE

 

SCON

 

 

SM0    :           SCON.7  Serial Port mode specifier

 

SM1    :           SCON.6  Serial Port mode specifier

 

SM2    :           SCON.5  

 

REN    :           SCON.4  Set/cleared by the  software to Enable/disable reception

 

TB8     :           SCON.3  The 9th bit that will be transmitted in modes 2 and 3, Set/cleared

                                         By software

 

RB8     :           SCON.2  In modes 2 &3, is the 9th data bit that was received. In mode 1,

                                        If SM2 = 0, RB8 is the stop bit that was received. In mode 0

                                        RB8 is not used

 

T1        :           SCON.1  Transmit interrupt flag. Set by hardware at the end of the 8th bit

                                        Time in mode 0, or at the beginning of the stop bit in the other

                                        Modes. Must be cleared by software

 

R1                    SCON.0 Receive interrupt flag. Set by hardware at the end of the 8th bit

                                       Time in mode 0, or halfway through the stop bit time in the other

                                        Modes. Must be cleared by the software.            

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCON        TIMER COUNTER CONTROL REGISTER

 

This is a bit addressable

 

TF1      TCON.7          Timer 1 overflow flag. Set by hardware when the Timer/Counter 1       

                                    Overflows. Cleared by hardware as processor

 

TR1     TCON.6          Timer 1 run control bit. Set/cleared by software to turn Timer

                                    Counter 1 On/off

 

TF0      TCON.5          Timer 0 overflow flag. Set by hardware when the timer/counter 0

                                    Overflows. Cleared by hardware as processor

 

TR0     TCON.4          Timer 0 run control bit. Set/cleared by software to turn timer

                                     Counter  0 on/off.

 

IE1       TCON.3          External interrupt 1 edge flag

 

ITI       TCON.2          Interrupt 1 type control bit

 

IE0       TCON.1          External interrupt 0 edge

 

IT0       TCON.0          Interrupt 0 type control bit.

 

- 8051 Instruction Set

 

Arithmetic Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ADD A,Rn       Add register to Accumulator (ACC).                            1          1

 

ADD A,direct   Add direct byte to ACC.                                              2          1

 

ADD A,@Ri    Add indirect RAM to ACC                  .                       1          1

 

ADD A,#data   Add immediate data to ACC                .                       2          1

 

ADDC A,Rn    Add register to ACC with carry                        .           1          1

 

ADDC A,direct            Add direct byte to ACC with carry.                  2          1

 

ADDC A,@Ri             Add indirect RAM to ACC with carry. 1          1

 

ADDC A,#data            Add immediate data to ACC with carry.           2          1

 

SUBB A,Rn     Subtract register from ACC with borrow.                      1          1

 

SUBB A,direct             Subtract direct byte from ACC with borrow      2          1

 

SUBB A,@Ri Subtract indirect RAM from ACC with borrow.            1          1

 

SUBB A,#data             Subtract immediate data from ACC with borrow.          2          1

 

INC A                         Increment ACC.                                                           1          1

 

INC Rn                       Increment register.                                            1          1

 

INC direct        Increment direct byte.                                                   2          1

 

INC @Ri         Increment indirect RAM.                                              1          1

 

DEC A                         Decrement ACC.                                             1          1

 

DEC Rn           Decrement register.                                                       1          1

 

DEC direct       Decrement direct byte.                                      2          1

 

DEC @Ri        Decrement indirect RAM.                                             1          1

 

INC DPTR      Increment data pointer.                                                 1          2         

 

MUL AB         Multiply A and B Result: A <- low byte, B <- high byte.            1          4

 

DIV AB           Divide A by B Result: A <- whole part, B <- remainder.            1          4

 

DA A               Decimal adjust ACC.                                                    1          1

 

 

 

Logical Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ANL A,Rn       AND Register to ACC.                                                            1          1

 

ANL A,direct   AND direct byte to ACC.                                                        2          1

 

ANL A,@Ri    AND indirect RAM to ACC.                                        1          1

 

ANL A,#data   AND immediate data to ACC.                                      2          1

 

ANL direct,A   AND ACC to direct byte.                                                        2          1

 

ANL direct,#data         AND immediate data to direct byte.                              3          2

 

ORL A,Rn       OR Register to ACC.                                                   1          1

 

ORL A,direct   OR direct byte to ACC.                                                           2          1

 

ORL A,@Ri     OR indirect RAM to ACC.                                           1          1

 

ORL A,#data   OR immediate data to ACC.                                         2          1

 

ORL direct,A   OR ACC to direct byte.                                                           2          1

 

ORL direct,#data         OR immediate data to direct byte.                                             3          2

 

XRL A,Rn        Exclusive OR Register to ACC.                                                1          1

 

XRL A,direct   Exclusive OR direct byte to ACC.                                            2          1

 

XRL A,@Ri     Exclusive OR indirect RAM to ACC.                            1          1

 

XRL A,#data   Exclusive OR immediate data to ACC.                          2          1

 

XRL direct,A   Exclusive OR ACC to direct byte.                                            2          1         

 

XRL direct,#data          XOR immediate data to direct byte.                              3          2

 

CLR A                         Clear ACC (set all bits to zero).                                    1          1

 

CPL A                         Compliment ACC.                                                        1          1

 

RL A                Rotate ACC left.                                                                      1          1

 

RLC A                         Rotate ACC left through carry.                         1          1

 

RR A               Rotate ACC right.                                                                   1          1

 

RRC A                         Rotate ACC right through carry.                                   1          1

 

SWAP A         Swap nibbles within ACC.                                                        1          1

 

 

 

Data Transfer

 

Mnemonic                    Description                                                                   Size      Cycles

 

MOV A,Rn                  Move register to ACC.                                     1          1

 

MOV A,direct              Move direct byte to ACC.                                                        2          1

 

MOV A,@Ri               Move indirect RAM to ACC.                                       1          1

 

MOV A,#data              Move immediate data to ACC.                         2          1

 

MOV Rn,A                  Move ACC to register.                                     1          1

 

MOV Rn,direct                        Move direct byte to register.                             2          2

 

MOV Rn,#data                        Move immediate data to register.                      2          1

 

MOV direct,A              Move ACC to direct byte.                                2          1

 

MOV direct,Rn                        Move register to direct byte.                             2          2

 

MOV direct,direct        Move direct byte to direct byte.                                    3          2

 

MOV direct,@Ri         Move indirect RAM to direct byte.                               2          2

 

MOV direct,#data        Move immediate data to direct byte.                             3          2

 

MOV @Ri,A               Move ACC to indirect RAM.                                       1          1

 

MOV @Ri,direct         Move direct byte to indirect RAM.                               2          2

 

MOV @Ri,#data                     Move immediate data to indirect RAM. 2          1

 

MOV DPTR,#data16   Move immediate 16 bit data to data pointer register.      3          2

 

MOVC A,@A+DPTR             Move code byte relative to DPTR to ACC (16 bit address).     1          2

 

MOVC A,@A+PC      Move code byte relative to PC to ACC (16 bit address).1        2

 

MOVX A,@Ri                        Move external RAM to ACC (8 bit address).   1          2

 

MOVX A,@DPTR      Move external RAM to ACC (16 bit address). 1          2

 

MOVX @Ri,A                        Move ACC to external RAM (8 bit address).   1          2

 

MOVX @DPTR,A      Move ACC to external RAM (16 bit address). 1          2

 

PUSH direct                 Push direct byte onto stack.                                          2          2

 

POP direct                   Pop direct byte from stack.                                           2          2

 

XCH A,Rn                   Exchange register with ACC.                                        1          1

 

XCH A,direct               Exchange direct byte with ACC.                                   2          1

 

XCH A,@Ri                Exchange indirect RAM with ACC.                              1          1

 

XCHD A,@Ri                         Exchange low order nibble of indirect

RAM with low order nibble of ACC                             1          1

 

Boolean Variable Manipulation

 

Mnemonic                    Description                                                       Size      Cycles

 

CLR C                                     Clear carry flag.                                    1          1

 

CLR bit                                    Clear direct bit.                         2          1

 

SETB C                       Set carry flag.                                                              1          1

 

SETB                           bitSet direct bit                                                  2         1

 

CPL C                                     Compliment carry flag.                          1          1

 

CPL bit                                    Compliment direct bit.                           2          1

 

ANL C,bit        AND direct bit to carry flag.                                                     2          2

 

ANL C,/bit       AND compliment of direct bit to carry.                         2          2

 

ORL C,bit        OR direct bit to carry flag.                                                        2          2

 

ORL C,/bit       OR compliment of direct bit to carry.                                        2          2

 

MOV C,bit      Move direct bit to carry flag.                                                     2          1

 

MOV bit,C      Move carry to direct bit.                                                           2          2

 

JC rel               Jump if carry is set.                                                                   2          2

 

JNC rel                        Jump if carry is not set.                                     2          2

 

JB bit,rel           Jump if direct bit is set.                                                  3          2

 

JNB bit,rel        Jump if direct bit is not set.                                                        3          2

 

JBC bit,rel        Jump if direct bit is set & clear bit.                                             3          2

 

 

Program Branching

 

Mnemonic        Description                                                                               Size      Cycles

 

ACALL                       addr11            Absolute subroutine call.                       2          2

 

LCALL                        addr16             Long subroutine call.                             3          2

 

RET                 Return from subroutine.                                                 1          2

 

RETI                Return from interrupt.                                                                1          2

 

AJMP addr11 Absolute jump.                                                             2          2

 

LJMP addr16   Long jump.                                                                               3          2

 

SJMP rel          Short jump (relative address).                                                   2          2

 

JMP @A+DPTR         Jump indirect relative to the DPTR.                               1          2

 

JZ rel                Jump relative if ACC is zero.                                                     2          2

 

JNZ rel                         Jump relative if ACC is not zero.                                   2          2

 

CJNE A,direct,rel         Compare direct byte to ACC and jump if not equal.      3          2

 

CJNE A,#data,rel         Compare immediate byte to ACC and jump if not equal.3         2

 

CJNE Rn,#data,rel       Compare immediate byte to register and jump if not equal.3       2

 

CJNE @Ri,#data,rel    Compare immediate byte to indirect and jump if not equal.3       2

 

DJNZ Rn,rel     Decrement register and jump if not zero.                                    2          2

 

DJNZ direct,rel            Decrement direct byte and jump if not zero.                   3          2

 

 

 

Other Instructions

 

Mnemonic        Description       Size      Cycles

 

NOP    No operation.   1          1

 

 

 

 

 

 

 

 

component

qty

rate

IC89C051,

 

1

60

ULN2003, 

 

1

30

Diodes in4001,

 

4

1

IC 7805

1

15

Optocoupler PC817

 

4

12

Tr548

4

3

Tr 558

4

3

Motors 12v

2

250

IC base 20 pin

1

10

Crystal 12 Mhz

1

25

Resiatncec 10k

4

.25

4k

4

.25

Cap 10µf

1

5

Connecting wires

1

20

Ir sensors

3

120

 

·        Software:-

Keil compiler or UMPS for programming

Window xp

 

 

 

 

 

 

 

us to communicate with the vast 3 control lines as well as either 4 or 8 I/O lines for the data bus. The user may select whether the LCD is to operate with a 4-bit data bus or an 8-bit data bus. If a 4-bit data bus is used, the LCD The 44780 standard requires 3 control lines as well as either 4 or 8 I/O lines for the data bus. The user may select whether the LCD is to operate with a 4-bit data bus or an 8-bit data bus. If a 4-bit data bus is used, the LCD will require a total of 7 data lines (3 control lines plus the 4 lines for the data bus). If an 8-bit data bus is used, the LCD will require a total of 11 data lines (3 control lines plus the 8 lines for the data bus).

The three control lines are referred to as EN, RS, and RW.

 will require a total of 7 data lines (3 control lines plus the 4 lines for the data bus). If an 8-bit data bus is used, the LCD will require a total of 11 data lines (3 control lines plus the 8 lines for the data bus).

The three control lines are referred to as EN, RS, and RW.

The EN line is called "Enable." This control line is used to tell the LCD that you are sending it data. To send data to the LCD, your program should first set this line high (1) and then set the other two control lines and/or put data on the data bus. When the other lines are completely ready, bring EN low (0) again. The 1-0 transition tells the 44780 to take the data currently found on the other control lines and on the data bus and to treat it as a command.

The RS line is the "Register Select" line. When RS is low (0), the data is to be treated as a command or special instruction (such as clear screen, position cursor, etc.). When RS is high (1), the data being sent is text data which should be displayed on the screen. For example, to display the letter "T" on the screen you would set RS high.

The RW line is the "Read/Write" control line. When RW is low (0), the information on the data bus is being written to the LCD. When RW is high (1), the program is effectively querying (or reading) the LCD. Only one instruction ("Get LCD status") is a read command. All others are write commands--so RW will almost always be low.

Finally, the data bus consists of 4 or 8 lines (depending on the mode of operation selected by the user). In the case of an 8-bit data bus, the lines are referred to as DB0, DB1, DB2, DB3, DB4, DB5, DB6, and DB7.

 

Fortunately, a very popular standard exists which allows us to communicate with the vast majority of data from an external source (in this case, the 8051) and communicates directly with the LCD.

 

 

 

 

 

 

 

 

I

atic Showing Column of Laser Light Leaving Optical Oscillator

 

 

COMPONENT DESCRIPTION

 

TRANSFORMER

 

 

Transformer works on the principle of mutual inductance. We know that if two coils or windings are placed on the core of iron, and if we pass alternating current in one winding, back emf or induced voltage is produced in the second winding. We know that alternating current always changes with the time. So if we apply AC voltage across one winding, a voltage will be induced in the other winding. Transformer works on this same principle. It is made of two windings wound around the same core of iron. The winding to which AC voltage is applied is called primary winding. The other winding is called as secondary winding.

                

Voltage and current relationship:

 

Let V1 volts be input alternating voltage applied to primary winding. I1 Amp is input alternating current through primary winding. V2 volt is output alternating voltage produced in the secondary. I2 amp be the current flowing through the secondary.

 

Then relationship between input and output voltages is given by

V1/V2 = N1/N2

 

Relationship between input and output currents is

I1/I2 = N2/N1

(Where N1 is no. of  turns of coil in primary and N2 is number of turns in secondary )

 

We know that Power = Current X Voltage. It is to be noted that input power is equal to output power. Power is not changed. If V2 is greater than V1, then I2 will be less than I1. This type of transformer is called as step up transformer. If V1 is

 

greater than V2, then I1 will be less than I2. This type of transformer is called as step down transformer.

For step up transformer, N2>N1, i.e., number of turns of secondary winding is more than those in primary.

For step down transformer, N1>N2, i.e., numbers of turns of primary winding is more than those in secondary.

 

 

 

The flow of charge (or current) through any material, encounters an opposing force similar in many respect to mechanical friction. This opposing force is called resistance of the material. It is measured in ohms.  In some electric circuits resistance is deliberately introduced in the form of the resistor.

Resistors are of following types:

1.      Wire wound resistors.

2.      Carbon resistors.

3.      Metal film resistors.

 

Wire Wound Resistors:

 

Wire wound resistors are made from a long (usually Ni-Chromium) wound on a ceramic core. Longer the length of the wire, higher is the resistance. So depending on the value of resistor required in a circuit, the wire is cut and wound on a ceramic core. This entire assembly is coated with a ceramic metal. Such resistors are generally available in power of 2 watts to several hundred watts and resistance values from 1ohm to 100k ohms. Thus wire wound resistors are used for high currents.

 

Carbon Resistors:

 

Carbon resistors are divided into three types:

a.       Carbon composition resistors are made by mixing carbon grains with  

      binding material (glue) and moduled in the form of rods. Wire leads

      are inserted at the two ends. After this an insulating material seals the

      resistor. Resistors are available in power ratings of 1/10, 1/8, 1/4 ,

      1/2 , 1.2 watts and values from 1 ohm to 20 ohms.

b.      Carbon film resistors are made by deposition carbon film on a ceramic         

rod. They are cheaper than carbon composition resistors.

c.       Cement film resistors are made of thin carbon coating fired onto a

      solid ceramic substrate. The main purpose is to have more precise

      resistance values and greater stability with heat. They are made in a

      small square with leads.

 

Metal Film Resistors:

 

They are also called thin film resistors. They are made of a thin metal   coating deposited on a cylindrical insulating support. The high resistance values are not precise in value; however, such resistors are free of inductance effect that is common in wire wound resistors at high frequency.

 

Variable Resistors:

 

Potentiometer is a resistor where values can be set depending on the requirement. Potentiometer is widely used in electronics systems. Examples are volume control, tons control, brightness and contrast control of radio or T.V. sets.

 

Fusible Resistors:

 

These resistors are wire wound type and are used in T.V. circuits for protection. They have resistance of less than 15 ohms. Their function is similar to a fuse made to blow off whenever current in the circuit exceeds the limit.

 

Resistance of a wire is directly proportional to its length and inversely proportional to its thickness.

 

             R     L   

             R     1/A 

 

 

 

 

 

 

 

 


 

 COLOUR CODES 

 

COLOUR

NUMBER

MULTIPLIER

COLOUR

TOLERANCE

Black                                

Brown

Red

Orange

Yellow

Green

Blue

Violet

Grey

White

Gold

Silver

      0

      1

      2

      3

      4

      5

      6

      7

      8

      9

 

       100

        101

        102    

        103

        104

        105

        106

        107

        108

        109

        10-1

        10-2

    

Gold

Silver

No colour

      5%

       10%

       20%

 

 

CAPACITORS

 

A capacitor can store charge, and its capacity to store charge is called capacitance. Capacitors consist of two conducting plates, separated by an insulating material (known as dielectric). The two plates are joined with two leads. The dielectric could be air, mica, paper, ceramic, polyester, polystyrene, etc.  This dielectric gives name to the capacitor. Like paper capacitor, mica capacitor etc.

 

 

Types of capacitors:

 

 

 

Capacitors can be broadly classified in two categories, i.e., Electrolytic capacitors and Non-Electrolytic capacitors as shown if the figure above.

 

 

 

Electrolytic Capacitor:

 

Electrolytic capacitors have an electrolyte as a dielectric. When such an electrolyte is charged, chemical changes takes place in the electrolyte. If its one plate is charged positively, same plate must be charged positively in future. We call such capacitors as polarized. Normally we see electrolytic capacitor as polarized capacitors and the leads are marked with positive or negative on the can. Non-electrolyte capacitors have dielectric material such as paper, mica or ceramic. Therefore, depending upon the dielectric, these capacitors are classified.

 

Mica Capacitor:

 

It is sandwich of several thin metal plates separated by thin sheets of mica. Alternate plates are connected together and leads attached for outside connections. The total assembly is encased in a plastic capsule or Bakelite case. Such capacitors have small capacitance value (50 to 500pf) and high working voltage (500V and above). The mica capacitors have excellent characteristics under stress of temperature variation and high voltage application. These capacitors are now replaced by ceramic capacitors.

 

Ceramic Capacitor:

 

Such capacitors have disc or hollow tabular shaped dielectric made of ceramic material such as titanium dioxide and barium titanate. Thin coating of silver compounds is deposited on both sides of dielectric disc, which acts as capacitor plates. Leads are attached to each sides of the  dielectric disc and whole unit is encapsulated in a moisture proof coating. Disc type capacitors have very high value up to 0.001uf. Their working voltages range from 3V to 60000V. These capacitors have very low leakage current. Breakdown voltage is very high.

 

 

Paper Capacitor:

 

It consists of thin foils, which are separated by thin paper or waxed paper. The sandwich of foil and paper is then rolled into a cylindrical shape and enclosed in a paper tube or encased in a plastic capsules. The lead at each end of the capacitor is internally attached to the metal foil. Paper capacitors have capacitance ranging from 0.0001uf to 2.0uf and working voltage rating as high as 2000V.

 

 

 

 

 

THE DIODE

 

Diodes are polarized, which means that they must be inserted into the PCB the correct way round. This is because an electric current will only flow through them in one direction (like air will only flow one way trough a tyre valve). Diodes have two connections, an anode and a cathode. The cathode is always identified by a dot, ring or some other mark.

 

 

 

The PCB is often marked with a +sign for the cathode end. Diodes come in all shapes and sizes. They are often marked with a type number. Detailed characteristics of a diode can be found by looking up the type number in a data book. If you know how to measure resistance with a meter then test some diodes. A good one has low resistance in one direction and high in other. They are specialized types of diode available such as the zener and light emitting diode (LED).

 

 

 

 

 

SYMBOLS OF DIFFERENT DIODES

               anode                        cathode

                          simple

 

 

 

IC

 

IC (Integrated Circuit) means that all the components of the circuit are fabricated on same chip. Digital ICs are a collection of resistors, diodes, and transistors fabricated on a single piece of semiconductor, usually silicon called a substrate, which is commonly referred to as ‘wafer’. The chip is enclosed in a protective plastic or ceramic package from which pins extend out connecting the IC to other device. Suffix N or P stands for dual-in-line (plastic package (DIP)) while suffix J or I stands for dual-in-lime ceramic package. Also the suffix for W stands for flat ceramic package.

 

The pins are numbered counter clockwise when viewed from the top of the package with respect to an identity notch or dot at one end of the chip.The manufacturer’s name can usually be guessed from its logo that is printed on the IC. The IC type number also indicates the manufacturer’s code. For e.g. DM 408 N SN 7404 indicates National Semiconductor and Texas Instruments.

 

Other examples are:

            Fair Child                               : UA, UAF

            National Semiconductor       : DM, LM, LH, LF, and TA.

            Motorola                                : MC, MFC.

            Sprague                                   : UKN, ULS, ULX.

            Signetic                                  : N/s, NE/SE, and SU.

            Burr-Brown                            : BB.

            Texas Instruments                 : SN.

 

The middle portion i.e. the IC type number tells about the IC function and also the family, which the particular IC belongs to.IC’s that belongs to standard TTL series have an identification number that starts with 74; for e.g. 7402, 74LS04, 74S04 etc. IC’s that belongs to standard CMOS family their number starts with 4, like 4000, 451B, 4724B, 1400. The 74C, 74HC, 74AC & 74ACT series are newer CMOS series.

 

Various series with TTL logic family are:-

 

            Standard TTL 74.

            Schottky TTL 74s.

            Low power Schottky 74LS.

            Advance Schottky 74AS.

            Advanced Low Power Schottky 74ALs.

 

Also there are various series with CMOS logic family as metal state CMOS 40 or 140.

 

 

 

 

Power Supply

 

For TTL circuits, the power supply pin is labeled Vcc and its nominal value.

For CMOS ICs, the power supply pin is labeled as VDD & its nominal value range from T3 to 18V.

 

Unconnected Inputs

 

An unconnected input is called “floating input”. The floating TTL input acts as logic 1. High level is applied to it. This characteristic is often used when

 

testing a TTL circuit. A floating TTL input will measure a DC level between 1.4V to 1.8V when checked with VOM as oscilloscope. If a CMOS input is left floating, it may have disastrous results. The IC may become overheated and eventually destroy itself. For this reason, all inputs to CMOS circuit must be connected to a LOW or HIGH level or to the output of another IC.

 

 

RELAYS

 

A relay is an electrically operated switch. The relay contacts can be made to operate in the pre-arranged fashion. For instance, normally open contacts close and normally closed contacts open. In electromagnetic relays, the contacts however complex they might be, they have only two position i.e. OPEN and CLOSED, whereas in case of electromagnetic switches, the contacts can have multiple positions.

 

NEED FOR THE USE OF RELAY

 

The reason behind using relay for switching loads is to provide complete electrical isolation. The means that there is no electrical connection between the driving circuits and the driven circuits. The driving circuit may be low voltage operated low power circuits that control several kilowatts of power. In our circuit where a high fan could be switched on or off depending upon the output from the telephone.

Since the relay circuit operated on a low voltage, the controlling circuit is quite safe. In an electromagnetic relay the armature is pulled by a magnetic force only. There is no electrical connection between the coil of a relay and the switching contacts of the relay. If there are more than one contact they all are electrically isolated from each other by mounting them on insulating plates and washers. Hence they can be wired to control different circuits independently.

Some of the popular contacts forms are described below:

     1.  Electromagnetic relay

2.      Power Relay.

3.      Time Delay Relay.

4.      Latching Relay.

5.      Crystal Can Relay.

6.      Co-axial Relay.

 

 

 

 

1. Electromagnetic relay:

 

An electromagnetic relay in its simplest form consists of a coil, a DC current passing through which produces a magnetic field. This magnetic field attracts an armature, which in turn operates the contacts. Normally open contacts close and normally closed contacts open. Electromagnetic relays are made in a large variety of contacts forms.

 

2. Power relays:

 

Power relays are multi-pole heavy duty lapper type relays that are capable of switching resistive loads of upto 25amp.. These relays are widely used for a variety of industrial application like control of fractional horse power motors, solenoids, heating elements and so on. These relays usually have button like silver alloy contacts and the contact welding due to heavy in rush current is avoided by wiping action of the contacts to quench the arc during high voltage DC switching thus avoiding the contact welding.

 

3. Time Delay Relay:

 

A time delay relay is the one in which there is a desired amount of time delay between the application of the actuating signal and operation of the load switching devices.

 

 

 

 

 

 

4. Latching Relay:

 

 In a Latching Relay, the relay contacts remain in the last energized position even after removal of signal in the relay control circuit. The contacts are held in the last relay-energized position after removal of energisation either electrically or magnetically. The contacts can be released to the normal position electrically or mechanically.

 

5. Crystal Can Relay:

 

They are so called, as they resemble quartz crystal in external shapes. These are high performance hermetically sealed miniature or sub-miniature relay widely used in aerospace and military application. These relays usually have gold plated contacts and thus have extremely low contact resistance. Due to low moment of inertia of the armature and also due to statically and dynamically balanced nature of armature, these relays switch quite reliably even under extreme condition of shock and vibration.

 

6. Co-axial Relay:

 

A Co-axial Relay has two basic parts, an actuator which is nothing but some kind of a coil and a cavity, housing the relay contacts. The co-axial relay are extensively used for radio frequency switching operations of equipment

 

 

 

 

 

Junction transistors consists of two junctions made from N-type and P-type semiconductor materials and are called bipolar transistors (two polarities). They have three connections emitter, base, and collector.

 

 

 

The forward biased base/emitter junction causes electrons to be attracted from the emitter area towards the base. Arriving in the base area, most of the negative electrons come under the influence of the more positive collector and are attracted by it. This is shown in the left hand drawing, where the base current plus collector current equals the emitter current. Alpha gain is collector current divided by emitter current, and is always less than 1. Beta gain is collector current divided by base current and can be fairly high number. Therefore, causing a small base current to flow makes a much larger collector current to flow. A small base current controls a large collector current. There is 0.6 volts across the base\emitter junction, where it is forward biased (0.3 volts for germanium).

How to control sensors

 

What is a voltage divider?

You are going to find out but don't be in too much of a hurry. Work through the Chapter and allow the explanation to develop.

The diagram below shows a light dependent resistor, or LDR, together with its circuit symbol:

 

 

The light-sensitive part of the LDR is a wavy track of Suppose the LDR has a resistance of 500 , 0.5 , in bright light, and 200 in the shade (these values are reasonable).

When the LDR is in the light, Vout will be:

 

 

A sensor subsystem which functions like this could be thought of as a 'dark sensor' and could be used to control lighting circuits which are switched on automatically in the evening.

Perhaps this does not seem terribly exciting, but almost every sensor circuit you can think of uses a voltage divider. There's just no other way to make sensor subsystems work.

Here is the voltage divider built with the LDR in place of Rtop :

 

 

Temperature sensors

A temperature-sensitive resistor is called a thermistor. There are several different types:

 

 

The resistance of most common types of thermistor decreases as the temperature rises. They are called negative temperature coefficient, or ntc, thermistors. Note the -t° next to the circuit symbol. A typical ntc thermistor is made using semiconductor metal oxide materials. (Semiconductors have resistance properties midway between those of conductors and insulators.) As the temperature rises, more charge carriers become available and the resistance falls.

Although less often used, it is possible to manufacture positive temperature coefficient, or ptc, thermistors. These are made of different materials and show an increase in resistance with temperature.

How could you make a sensor circuit for use in a fire alarm? You want a circuit which will deliver a HIGH voltage when hot conditions are detected. You need a voltage divider with the ntc thermistor in the Rtop position:

 

 

 

How could you make a sensor circuit to detect temperatures less than 4°C to warn motorists that there may be ice on the road? You want a circuit which will give a HIGH voltage in cold conditions. You need a voltage divider with the thermistor in place of Rbottom :

 

 

This last application raises an important question: How do you know what value of Vout you are going to get at 4°C?

 

 

Key point: The biggest change in Vout from a voltage divider is obtained when Rtop and Rbottom are equal in value

 

Sound sensors

 

 

 

 

Another name for a sound sensor is a microphone. The diagram shows a cermet microphone:

 

Cermet' stands for 'ceramic' and 'metal'. A mixture of these materials is used in making the sound-sensitive part of the microphone. To make them work properly, cermet microphones need a voltage, usually around 1.5 V across them. A suitable circuit for use with a 9 V supply is:

 

 

The 4.7 and the 1 resistors make a voltage divider which provides 1.6 V across the microphone. Sound waves generate small changes in voltage, usually in the range 10-20 mV. To isolate these small signals from the steady 1.6 V, a capacitor is used.

Signals from switches

When a switch is used to provide an input to a circuit, pressing the switch usually generates a voltage signal. It is the voltage signal which triggers the circuit into action. What do you need to get the switch to generate a voltage signal? . . . You need a voltage divider. The circuit can be built in either of two ways:

 

The pull down resistor in the first circuit forces Vout to become LOW except when the push button switch is operated. This circuit delivers a HIGH voltage when the switch is pressed. A resistor value of 10 is often used.

In the second circuit, the pull up resistor forces Vout to become HIGH except when the switch is operated. Pressing the switch connects Vout directly to 0 V. In other words, this circuit delivers a LOW voltage when the switch is pressed.

In circuits which process logic signals, a LOW voltage is called 'logic 0' or just '0', while a HIGH voltage is called 'logic1' or '1'. These voltage divider circuits are perfect for providing input signals for logic systems.

What kinds of switches could you use. One variety of push button switch is called a miniature tactile switch. These are small switches which work well with prototype board:

 

 

As you can see, the switch has four pins which are linked in pairs by internal metal strips. Pressing the button bridges the contacts and closes the switch. The extra pins are useful in designing printed circuit boards for keyboard input and also stop the switch from being moved about or bent once soldered into position.

There are lots of other switches which you might want to use in a voltage divider configuration. These include magnetically-operated reed switches, tilt switches and pressure pads, all with burglar alarm applications.

 

 

 

 

 

REMOTE CONTROLLED
CAR

 

Introduction

In this  project we will control the car with keypad. We will use Microswitches for controlling car-.Switches willl be four. One for left,right, forward and backward. To control the motors we will use L293D IC or H bridge circuit for amplification , because output current of microcontroller is not sufficient to drive the motors. In this way we can control big machines in industry and can get précised goods. Robotics as we know is combination of electronics+software+ Mechanical. We will direactly give input from remote to microcontroller. Microocontroller default output is low.

. In this project we use two slow speed motor for running the platform of the small robot. In this project we use 89c51 microcontroller as a main processor. One connection of switches connected with microcontroller and other with ground. When we press any key then we give low signal to mircontroller.

Motor is not directly connected with the microcontroller. For the safety of the main processor we interface the motor with optocoupler circuit. Here we use pc 817 ( 4 pin opto coupler) to interface the micro controller with  the motor circuit. We use H bridge circuit with the motor. H bridge basically control the movement of the motor. With the help of this H bridge we change the direction of the motor. We use four transistor circuit with each motor. We are using four transistor circuit. Out of these four transistor  two transistor is NPN and two transistor and PNP transistor.  One NPN and One PNP provide a one direction voltage and motor moves on one direction. Second NPN and second PNP transistor again change the direction of the motor automatically.

 

 

 

 

MCU 89c2051

Crystal 11.592 MHz- 1 nos.

On/off Switch- 1 nos.

Diodes IN 4001- 10 nos.

Optocoupler 817- 2nos.

Cap 10µf,0.1 µf,330µf

Transistors -547or 548

Resistances 330 Ω,8.2kΩ,30pf

LED

IC7805  voltage Regulator

Motors dc

Infrared sensors set

Copper Clad board

Ply board

Ferric Chloride

Wires

Soldering iron

Soldering wire

Flux

 

Universal Programmer

 

Software Required

UMPS

ORCAD

Sprog-VX

 

 

 

 

 

 

- 8051 Instruction Set

 

Arithmetic Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ADD A,Rn       Add register to Accumulator (ACC).                            1          1

 

ADD A,direct   Add direct byte to ACC.                                                          2          1

 

ADD A,@Ri    Add indirect RAM to ACC                  .                       1          1

 

ADD A,#data   Add immediate data to ACC                .                       2          1

 

ADDC A,Rn    Add register to ACC with carry                        .                       1          1

 

ADDC A,direct            Add direct byte to ACC with carry.                                          2          1

 

ADDC A,@Ri             Add indirect RAM to ACC with carry.                         1          1

 

ADDC A,#data            Add immediate data to ACC with carry.                                   2          1

 

SUBB A,Rn     Subtract register from ACC with borrow.                                  1          1

 

SUBB A,direct             Subtract direct byte from ACC with borrow                              2          1

 

SUBB A,@Ri Subtract indirect RAM from ACC with borrow.                        1          1

 

SUBB A,#data             Subtract immediate data from ACC with borrow.                      2          1

 

INC A                         Increment ACC.                                                                       1          1

 

INC Rn                       Increment register.                                                        1          1

 

INC direct        Increment direct byte.                                                   2          1

 

INC @Ri         Increment indirect RAM.                                                          1          1

 

DEC A                         Decrement ACC.                                                                     1          1

 

DEC Rn           Decrement register.                                                       1          1

 

DEC direct       Decrement direct byte.                                                  2          1

 

DEC @Ri        Decrement indirect RAM.                                                         1          1

 

INC DPTR      Increment data pointer.                                                 1          2         

 

MUL AB         Multiply A and B Result: A <- low byte, B <- high byte.            1          4

 

DIV AB           Divide A by B Result: A <- whole part, B <- remainder.            1          4

 

DA A               Decimal adjust ACC.                                                    1          1

 

 

 

Logical Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ANL A,Rn       AND Register to ACC.                                                            1          1

 

ANL A,direct   AND direct byte to ACC.                                                        2          1

 

ANL A,@Ri    AND indirect RAM to ACC.                                        1          1

 

ANL A,#data   AND immediate data to ACC.                                      2          1

 

ANL direct,A   AND ACC to direct byte.                                                        2          1

 

ANL direct,#data         AND immediate data to direct byte.                              3          2

 

ORL A,Rn       OR Register to ACC.                                                   1          1

 

ORL A,direct   OR direct byte to ACC.                                                           2          1

 

ORL A,@Ri     OR indirect RAM to ACC.                                           1          1

 

ORL A,#data   OR immediate data to ACC.                                         2          1

 

ORL direct,A   OR ACC to direct byte.                                                           2          1

 

ORL direct,#data         OR immediate data to direct byte.                                             3          2

 

XRL A,Rn        Exclusive OR Register to ACC.                                                1          1

 

XRL A,direct   Exclusive OR direct byte to ACC.                                            2          1

 

XRL A,@Ri     Exclusive OR indirect RAM to ACC.                            1          1

 

XRL A,#data   Exclusive OR immediate data to ACC.                          2          1

 

XRL direct,A   Exclusive OR ACC to direct byte.                                            2          1         

 

XRL direct,#data          XOR immediate data to direct byte.                                          3          2

 

CLR A                         Clear ACC (set all bits to zero).                                                1          1

 

CPL A                         Compliment ACC.                                                        1          1

 

RL A                Rotate ACC left.                                                                      1          1

 

RLC A                         Rotate ACC left through carry.                                     1          1

 

RR A               Rotate ACC right.                                                        1          1

 

RRC A                         Rotate ACC right through carry.                                                           1          1

 

SWAP A         Swap nibbles within ACC.                                                                    1          1

 

 

 

Data Transfer

 

Mnemonic                    Description                                                                   Size      Cycles

 

MOV A,Rn                  Move register to ACC.                                                 1          1

 

MOV A,direct              Move direct byte to ACC.                                                        2          1

 

MOV A,@Ri               Move indirect RAM to ACC.                                       1          1

 

MOV A,#data              Move immediate data to ACC.                                     2          1

 

MOV Rn,A                  Move ACC to register.                                                 1          1

 

MOV Rn,direct                        Move direct byte to register.                                         2          2

 

MOV Rn,#data                        Move immediate data to register.                                              2          1

 

MOV direct,A              Move ACC to direct byte.                                                        2          1

 

MOV direct,Rn                        Move register to direct byte.                                         2          2

 

MOV direct,direct        Move direct byte to direct byte.                                                3          2

 

MOV direct,@Ri         Move indirect RAM to direct byte.                                           2          2

 

MOV direct,#data        Move immediate data to direct byte.                             3          2

 

MOV @Ri,A               Move ACC to indirect RAM.                                       1          1

 

MOV @Ri,direct         Move direct byte to indirect RAM.                                           2          2

 

MOV @Ri,#data                     Move immediate data to indirect RAM.                         2          1

 

MOV DPTR,#data16   Move immediate 16 bit data to data pointer register.                  3          2

 

MOVC A,@A+DPTR             Move code byte relative to DPTR to ACC (16 bit address).     1          2

 

MOVC A,@A+PC      Move code byte relative to PC to ACC (16 bit address).          1          2

 

MOVX A,@Ri                        Move external RAM to ACC (8 bit address).                           1          2

 

MOVX A,@DPTR      Move external RAM to ACC (16 bit address).             1          2

 

MOVX @Ri,A                        Move ACC to external RAM (8 bit address).                           1          2

 

MOVX @DPTR,A      Move ACC to external RAM (16 bit address).             1          2

 

PUSH direct                 Push direct byte onto stack.                                          2          2

 

POP direct                   Pop direct byte from stack.                                           2          2

 

XCH A,Rn                   Exchange register with ACC.                                        1          1

 

XCH A,direct               Exchange direct byte with ACC.                                               2          1

 

XCH A,@Ri                Exchange indirect RAM with ACC.                                          1          1

 

XCHD A,@Ri                         Exchange low order nibble of indirect

RAM with low order nibble of ACC                             1          1

 

Boolean Variable Manipulation

 

Mnemonic                    Description                                                                   Size      Cycles

 

CLR C                                     Clear carry flag.                                                                        1          1

 

CLR bit                                    Clear direct bit.                                                             2          1

 

SETB C                       Set carry flag.                                                              1          1

 

SETB                           bitSet direct bit                                                             2          1

 

CPL C                                     Compliment carry flag.                                                  1          1

 

CPL bit                                    Compliment direct bit.                                                   2          1

 

ANL C,bit        AND direct bit to carry flag.                                                     2          2

 

ANL C,/bit       AND compliment of direct bit to carry.                                     2          2

 

ORL C,bit        OR direct bit to carry flag.                                                                    2          2

 

ORL C,/bit       OR compliment of direct bit to carry.                                        2          2

 

MOV C,bit      Move direct bit to carry flag.                                                     2          1

 

MOV bit,C      Move carry to direct bit.                                                                       2          2

 

JC rel               Jump if carry is set.                                                                   2          2

 

JNC rel                        Jump if carry is not set.                                                             2          2

 

JB bit,rel           Jump if direct bit is set.                                                              3          2

 

JNB bit,rel        Jump if direct bit is not set.                                                        3          2

 

JBC bit,rel        Jump if direct bit is set & clear bit.                                                         3          2

 

 

Program Branching

 

Mnemonic        Description                                                                               Size      Cycles

 

ACALL                       addr11            Absolute subroutine call.                                                           2          2

 

LCALL                        addr16             Long subroutine call.                                                     3          2

 

RET                 Return from subroutine.                                                             1          2

 

RETI                Return from interrupt.                                                                1          2

 

AJMP addr11 Absolute jump.                                                                         2          2

 

LJMP addr16   Long jump.                                                                               3          2

 

SJMP rel          Short jump (relative address).                                                   2          2

 

JMP @A+DPTR         Jump indirect relative to the DPTR.                                                       1          2

 

JZ rel                Jump relative if ACC is zero.                                                     2          2

 

JNZ rel                         Jump relative if ACC is not zero.                                                           2          2

 

CJNE A,direct,rel         Compare direct byte to ACC and jump if not equal.                  3          2

 

CJNE A,#data,rel         Compare immediate byte to ACC and jump if not equal.           3          2

 

CJNE Rn,#data,rel       Compare immediate byte to register and jump if not equal.         3          2

 

CJNE @Ri,#data,rel    Compare immediate byte to indirect and jump if not equal.         3          2

 

DJNZ Rn,rel     Decrement register and jump if not zero.                                                2          2

 

DJNZ direct,rel            Decrement direct byte and jump if not zero.                                           3          2

 

 

 

 

 

Table of Contents

 

 

 

1.                 Acknowledgements.

2.                 Certificate.

3.                 Introduction to the Project.

4.                 Circuit Diagram.

5.                 Component List.

6.                 Hardware

a.        Power Supply for the circuit.

b.        Integrated Circuits.

c.         Transistors.

d.        Diode.

e.        Relays.

f.          Transformer.

g.        Resistors.

h.        Capacitors.

 

7.                 Project Working.

8.                 Project Synopsis.

9.                 Bibliography.

 

Figure 6 - Schem WELCOME TO THE WORLD OF THE MICROCONTROLLERS.

 

Look around. Notice the smart “intelligent” systems? Be it the T.V, washing machines, video games, telephones, automobiles, aero planes, power systems, or any application having a LED or a LCD as a user interface, the control is likely to be in the hands of a micro controller!

Measure and control, that’s where the micro controller is at its best.

Micro controllers are here to stay. Going by the current trend, it is obvious that micro controllers will be playing bigger and bigger roles in the different activities of our lives.

 

These embedded chips are very small, but are designed to replace components  much bigger and bulky In size. They process information very intelligently and efficiently. They sense the environment around them. The signals they gather are tuned into digital data that streams through tributaries of circuit lines at the speed of light. Inside the microprocessor collates and calculators. The software has middling intelligence. Then in a split second, the processed streams are shoved out.

 

What is the primary difference between a microprocessor and a micro controller?

 

 Unlike the microprocessor, the micro controller can be considered to be a true “Computer on a chip”.

In addition to the various features like the ALU, PC, SP and registers found on a microprocessor, the micro controller also incorporates features like the ROM, RAM, Ports, timers, clock circuits, counters, reset functions etc.


 

 

 

While the microprocessor is more a general-purpose device, used for read, write and calculations on data, the micro controller, in addition to the above functions also controls the environment.

 

 

 

 

8051 micro controller

 

The 8051

The 8051 developed and launched in the early 80`s, is one of the most popular micro controller in use today. It has a reasonably large amount of built in ROM and RAM. In addition it has the ability to access external memory.

The generic term `8x51` is used to define the device. The value of x defining the kind of ROM, i.e. x=0, indicates none, x=3, indicates mask ROM, x=7, indicates EPROM and x=9 indicates EEPROM or Flash.

A note on ROM

The early 8051, namely the 8031 was designed without any ROM. This device could run only with external memory connected to it. Subsequent developments lead to the development of the PROM or the programmable ROM. This type had the disadvantage of being highly unreliable.

The next in line, was the EPROM or Erasable Programmable ROM. These devices used ultraviolet light erasable memory cells. Thus a program could be loaded, tested and erased using ultra violet rays. A new program could then be loaded again.

An improved EPROM was the EEPROM or the electrically erasable PROM. This does not require ultra violet rays, and memory can be cleared using circuits within the chip itself.

Finally there is the FLASH, which is an improvement over the EEPROM. While the terms EEPROM and flash are sometimes used interchangeably, the difference lies in the fact that flash erases the complete memory at one stroke, and not act on the individual cells. This results in reducing the time for erasure.

 

 

Different microcontrollers in market.

 

 

 

 

 

 

 

 

Intel 8051

 

Intel 8051 is CISC architecture which is easy to program in assembly language and also has a good support for High level languages.

 

The memory of the microcontroller can be extended up to 64k.

 

This microcontroller is one of the easiest microcontrollers to learn.

 

The 8051 microcontroller is in the field for more than 20 years. There are lots of books and study materials are readily available for 8051.

 

 

 

 

 

Derivatives

 

The best thing done by Intel is to give the designs of the 8051 microcontroller to everyone. So it is not the fact that Intel is the only manufacture for the 8051 there more than 20 manufactures, with each of minimum 20 models. Literally there are hundreds of models of  8051 microcontroller available in market to choose.  Some of the major manufactures of 8051 are

 

Ř      Atmel

 

Ř      Philips

 

Philips

            The Philips‘s 8051 derivatives has more number of features than in any microcontroller. The costs of the Philips microcontrollers are higher than the Atmel’s which makes us to choose Atmel more often than Philips

 

Dallas

            Dallas has made many revolutions in the semiconductor market. Dallas’s 8051 derivative is the fastest one in the market. It works 3 times as fast as a 8051 can process. But we are unable to get more in India.

 

Atmel

            These people were the one to master the flash devices. They are the cheapest microcontroller available in the market. Atmel’s even introduced a 20pin variant of 8051 named 2051. The Atmel’s 8051 derivatives can be got in India less than 70 rupees. There are lots of cheap programmers available in India for Atmel. So it is always good for students to stick with 8051 when you learn a new microcontroller.

 

 

 

Architecture

 

Architecture is must to learn because before learning new machine it is necessary to learn the capabilities of the machine. This is some thing like before learning about the car you cannot become a good driver. The architecture of the 8051 is given below.

 

 



 

The 8051 doesn’t have any special feature than other microcontroller. The only feature is that it is easy to learn. Architecture makes us to know about the hardware features of the microcontroller. The features of the 8051 are

 

§         4K Bytes of Flash Memory

§         128 x 8-Bit Internal RAM

§         Fully Static Operation: 1 MHz to 24 MHz

§         32 Programmable I/O Lines

§         Two 16-Bit Timer/Counters

§         Six Interrupt Sources (5 Vectored)

§         Programmable Serial Channel

§         Low Power Idle and Power Down Modes

 

 

The 8051 has a 8-Bit CPU that means it is able to process 8 bit of data at a time. 8051 has 235 instructions. Some of the important registers and their functions are

 

 

 

 

 

Let’s now move on to a practical example. We shall work on a simple practical application and using the example as a base, shall explore the various features of the 8051 microcontroller.

Consider an electric circuit as follows,



 


The positive side (+ve) of the battery is connected to one side of a switch. The other side of the switch is connected to a bulb or LED (Light Emitting Diode). The bulb is then connected to a resistor, and the other end of the resistor is connected to the negative (-ve) side of the battery.

When the switch is closed or ‘switched on’ the bulb glows. When the switch is open or ‘switched off’ the bulb goes off

If you are instructed to put the switch on and off every 30 seconds, how would you do it? Obviously you would keep looking at your watch and every time the second hand crosses 30 seconds you would keep turning the switch on and off.

Imagine if you had to do this action consistently for a full day. Do you think you would be able to do it? Now if you had to do this for a month, a year??

No way, you would say!

The next step would be, then to make it automatic. This is where we use the Microcontroller.

But if the action has to take place every 30 seconds, how will the microcontroller keep track of time?

Execution time

Look at the following instruction,
clr p1.0

This is an assembly language instruction. It means we are instructing the microcontroller to put a value of ‘zero’ in bit zero of port one. This instruction is equivalent to telling the microcontroller to switch on the bulb. The instruction then to instruct the microcontroller to switch off the bulb is,

Set p1.0

This instructs the microcontroller to put a value of ‘one’ in bit zero of port one.

Don’t worry about what bit zero and port one means. We shall learn it in more detail as we proceed.

There are a set of well defined instructions, which are used while communicating with the microcontroller. Each of these instructions requires a standard number of cycles to execute. The cycle could be one or more in number.

How is this time then calculated?

The speed with which a microcontroller executes instructions is determined by what is known as the crystal speed. A crystal is a component connected externally to the microcontroller. The crystal has different values, and some of the used values are 6MHZ, 10MHZ, and 11.059 MHz etc.
Thus a 10MHZ crystal would pulse at the rate of 10,000,000 times per second.

 

 

 

 

 

The time is calculated using the formula

No of cycles per second = Crystal frequency in HZ / 12.

For a 10MHZ crystal the number of cycles would be,

10,000,000/12=833333.33333 cycles.

This means that in one second, the microcontroller would execute 833333.33333 cycles.

Therefore for one cycle, what would be the time? Try it out.

The instruction clr p1.0 would use one cycle to execute. Similarly, the instruction setb p1.0 also uses one cycle.

So go ahead and calculate what would be the number of cycles required to be executed to get a time of 30 seconds!

Getting back to our bulb example, all we would need to do is to instruct the microcontroller to carry out some instructions equivalent to a period of 30 seconds, like counting from zero upwards, then switch on the bulb, carry out instructions equivalent to 30 seconds and switch off the bulb.

Just put the whole thing in a loop, and you have a never ending on-off sequence.

 

Let us now have a look at the features of the 8051 core, keeping the above example as a reference,

1. 8-bit CPU.( Consisting of the ‘A’ and ‘B’ registers)

Most of the transactions within the microcontroller are carried out through the ‘A’ register, also known as the Accumulator. In addition all arithmetic functions are carried out generally in the ‘A’ register. There is another register known as the ‘B’ register, which is used exclusively for multiplication and division.

Thus an 8-bit notation would indicate that the maximum value that can be input into these registers is ‘11111111’. Puzzled?

The value is not decimal 111, 11,111! It represents a binary number, having an equivalent value of ‘FF’ in Hexadecimal and a value of 255 in decimal.

We shall read in more detail on the different numbering systems namely the Binary and Hexadecimal system in our next module.

 

2. 4K on-chip ROM

Once you have written out the instructions for the microcontroller, where do you put these instructions?

Obviously you would like these instructions to be safe, and not get deleted or changed during execution. Hence you would load it into the ‘ROM’

The size of the program you write is bound to vary depending on the application, and the number of lines. The 8051 microcontroller gives you space to load up to 4K of program size into the internal ROM.

4K, that’s all? Well just wait. You would be surprised at the amount of stuff you can load in this 4K of space.

Of course you could always extend the space by connecting to 64K of external ROM if required.

3. 128 bytes on-chip RAM

This is the space provided for executing the program in terms of moving data, storing data etc.

4. 32 I/O lines. (Four- 8 bit ports, labeled P0, P1, P2, P3)

In our bulb example, we used the notation p1.0. This means bit zero of port one. One bit controls one bulb.

Thus port one would have 8 bits. There are a total of four ports named p0, p1, p2, p3, giving a total of 32 lines. These lines can be used both as input or output.


 

5. Two 16 bit timers / counters.

A microcontroller normally executes one instruction at a time. However certain applications would require that some event has to be tracked independent of the main program.

The manufacturers have provided a solution, by providing two timers. These timers execute in the background independent of the main program. Once the required time has been reached, (remember the time calculations described above?), they can trigger a branch in the main program.

These timers can also be used as counters, so that they can count the number of events, and on reaching the required count, can cause a branch in the main program.

6. Full Duplex serial data receiver / transmitter.

The 8051 microcontroller is capable of communicating with external devices like the PC etc. Here data is sent in the form of bytes, at predefined speeds, also known as baud rates.

The transmission is serial, in the sense, one bit at a time

7. 5- interrupt sources with two priority levels (Two external and three internal)

During the discussion on the timers, we had indicated that the timers can trigger a branch in the main program. However, what would we do in case we would like the microcontroller to take the branch, and then return back to the main program, without having to constantly check whether the required time / count has been reached?

This is where the interrupts come into play. These can be set to either the timers, or to some external events. Whenever the background program has reached the required criteria in terms of time or count or an external event, the branch is taken, and on completion of the branch, the control returns to the main program.

Priority levels indicate which interrupt is more important, and needs to be executed first in case two interrupts occur at the same time.

8. On-chip clock oscillator.

This represents the oscillator circuits within the microcontroller. Thus the hardware is reduced to just simply connecting an external crystal, to achieve the required pulsing rate.

 

 

 

PIN FUNCTION OF IC 89C51.

 

1                    Supply pin of this ic is pin no 40. Normally we apply a 5  volt regulated dc power supply to this pin. For this purpose either we use step down transformer power supply or we use  9 volt battery with 7805 regulator.

2                   Ground pin of this ic is pin no 20.  Pin no 20 is normally connected to the ground pin ( normally negative point of the power supply.

3                    XTAL is connected to the  pin no 18 and pin no 19 of this ic.  The quartz crystal oscillator connected to XTAL1 and  XTAL2 PIN. These pins also needs two capacitors of 30 pf value. One side of each capacitor  is connected to crystal and other pis is connected to the ground  point. Normally we connect a 12 MHz or 11.0592 MHz crystal with this ic.. But we use crystal upto 20 MHz to this pins

4                    RESET PIN..  Pin no 9 is the reset pin of this ic.. It is an active high pin.  On applying  a high pulse to this pin, the micro controller will reset and terminate all activities. This is often referred to as a power on reset. The high pulse must

be high for a minimum of 2 machine  cycles before it is allowed to go low.

 

5.          PORT0 Port 0 occupies a total of 8 pins. Pin no 32 to pin no 39. It can be used  for input or output. We connect all the pins of the port 0 with the pullup resistor (10 k ohm) externally. This is due to fact that port 0 is an open drain mode. It is just like a open collector transistor.

 

6.          PORT1. ALL the ports in micrcontroller is 8 bit wide pin no 1 to pin no 8 because it is a 8 bit controller. All the main register and sfr all is mainly 8 bit wide. Port 1 is also occupies a 8 pins. But there is no need of pull up resistor in this port. Upon reset port 1 act as a input port. Upon reset all the ports act as a input port

 

7.        PORT2. port 2 also have a 8 pins. It can be used as a input or output. There is no need of any pull up resistor to this pin.

 

 

PORT 3. Port3 occupies a  totoal 8 pins from pin no 10 to pin no 17. It can be       used  as input or output. Port 3 does not require any pull up resistor. The same as port 1 and port2. Port 3  is configured as an  output port on reset. Port 3 has the additional function of providing some  important signals  such as interrupts. Port 3 also use for serial communication.

 

 

 

 

 

 

 

ALE   ALE is an output pin and is active high. When connecting an 8031 to external  memory, port 0 provides both address and data. In other words, the 8031 multiplexes address and data through port 0 to save pins. The ALE pin is used for demultiplexing the address and data by connecting to the  ic 74ls373 chip.

 

 

PSEN. PSEN stands for program store eneable. In an 8031 based system in which an external rom holds the program code, this pin is connected to the OE pin of the rom.

 

EA. EA. In 89c51 8751 or any other family member of the ateml 89c51 series all come with on-chip rom to store programs, in such cases the EA  pin is connected to the Vcc. For family member 8031 and 8032 is which there is no on chip rom, code is stored in external memory and this is fetched by 8031. In that case EA pin must be connected to GND pin to indicate that the code is stored  externally.

 

 

 

 

SPECIAL FUNCTION REGISTER ( SFR) ADDRESSES.

 

 

ACC                ACCUMULATOR                                           0E0H

 

B                      B REGISTER                                                   0F0H

 

PSW                PROGRAM STATUS WORD                           0D0H

 

SP                    STACK POINTER                                           81H

 

DPTR              DATA POINTER 2 BYTES

 

DPL                 LOW BYTE OF DPTR                         82H

DPH                HIGH BYTE OF DPTR                                   83H

 

P0                    PORT0                                                            80H

 

P1                    PORT1                                                            90H

 

P2                    PORT2                                                            0A0H

 

P3                    PORT3                                                            0B0H

 

TMOD             TIMER/COUNTER MODE CONTROL          89H

 

TCON              TIMER COUNTER CONTROL                       88H

 

TH0                 TIMER 0 HIGH BYTE                         8CH

 

TLO                 TIMER 0 LOW BYTE                                      8AH

 

TH1                 TIMER 1 HIGH BYTE                         8DH

 

TL1                  TIMER 1 LOW BYTE                                      8BH

 

SCON              SERIAL CONTROL                                         98H

 

SBUF              SERIAL DATA BUFFER                                99H

 

PCON             POWER CONTROL                                        87H

 

 

 

 

INSTRUCTIONS

 

SINGLE BIT INSTRUCTIONS.

 

 

SETB  BIT                            SET THE BIT =1

 

CLR BIT                                CLEAR THE BIT =0

 

CPL BIT                                 COMPLIMENT THE BIT   0 =1, 1=0

 

JB BIT,TARGET                  JUMP TO TARGET IF BIT =1

 

JNB BIT, TARGET              JUMP TO TARGET IF BIT =0

 

JBC BIT,TARGET                JUMP TO  TARGET IF BIT =1 &THEN CLEAR THE BIT    

        

 

 

MOV INSTRUCTIONS

 

MOV instruction simply copy the data  from one location to another location

 

MOV D,S

 

Copy the data from(S) source to D(destination)

 

MOV R0,A      ; Copy contents of  A into Register R0

 

MOV R1,A      ; Copy  contents of A into register R1

 

MOV A,R3      ; copy contents of Register R3 into Accnmulator.

 

 

DIRECT LOADING THROUGH MOV

 

MOV A,#23H                         ; Direct load the value of 23h in A

 

MOV R0,#12h                        ; direct load the value of 12h in R0

 

MOV R5,#0F9H         ; Load the F9 value in the Register R5

 

 

ADD INSTRUCTIONS.

 

ADD instructions adds the source byte to the accumulator ( A) and place the result in the Accumulator.

 

MOV A, #25H

 

ADD A,#42H              ; BY this instructions we add the value 42h in Accumulator ( 42H+ 25H)

 

ADDA,R3                   ;By this instructions we move the data from register r3 to accumulator and then add the contents of  the register into accumulator  .

 

 

 

 

SUBROUTINE CALL  FUNCTION.

 

ACALL,TARGET ADDRESS

 

By this instructions  we call subroutines  with a target address within 2k bytes from the current program counter.

 

LCALL, TARGET ADDRESS.

 

ACALL  is a limit for the 2 k byte program counter, but for upto 64k  byte we use  LCALL instructions.. Note that LCALL  is a 3 byte instructions. ACALL  is a two byte instructions.

 

 

AJMP TARGET ADDRESS.

 

This is for absolute jump

 

AJMP stand for absolute jump. It transfers program execution to the  target address unconditionally. The target address for this instruction must be withib 2 k byte of program memory.

 

LJMP is also for absoltute jump. It tranfer program execution to the target addres unconditionally.  This is a 3 byte instructions LJMP   jump to any address within 64 k byte location.

 

 

 

 

 

 

 INSTRUCTIONS RELATED TO THE CARRY

 

JC TARGET

 

JUMP  TO THE TARGET  IF CY FLAG =1

 

 

JNC TARGET

 

JUMP TO THE TARGET ADDRESS IF CY FLAG IS = 0 

 

 

 

INSTRUCTIONS RELASTED TO JUMP WITH ACCUMULATOR

 

 

JZ TARGET

 

JUMP  TO TARGET IF A = 0

 

 

JNZ TARGET

 

JUMP IF ACCUMULATOR IS NOT ZERO

 

This instructions jumps if registe A has a value other than zero

 

 

 

 

INSTRUCTIONS RELATED TO THE ROTATE

 

 

RL A 

 

ROTATE LEFT THE ACCUMULATOR

 

BY this instructions we rotate the bits of A left. The bits rotated out of  A are rotated back into A at the opposite end

 

 

RR A

 

By this instruction we rotate the contents of the accumulator from right to left from LSB  to MSB

 

 

 

RRC A

 

This is same as RR A but difference is that the bit rotated out of register first enter in to carry and then  enter into MSB

 

 

 

RLC A

 

ROTATE  A LEFT THROUGH CARRY

 

 

Same as above but but shift the data from MSB to  carry and carry to LSB

 

 

 

RET

 

This is return from subroutine. This instructions is used to return from a subroutine previously entered by  instructions LCALL and ACALL.

 

 

RET1

 

THIS  is used at the end of an interrupt service routine. We use this instructions after intruupt routine,

 

 

PUSH.

 

This copies the indicated byte onto the stack and increments SP by . This instructions supports only direct addressing mode.

 

 

POP.

 

POP FROM STACK.

 

This copies the byte pointed to be SP to the location whose direct address is indicated, and decrements SP by 1. Notice that this instructions supports only direct addressing mode.

 

 

 

 

DPTR INSTRUCTIONS.

 

 MOV DPTR,#16 BIT VALUE

 

LOAD DATA POINTER

 

This instructions load the 16 bit dptr register with a 16 bit immediate value

 

MOV C A,@A+DPTR

This instructions moves a byte of data located in program ROM into register A. This allows us to put strings of data, such as look up  table elements.

 

 

MOVC  A,@A+PC

 

 

This instructions moves a byte of data located in the program area to A. the address of the desired byte of data is formed by adding the program counter ( PC) register to the original value of the accumulator.

INC BYTE

 

This instructions add 1 to the register or memory location specified by the operand.

 

          INC A

          INC Rn

          INC DIRECT

 

DEC BYTE

 

This instructions subtracts 1 from the byte operand. Note that CY is unchanged

 

          DEC A

          DEC Rn

          DEC DIRECT

 

 

 

 

ARITHMATIC INSTRUCTIONS.

 

ANL  dest-byte, source-byte

 

This perform a logical AND operation

 

This performs a logical AND on the operands, bit by bit, storing the result in the destination. Notice that both the source and destination values are byte –size only

 

`                                                                                                   

DIV AB

 

This instructions divides a byte accumulator by the byte in register B. It is assumed that both register A and B contain an unsigned byte. After the division the quotient will be in  register A and  the remainder in register B.

 

 

 

TMOD ( TIMER MODE ) REGISTER

 

 

Both timer is the 89c51 share the  one register TMOD. 4 LSB bit for the timer 0 and 4 MSB for the timer 1.

 

In each case lower 2 bits set the mode of the timer

 

Upper two bits set the operations.

 

 

GATE:             Gating control when set. Timer/counter is enabled only while the INTX pin is high and the TRx control pin  is set. When cleared, the timer is enabled whenever the TRx control bit is set

 

C/T :                Timer or counter selected cleared for timer operation ( input from internal system clock)

 

M1                   Mode bit 1

 

M0                   Mode bit  0

 

 

 

 

M1       M0       MODE             OPERATING MODE

 

0          0          0                      13 BIT TIMER/MODE

 

0          1          1                      16 BIT TIMER MODE

 

1          0          2                      8 BIT AUTO RELOAD

 

1          1          3                      SPLIT TIMER MODE

 

 

 

 

PSW  ( PROGRAM STATUS WORD)

 

 

 

 

CY       PSW.7             CARRY FLAG

 

AC       PSW.6             AUXILIARY CARRY                                                                                                                          

 

F0        PSW.5             AVAILABLE FOR  THE USER FRO GENERAL PURPOSE

 

RS1     PSW.4             REGISTER  BANK SELECTOR BIT 1

 

RS0     PSW.3             REGISTER BANK SELECTOR BIT 0

 

0V       PSW.2             OVERFLOW  FLAG

 

--         PSW.1             USER DEFINABLE BIT

 

P          PSW.0             PARITY FLAG SET/CLEARED BY HARDWARE

 

 

 

 

PCON REGISATER ( NON BIT ADDRESSABLE)

 

 

 

If the SMOD = 0 ( DEFAULT  ON RESET)

                       

                        TH1     =                     CRYSTAL FREQUENCY

                                                256---- ____________________

                                                           

384    X  BAUD RATE

 

If the SMOD IS = 1

                                                            CRYSTAL FREQUENCY

                        TH1     =         256--------------------------------------

                                                            192 X BAUD RATE

 

There are two ways to increase the baud rate of data transfer in the  8051

 

1.                  To use a higher frequency crystal

2.                  To change a bit in the PCON register

 

 

PCON register is an 8 bit register . Of the 8 bits, some are unused, and some are used for the power control capability of the 8051. the bit which is used for the serial communication is D7, the SMOD bit. When the 8051 is powered up, D7 ( SMOD BIT)  OF  PCON register is zero. We can set it to high by software and thereby double the baud  rate

 

 

 

BAUD RATE COMPARISION FOR SMOD = 0 AND SMOD =1

 

TH1     ( DECIMAL)              HEX                SMOD =0       SMOD =1

 

            -3                                 FA                   4800                9600

            -12                               F4                    2400                4800

            -24                               E8                    1200                2400

 

XTAL = 11.0592 MHZ

                                                             

 

 

 

 

IE ( INTERRUPT ENABLE REGISTOR)

 

 

 

EA       IE.7      Disable all interrupts if EA = 0, no interrupts is acknowledged

                        If EA is 1, each interrupt source is individually enabled or disbaled

                        By sending or clearing its enable  bit.

 

            IE.6      NOT implemented

 

ET2      IE.5      enables or disables timer 2 overflag in 89c52 only

 

ES        IE.4      Enables or disables all serial interrupt

 

ET1      IE.3      Enables or Disables  timer 1 overflow interrupt

 

EX1     IE.2      Enables or disables external interrupt

 

ET0      IE.1      Enables or Disbales timer 0 interrupt.

 

EX0     IE.0      Enables or Disables external interrupt 0

 

 

 

 

 

 

 

 

 

INTERRUPT PRIORITY REGISTER

 

 

 

 

If the bit is 0, the corresponding interrupt has a lower priority and if the bit is 1 the corresponding interrupt has a higher priority

 

 

 

            IP.7      NOT IMPLEMENTED, RESERVED FOR FUTURE USE.

 

            IP.6      NOT IMPLEMENTED, RESERVED FOR FUTURE USE

 

PT2      IP.5      DEFINE THE  TIMER 2 INTERRUPT PRIORITY LELVEL

 

PS        IP.4      DEFINES THE SERIAL PORT INTERRUPT PRIORITY LEVEL

 

PT1      IP.3      DEFINES THE TIMER 1 INTERRUPT PRIORITY LEVEL

 

PX1     IP.2      DEFINES EXTERNAL INTERRUPT 1 PRIORITY LEVEL

 

PT0      IP.1      DEFINES THE TIMER 0 INTERRUPT PRIORITY LEVEL

 

PX0     IP.0      DEFINES THE EXTERNAL INTERRUPT 0 PRIORITY LEVEL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SCON: SERIAL PORT CONTROL REGISTER , BIT ADDRESSABLE

 

SCON

 

 

SM0    :           SCON.7  Serial Port mode specifier

 

SM1    :           SCON.6  Serial Port mode specifier

 

SM2    :           SCON.5  

 

REN    :           SCON.4  Set/cleared by the  software to Enable/disable reception

 

TB8     :           SCON.3  The 9th bit that will be transmitted in modes 2 and 3, Set/cleared

                                         By software

 

RB8     :           SCON.2  In modes 2 &3, is the 9th data bit that was received. In mode 1,

                                        If SM2 = 0, RB8 is the stop bit that was received. In mode 0

                                        RB8 is not used

 

T1        :           SCON.1  Transmit interrupt flag. Set by hardware at the end of the 8th bit

                                        Time in mode 0, or at the beginning of the stop bit in the other

                                        Modes. Must be cleared by software

 

R1                    SCON.0 Receive interrupt flag. Set by hardware at the end of the 8th bit

                                       Time in mode 0, or halfway through the stop bit time in the other

                                        Modes. Must be cleared by the software.            

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCON        TIMER COUNTER CONTROL REGISTER

 

This is a bit addressable

 

TF1      TCON.7          Timer 1 overflow flag. Set by hardware when the Timer/Counter 1       

                                    Overflows. Cleared by hardware as processor

 

TR1     TCON.6          Timer 1 run control bit. Set/cleared by software to turn Timer

                                    Counter 1 On/off

 

TF0      TCON.5          Timer 0 overflow flag. Set by hardware when the timer/counter 0

                                    Overflows. Cleared by hardware as processor

 

TR0     TCON.4          Timer 0 run control bit. Set/cleared by software to turn timer

                                     Counter  0 on/off.

 

IE1       TCON.3          External interrupt 1 edge flag

 

ITI       TCON.2          Interrupt 1 type control bit

 

IE0       TCON.1          External interrupt 0 edge

 

IT0       TCON.0          Interrupt 0 type control bit.

 

- 8051 Instruction Set

 

Arithmetic Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ADD A,Rn       Add register to Accumulator (ACC).                            1          1

 

ADD A,direct   Add direct byte to ACC.                                              2          1

 

ADD A,@Ri    Add indirect RAM to ACC                  .                       1          1

 

ADD A,#data   Add immediate data to ACC                .                       2          1

 

ADDC A,Rn    Add register to ACC with carry                        .           1          1

 

ADDC A,direct            Add direct byte to ACC with carry.                  2          1

 

ADDC A,@Ri             Add indirect RAM to ACC with carry. 1          1

 

ADDC A,#data            Add immediate data to ACC with carry.           2          1

 

SUBB A,Rn     Subtract register from ACC with borrow.                      1          1

 

SUBB A,direct             Subtract direct byte from ACC with borrow      2          1

 

SUBB A,@Ri Subtract indirect RAM from ACC with borrow.            1          1

 

SUBB A,#data             Subtract immediate data from ACC with borrow.          2          1

 

INC A                         Increment ACC.                                                           1          1

 

INC Rn                       Increment register.                                            1          1

 

INC direct        Increment direct byte.                                                   2          1

 

INC @Ri         Increment indirect RAM.                                              1          1

 

DEC A                         Decrement ACC.                                             1          1

 

DEC Rn           Decrement register.                                                       1          1

 

DEC direct       Decrement direct byte.                                      2          1

 

DEC @Ri        Decrement indirect RAM.                                             1          1

 

INC DPTR      Increment data pointer.                                                 1          2         

 

MUL AB         Multiply A and B Result: A <- low byte, B <- high byte.            1          4

 

DIV AB           Divide A by B Result: A <- whole part, B <- remainder.            1          4

 

DA A               Decimal adjust ACC.                                                    1          1

 

 

 

Logical Operations

 

Mnemonic        Description                                                                   Size      Cycles

 

ANL A,Rn       AND Register to ACC.                                                            1          1

 

ANL A,direct   AND direct byte to ACC.                                                        2          1

 

ANL A,@Ri    AND indirect RAM to ACC.                                        1          1

 

ANL A,#data   AND immediate data to ACC.                                      2          1

 

ANL direct,A   AND ACC to direct byte.                                                        2          1

 

ANL direct,#data         AND immediate data to direct byte.                              3          2

 

ORL A,Rn       OR Register to ACC.                                                   1          1

 

ORL A,direct   OR direct byte to ACC.                                                           2          1

 

ORL A,@Ri     OR indirect RAM to ACC.                                           1          1

 

ORL A,#data   OR immediate data to ACC.                                         2          1

 

ORL direct,A   OR ACC to direct byte.                                                           2          1

 

ORL direct,#data         OR immediate data to direct byte.                                             3          2

 

XRL A,Rn        Exclusive OR Register to ACC.                                                1          1

 

XRL A,direct   Exclusive OR direct byte to ACC.                                            2          1

 

XRL A,@Ri     Exclusive OR indirect RAM to ACC.                            1          1

 

XRL A,#data   Exclusive OR immediate data to ACC.                          2          1

 

XRL direct,A   Exclusive OR ACC to direct byte.                                            2          1         

 

XRL direct,#data          XOR immediate data to direct byte.                              3          2

 

CLR A                         Clear ACC (set all bits to zero).                                    1          1

 

CPL A                         Compliment ACC.                                                        1          1

 

RL A                Rotate ACC left.                                                                      1          1

 

RLC A                         Rotate ACC left through carry.                         1          1

 

RR A               Rotate ACC right.                                                                   1          1

 

RRC A                         Rotate ACC right through carry.                                   1          1

 

SWAP A         Swap nibbles within ACC.                                                        1          1

 

 

 

Data Transfer

 

Mnemonic                    Description                                                                   Size      Cycles

 

MOV A,Rn                  Move register to ACC.                                     1          1

 

MOV A,direct              Move direct byte to ACC.                                                        2          1

 

MOV A,@Ri               Move indirect RAM to ACC.                                       1          1

 

MOV A,#data              Move immediate data to ACC.                         2          1

 

MOV Rn,A                  Move ACC to register.                                     1          1

 

MOV Rn,direct                        Move direct byte to register.                             2          2

 

MOV Rn,#data                        Move immediate data to register.                      2          1

 

MOV direct,A              Move ACC to direct byte.                                2          1

 

MOV direct,Rn                        Move register to direct byte.                             2          2

 

MOV direct,direct        Move direct byte to direct byte.                                    3          2

 

MOV direct,@Ri         Move indirect RAM to direct byte.                               2          2

 

MOV direct,#data        Move immediate data to direct byte.                             3          2

 

MOV @Ri,A               Move ACC to indirect RAM.                                       1          1

 

MOV @Ri,direct         Move direct byte to indirect RAM.                               2          2

 

MOV @Ri,#data                     Move immediate data to indirect RAM. 2          1

 

MOV DPTR,#data16   Move immediate 16 bit data to data pointer register.      3          2

 

MOVC A,@A+DPTR             Move code byte relative to DPTR to ACC (16 bit address).     1          2

 

MOVC A,@A+PC      Move code byte relative to PC to ACC (16 bit address).1        2

 

MOVX A,@Ri                        Move external RAM to ACC (8 bit address).   1          2

 

MOVX A,@DPTR      Move external RAM to ACC (16 bit address). 1          2

 

MOVX @Ri,A                        Move ACC to external RAM (8 bit address).   1          2

 

MOVX @DPTR,A      Move ACC to external RAM (16 bit address). 1          2

 

PUSH direct                 Push direct byte onto stack.                                          2          2

 

POP direct                   Pop direct byte from stack.                                           2          2

 

XCH A,Rn                   Exchange register with ACC.                                        1          1

 

XCH A,direct               Exchange direct byte with ACC.                                   2          1

 

XCH A,@Ri                Exchange indirect RAM with ACC.                              1          1

 

XCHD A,@Ri                         Exchange low order nibble of indirect

RAM with low order nibble of ACC                             1          1

 

Boolean Variable Manipulation

 

Mnemonic                    Description                                                       Size      Cycles

 

CLR C                                     Clear carry flag.                                    1          1

 

CLR bit                                    Clear direct bit.                         2          1

 

SETB C                       Set carry flag.                                                              1          1

 

SETB                           bitSet direct bit                                                  2         1

 

CPL C                                     Compliment carry flag.                          1          1

 

CPL bit                                    Compliment direct bit.                           2          1

 

ANL C,bit        AND direct bit to carry flag.                                                     2          2

 

ANL C,/bit       AND compliment of direct bit to carry.                         2          2

 

ORL C,bit        OR direct bit to carry flag.                                                        2          2

 

ORL C,/bit       OR compliment of direct bit to carry.                                        2          2

 

MOV C,bit      Move direct bit to carry flag.                                                     2          1

 

MOV bit,C      Move carry to direct bit.                                                           2          2

 

JC rel               Jump if carry is set.                                                                   2          2

 

JNC rel                        Jump if carry is not set.                                     2          2

 

JB bit,rel           Jump if direct bit is set.                                                  3          2

 

JNB bit,rel        Jump if direct bit is not set.                                                        3          2

 

JBC bit,rel        Jump if direct bit is set & clear bit.                                             3          2

 

 

Program Branching

 

Mnemonic        Description                                                                               Size      Cycles

 

ACALL                       addr11            Absolute subroutine call.                       2          2

 

LCALL                        addr16             Long subroutine call.                             3          2

 

RET                 Return from subroutine.                                                 1          2

 

RETI                Return from interrupt.                                                                1          2

 

AJMP addr11 Absolute jump.                                                             2          2

 

LJMP addr16   Long jump.                                                                               3          2

 

SJMP rel          Short jump (relative address).                                                   2          2

 

JMP @A+DPTR         Jump indirect relative to the DPTR.                               1          2

 

JZ rel                Jump relative if ACC is zero.                                                     2          2

 

JNZ rel                         Jump relative if ACC is not zero.                                   2          2

 

CJNE A,direct,rel         Compare direct byte to ACC and jump if not equal.      3          2

 

CJNE A,#data,rel         Compare immediate byte to ACC and jump if not equal.3         2

 

CJNE Rn,#data,rel       Compare immediate byte to register and jump if not equal.3       2

 

CJNE @Ri,#data,rel    Compare immediate byte to indirect and jump if not equal.3       2

 

DJNZ Rn,rel     Decrement register and jump if not zero.                                    2          2

 

DJNZ direct,rel            Decrement direct byte and jump if not zero.                   3          2

 

 

 

Other Instructions

 

Mnemonic        Description       Size      Cycles

 

NOP    No operation.   1          1

 

 

 

 

 

 

 

 

component

qty

rate

IC89C051,

 

1

60

ULN2003, 

 

1

30

Diodes in4001,

 

4

1

IC 7805

1

15

Optocoupler PC817

 

4

12

Tr548

4

3

Tr 558

4

3

Motors 12v

2

250

IC base 20 pin

1

10

Crystal 12 Mhz

1

25

Resiatncec 10k

4

.25

4k

4

.25

Cap 10µf

1

5

Connecting wires

1

20

Ir sensors

3

120

 

·        Software:-

Keil compiler or UMPS for programming

Window xp

 

 

 

 

 

 

 

us to communicate with the vast 3 control lines as well as either 4 or 8 I/O lines for the data bus. The user may select whether the LCD is to operate with a 4-bit data bus or an 8-bit data bus. If a 4-bit data bus is used, the LCD The 44780 standard requires 3 control lines as well as either 4 or 8 I/O lines for the data bus. The user may select whether the LCD is to operate with a 4-bit data bus or an 8-bit data bus. If a 4-bit data bus is used, the LCD will require a total of 7 data lines (3 control lines plus the 4 lines for the data bus). If an 8-bit data bus is used, the LCD will require a total of 11 data lines (3 control lines plus the 8 lines for the data bus).

The three control lines are referred to as EN, RS, and RW.

 will require a total of 7 data lines (3 control lines plus the 4 lines for the data bus). If an 8-bit data bus is used, the LCD will require a total of 11 data lines (3 control lines plus the 8 lines for the data bus).

The three control lines are referred to as EN, RS, and RW.

The EN line is called "Enable." This control line is used to tell the LCD that you are sending it data. To send data to the LCD, your program should first set this line high (1) and then set the other two control lines and/or put data on the data bus. When the other lines are completely ready, bring EN low (0) again. The 1-0 transition tells the 44780 to take the data currently found on the other control lines and on the data bus and to treat it as a command.

The RS line is the "Register Select" line. When RS is low (0), the data is to be treated as a command or special instruction (such as clear screen, position cursor, etc.). When RS is high (1), the data being sent is text data which should be displayed on the screen. For example, to display the letter "T" on the screen you would set RS high.

The RW line is the "Read/Write" control line. When RW is low (0), the information on the data bus is being written to the LCD. When RW is high (1), the program is effectively querying (or reading) the LCD. Only one instruction ("Get LCD status") is a read command. All others are write commands--so RW will almost always be low.

Finally, the data bus consists of 4 or 8 lines (depending on the mode of operation selected by the user). In the case of an 8-bit data bus, the lines are referred to as DB0, DB1, DB2, DB3, DB4, DB5, DB6, and DB7.

 

Fortunately, a very popular standard exists which allows us to communicate with the vast majority of data from an external source (in this case, the 8051) and communicates directly with the LCD.

 

 

 

 

 

 

 

 

I

atic Showing Column of Laser Light Leaving Optical Oscillator

 

 

COMPONENT DESCRIPTION

 

TRANSFORMER

 

 

Transformer works on the principle of mutual inductance. We know that if two coils or windings are placed on the core of iron, and if we pass alternating current in one winding, back emf or induced voltage is produced in the second winding. We know that alternating current always changes with the time. So if we apply AC voltage across one winding, a voltage will be induced in the other winding. Transformer works on this same principle. It is made of two windings wound around the same core of iron. The winding to which AC voltage is applied is called primary winding. The other winding is called as secondary winding.

                

Voltage and current relationship:

 

Let V1 volts be input alternating voltage applied to primary winding. I1 Amp is input alternating current through primary winding. V2 volt is output alternating voltage produced in the secondary. I2 amp be the current flowing through the secondary.

 

Then relationship between input and output voltages is given by

V1/V2 = N1/N2

 

Relationship between input and output currents is

I1/I2 = N2/N1

(Where N1 is no. of  turns of coil in primary and N2 is number of turns in secondary )

 

We know that Power = Current X Voltage. It is to be noted that input power is equal to output power. Power is not changed. If V2 is greater than V1, then I2 will be less than I1. This type of transformer is called as step up transformer. If V1 is

 

greater than V2, then I1 will be less than I2. This type of transformer is called as step down transformer.

For step up transformer, N2>N1, i.e., number of turns of secondary winding is more than those in primary.

For step down transformer, N1>N2, i.e., numbers of turns of primary winding is more than those in secondary.

 

 

 

The flow of charge (or current) through any material, encounters an opposing force similar in many respect to mechanical friction. This opposing force is called resistance of the material. It is measured in ohms.  In some electric circuits resistance is deliberately introduced in the form of the resistor.

Resistors are of following types:

1.      Wire wound resistors.

2.      Carbon resistors.

3.      Metal film resistors.

 

Wire Wound Resistors:

 

Wire wound resistors are made from a long (usually Ni-Chromium) wound on a ceramic core. Longer the length of the wire, higher is the resistance. So depending on the value of resistor required in a circuit, the wire is cut and wound on a ceramic core. This entire assembly is coated with a ceramic metal. Such resistors are generally available in power of 2 watts to several hundred watts and resistance values from 1ohm to 100k ohms. Thus wire wound resistors are used for high currents.

 

Carbon Resistors:

 

Carbon resistors are divided into three types:

a.       Carbon composition resistors are made by mixing carbon grains with  

      binding material (glue) and moduled in the form of rods. Wire leads

      are inserted at the two ends. After this an insulating material seals the

      resistor. Resistors are available in power ratings of 1/10, 1/8, 1/4 ,

      1/2 , 1.2 watts and values from 1 ohm to 20 ohms.

b.      Carbon film resistors are made by deposition carbon film on a ceramic         

rod. They are cheaper than carbon composition resistors.

c.       Cement film resistors are made of thin carbon coating fired onto a

      solid ceramic substrate. The main purpose is to have more precise

      resistance values and greater stability with heat. They are made in a

      small square with leads.

 

Metal Film Resistors:

 

They are also called thin film resistors. They are made of a thin metal   coating deposited on a cylindrical insulating support. The high resistance values are not precise in value; however, such resistors are free of inductance effect that is common in wire wound resistors at high frequency.

 

Variable Resistors:

 

Potentiometer is a resistor where values can be set depending on the requirement. Potentiometer is widely used in electronics systems. Examples are volume control, tons control, brightness and contrast control of radio or T.V. sets.

 

Fusible Resistors:

 

These resistors are wire wound type and are used in T.V. circuits for protection. They have resistance of less than 15 ohms. Their function is similar to a fuse made to blow off whenever current in the circuit exceeds the limit.

 

Resistance of a wire is directly proportional to its length and inversely proportional to its thickness.

 

             R     L   

             R     1/A 

 

 

 

 

 

 

 

 


 

 COLOUR CODES 

 

COLOUR

NUMBER

MULTIPLIER

COLOUR

TOLERANCE

Black                                

Brown

Red

Orange

Yellow

Green

Blue

Violet

Grey

White

Gold

Silver

      0

      1

      2

      3

      4

      5

      6

      7

      8

      9

 

       100

        101

        102    

        103

        104

        105

        106

        107

        108

        109

        10-1

        10-2

    

Gold

Silver

No colour

      5%

       10%

       20%

 

 

CAPACITORS

 

A capacitor can store charge, and its capacity to store charge is called capacitance. Capacitors consist of two conducting plates, separated by an insulating material (known as dielectric). The two plates are joined with two leads. The dielectric could be air, mica, paper, ceramic, polyester, polystyrene, etc.  This dielectric gives name to the capacitor. Like paper capacitor, mica capacitor etc.

 

 

Types of capacitors:

 

 

 

Capacitors can be broadly classified in two categories, i.e., Electrolytic capacitors and Non-Electrolytic capacitors as shown if the figure above.

 

 

 

Electrolytic Capacitor:

 

Electrolytic capacitors have an electrolyte as a dielectric. When such an electrolyte is charged, chemical changes takes place in the electrolyte. If its one plate is charged positively, same plate must be charged positively in future. We call such capacitors as polarized. Normally we see electrolytic capacitor as polarized capacitors and the leads are marked with positive or negative on the can. Non-electrolyte capacitors have dielectric material such as paper, mica or ceramic. Therefore, depending upon the dielectric, these capacitors are classified.

 

Mica Capacitor:

 

It is sandwich of several thin metal plates separated by thin sheets of mica. Alternate plates are connected together and leads attached for outside connections. The total assembly is encased in a plastic capsule or Bakelite case. Such capacitors have small capacitance value (50 to 500pf) and high working voltage (500V and above). The mica capacitors have excellent characteristics under stress of temperature variation and high voltage application. These capacitors are now replaced by ceramic capacitors.

 

Ceramic Capacitor:

 

Such capacitors have disc or hollow tabular shaped dielectric made of ceramic material such as titanium dioxide and barium titanate. Thin coating of silver compounds is deposited on both sides of dielectric disc, which acts as capacitor plates. Leads are attached to each sides of the  dielectric disc and whole unit is encapsulated in a moisture proof coating. Disc type capacitors have very high value up to 0.001uf. Their working voltages range from 3V to 60000V. These capacitors have very low leakage current. Breakdown voltage is very high.

 

 

Paper Capacitor:

 

It consists of thin foils, which are separated by thin paper or waxed paper. The sandwich of foil and paper is then rolled into a cylindrical shape and enclosed in a paper tube or encased in a plastic capsules. The lead at each end of the capacitor is internally attached to the metal foil. Paper capacitors have capacitance ranging from 0.0001uf to 2.0uf and working voltage rating as high as 2000V.

 

 

 

 

 

THE DIODE

 

Diodes are polarized, which means that they must be inserted into the PCB the correct way round. This is because an electric current will only flow through them in one direction (like air will only flow one way trough a tyre valve). Diodes have two connections, an anode and a cathode. The cathode is always identified by a dot, ring or some other mark.

 

 

 

The PCB is often marked with a +sign for the cathode end. Diodes come in all shapes and sizes. They are often marked with a type number. Detailed characteristics of a diode can be found by looking up the type number in a data book. If you know how to measure resistance with a meter then test some diodes. A good one has low resistance in one direction and high in other. They are specialized types of diode available such as the zener and light emitting diode (LED).

 

 

 

 

 

SYMBOLS OF DIFFERENT DIODES

               anode                        cathode

                          simple

 

 

 

IC

 

IC (Integrated Circuit) means that all the components of the circuit are fabricated on same chip. Digital ICs are a collection of resistors, diodes, and transistors fabricated on a single piece of semiconductor, usually silicon called a substrate, which is commonly referred to as ‘wafer’. The chip is enclosed in a protective plastic or ceramic package from which pins extend out connecting the IC to other device. Suffix N or P stands for dual-in-line (plastic package (DIP)) while suffix J or I stands for dual-in-lime ceramic package. Also the suffix for W stands for flat ceramic package.

 

The pins are numbered counter clockwise when viewed from the top of the package with respect to an identity notch or dot at one end of the chip.The manufacturer’s name can usually be guessed from its logo that is printed on the IC. The IC type number also indicates the manufacturer’s code. For e.g. DM 408 N SN 7404 indicates National Semiconductor and Texas Instruments.

 

Other examples are:

            Fair Child                               : UA, UAF

            National Semiconductor       : DM, LM, LH, LF, and TA.

            Motorola                                : MC, MFC.

            Sprague                                   : UKN, ULS, ULX.

            Signetic                                  : N/s, NE/SE, and SU.

            Burr-Brown                            : BB.

            Texas Instruments                 : SN.

 

The middle portion i.e. the IC type number tells about the IC function and also the family, which the particular IC belongs to.IC’s that belongs to standard TTL series have an identification number that starts with 74; for e.g. 7402, 74LS04, 74S04 etc. IC’s that belongs to standard CMOS family their number starts with 4, like 4000, 451B, 4724B, 1400. The 74C, 74HC, 74AC & 74ACT series are newer CMOS series.

 

Various series with TTL logic family are:-

 

            Standard TTL 74.

            Schottky TTL 74s.

            Low power Schottky 74LS.

            Advance Schottky 74AS.

            Advanced Low Power Schottky 74ALs.

 

Also there are various series with CMOS logic family as metal state CMOS 40 or 140.

 

 

 

 

Power Supply

 

For TTL circuits, the power supply pin is labeled Vcc and its nominal value.

For CMOS ICs, the power supply pin is labeled as VDD & its nominal value range from T3 to 18V.

 

Unconnected Inputs

 

An unconnected input is called “floating input”. The floating TTL input acts as logic 1. High level is applied to it. This characteristic is often used when

 

testing a TTL circuit. A floating TTL input will measure a DC level between 1.4V to 1.8V when checked with VOM as oscilloscope. If a CMOS input is left floating, it may have disastrous results. The IC may become overheated and eventually destroy itself. For this reason, all inputs to CMOS circuit must be connected to a LOW or HIGH level or to the output of another IC.

 

 

RELAYS

 

A relay is an electrically operated switch. The relay contacts can be made to operate in the pre-arranged fashion. For instance, normally open contacts close and normally closed contacts open. In electromagnetic relays, the contacts however complex they might be, they have only two position i.e. OPEN and CLOSED, whereas in case of electromagnetic switches, the contacts can have multiple positions.

 

NEED FOR THE USE OF RELAY

 

The reason behind using relay for switching loads is to provide complete electrical isolation. The means that there is no electrical connection between the driving circuits and the driven circuits. The driving circuit may be low voltage operated low power circuits that control several kilowatts of power. In our circuit where a high fan could be switched on or off depending upon the output from the telephone.

Since the relay circuit operated on a low voltage, the controlling circuit is quite safe. In an electromagnetic relay the armature is pulled by a magnetic force only. There is no electrical connection between the coil of a relay and the switching contacts of the relay. If there are more than one contact they all are electrically isolated from each other by mounting them on insulating plates and washers. Hence they can be wired to control different circuits independently.

Some of the popular contacts forms are described below:

     1.  Electromagnetic relay

2.      Power Relay.

3.      Time Delay Relay.

4.      Latching Relay.

5.      Crystal Can Relay.

6.      Co-axial Relay.

 

 

 

 

1. Electromagnetic relay:

 

An electromagnetic relay in its simplest form consists of a coil, a DC current passing through which produces a magnetic field. This magnetic field attracts an armature, which in turn operates the contacts. Normally open contacts close and normally closed contacts open. Electromagnetic relays are made in a large variety of contacts forms.

 

2. Power relays:

 

Power relays are multi-pole heavy duty lapper type relays that are capable of switching resistive loads of upto 25amp.. These relays are widely used for a variety of industrial application like control of fractional horse power motors, solenoids, heating elements and so on. These relays usually have button like silver alloy contacts and the contact welding due to heavy in rush current is avoided by wiping action of the contacts to quench the arc during high voltage DC switching thus avoiding the contact welding.

 

3. Time Delay Relay:

 

A time delay relay is the one in which there is a desired amount of time delay between the application of the actuating signal and operation of the load switching devices.

 

 

 

 

 

 

4. Latching Relay:

 

 In a Latching Relay, the relay contacts remain in the last energized position even after removal of signal in the relay control circuit. The contacts are held in the last relay-energized position after removal of energisation either electrically or magnetically. The contacts can be released to the normal position electrically or mechanically.

 

5. Crystal Can Relay:

 

They are so called, as they resemble quartz crystal in external shapes. These are high performance hermetically sealed miniature or sub-miniature relay widely used in aerospace and military application. These relays usually have gold plated contacts and thus have extremely low contact resistance. Due to low moment of inertia of the armature and also due to statically and dynamically balanced nature of armature, these relays switch quite reliably even under extreme condition of shock and vibration.

 

6. Co-axial Relay:

 

A Co-axial Relay has two basic parts, an actuator which is nothing but some kind of a coil and a cavity, housing the relay contacts. The co-axial relay are extensively used for radio frequency switching operations of equipment

 

 

 

 

 

Junction transistors consists of two junctions made from N-type and P-type semiconductor materials and are called bipolar transistors (two polarities). They have three connections emitter, base, and collector.

 

 

 

The forward biased base/emitter junction causes electrons to be attracted from the emitter area towards the base. Arriving in the base area, most of the negative electrons come under the influence of the more positive collector and are attracted by it. This is shown in the left hand drawing, where the base current plus collector current equals the emitter current. Alpha gain is collector current divided by emitter current, and is always less than 1. Beta gain is collector current divided by base current and can be fairly high number. Therefore, causing a small base current to flow makes a much larger collector current to flow. A small base current controls a large collector current. There is 0.6 volts across the base\emitter junction, where it is forward biased (0.3 volts for germanium).

How to control sensors

 

What is a voltage divider?

You are going to find out but don't be in too much of a hurry. Work through the Chapter and allow the explanation to develop.

The diagram below shows a light dependent resistor, or LDR, together with its circuit symbol:

 

 

The light-sensitive part of the LDR is a wavy track of Suppose the LDR has a resistance of 500 , 0.5 , in bright light, and 200 in the shade (these values are reasonable).

When the LDR is in the light, Vout will be:

 

 

A sensor subsystem which functions like this could be thought of as a 'dark sensor' and could be used to control lighting circuits which are switched on automatically in the evening.

Perhaps this does not seem terribly exciting, but almost every sensor circuit you can think of uses a voltage divider. There's just no other way to make sensor subsystems work.

Here is the voltage divider built with the LDR in place of Rtop :

 

 

Temperature sensors

A temperature-sensitive resistor is called a thermistor. There are several different types:

 

 

The resistance of most common types of thermistor decreases as the temperature rises. They are called negative temperature coefficient, or ntc, thermistors. Note the -t° next to the circuit symbol. A typical ntc thermistor is made using semiconductor metal oxide materials. (Semiconductors have resistance properties midway between those of conductors and insulators.) As the temperature rises, more charge carriers become available and the resistance falls.

Although less often used, it is possible to manufacture positive temperature coefficient, or ptc, thermistors. These are made of different materials and show an increase in resistance with temperature.

How could you make a sensor circuit for use in a fire alarm? You want a circuit which will deliver a HIGH voltage when hot conditions are detected. You need a voltage divider with the ntc thermistor in the Rtop position:

 

 

 

How could you make a sensor circuit to detect temperatures less than 4°C to warn motorists that there may be ice on the road? You want a circuit which will give a HIGH voltage in cold conditions. You need a voltage divider with the thermistor in place of Rbottom :

 

 

This last application raises an important question: How do you know what value of Vout you are going to get at 4°C?

 

 

Key point: The biggest change in Vout from a voltage divider is obtained when Rtop and Rbottom are equal in value

 

Sound sensors

 

 

 

 

Another name for a sound sensor is a microphone. The diagram shows a cermet microphone:

 

Cermet' stands for 'ceramic' and 'metal'. A mixture of these materials is used in making the sound-sensitive part of the microphone. To make them work properly, cermet microphones need a voltage, usually around 1.5 V across them. A suitable circuit for use with a 9 V supply is:

 

 

The 4.7 and the 1 resistors make a voltage divider which provides 1.6 V across the microphone. Sound waves generate small changes in voltage, usually in the range 10-20 mV. To isolate these small signals from the steady 1.6 V, a capacitor is used.

Signals from switches

When a switch is used to provide an input to a circuit, pressing the switch usually generates a voltage signal. It is the voltage signal which triggers the circuit into action. What do you need to get the switch to generate a voltage signal? . . . You need a voltage divider. The circuit can be built in either of two ways:

 

The pull down resistor in the first circuit forces Vout to become LOW except when the push button switch is operated. This circuit delivers a HIGH voltage when the switch is pressed. A resistor value of 10 is often used.

In the second circuit, the pull up resistor forces Vout to become HIGH except when the switch is operated. Pressing the switch connects Vout directly to 0 V. In other words, this circuit delivers a LOW voltage when the switch is pressed.

In circuits which process logic signals, a LOW voltage is called 'logic 0' or just '0', while a HIGH voltage is called 'logic1' or '1'. These voltage divider circuits are perfect for providing input signals for logic systems.

What kinds of switches could you use. One variety of push button switch is called a miniature tactile switch. These are small switches which work well with prototype board:

 

 

As you can see, the switch has four pins which are linked in pairs by internal metal strips. Pressing the button bridges the contacts and closes the switch. The extra pins are useful in designing printed circuit boards for keyboard input and also stop the switch from being moved about or bent once soldered into position.

There are lots of other switches which you might want to use in a voltage divider configuration. These include magnetically-operated reed switches, tilt switches and pressure pads, all with burglar alarm applications.