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









In this project we will make GSM gate opener we will control GATE. We will use DC geared motors. We are adding  password for security purpose. In this project we can control any electrical MOTOR through mobile or landline from any part of the country.  In this project one base unit is connected to the basic landline in parallel with the land line phone.. When we want to control any electrical motor through outer phone then first we  dial the connected mobile no., bell is ringing and after few bell phone is automatic on and switch on the base unit  to operate. Now we press the single digital excess code, if the excess code is ok then unit give a  tone pulse and switch on the base unit. Now again we press the switch on/off code to on/off any electrical motor. With the help of this code unit is on and base unit give a acknowledge pulse for on and off separately. in this project we can control number motors and different electrical functions through mobile.



In dtmf decoder circuit we use ic 8870 ic. IC 8870 is a dtmf decoder ic. IC 8870  converts the dual tones to corresponding binary outputs.


DTMF SIGNALLING.    Ac register signaling is used in dtmf telephones, here tones rather than make/break pulse are used fro dialing, each dialed digit is uniquely represented by a pair of sine waves tones. These tones ( one from low group for row and another from high group fro column) are sent to the exchange when a digit is dialed by pushing the key, these tone lies within the speech band of 300 to 3400 hz, and are chosen so as to minimize the possibility of any valid frequency pair existing in normal speech simultaneously. Actually, this minimisator is made possible by forming pairs with one tone from the higher group and the other from the lower of frequencies. A valid dtmf signal is the sum of two tones, one from a lower  group ( 697-940 Hz) and the other from a a higher group ( 1209-1663 Hz). Each group contains four individual tones.  This scheme allows 10 unique combinations. Ten of these code represent digits 1  through 9 and 0. . tones in DTMF dialing  are so chose that none of the tones is harmonic of  are other tone. Therefore  is no change of distortion caused by harmonics. Each tone is sent as along as the key remains pressed. The dtmf signal contains only one component from each  of the high and low group. This significaly simplifies decoding because the composite dtmf signal may be separated with band pass filters into single frequency components, each of which may be handled individually.



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.

So where does this scenario leave us? Think about it……

The world of Micro controllers

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.

We have used a whole lot of technical terms already! Don’t get worried about the meanings at this point. We shall understand these terms as we proceed further

For now just be aware of the fact, that all these terms literally mean what they say.

Bits and Bytes

Before starting on the 8051, here is a quick run through on the bits and bytes. The basic unit of data for a computer is a bit. Four bits make a nibble. Eight bits or two nibbles make a byte. Sixteen bits or four nibbles or two bytes make a word.

1024 bytes make a kilobyte or 1KB, and 1024 KB make a Mega Byte or 1MB.

Thus when we talk of an 8-bit register, we mean the register is capable of holding data of 8 bits only.

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.

Understanding the basic features of the 8051 core

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,

Setb 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.

Simple isn’t it?

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.






IC 4049



CAPACITORS- 1000µF,470µF,33PF,1µF








































Advantage and applications:

1.     farmers have to go to fields to start pump motor early in the morning. With the help of this project they can easily control the pump. At any time.

2.     In some areas because of lack of water sources, water supply is for very small time. With the help of this project employees doing job can switch on/off their house’s water tank motor.

3.     motors in remote  area can be control

4.     Antenna direction can be easily controlled

5.     Robotics.