Top Banner
Interactive Voice Response System With Microcontroller (IVRS) Aim: To implement the (IVRS) Interactive Voice Response System using a microcontroller under the VB platform. Description: In This Project Some Predefined audio chunks are stored in the PC. When we call to the IVRS mobile number and when the call is established, we can now here the welcome voice and few options by hearing which we can select the appropriate option by pressing the corresponding key. Hence DTMF tones will be transferred to calling mobile to the called mobile and to the PC via serial communication. A front end VB software comes into picture now, which will analyze the corresponding tone received and plays back the respective prerecorded audio message through loud speaker. In this manner the voice response system does its operation of responding to the selected options 1
138
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IVRS

Interactive Voice Response System With Microcontroller (IVRS)

Aim:

To implement the (IVRS) Interactive Voice Response System using a

microcontroller under the VB platform.

Description:

In This Project Some Predefined audio chunks are stored in the PC. When we

call to the IVRS mobile number and when the call is established, we can now here

the welcome voice and few options by hearing which we can select the appropriate

option by pressing the corresponding key. Hence DTMF tones will be transferred to

calling mobile to the called mobile and to the PC via serial communication. A front

end VB software comes into picture now, which will analyze the corresponding tone

received and plays back the respective prerecorded audio message through loud

speaker. In this manner the voice response system does its operation of responding

to the selected options

So by using IVRS TECHNOLOGY in college, the parents can know their

children’s details like attendance, marks etc

Visual basic is one of the good user interface platform and easier to

understand and simple to Implement in nature. Visual Basic is a programming

language that is designed especially for windows programming. First user has to

develop the required code in VB. Then interface it with AT89S52 microcontroller

which again programmed to control the devices or any electrical appliances. This is

an interesting project which uses AT89S52 microcontroller as its brain.

This project uses regulated 5V, 500mA power supply. Unregulated 12V DC

is used for relay.7805 three terminal voltage regulator is used for voltage regulation.

1

Page 2: IVRS

Bridge type full wave rectifier is used to rectify the ac output of secondary of

230/12V step down transformer.

Block diagram:

Software’s used: Hardware’s used:

1) Keil. 1) AT89S52.

2) Proteus. 2) D.T.M.F Module.

3) Top win 3) Speaker.

4) Power supply.

5) P.C

6) Max 232

2

MOBILE

AT89S52

MOBILE

POWER SUPPLY

MAX 232 D.T.M.F

MODULE

P.C

SPEAKER

Page 3: IVRS

SCHEMATIC DIAGRAM:

3

Page 4: IVRS

EMBEDDED SYSTEMS

Introduction:

An embedded system is a system which is going to do a predefined specified task is

the embedded system and is even defined as combination of both software and

hardware. A general-purpose definition of embedded systems is that they are devices

used to control, monitor or assist the operation of equipment, machinery or plant.

"Embedded" reflects the fact that they are an integral part of the system. At the other

extreme a general-purpose computer may be used to control the operation of a large

complex processing plant, and its presence will be obvious.

All embedded systems are including computers or microprocessors. Some of these

computers are however very simple systems as compared with a personal computer.

The very simplest embedded systems are capable of performing only a single

function or set of functions to meet a single predetermined purpose. In more

complex systems an application program that enables the embedded system to be

used for a particular purpose in a specific application determines the functioning of

the embedded system. The ability to have programs means that the same embedded

system can be used for a variety of different purposes. In some cases a

microprocessor may be designed in such a way that application software for a

particular purpose can be added to the basic software in a second process, after

which it is not possible to make further changes. The applications software on such

processors is sometimes referred to as firmware.

The simplest devices consist of a single microprocessor (often called a "chip”),

which may itself be packaged with other chips in a hybrid system or Application

Specific Integrated Circuit (ASIC). Its input comes from a detector or sensor and its

output goes to a switch or activator which (for example) may start or stop the

4

Page 5: IVRS

Software Hardware

ALPCVB Etc.,

ProcessorPeripheralsmemory

Embedded System

operation of a machine or, by operating a valve, may control the flow of fuel to an

engine.

As the embedded system is the combination of both software and hardware

Figure: Block diagram of Embedded System

Software deals with the languages like ALP, C, and VB etc., and Hardware deals

with Processors, Peripherals, and Memory.

Memory: It is used to store data or address.

Peripherals: These are the external devices connected

Processor: It is an IC which is used to perform some task

Applications of embedded systems

Manufacturing and process control

Construction industry

Transport

Buildings and premises

Domestic service

5

Page 6: IVRS

Communications

Office systems and mobile equipment

Banking, finance and commercial

Medical diagnostics, monitoring and life support

Testing, monitoring and diagnostic systems

Processors are classified into four types like:

Micro Processor (µp)

Micro controller (µc)

Digital Signal Processor (DSP)

Application Specific Integrated Circuits (ASIC)

Micro Processor (µp):

A silicon chip that contains a CPU. In the world of personal computers, the terms

microprocessor and CPU are used interchangeably. At the heart of all personal

computers and most workstations sits a microprocessor. Microprocessors also

control the logic of almost all digital devices, from clock radios to fuel-injection

systems for automobiles.

Three basic characteristics differentiate microprocessors:

Instruction set: The set of instructions that the microprocessor can execute.

Bandwidth : The number of bits processed in a single instruction.

Clock speed : Given in megahertz (MHz), the clock speed determines how

many instructions per second the processor can execute.

In both cases, the higher the value, the more powerful the CPU. For example, a 32-

bit microprocessor that runs at 50MHz is more powerful than a 16-bit

microprocessor that runs at 25MHz. In addition to bandwidth and clock speed,

6

Page 7: IVRS

microprocessors are classified as being either RISC (reduced instruction set

computer) or CISC (complex instruction set computer).

A microprocessor has three basic elements, as shown above. The ALU performs all

arithmetic computations, such as addition, subtraction and logic operations (AND,

OR, etc). It is controlled by the Control Unit and receives its data from the Register

Array.   The Register Array is a set of registers used for storing data. These registers

can be accessed by the ALU very quickly. Some registers have specific functions -

we will deal with these later.   The Control Unit controls the entire process. It

provides the timing and a control signal for getting data into and out of the registers

and the ALU and it synchronizes the execution of instructions (we will deal with

instruction execution at a later date).  

Three Basic Elements of a Microprocessor

Micro Controller (µc):

A microcontroller is a small computer on a single integrated circuit containing a

processor core, memory, and programmable input/output peripherals. Program

memory in the form of NOR flash or OTP ROM is also often included on chip, as

well as a typically small amount of RAM. Microcontrollers are designed for

7

Page 8: IVRS

Timer, Counter, serial communication ROM, ADC, DAC, Timers, USART, Oscillators

Etc.,

ALU

CU

Memory

embedded applications, in contrast to the microprocessors used in personal

computers or other general purpose applications.

Figure: Block Diagram of Micro Controller (µc)

Digital Signal Processors (DSPs):

Digital Signal Processors is one which performs scientific and mathematical

operation. Digital Signal Processor chips - specialized microprocessors with

architectures designed specifically for the types of operations required in digital

signal processing. Like a general-purpose microprocessor, a DSP is a programmable

device, with its own native instruction code. DSP chips are capable of carrying out

millions of floating point operations per second, and like their better-known general-

purpose cousins, faster and more powerful versions are continually being

introduced. DSPs can also be embedded within complex "system-on-chip" devices,

often containing both analog and digital circuitry.

Application Specific Integrated Circuit (ASIC)

ASIC is a combination of digital and analog circuits packed into an IC to achieve the

desired control/computation function

8

Page 9: IVRS

ASIC typically contains

CPU cores for computation and control

Peripherals to control timing critical functions

Memories to store data and program

Analog circuits to provide clocks and interface to the real world which is

analog in nature

I/Os to connect to external components like LEDs, memories, monitors etc.

Computer Instruction Set

There are two different types of computer instruction set there are:

1. RISC (Reduced Instruction Set Computer) and

2. CISC (Complex Instruction Set computer)

Reduced Instruction Set Computer (RISC)

A RISC (reduced instruction set computer) is a microprocessor that is designed to

perform a smaller number of types of computer instruction so that it can operate at a

higher speed (perform more million instructions per second, or millions of

instructions per second). Since each instruction type that a computer must perform

requires additional transistors and circuitry, a larger list or set of computer

instructions tends to make the microprocessor more complicated and slower in

operation.

Besides performance improvement, some advantages of RISC and related design

improvements are:

9

Page 10: IVRS

A new microprocessor can be developed and tested more quickly if one of its

aims is to be less complicated.

Operating system and application programmers who use the microprocessor's

instructions will find it easier to develop code with a smaller instruction set.

The simplicity of RISC allows more freedom to choose how to use the space

on a microprocessor.

Higher-level language compilers produce more efficient code than formerly because

they have always tended to use the smaller set of instructions to be found in a RISC

computer.

RISC characteristics

Simpleinstructionset:

In a RISC machine, the instruction set contains simple, basic instructions, from

which more complex instructions can be composed.

Samelengthinstructions.

Each instruction is the same length, so that it may be fetched in a single operation.

1machine-cycleinstructions.

Most instructions complete in one machine cycle, which allows the processor to

handle several instructions at the same time. This pipelining is a key technique used

to speed up RISC machines.

Complex Instruction Set Computer (CISC)

CISC, which stands for Complex Instruction Set Computer, is a philosophy for

designing chips that are easy to program and which make efficient use of memory.

Each instruction in a CISC instruction set might perform a series of operations

inside the processor. This reduces the number of instructions required to implement

10

Page 11: IVRS

a given program, and allows the programmer to learn a small but flexible set of

instructions.

TheadvantagesofCISC

At the time of their initial development, CISC machines used available technologies

to optimize computer performance.

Microprogramming is as easy as assembly language to implement, and much

less expensive than hardwiring a control unit.

The ease of micro-coding new instructions allowed designers to make CISC

machines upwardly compatible: a new computer could run the same programs as

earlier computers because the new computer would contain a superset of the

instructions of the earlier computers.

As each instruction became more capable, fewer instructions could be used to

implement a given task. This made more efficient use of the relatively slow main

memory.

Because micro program instruction sets can be written to match the constructs

of high-level languages, the compiler does not have to be as complicated.

ThedisadvantagesofCISC

Still, designers soon realized that the CISC philosophy had its own problems,

including:

Earlier generations of a processor family generally were contained as a subset

in every new version --- so instruction set & chip hardware become more complex

with each generation of computers.

So that as many instructions as possible could be stored in memory with the

least possible wasted space, individual instructions could be of almost any length---

11

Page 12: IVRS

this means that different instructions will take different amounts of clock time to

execute, slowing down the overall performance of the machine.

Many specialized instructions aren't used frequently enough to justify their

existence --- approximately 20% of the available instructions are used in a typical

program.

CISC instructions typically set the condition codes as a side effect of the

instruction. Not only does setting the condition codes take time, but programmers

have to remember to examine the condition code bits before a subsequent instruction

changes them.

Memory Architecture

There two different type’s memory architectures there are:

Harvard Architecture

Von-Neumann Architecture

Harvard Architecture

Computers have separate memory areas for program instructions and data. There are

two or more internal data buses, which allow simultaneous access to both

instructions and data. The CPU fetches program instructions on the program

memory bus.

The Harvard architecture is a computer architecture with physically separate

storage and signal pathways for instructions and data. The term originated from the

Harvard Mark I relay-based computer, which stored instructions on punched tape

(24 bits wide) and data in electro-mechanical counters. These early machines had

12

Page 13: IVRS

limited data storage, entirely contained within the central processing unit, and

provided no access to the instruction storage as data. Programs needed to be loaded

by an operator, the processor could not boot itself.

Figure: Harvard Architecture

Modern uses of the Harvard architecture:

The principal advantage of the pure Harvard architecture - simultaneous access to

more than one memory system - has been reduced by modified Harvard processors

using modern CPU cache systems. Relatively pure Harvard architecture machines

are used mostly in applications where tradeoffs, such as the cost and power savings

from omitting caches, outweigh the programming penalties from having distinct

code and data address spaces.

Digital signal processors (DSPs) generally execute small, highly-optimized

audio or video processing algorithms. They avoid caches because their behavior

must be extremely reproducible. The difficulties of coping with multiple address

spaces are of secondary concern to speed of execution. As a result, some DSPs have

multiple data memories in distinct address spaces to facilitate SIMD and VLIW

processing. Texas Instruments TMS320 C55x processors, as one example, have

multiple parallel data busses (two write, three read) and one instruction bus.

13

Page 14: IVRS

Microcontrollers are characterized by having small amounts of program (flash

memory) and data (SRAM) memory, with no cache, and take advantage of the

Harvard architecture to speed processing by concurrent instruction and data access.

The separate storage means the program and data memories can have different bit

depths, for example using 16-bit wide instructions and 8-bit wide data. They also

mean that instruction pre-fetch can be performed in parallel with other activities.

Examples include, the AVR by Atmel Corp, the PIC by Microchip Technology, Inc.

and the ARM Cortex-M3 processor (not all ARM chips have Harvard architecture).

Even in these cases, it is common to have special instructions to access program

memory as data for read-only tables, or for reprogramming.

Von-Neumann Architecture

A computer has a single, common memory space in which both program

instructions and data are stored. There is a single internal data bus that fetches both

instructions and data. They cannot be performed at the same time

The von Neumann architecture is a design model for a stored-program digital

computer that uses a central processing unit (CPU) and a single separate storage

structure ("memory") to hold both instructions and data. It is named after the

mathematician and early computer scientist John von Neumann. Such computers

implement a universal Turing machine and have a sequential architecture.

A stored-program digital computer is one that keeps its programmed instructions,

as well as its data, in read-write, random-access memory (RAM). Stored-program

computers were advancement over the program-controlled computers of the 1940s,

such as the Colossus and the ENIAC, which were programmed by setting switches

14

Page 15: IVRS

and inserting patch leads to route data and to control signals between various

functional units. In the vast majority of modern computers, the same memory is used

for both data and program instructions. The mechanisms for transferring the data

and instructions between the CPU and memory are, however, considerably more

complex than the original von Neumann architecture.

The terms "von Neumann architecture" and "stored-program computer" are

generally used interchangeably, and that usage is followed in this article.

Figure: Schematic of the Von-Neumann Architecture.

Basic Difference between Harvard and Von-Neumann Architecture

The primary difference between Harvard architecture and the Von Neumann

architecture is in the Von Neumann architecture data and programs are stored in the

same memory and managed by the same information handling system.

Whereas the Harvard architecture stores data and programs in separate

memory devices and they are handled by different subsystems.

In a computer using the Von-Neumann architecture without cache; the central

processing unit (CPU) can either be reading and instruction or writing/reading data

to/from the memory. Both of these operations cannot occur simultaneously as the

data and instructions use the same system bus.

15

Page 16: IVRS

In a computer using the Harvard architecture the CPU can both read an

instruction and access data memory at the same time without cache. This means that

a computer with Harvard architecture can potentially be faster for a given circuit

complexity because data access and instruction fetches do not contend for use of a

single memory pathway.

Today, the vast majority of computers are designed and built using the Von

Neumann architecture template primarily because of the dynamic capabilities and

efficiencies gained in designing, implementing, operating one memory system as

opposed to two. Von Neumann architecture may be somewhat slower than the

contrasting Harvard Architecture for certain specific tasks, but it is much more

flexible and allows for many concepts unavailable to Harvard architecture such as

self programming, word processing and so on.

Harvard architectures are typically only used in either specialized systems or

for very specific uses. It is used in specialized digital signal processing (DSP),

typically for video and audio processing products. It is also used in many small

microcontrollers used in electronics applications such as Advanced RISK Machine

(ARM) based products for many vendors.

16

Page 17: IVRS

THE MICROCONTROLLER:

A microcontroller is a general purpose device, but that is meant to read data,

perform limited calculations on that data and control its environment based on those

calculations. The prime use of a microcontroller is to control the operation of a

machine using a fixed program that is stored in ROM and that does not change over

the lifetime of the system.

The microcontroller design uses a much more limited set of single and double

byte instructions that are used to move data and code from internal memory to the

ALU. The microcontroller is concerned with getting data from and to its own pins;

the architecture and instruction set are optimized to handle data in bit and byte size.

The AT89C51 is a low-power, high-performance CMOS 8-bit microcontroller

with 4k bytes of Flash Programmable and erasable read only memory (EROM). The

device is manufactured using Atmel’s high-density nonvolatile memory technology

and is functionally compatible with the industry-standard 80C51 microcontroller

instruction set and pin out. By combining versatile 8-bit CPU with Flash on a

monolithic chip, the Atmel’s AT89c51 is a powerful microcomputer, which provides

a high flexible and cost- effective solution to many embedded control applications.

17

Page 18: IVRS

AT89C51 MICROCONTROLLER

FEATURES

80C51 based architecture

4-Kbytes of on-chip Reprogrammable Flash Memory

128 x 8 RAM

Two 16-bit Timer/Counters

Full duplex serial channel

Boolean processor

Four 8-bit I/O ports, 32 I/O lines

Memory addressing capability

– 64K ROM and 64K RAM

Power save modes:

– Idle and power-down

Six interrupt sources

Most instructions execute in 0.3 us

CMOS and TTL compatible

Maximum speed: 40 MHz @ Vcc = 5V

Industrial temperature available

Packages available:

– 40-pin DIP

– 44-pin PLCC

– 44-pin PQFP

18

Page 19: IVRS

Pin configuration:

19

Page 20: IVRS

AT89C51 Block Diagram

20

Page 21: IVRS

PIN DESCRIPTION:

VCC

Supply voltage

GND

Ground

Port 0

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

sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as

high impedance inputs.

Port 0 can also be configured to be the multiplexed low order address/data bus

during access to external program and data memory. In this mode, P 0 has internal

pull-ups. Port 0 also receives the code bytes during Flash programming and outputs

the code bytes during program verification. External pull-ups are required during

program verification.

21

Page 22: IVRS

Port 1

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

1output buffers can sink/source four TTL inputs. When 1s are written to port 1 pins,

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

pins that are externally being pulled low will source current (1) because of the

internal pull-ups.

Port 2

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

output buffers can sink/source four TTL inputs. When 1s are written to port 2 pins,

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

pins that are externally being pulled low will source current because of the internal

pull-ups.

Port 2 emits the high-order address byte during fetches from external program

memory and during access to DPTR. In this application Port 2 uses strong internal

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

data address (MOVX@R1), Port 2 emits the contents of the P2 Special Function

Register. Port 2 also receives the high-order address bits and some control signals

during Flash programming and verification.

Port 3

22

Page 23: IVRS

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

output buffers can sink/source four TTL inputs. When 1s are written to port 3 pins,

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

pins that are externally being pulled low will source current because of the internal

pull-ups.

Port 3 also receives some control signals for Flash Programming and verification.

Port

pin

Alternate Functions

P3.0 RXD(serial input port)

P3.1 TXD(serial input port)

P3.2 INT0(external interrupt 0)

P3.3 INT1(external interrupt 1)

P3.4 T0(timer 0 external input)

P3.5 T1(timer 1 external input)

P3.6 WR(external data memory write

strobe)

P3.7 RD(external data memory read

strobe)

23

Page 24: IVRS

RST

Rest input A on this pin for two machine cycles while the oscillator is running resets

the device.

ALE/PROG:

Address Latch Enable is an output pulse for latching the low byte of the

address during access to external memory. This pin is also the program pulse input

(PROG) during Flash programming.

In normal operation ALE is emitted at a constant rate of 1/16 the oscillator

frequency and may be used for external timing or clocking purpose. Note, however,

that one ALE pulse is skipped during each access to external Data memory.

_____

PSEN

Program Store Enable is the read strobe to external program memory when

the AT89c51 is executing code from external program memory PSEN is activated

24

Page 25: IVRS

twice each machine cycle, except that two PSEN activations are skipped during each

access to external data memory.

__

EA /VPP

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

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

to FFFFH. Note, however, that if lock bit 1 is programmed EA will be internally

latched on reset. EA should be strapped to Vcc for internal program executions. This

pin also receives the 12-volt programming enable voltage (Vpp) during Flash

programming when 12-volt programming is selected.

XTAL1

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

circuit.

XTAL 2

Output from the inverting oscillator amplifier.

OPERATING DESCRIPTION

The detail description of the AT89C51 included in this description is:

25

Page 26: IVRS

• Memory Map and Registers

• Timer/Counters

• Interrupt System

MEMORY MAP AND REGISTERS

Memory

The AT89C51 has separate address spaces for program and data memory. The

program and data memory can be up to 64K bytes long. The lower 4K program

memory can reside on-chip. The AT89C51 has 128 bytes of on-chip RAM.

The lower 128 bytes can be accessed either by direct addressing or by indirect

addressing. The lower 128 bytes of RAM can be divided into 3 segments as listed

below

1. Register Banks 0-3: locations 00H through 1FH (32 bytes). The device after

reset defaults to register bank 0. To use the other register banks, the user must select

them in software. Each register bank contains eight 1-byte registers R0-R7. Reset

26

Page 27: IVRS

initializes the stack point to location 07H, and is incremented once to start from

08H, which is the first register of the second register bank.

2. Bit Addressable Area: 16 bytes have been assigned for this segment 20H-2FH.

Each one of the 128 bits of this segment can be directly addressed (0-7FH). Each of

the 16 bytes in this segment can also be addressed as a byte.

3. Scratch Pad Area: 30H-7FH are available to the user as data RAM. However, if

the data pointer has been initialized to this area, enough bytes should be left aside to

prevent SP data destruction.

27

Page 28: IVRS

SPECIAL FUNCTION REGISTERS:

The Special Function Registers (SFR's) are located in upper 128 Bytes direct

addressing area. The SFR Memory Map in shows that.

Not all of the addresses are occupied. Unoccupied addresses are not

implemented on the chip. Read accesses to these addresses in general return random

data, and write accesses have no effect. User software should not write 1s to these

unimplemented locations, since they may be used in future microcontrollers to

invoke new features. In that case, the reset or inactive values of the new bits will

always be 0, and their active values will be 1.

The functions of the SFR’s are outlined in the following sections.

Accumulator (ACC)

ACC is the Accumulator register. The mnemonics for Accumulator-specific

instructions, however, refer to the Accumulator simply as A.

B Register (B)

The B register is used during multiply and divide operations. For other instructions it

can be treated as another scratch pad register.

Program Status Word (PSW)

The PSW register contains program status information.

Stack Pointer (SP)

28

Page 29: IVRS

The Stack Pointer Register is eight bits wide. It is incremented before data is stored

during PUSH and CALL executions. While the stack may reside anywhere in on

chip RAM, the Stack Pointer is initialized to 07H after a reset. This causes the stack

to begin at location 08H.

Data Pointer (DPTR)

The Data Pointer consists of a high byte (DPH) and a low byte (DPL). Its function is

to hold a 16-bit address. It may be manipulated as a 16-bit register or as two

independent 8-bit registers.

Serial Data Buffer (SBUF)

The Serial Data Buffer is actually two separate registers, a transmit buffer and a

receive buffer register. When data is moved to SBUF, it goes to the transmit buffer,

where it is held for serial transmission. (Moving a byte to SBUF initiates the

transmission.) When data is moved from SBUF, it comes from the receive buffer.

Timer Registers

Register pairs (TH0, TL0) and (TH1, TL1) are the 16-bit Counter registers for

Timer/Counters 0 and 1, respectively.

Control Registers

Special Function Registers IP, IE, TMOD, TCON, SCON, and PCON contain

control and status bits for the interrupt system, the Timer/Counters, and the serial

port.

TIMER/COUNTERS

29

Page 30: IVRS

The IS89C51 has two 16-bit Timer/Counter registers: Timer 0 and Timer 1.

All two can be configured to operate either as Timers or event counters. As a Timer,

the register is incremented every machine cycle. Thus, the register counts machine

cycles. Since a machine cycle consists of 12 oscillator periods, the count rate is 1/12

of the oscillator frequency.

As a Counter, the register is incremented in response to a 1-to-0 transition at

its corresponding external input pin, T0 and T1. The external input is sampled

during S5P2 of every machine cycle. When the samples show a high in one cycle

and a low in the next

cycle, the count is incremented. The new count value appears in the register during

S3P1 of the cycle following the one in which the transition was detected. Since two

machine cycles (24 oscillator periods) are required to recognize a 1-to-0 transition,

the maximum count rate is 1/24 of the oscillator frequency. There are no restrictions

on the duty cycle of the external input signal, but it should be held for at least one

full machine cycle to ensure that a given level is sampled at least once before it

changes.

In addition to the Timer or Counter functions, Timer 0 and Timer 1 have four

operating modes: 13-bit timer, 16-bit timer, 8-bit auto-reload, split timer.

TIMERS:

30

Page 31: IVRS

SFR’S USED IN TIMERS

The special function registers used in timers are,

TMOD Register

TCON Register

Timer(T0) & timer(T1) Registers

(i) TMOD Register:

31

Page 32: IVRS

TMOD is dedicated solely to the two timers (T0 & T1).

The timer mode SFR is used to configure the mode of operation of each of the

two timers. Using this SFR your program may configure each timer to be a

16-bit timer, or 13 bit timer, 8-bit auto reload timer, or two separate timers.

Additionally you may configure the timers to only count when an external pin

is activated or to count “events” that are indicated on an external pin.

It can consider as two duplicate 4-bit registers, each of which controls the

action of one of the timers.

(ii) TCON Register:

The timer control SFR is used to configure and modify the way in which the

8051’s two timers operate. This SFR controls whether each of the two timers

is running or stopped and contains a flag to indicate that each timer has

overflowed. Additionally, some non-timer related bits are located in TCON

SFR.

These bits are used to configure the way in which the external interrupt flags

are activated, which are set when an external interrupt occurs.

32

Page 33: IVRS

(iii) TIMER 0 (T0):

TO (Timer 0 low/high, address 8A/8C h)

These two SFR’s taken together represent timer 0. Their exact behavior

depends on how the timer is configured in the TMOD SFR; however, these

timers always count up. What is configurable is how and when they increment

in value.

(iv) TIMER 1 (T1):

T1 (Timer 1 Low/High, address 8B/ 8D h)

These two SFR’s, taken together, represent timer 1. Their exact behavior depends on

how the timer is configured in the TMOD SFR; however, these timers always count

up. What is Configurable is how and when they increment in value.

33

Page 34: IVRS

The Timer or Counter function is selected by control bits C/T in the Special

Function Register TMOD. These two Timer/Counters have four operating modes,

which are selected by bit pairs (M1, M0) in TMOD. Modes 0, 1, and 2 are the same

for both Timer/Counters, but Mode 3 is different.

The four modes are described in the following sections.

Mode 0:

Both Timers in Mode 0 are 8-bit Counters with a divide-by-32 pre scalar.

Figure 8 shows the Mode 0 operation as it applies to Timer 1. In this mode, the

Timer register is configured as a 13-bit register. As the count rolls over from all 1s

to all 0s, it sets the Timer interrupt flag TF1. The counted input is enabled to the

Timer when TR1 = 1 and either GATE = 0 or INT1 = 1. Setting GATE = 1 allows

the Timer to be controlled by external input INT1, to facilitate pulse width

measurements. TR1 is a control bit in the Special Function Register TCON. Gate is

in TMOD.

The 13-bit register consists of all eight bits of TH1 and the lower five bits of

TL1. The upper three bits of TL1 are indeterminate and should be ignored. Setting

the run flag (TR1) does not clear the registers.

34

Page 35: IVRS

Mode 0 operation is the same for Timer 0 as for Timer 1, except that TR0,

TF0 and INT0 replace the corresponding Timer 1 signals. There are two different

GATE bits, one for Timer 1 (TMOD.7) and one for Timer 0 (TMOD.3).

Mode 1

Mode 1 is the same as Mode 0, except that the Timer register is run with all

16 bits. The clock is applied to the combined high and low timer registers

(TL1/TH1). As clock pulses are received, the timer counts up: 0000H, 0001H,

0002H, etc. An overflow occurs on the FFFFH-to-0000H overflow flag. The timer

continues to count. The overflow flag is the TF1 bit in TCON that is read or written

by software

Mode 2

Mode 2 configures the Timer register as an 8-bit Counter (TL1) with

automatic reload, as shown in Figure 10. Overflow from TL1 not only sets TF1, but

also reloads TL1 with the contents of TH1, which is preset by software. The reload

leaves the TH1 unchanged. Mode 2 operation is the same for Timer/Counter 0.

Mode 3

Timer 1 in Mode 3 simply holds its count. The effect is the same as setting

TR1 = 0. Timer 0 in Mode 3 establishes TL0and TH0 as two separate counters. The

logic for Mode 3 on Timer 0 is shown in Figure 11. TL0 uses the Timer 0 control

35

Page 36: IVRS

bits: C/T, GATE, TR0, INT0, and TF0. TH0 is locked into a timer function

(counting machine cycles) and over the use of TR1 and TF1 from Timer 1. Thus,

TH0 now controls the Timer 1 interrupt.

Mode 3 is for applications requiring an extra 8-bit timer or counter. With

Timer 0 in Mode 3, the AT89C51 can appear to have three Timer/Counters. When

Timer 0 is in Mode 3, Timer 1 can be turned on and off by switching it out of and

into its own Mode 3. In this case, Timer 1 can still be used by the serial port as a

baud rate generator or in any application not requiring an interrupt.

INTERRUPT SYSTEM

An interrupt is an external or internal event that suspends the operation of

micro controller to inform it that a device needs its service. In interrupt method,

whenever any device needs its service, the device notifies the micro controller by

sending it an interrupt signal. Upon receiving an interrupt signal, the micro

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

associated with interrupt is called as interrupt service subroutine (ISR).Main

advantage with interrupts is that the micro controller can serve many devices.

Baud Rate

The baud rate in Mode 0 is fixed as shown in the following equation. Mode 0

Baud Rate = Oscillator Frequency /12 the baud rate in Mode 2 depends on the value

of the SMOD bit in Special Function Register PCON. If SMOD = 0 the baud rate is

1/64 of the oscillator frequency. If SMOD = 1, the baud rate is 1/32 of the oscillator

frequency.

36

Page 37: IVRS

Mode 2 Baud Rate = 2SMODx (Oscillator Frequency)/64.

In the IS89C51, the Timer 1 overflow rate determines the baud rates in Modes 1 and

3.

NUMBER OF INTERRUPTS IN 89C51:

There are basically five interrupts available to the user. Reset is also

considered as an interrupt. There are two interrupts for timer, two interrupts for

external hardware interrupt and one interrupt for serial communication.

Memory location Interrupt name

0000H Reset

0003H External interrupt 0

000BH Timer interrupt 0

0013H External interrupt 1

001BH Timer interrupt 1

0023H Serial COM interrupt

Lower the vector, higher the priority. The External Interrupts INT0 and INT1

can each be either level-activated or transition-activated, depending on bits IT0 and

IT1 in Register TCON. The flags that actually generate these interrupts are the IE0

and IE1 bits in TCON. When the service routine is vectored, hardware clears the

flag that generated an external interrupt only if the interrupt was transition-activated.

37

Page 38: IVRS

If the interrupt was level-activated, then the external requesting source (rather than

the on-chip hardware) controls the request flag.

The Timer 0 and Timer 1 Interrupts are generated by TF0and TF1, which are

set by a rollover in their respective Timer/Counter registers (except for Timer 0 in

Mode 3).When a timer interrupt is generated, the on-chip hardware clears the flag

that is generated.

The Serial Port Interrupt is generated by the logical OR of RI and TI. The

service routine normally must determine whether RI or TI generated the interrupt,

and the bit must be cleared in software.

All of the bits that generate interrupts can be set or cleared by software, with

the same result as though they had been set or cleared by hardware. That is,

interrupts can be generated and pending interrupts can be canceled in software.

Each of these interrupt sources can be individually enabled or disabled by

setting or clearing a bit in Special Function Register IE (interrupt enable) at address

0A8H. There is a global enable/disable bit that is cleared to disable all interrupts or

to set the interrupts.

IE (Interrupt enable register):

Steps in enabling an interrupt:

38

Page 39: IVRS

Bit D7 of the IE register must be set to high to allow the rest of register to take

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

corresponding bits in IE are high. If EA=0, no interrupt will be responded to even if

the associated bit in the IE register is high.

Description of each bit in IE register:

D7 bit: Disables all interrupts. If EA =0, no interrupt is acknowledged, if

EA=1 each interrupt source is individually enabled or disabled by setting or clearing

its enable bit.

D6 bit: Reserved.

D5 bit: Enables or disables timer 2 over flow interrupt (in 8052).

D4 bit: Enables or disables serial port interrupt.

D3 bit: Enables or disables timer 1 over flow interrupt.

D2 bit: Enables or disables external interrupt 1.

D1 bit: Enables or disables timer 0 over flow interrupt.

D0 bit: Enables or disables external interrupt 0.

Interrupt priority in 89C51:

39

Page 40: IVRS

There is one more SRF to assign priority to the interrupts which is named as

interrupt priority (IP). User has given the provision to assign priority to one

interrupt. Writing one to that particular bit in the IP register fulfils the task of

assigning the priority.

Description of each bit in IP register:

D7 bit: Reserved.

D6 bit: Reserved.

D5 bit: Timer 2 interrupt priority bit (in 8052).

D4 bit: Serial port interrupt priority bit.

D3 bit: Timer 1 interrupt priority bit.

D2 bit: External interrupt 1 priority bit.

D1 bit: Timer 0 interrupt priority bit.

D0 bit: External interrupt 0 priority bit.

Power Supply:

Block diagram:

40

Page 41: IVRS

Figure: Power Supply

Circuitdiagram:

Description:

Transformer:

41

Page 42: IVRS

A transformer is a device that transfers electrical energy from one circuit to another

through inductively coupled conductors—the transformer's coils. A varying current

in the first or primary winding creates a varying magnetic flux in the transformer's

core, and thus a varying magnetic field through the secondary winding. This varying

magnetic field induces a varying electromotive force (EMF) or "voltage" in the

secondary winding. This effect is called mutual induction.

Figure: Transformer Symbol

(or)

Transformer is a device that converts the one form energy to another form of energy

like a transducer.

Figure: Transformer

42

Page 43: IVRS

Basic Principle :

A transformer makes use of Faraday's law and the ferromagnetic properties of an

iron core to efficiently raise or lower AC voltages. It of course cannot increase

power so that if the voltage is raised, the current is proportionally lowered and vice

versa.

Figure: Basic Principle

43

Page 44: IVRS

Transformer Working:

A transformer consists of two coils (often called 'windings') linked by an iron core,

as shown in figure below. There is no electrical connection between the coils,

instead they are linked by a magnetic field created in the core.

Figure: Basic Transformer

Transformers are used to convert electricity from one voltage to another with

minimal loss of power. They only work with AC (alternating current) because they

require a changing magnetic field to be created in their core. Transformers can

increase voltage (step-up) as well as reduce voltage (step-down).

Alternating current flowing in the primary (input) coil creates a continually

changing magnetic field in the iron core. This field also passes through the

secondary (output) coil and the changing strength of the magnetic field induces an

alternating voltage in the secondary coil. If the secondary coil is connected to a load

44

Page 45: IVRS

the induced voltage will make an induced current flow. The correct term for the

induced voltage is 'induced electromotive force' which is usually abbreviated to

induced e.m.f.

The iron core is laminated to prevent 'eddy currents' flowing in the core. These are

currents produced by the alternating magnetic field inducing a small voltage in the

core, just like that induced in the secondary coil. Eddy currents waste power by

needlessly heating up the core but they are reduced to a negligible amount by

laminating the iron because this increases the electrical resistance of the core

without affecting its magnetic properties.

Transformers have two great advantages over other methods of changing voltage:

1. They provide total electrical isolation between the input and output, so they

can be safely used to reduce the high voltage of the mains supply.

2. Almost no power is wasted in a transformer. They have a high efficiency

(power out / power in) of 95% or more.

Classification of Transformer:

Step-Up Transformer

Step-Down Transformer

Step-Down Transformer:

Step down transformers are designed to reduce electrical voltage. Their primary

voltage is greater than their secondary voltage. This kind of transformer "steps

down" the voltage applied to it. For instance, a step down transformer is needed to

use a 110v product in a country with a 220v supply.

45

Page 46: IVRS

Step down transformers convert electrical voltage from one level or phase

configuration usually down to a lower level. They can include features for electrical

isolation, power distribution, and control and instrumentation applications. Step

down transformers typically rely on the principle of magnetic induction between

coils to convert voltage and/or current levels.

Step down transformers are made from two or more coils of insulated wire wound

around a core made of iron. When voltage is applied to one coil (frequently called

the primary or input) it magnetizes the iron core, which induces a voltage in the

other coil, (frequently called the secondary or output). The turn’s ratio of the two

sets of windings determines the amount of voltage transformation.

Figure: Step-Down Transformer

An example of this would be: 100 turns on the primary and 50 turns on the

secondary, a ratio of 2 to 1.

Step down transformers can be considered nothing more than a voltage ratio

device.

With step down transformers the voltage ratio between primary and secondary will

mirror the "turn’s ratio" (except for single phase smaller than 1 kva which have

46

Page 47: IVRS

compensated secondary). A practical application of this 2 to 1 turn’s ratio would be

a 480 to 240 voltage step down. Note that if the input were 440 volts then the output

would be 220 volts. The ratio between input and output voltage will stay constant.

Transformers should not be operated at voltages higher than the nameplate rating,

but may be operated at lower voltages than rated. Because of this it is possible to do

some non-standard applications using standard transformers.

Single phase step down transformers 1 kva and larger may also be reverse connected

to step-down or step-up voltages. (Note: single phase step up or step down

transformers sized less than 1 KVA should not be reverse connected because the

secondary windings have additional turns to overcome a voltage drop when the load

is applied. If reverse connected, the output voltage will be less than desired.)

Step-Up Transformer:

A step up transformer has more turns of wire on the secondary coil, which makes a

larger induced voltage in the secondary coil. It is called a step up transformer

because the voltage output is larger than the voltage input.

Step-up transformer 110v 220v design is one whose secondary voltage is greater

than its primary voltage. This kind of transformer "steps up" the voltage applied to

it. For instance, a step up transformer is needed to use a 220v product in a country

with a 110v supply.

A step up transformer 110v 220v converts alternating current (AC) from one voltage

to another voltage. It has no moving parts and works on a magnetic induction

principle; it can be designed to "step-up" or "step-down" voltage. So a step up

transformer increases the voltage and a step down transformer decreases the voltage.

47

Page 48: IVRS

The primary components for voltage transformation are the step up transformer core

and coil. The insulation is placed between the turns of wire to prevent shorting to

one another or to ground. This is typically comprised of Mylar, nomex, Kraft paper,

varnish, or other materials. As a transformer has no moving parts, it will typically

have a life expectancy between 20 and 25 years.

Figure: Step-Up Transformer

Applications

Generally these Step-Up Transformers are used in industries applications only.

Turns Ratio and Voltage

The ratio of the number of turns on the primary and secondary coils determines the

ratio of the voltages...

48

Page 49: IVRS

...where Vp is the primary (input) voltage, Vs is the secondary (output) voltage, Np is

the number of turns on the primary coil, and Ns is the number of turns on the

secondary coil.

Diodes:

Diodes allow electricity to flow in only one direction.  The arrow of the circuit

symbol shows the direction in which the current can flow.  Diodes are the electrical

version of a valve and early diodes were actually called valves.

Figure: Diode Symbol

A diode is a device which only allows current to flow through it in one direction.  In

this direction, the diode is said to be 'forward-biased' and the only effect on the

signal is that there will be a voltage loss of around 0.7V.  In the opposite direction,

the diode is said to be 'reverse-biased' and no current will flow through it.

Rectifier

The purpose of a rectifier is to convert an AC waveform into a DC waveform (OR)

Rectifier converts AC current or voltages into DC current or voltage.  There are two

49

Page 50: IVRS

different rectification circuits, known as 'half-wave' and 'full-wave' rectifiers. 

Both use components called diodes to convert AC into DC.

The Half-wave Rectifier

The half-wave rectifier is the simplest type of rectifier since it only uses one diode,

as shown in figure .

Figure: Half Wave Rectifier

Figure 2 shows the AC input waveform to this circuit and the resulting output.  As

you can see, when the AC input is positive, the diode is forward-biased and lets the

current through.  When the AC input is negative, the diode is reverse-biased and the

diode does not let any current through, meaning the output is 0V.  Because there is a

0.7V voltage loss across the diode, the peak output voltage will be 0.7V less than

Vs.

50

Page 51: IVRS

Figure: Half-Wave Rectification

While the output of the half-wave rectifier is DC (it is all positive), it would not be

suitable as a power supply for a circuit.  Firstly, the output voltage continually varies

between 0V and Vs-0.7V, and secondly, for half the time there is no output at all. 

The Full-wave Rectifier

The circuit in figure 3 addresses the second of these problems since at no time is the

output voltage 0V.  This time four diodes are arranged so that both the positive and

negative parts of the AC waveform are converted to DC.  The resulting waveform is

shown in figure 4.

51

Page 52: IVRS

Figure: Full-Wave Rectifier

Figure: Full-Wave Rectification

When the AC input is positive, diodes A and B are forward-biased, while diodes C

and D are reverse-biased.  When the AC input is negative, the opposite is true -

diodes C and D are forward-biased, while diodes A and B are reverse-biased.

52

Page 53: IVRS

While the full-wave rectifier is an improvement on the half-wave rectifier, its output

still isn't suitable as a power supply for most circuits since the output voltage still

varies between 0V and Vs-1.4V.  So, if you put 12V AC in, you will 10.6V DC out.

Capacitor Filter

The capacitor-input filter, also called "Pi" filter due to its shape that looks like the

Greek letter pi, is a type of electronic filter. Filter circuits are used to remove

unwanted or undesired frequencies from a signal.

Figure: Capacitor Filter

A typical capacitor input filter consists of a filter capacitor C1, connected across the

rectifier output, an inductor L, in series and another filter capacitor connected across

the load.

1. The capacitor C1 offers low reactance to the AC component of the rectifier

output while it offers infinite reactance to the DC component. As a result the

capacitor shunts an appreciable amount of the AC component while the DC

component continues its journey to the inductor L

2. The inductor L offers high reactance to the AC component but it offers almost

zero reactance to the DC component. As a result the DC component flows

through the inductor while the AC component is blocked.

53

Page 54: IVRS

3. The capacitor C2 bypasses the AC component which the inductor had failed

to block. As a result only the DC component appears across the load RL.

Figure: Centered Tapped Full-Wave Rectifier with a Capacitor Filter

Voltage Regulator:

A voltage regulator is an electrical regulator designed to automatically maintain a

constant voltage level. It may use an electromechanical mechanism, or passive or

active electronic components. Depending on the design, it may be used to regulate

one or more AC or DC voltages. There are two types of regulator are they.

Positive Voltage Series (78xx) and

Negative Voltage Series (79xx)

78xx:’78’ indicate the positive series and ‘xx’indicates the voltage rating. Suppose

7805 produces the maximum 5V.’05’indicates the regulator output is 5V.

79xx:’78’ indicate the negative series and ‘xx’indicates the voltage rating. Suppose

7905 produces the maximum -5V.’05’indicates the regulator output is -5V.

54

Page 55: IVRS

These regulators consists the three pins there are

Pin1: It is used for input pin.

Pin2: This is ground pin for regulator

Pin3: It is used for output pin. Through this pin we get the output.

Figure: Regulator

DTMF

Introduction

Dual-Tone Multi-Frequency (DTMF) signaling is a standard telecommunication

system developed by Bell Laboratories. The DTMF signaling was proposed more

than 30 years ago to replace slower pulse dialing. Many things have changed since

this time, but DTMF has become the most popular addressing and messaging tool in

telecommunications, and it does not look as though it will fade away in foreseeable

future. In this system, a matrix is used to compose a signal, which consists of a

lower frequency group containing four distinguished frequencies which are below 1

55

Page 56: IVRS

1 2 3 A

4 5 6 B

7 8 9 C

* 0 # D

697 Hz

770 Hz

852 Hz

941Hz

1209 Hz 1336 Hz 1744 Hz 1633Hz

Figure 2. DTMF matrix

High frequency group

Low frequency group

KHz and a high frequency group also containing four distinguished frequencies

which are above 1 KHz (figure 2). Each telephone key contains a pair of

simultaneous low and high frequency tones.

To detect DTMF signals by software in the digital domain, many algorithms,

including Fast Fourier Transform (FFT), Goertzel DFT, Modified Goertzel

Algorithm, Non-uniform Discrete Fourier Transform (NDFT), Sub band NDFT, and

Adaptive Frequency Estimation are proposed. The Modified Goertzel Algorithm is

one of the most accurate and computing-efficient technologies for limited frequency

detection. In DTMF tone detection cases, the Goertzel Algorithm only transforms 8

frequencies instead of perform on an entire spectrum like FFT. This saves a lot

computational resources, which is critical for lower-power processors. Its non-

complexity is easy to adapt into small MCU and DSP.

We are using M8870 ic. The M-8870 is a full DTMF Receiver that integrates both

band split filter and decoder functions into a single 18-pin DIP or SOIC package.

Manufactured using CMOS process technology, the M-8870 offers low power

56

Page 57: IVRS

consumption (35 mW max) and precise data handling. Its filter section uses

switched capacitor technology for both the high and low group filters and for dial

tone rejection. Its decoder uses digital counting techniques to detect and decode all

16 DTMF tone pairs into a 4-bit code. External component count is minimized by

provision of an on-chip differential input amplifier, clock generator, and latched tri-

state interface bus. Minimal external components required include a low-cost

3.579545 MHz color burst crystal, a timing resistor, and a timing capacitor. The M-

8870-02 provides a “power-down” option which, when enabled, drops consumption

to less than 0.5 mW. The M-8870-02 can also inhibit the decoding of fourth column

digits.

MT8870 (INTEGRATED DTMF RECEIVER)

The MT8870D/MT8870D-1 monolithic DTMF receiver offers small size, low

power consumption and high performance. It is a complete DTMF (Dual Tone

Multiple Frequency) receiver integrating both the band split filter and digital

decoder functions. The filter section uses switched capacitor techniques for high and

low group filters; the decoder uses digital counting techniques to detect and decode

all 16 DTMF tone pairs into a 4-bit code. External component count is minimized by

on chip provision of a differential input amplifier, clock oscillator and latched three-

state bus interface.

Features:

• Complete DTMF Receiver

57

Page 58: IVRS

• Low power consumption

• Internal gain setting amplifier

• Adjustable guard time

• Central office quality

• Power-down mode

• Inhibit mode

• Backward compatible with MT8870C/MT8870C-1

PIN Diagram:

58

Page 59: IVRS

Pin Description:

1. IN+ Non-Inverting Op-Amp (Input).

2. IN- Inverting Op-Amp (Input).

3. GS Gain Select. Gives access to output of front end differential

amplifier for

Connection of feedback resistor

4. Vref Reference Voltage (Output). Nominally VDD/2 is used to bias

inputs at

Mid-rail

59

Page 60: IVRS

5. INH Inhibit (Input). Logic high inhibits the detection of tones

representing

Characters A, B, C and D. This pin input is internally pulled down.

6. PWDN Power down (Input). Active high. Powers down the device and

inhibits the oscillator. This pin input is internally pulled down.

7. OSC1 Clock (Input).

8. OSC2 Clock (Output). A 3.579545 MHz crystal connected between pins

OSC1 and OSC2 completes the internal oscillator circuit.

9. VSS Ground (Input) 0.V typical.

10. TOE Three State Output Enable (Input). Logic high enables the outputs Q1-

Q4. This pin is pulled up internally.

Q1-Q4 Three State Data (Output). When enabled by TOE, provide the code

corresponding to the last valid tone-pair received (see Table 1). When TOE is logic

low, the data outputs are high impedance.

60

Page 61: IVRS

15. StD Delayed Steering (Output).Presents a logic high when a received tone-

pair has been registered and the output latch updated; returns to logic low when the

voltage on St/GT falls below VTSt.

16. ESt Early Steering (Output). Presents logic high once the digital

algorithm has detected a valid tone pair (signal condition). Any momentary loss of

signal condition will cause ESt to return to a logic low.

17. St/GT Steering Input/Guard time (Output) Bidirectional. A voltage greater

than VTSt detected at St Causes the device to register the detected tone pair and

update the output latch. A voltage less than VTSt free the device to accept a new

tone pair. The GT output acts to reset the external steering time-constant; its state is

a function of ESt and the voltage on St.

18. VDD Positive power supply (Input). +5V typical.

NC No Connection.

Block Diagram:

61

Page 62: IVRS

Filter Section:

Separation of the low-group and high group tones is achieved by applying the

DTMF signal to the inputs of two sixth-order switched capacitor band pass filters,

the bandwidths of which correspond to the low and high group frequencies. The

filter output is followed by a single order switched capacitor filter section which

smoothes the signals Prior to limiting. Limiting is performed by high-gain

comparators which are provided with hysteresis to prevent detection of unwanted

low-level signals.

Decoder Section:

Digital counting techniques to determine the frequencies of the incoming tones and

to verify that they correspond to standard DTMF frequencies. When the detector

recognizes the presence of two valid tones the “Early Steering” (ESt) output will go

62

Page 63: IVRS

to an active state. Any subsequent loss of signal condition will cause ESt to assume

an inactive state.

Steering Circuit:

Before registration of a decoded tone pair, the receiver checks for a valid signal

duration (referred to as character recognition condition). This check is performed by

an external RC time constant driven by ESt. The steering circuit works in reverse to

validate the interdigit pause between signals. Thus, as well as rejecting signals too

short to be considered valid, the receiver will tolerate signal interruptions (dropout)

too short to be considered a valid pause. This facility, together with the capability of

selecting the steering time constants externally, allows the designer to tailor

performance to meet a wide variety of system requirements.

Crystal Oscillator:

The internal clock circuit is completed with the addition of an external 3.579545

MHz crystal

Differential Input Configuration:

The input arrangement of the MT8870D/MT8870D-1 provides a differential-input

operational amplifier as well as a bias source (VRef) which is used to bias the inputs

63

Page 64: IVRS

at mid-rail. Provision is made for connection of a feedback resistor to the op-amp

output (GS) for adjustment of gain. The op-amp connected for unity gain and Vref

biasing the input at 1/2VDD.

Power-down Mode:

Logic high applied to pin 6 (PWDN) will power down the device to minimize the

power consumption in a standby mode. It stops the oscillator and the functions of

the filters.

Inhibit Mode:

Inhibit mode is enabled by a logic high input to the pin 5 (INH). It inhibits the

detection of tones.

Applications:

Receiver system for British telecom spec por 1151

Paging systems

Repeater systems/mobile radio

Credit card systems

Remote control

Personal computers

Telephone answering machine

64

Page 65: IVRS

SERIAL COMMUNICATION

THEORY:

In order to connect micro controller to a modem or a pc to modem a

serial port is used. Serial is a very common protocol for device communication

that is standard on almost every PC. Most computers include two RS-232 based

serial ports. Serial is also a common communication protocol that is used by

many devices for instrumentation; numerous GPIB-compatible devices also

65

Page 66: IVRS

come with an RS-232 port. Furthermore, serial communication can be used for

data acquisition in conjunction with a remote sampling device.

The concept of serial communication is simple. The serial port sends and

receives bytes of information one bit at a time. Although this is slower than

parallel communication, which allows the transmission of an entire byte at

once, it is simpler and can be used over longer distances. For example, the

IEEE 488 specifications for parallel communication state that the cabling

between equipment can be no more than 20 meters total, with no more than 2

meters between any two devices. Serial, however, can extend as much as 1200

meters.

Typically, serial is used to transmit ASCII data. Communication is

completed using 3 transmission lines: (1) Ground, (2) Transmit, and (3)

Receive. Since serial is asynchronous, the port is able to transmit data on one

line while receiving data on another. Other lines are available for handshaking,

but are not required. The important serial characteristics are baud rate, data

bits, stop bits, and parity. For two ports to communicate, these parameters

must match.

Baud rate: It is a speed measurement for communication. It indicates the number

of bit transfers per second. For example, 300 baud is 300 bits per second. When a

clock cycle is referred it means the baud rate. For example, if the protocol calls for a

4800 baud rate, then the clock is running at 4800Hz. This means that the serial port

is sampling the data line at 4800Hz. Common baud rates for telephone lines are

14400, 28800, and 33600. Baud rates greater than these are possible, but these rates

reduce the distance by which devices can be separated. These high baud rates are

used for device communication where the devices are located together, as is

typically the case with GPIB devices.

66

Page 67: IVRS

Data bits: Measurement of the actual data bits in a transmission. When the

computer sends a packet of information, the amount of actual data may not be a full

8 bits. Standard values for the data packets are 5, 7, and 8 bits. Which setting chosen

depends on what information transferred. For example, standard ASCII has values

from 0 to 127 (7 bits). Extended ASCII uses 0 to 255 (8 bits). If the data being

transferred is simple text (standard ASCII), then sending 7 bits of data per packet is

sufficient for communication. A packet refers to a single byte transfer, including

start/stop bits, data bits, and parity. Since the number of actual bits depend on the

protocol selected, the term packet is used to cover all instances.

Stop bits: used to signal the end of communication for a single packet. Typical

values are 1, 1.5, and 2 bits. Since the data is clocked across the lines and each

device has its own clock, it is possible for the two devices to become slightly out of

sync. Therefore, the stop bits not only indicate the end of transmission but also give

the computers some room for error in the clock speeds. The more bits that are used

for stop bits, the greater the lenience in synchronizing the different clocks, but the

slower the data transmission rate.

Parity: A simple form of error checking that is used in serial communication. There

are four types of parity: even, odd, marked, and spaced. The option of using no

parity is also available. For even and odd parity, the serial port sets the parity bit (the

last bit after the data bits) to a value to ensure that the transmission has an even or

odd number of logic high bits. For example, if the data is 011, then for even parity,

the parity bit is 0 to keep the number of logic-high bits even. If the parity is odd,

then the parity bit is 1, resulting in 3 logic-high bits. Marked and spaced parity does

not actually check the data bits, but simply sets the parity bit high for marked parity

or low for spaced parity. This allows the receiving device to know the state of a bit

67

Page 68: IVRS

to enable the device to determine if noise is corrupting the data or if the transmitting

and receiving device clocks are out of sync.

WHAT IS RS –232C

RS-232 (ANSI/EIA-232 Standard) is the serial connection found on IBM-

compatible PCs. It is used for many purposes, such as connecting a mouse,

printer, or modem, as well as industrial instrumentation. Because of

improvements in line drivers and cables, applications often increase the

performance of RS-232 beyond the distance and speed listed in the standard.

RS-232 is limited to point-to-point connections between PC serial ports and

devices. RS-232 hardware can be used for serial communication up to distances

of 50 feet .

DB-9 pin connector

1 2 3 4 5

6 7 8 9 (Out of computer and exposed end of cable)

Pin Functions:

Data: TxD on pin 3, RxD on pin 2

Handshake: RTS on pin 7, CTS on pin 8, DSR on pin 6,

CD on pin 1, DTR on pin 4

68

Page 69: IVRS

Common: Common pin 5(ground)

Other: RI on pin 9

The method used by RS-232 for communication allows for a simple connection

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

Communications are these:

TXD: carries data from DTE to the DCE.

RXD: carries data from DCE to the DTE

SG: signal ground

Connection Diagram:

Figure.: Interfacing to MCU RS 232

SFRs Used for Serial Communication:

SCON:

69

Page 70: IVRS

TMOD:

T1:

CONNECTIONS IN MAX 232:

If you wanted to do a general RS-232 connection, you could take a bunch of

long wires and solder them directly to the electronic circuits of the equipment you

are using, but this tends to make a big mess and often those solder connections tend

to break and other problems can develop. To deal with these issues, and to make it

easier to setup or take down equipment, some standard connectors have been

developed that is commonly found on most equipment using the RS-232 standards.

These connectors come in two forms: A male and a female connector. The female

connector has holes that allow the pins on the male end to be inserted into the

connector.

This is a female "DB-9" connector (properly known as DE9F):

70

Page 71: IVRS

Female Connector

The female DB-9 connector is typically used as the "plug" that goes into a typical

PC. If you see one of these on the back of your computer, it is likely not to be used

for serial communication, but rather for things like early VGA or CGA monitors

(not SVGA) or for some special control/joystick equipment.

And this is a male "DB-9" connector (properly known as DE9M):

Male Connector

This is the connector that you are more likely to see for serial communications on a

"generic" PC. Often you will see two of them side by side (for COM1 and COM2).

Special equipment that you might communicate with would have either connector,

or even one of the DB-25 connectors listed below.

The wiring of RS-232 devices involves first identifying the actual pins that are being

used. Here is how a female DB-9 connector is numbered:

71

Page 72: IVRS

Figure.: Front View

If the numbers are hard to read, it starts at the top-right corner as "1", and goes left

until the end of the row and then starts again as pin 6 on the next row until you get to

pin 9 on the bottom-left pin. "Top" is defined as the row with 5 pins.

The male connector (like what you have on your PC) is simply this same order, but

reversed from right to left.

Here each pin is usually defined as:

9-pin 25-pin pin definition

1 8 DCD (Data Carrier Detect)

2 3 RX (Receive Data)

3 2 TX (Transmit Data)

4 20 DTR (Data Terminal Ready)

5 7 GND (Signal Ground)

6 6 DSR (Data Set Ready)

7 4 RTS (Request To Send)

8 5 CTS (Clear To Send))

9 22 RI (Ring Indicator)

72

Page 73: IVRS

Pin Definition of Connectors

One thing to keep in mind when discussing these pins and their meaning is that they

are very closely tied together with modems and modem protocols. Often you don't

have a modem attached in the loop, but you still treat the equipment as if it were a

modem on a theoretical level.

MAX232:

Max 232 is a communications device used mainly for serial commands to and from

a flash ROM.The MAX232 is an integrated circuit that converts signals from an RS-

232 serial port to signals suitable for use in TTL compatible digital logic circuits.

The MAX232 is a dual driver/receiver and typically converts the RX, TX, CTS and

RTS signals. The drivers provide RS-232 voltage level outputs (approx. ± 7.5 V)

from a single + 5 V supply via on-chip charge pumps and external capacitors. This

makes it useful for implementing RS-232 in devices that otherwise do not need any

voltages outside the 0 V to + 5 V range, as power supply design does not need to be

made more complicated just for driving the RS-232 in this case.

The receivers reduce RS-232 inputs (which may be as high as ± 25 V), to standard

5 V TTL levels. These receivers have a typical threshold of 1.3 V, and a typical

hysteresis of 0.5 V.

The later MAX232A is backwards compatible with the original MAX232 but may

operate at higher baud rates and can use smaller external capacitors – 0.1 μF in place

of the 1.0 μF capacitors used with the original device.

The newer MAX3232 is also backwards compatible, but operates at a broader

voltage range, from 3 to 5.5V.

73

Page 74: IVRS

Voltage levels

It is helpful to understand what occurs to the voltage levels. When a MAX232 IC

receives a TTL level to convert, it changes a TTL Logic 0 to between +3 and +15V,

and changes TTL Logic 1 to between -3 to -15V, and vice versa for converting from

RS232 to TTL. This can be confusing when you realize that the RS232 Data

Transmission voltages at a certain logic state are opposite from the RS232 Control

Line voltages at the same logic state. To clarify the matter, see the table below. For

more information see RS-232 Voltage Levels.

RS232 Line Type & Logic LevelRS232

Voltage

TTL Voltage to/from

MAX232

Data Transmission (Rx/Tx) Logic 0 +3V to +15V 0V

Data Transmission (Rx/Tx) Logic 1 -3V to -15V 5V

Control Signals (RTS/CTS/DTR/DSR)

Logic 0-3V to -15V 5V

Control Signals (RTS/CTS/DTR/DSR)

Logic 1+3V to +15V 0V

Standard serial interfacing of microcontroller (TTL) with PC or any  RS232C

Standard device , requires TTL to RS232 Level converter . A MAX232 is used for

this purpose. It provides 2-channel RS232C port and requires external 10uF

capacitors. The driver requires a single supply of +5V.

74

Page 75: IVRS

Loud speaker:

A loudspeaker (or "speaker") is an electroacoustic transducer that produces sound in

response to an electrical audio signal input. Non-electrical loudspeakers were

developed as accessories to telephone systems, but electronic amplification by

vacuum tube made loudspeakers more generally useful. The most common form of

loudspeaker uses a paper cone supporting a voice coil electromagnet acting on a

permanent magnet, but many other types exist. Where accurate reproduction of

sound is required, multiple loudspeakers may be used, each reproducing a part of the

audible frequency range. Miniature loudspeakers are found in devices such as radio

and TV receivers, and many forms of music players. Larger loudspeaker systems are

75

Figure 13:MAX 232 Pin Diagram Figure 14:Internal Diagram

Page 76: IVRS

used for music, sound reinforcement in theatres and concerts, and in public address

systems.

An inexpensive, low fidelity 3½-inch speaker, typically found in small radios.

The most common type of driver, commonly called a dynamic loudspeaker, uses a

lightweight diaphragm, or cone, connected to a rigid basket, or frame, via a flexible

suspension that constrains a coil of fine tinsel wire to move axially through a

cylindrical magnetic gap. When an electrical signal is applied to the voice coil, a

magnetic field is created by the electric current in the voice coil, making it a variable

electromagnet. The coil and the driver's magnetic system interact, generating a

mechanical force that causes the coil (and thus, the attached cone) to move back and

forth, thereby reproducing sound under the control of the applied electrical signal

coming from the amplifier. The following is a description of the individual

components of this type of loudspeaker.

76

Page 77: IVRS

Cutaway view of a dynamic loudspeaker

The diaphragm is usually manufactured with a cone- or dome-shaped profile. A

variety of different materials may be used, but the most common are paper, plastic,

and metal. The ideal material would be 1) rigid, to prevent uncontrolled cone

motions; 2) have low mass, to minimize starting force requirements and energy

storage issues; 3) be well damped, to reduce vibrations continuing after the signal

has stopped with little or no audible ringing due to its resonance frequency as

determined by its usage. In practice, all three of these criteria cannot be met

simultaneously using existing materials; thus, driver design involves trade-offs. For

example, paper is light and typically well damped, but is not stiff; metal may be stiff

and light, but it usually has poor damping; plastic can be light, but typically, the

stiffer it is made, the poorer the damping. As a result, many cones are made of some

sort of composite material. For example, a cone might be made of cellulose paper,

into which some carbon fiber, Kevlar, glass, hemp or bamboo fibers have been

added; or it might use a honeycomb sandwich construction; or a coating might be

applied to it so as to provide additional stiffening or damping.

77

Page 78: IVRS

The chassis, frame, or basket, is designed to be rigid, avoiding deformation which

would change critical alignments with the magnet gap, perhaps causing the voice

coil to rub against the sides of the gap. Chassis are typically cast from aluminum

alloy, or stamped from thin steel sheet, although molded plastic and damped plastic

compound baskets are becoming common, especially for inexpensive, low-mass

drivers. Metallic chassis can play an important role in conducting heat away from

the voice coil; heating during operation changes resistance, causing physical

dimensional changes, and if extreme, may even demagnetize permanent magnets.

The suspension system keeps the coil centered in the gap and provides a restoring

(centering) force that returns the cone to a neutral position after moving. A typical

suspension system consists of two parts: the "spider", which connects the diaphragm

or voice coil to the frame and provides the majority of the restoring force, and the

"surround", which helps center the coil/cone assembly and allows free pistonic

motion aligned with the magnetic gap. The spider is usually made of a corrugated

fabric disk, impregnated with a stiffening resin. The name comes from the shape of

early suspensions, which were two concentric rings of Bakelite material, joined by

six or eight curved "legs". Variations of this topology included the addition of a felt

disc to provide a barrier to particles that might otherwise cause the voice coil to rub.

The German firm Rulik still offers drivers with uncommon spiders made of wood.

The cone surround can be rubber or polyester foam, or a ring of corrugated, resin

coated fabric; it is attached to both the outer diaphragm circumference and to the

frame. These different surround materials, their shape and treatment can

dramatically affect the acoustic output of a driver; each class and implementation

78

Page 79: IVRS

having advantages and disadvantages. Polyester foam, for example, is lightweight

and economical, but is degraded by exposure to ozone, UV light, humidity and

elevated temperatures, limiting its useful life to about 15 years.

The wire in a voice coil is usually made of copper, though aluminum—and, rarely,

silver—may be used. The advantage of aluminum is its light weight, which raises

the resonant frequency of the voice coil and allows it to respond more easily to

higher frequencies. A disadvantage of aluminum is that it is not easily soldered, and

so connections are instead often crimped together and sealed. These connections can

corrode and fail in time. Voice-coil wire cross sections can be circular, rectangular,

or hexagonal, giving varying amounts of wire volume coverage in the magnetic gap

space. The coil is oriented co-axially inside the gap; it moves back and forth within a

small circular volume (a hole, slot, or groove) in the magnetic structure. The gap

establishes a concentrated magnetic field between the two poles of a permanent

magnet; the outside of the gap being one pole, and the center post (called the pole

piece) being the other. The pole piece and backplate are often a single piece, called

the poleplate or yoke.

Modern driver magnets are almost always permanent and made of ceramic, ferrite,

Alnico, or, more recently, rare earth such as neodymium and Samarium cobalt. A

trend in design—due to increases in transportation costs and a desire for smaller,

lighter devices (as in many home theater multi-speaker installations)—is the use of

the last instead of heavier ferrite types. Very few manufacturers still produce

electrodynamic loudspeakers with electrically powered field coils, as was common

in the earliest designs (one such is French). When high field-strength permanent

79

Page 80: IVRS

magnets became available, Alnico, an alloy of aluminum, nickel, and cobalt became

popular, since it dispensed with the power supply issues of field-coil drivers. Alnico

was used for almost exclusively until about 1980. Alnico magnets can be partially

degaussed (i.e., demagnetized) by accidental 'pops' or 'clicks' caused by loose

connections, especially if used with a high power amplifier. This damage can be

reversed by "recharging" the magnet.

KEIL SOFTWARE:

a) ABOUT SOFTWARE

Software’s used are:

*Keil software for c programming

*Express PCB for lay out design

*Express SCH for schematic design

What's New in µVision3?

µVision3 adds many new features to the Editor like Text Templates, Quick Function

Navigation, and Syntax Coloring with brace high lighting Configuration Wizard for

dialog based startup and debugger setup. µVision3 is fully compatible to µVision2

and can be used in parallel with µVision2.

What is µVision3?

µVision3 is an IDE (Integrated Development Environment) that helps you write,

compile, and debug embedded programs. It encapsulates the following components:

A project manager.

80

Page 81: IVRS

A make facility.

Tool configuration.

Editor.

A powerful debugger.

To help you get started, several example programs (located in the \C51\Examples, \

C251\Examples, \C166\Examples, and \ARM\...\Examples) are provided.

HELLO is a simple program that prints the string "Hello World" using the

Serial Interface.

MEASURE is a data acquisition system for analog and digital systems.

TRAFFIC is a traffic light controller with the RTX Tiny operating system.

SIEVE is the SIEVE Benchmark.

DHRY is the Dhrystone Benchmark.

WHETS is the Single-Precision Whetstone Benchmark.

Additional example programs not listed here are provided for each device

architecture.

Building an Application in µVision2

To build (compile, assemble, and link) an application in µVision2, you must:

1. Select Project -(forexample,166\EXAMPLES\HELLO\HELLO.UV2).

2. Select Project - Rebuild all target files or Build target.

µVision2 compiles, assembles, and links the files in your project.

Creating Your Own Application in µVision2

To create a new project in µVision2, you must:

1. Select Project - New Project.

2. Select a directory and enter the name of the project file.

81

Page 82: IVRS

3. Select Project - Select Device and select an 8051, 251, or C16x/ST10 device

from the Device Database™.

4. Create source files to add to the project.

5. Select Project - Targets, Groups, Files. Add/Files, select Source Group1, and

add the source files to the project.

6. Select Project - Options and set the tool options. Note when you select the

target device from the Device Database™ all special options are set

automatically. You typically only need to configure the memory map of your

target hardware. Default memory model settings are optimal for most

applications.

7. Select Project - Rebuild all target files or Build target.

Debugging an Application in µVision2

To debug an application created using µVision2, you must:

1. Select Debug - Start/Stop Debug Session.

2. Use the Step toolbar buttons to single-step through your program. You may

enter G, main in the Output Window to execute to the main C function.

3. Open the Serial Window using the Serial #1 button on the toolbar.

Debug your program using standard options like Step, Go, Break, and so on.

Starting µVision2 and Creating a Project

µVision2 is a standard Windows application and started by clicking on the program

icon. To create a new project file select from the µVision2 menu

Project – New Project…. This opens a standard Windows dialog that asks you

for the new project file name.

We suggest that you use a separate folder for each project. You can simply use

82

Page 83: IVRS

the icon Create New Folder in this dialog to get a new empty folder. Then

select this folder and enter the file name for the new project, i.e. Project1.

µVision2 creates a new project file with the name PROJECT1.UV2 which contains

a default target and file group name. You can see these names in the Project

Window – Files.

Now use from the menu Project – Select Device for Target and select a CPU

for your project. The Select Device dialog box shows the µVision2 device

database. Just select the micro controller you use. We are using for our examples the

Philips 80C51RD+ CPU. This selection sets necessary tool

options for the 80C51RD+ device and simplifies in this way the tool Configuration

Building Projects and Creating a HEX Files

Typical, the tool settings under Options – Target are all you need to start a new

application. You may translate all source files and line the application with a

click on the Build Target toolbar icon. When you build an application with

syntax errors, µVision2 will display errors and warning messages in the Output

Window – Build page. A double click on a message line opens the source file

on the correct location in a µVision2 editor window.

Once you have successfully generated your application you can start debugging.

After you have tested your application, it is required to create an Intel HEX

file to download the software into an EPROM programmer or simulator. µVision2

83

Page 84: IVRS

creates HEX files with each build process when Create HEX files under Options for

Target – Output is enabled. You may start your PROM programming utility after the

make process when you specify the program under the option Run User Program #1.

CPU Simulation

µVision2 simulates up to 16 Mbytes of memory from which areas can be

mapped for read, write, or code execution access. The µVision2 simulator traps

and reports illegal memory accesses.

In addition to memory mapping, the simulator also provides support for the

integrated peripherals of the various 8051 derivatives. The on-chip peripherals

of the CPU you have selected are configured from the Device

Database selection

you have made when you create your project target. Refer to page 58 for more

Information about selecting a device. You may select and display the on-chip

peripheral components using the Debug menu. You can also change the aspects of

each peripheral using the controls in the dialog boxes.

Start Debugging

You start the debug mode of µVision2 with the Debug – Start/Stop Debug

Session command. Depending on the Options for Target – Debug

Configuration, µVision2 will load the application program and run the startup

84

Page 85: IVRS

code µVision2 saves the editor screen layout and restores the screen layout of the

last debug session. If the program execution stops, µVision2 opens an

editor window with the source text or shows CPU instructions in the disassembly

window. The next executable statement is marked with a yellow arrow. During

debugging, most editor features are still available.

For example, you can use the find command or correct program errors. Program

source text of your application is shown in the same windows. The µVision2 debug

mode differs from the edit mode in the following aspects:

_ The “Debug Menu and Debug Commands” described on page 28 are

Available. The additional debug windows are discussed in the following.

_ The project structure or tool parameters cannot be modified. All build

Commands are disabled.

Disassembly Window

The Disassembly window shows your target program as mixed source and assembly

program or just assembly code. A trace history of previously executed instructions

may be displayed with Debug – View Trace Records. To enable the trace history, set

Debug – Enable/Disable Trace Recording.

If you select the Disassembly Window as the active window all program step

commands work on CPU instruction level rather than program source lines. You can

select a text line and set or modify code breakpoints using toolbar buttons or the

context menu commands.

85

Page 86: IVRS

You may use the dialog Debug – Inline Assembly… to modify the CPU

instructions. That allows you to correct mistakes or to make temporary changes to

the target program you are debugging.

B)Keil Software

Installing the Keil software on a Windows PC

Insert the CD-ROM in your computer’s CD drive

On most computers, the CD will “auto run”, and you will see the Keil

installation menu. If the menu does not appear, manually double click on the

Setup icon, in the root directory: you will then see the Keil menu.

On the Keil menu, please select “Install Evaluation Software”. (You will not

require a license number to install this software).

Follow the installation instructions as they appear.

Loading the Projects

The example projects for this book are NOT loaded automatically when you

install the Keil compiler.

These files are stored on the CD in a directory “/Pont”. The files are arranged by

chapter: for example, the project discussed in Chapter 3 is in the directory

“/Pont/Ch03_00-Hello”.

Rather than using the projects on the CD (where changes cannot be saved), please

copy the files from CD onto an appropriate directory on your hard disk.

Note: you will need to change the file properties after copying: file transferred from

the CD will be ‘read only’.

86

Page 87: IVRS

Configuring the Simulator

Open the Keil Vision2

go to Project – Open Project and browse for Hello in Ch03_00 in Pont and open it.

KEIL SOFTWARE TOOL (STEPS)

1. Click on the Keil uVision Icon on DeskTop

2. The following fig will appear

3. Click on the Project menu from the title bar

87

Page 88: IVRS

4. Then Click on New Project

5. Save the Project by typing suitable project name with no extension in u r

own folder sited in either C:\ or D:\

88

Page 89: IVRS

6. Then Click on Save button above.

7. Select the component for u r project. i.e. Atmel……

8. Click on the + Symbol beside of Atmel

89

Page 90: IVRS

9. Select AT89C52 as shown below

10. Then Click on “OK”

11. The Following fig will appear

90

Page 91: IVRS

12. Then Click either YES or NO………mostly “NO”

13. Now your project is ready to USE

14. Now double click on the Target1, you would get another option “Source

group 1” as shown in next page.

91

Page 92: IVRS

15. Click on the file option from menu bar and select “new”

92

Page 93: IVRS

16. The next screen will be as shown in next page, and just maximize it by

double clicking on its blue boarder.

17. Now start writing program in either in “C” or “ASM”

18. For a program written in Assembly, then save it with extension “. asm”

and for “C” based program save it with extension “ .C”

93

Page 94: IVRS

19. Now right click on Source group 1 and click on “Add files to Group

Source”

94

Page 95: IVRS

20. Now you will get another window, on which by default “C” files will

appear.

21. Now select as per your file extension given while saving the file

95

Page 96: IVRS

22. Click only one time on option “ADD”

23. Now Press function key F7 to compile. Any error will appear if so happen.

24. If the file contains no error, then press Control+F5 simultaneously.

25. The new window is as follows

26. Then Click “OK”

96

Page 97: IVRS

27. Now Click on the Peripherals from menu bar, and check your required port

as shown in fig below

28. Drag the port a side and click in the program file.

29. Now keep Pressing function key “F11” slowly and observe.

30. You are running your program successfully

97

Page 98: IVRS

Conclusion:

This Project is aimed to play predefined audio chunks are stored in the PC. When we

call to the IVRS mobile number and when the call is established, we can now here

the welcome voice and few options by hearing which we can select the appropriate

option by pressing the corresponding key

Applications:

In interactive voice response systems like cellular mobile services, toll free

enquiries, television game show polls, etc. etc..

Limitations:

This project is limited with information which it cannot provide to the user, for

which he needs to wait for the operator assistance.

Future scope:

Our project can be further extended with interactive video responses, and

holographic virtual projections.

98

Page 99: IVRS

BIBLOGRAPHY:

The 8051 Micro controller and Embedded Systems

o MuhammadAliMazi

di

o JaniceGillispieMazi

di

The8051MicrocontrollerArchitecture,Programming&

Applications

o KennethJ.Ayala

Fundamentals of Micro processors and Micro computers

o B. Ram

Electronic Components

D.V.Prasad

References on the Web:

www.national.com

www.atmel.com

www.microsoftsearch.com

www.geocities.com

99

Page 100: IVRS

100