93
PC CONTROLLED WIRELESS ROBOT BY USING RADIO FREQUENCY

17. Pc Controlled Wireless Robot by Using Radio Frequency

Embed Size (px)

Citation preview

Page 1: 17. Pc Controlled Wireless Robot by Using Radio Frequency

PC CONTROLLED WIRELESS ROBOT BY USING

RADIO FREQUENCY

Page 2: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Embedded Systems

1.1 INTRODUCTION TO EMBEDDED SYSTEMS

Each day, our lives become more dependent on 'embedded systems',

digital information technology that is embedded in our environment. More

than 98% of processors applied today are in embedded systems, and are no

longer visible to the customer as 'computers' in the ordinary sense. An

Embedded System is a special-purpose system in which the computer is

completely encapsulated by or dedicated to the device or system it controls.

Unlike a general-purpose computer, such as a personal computer, an

embedded system performs one or a few pre-defined tasks, usually with very

specific requirements. Since the system is dedicated to specific tasks, design

engineers can optimize it, reducing the size and cost of the product.

Embedded systems are often mass-produced, benefiting from economies of

scale. The increasing use of PC hardware is one of the most important

developments in high-end embedded systems in recent years. Hardware

costs of high-end systems have dropped dramatically as a result of this trend,

making feasible some projects which previously would not have been done

because of the high cost of non-PC-based embedded hardware. But software

choices for the embedded PC platform are not nearly as attractive as the

hardware.

Typically, an embedded system is housed on a single microprocessor

board with the programs stored in ROM. Virtually all appliances that have a

digital interface -- watches, microwaves, VCRs, cars -- utilize embedded

systems. Some embedded systems include an operating system, but many

Page 3: 17. Pc Controlled Wireless Robot by Using Radio Frequency

are so specialized that the entire logic can be implemented as a single

program.

Physically, Embedded Systems range from portable devices such as digital

watches and MP3 players, to large stationary installations like traffic lights,

factory controllers, or the systems controlling nuclear power plants.

In terms of complexity embedded systems can range from very simple with

a single microcontroller chip, to very complex with multiple units,

peripherals and networks mounted inside a large chassis or enclosure.

Definition of an Embedded System

Embedded system is defined as, For a particular/specific application

implementing the software code to interact directly with that particular

hardware what we built. Software is used for providing features and

flexibility, Hardware = {Processors, ASICs, Memory,...} is used for

Performance (& sometimes security)

There are many definitions of embedded system but all of these can be

combined into a single concept. An embedded system is a special purpose

computer system that is used for particular task.

Features of Embedded Systems

The versatility of the embedded computer system lends itself to utility in all

kinds of enterprises, from the simplification of deliverable products to a

reduction in costs in their development and manufacture. Complex systems

with rich functionality employ special operating systems that take into

account major characteristics of embedded systems. Embedded operating

Page 4: 17. Pc Controlled Wireless Robot by Using Radio Frequency

systems have minimized footprint and may follow real-time operating

system specifics.

The special computers system is usually less powerful than general-purpose

systems, although some expectations do exist where embedded systems are

very powerful and complicated. Usually a low power consumption CPU

with a limited amount of memory is used in embedded systems. Many

embedded systems use very small operating systems; most of these provide

very limited operating system capabilities.

Since the embedded system is dedicated to specific tasks, design engineers

can optimize it, reducing the size and cost of the product, or increasing the

reliability and performance. Some embedded systems are mass-produced,

benefiting from economies of scale.

Some embedded systems have to operate in extreme environment conditions

such as very high temperature & humidity.

For high volume systems such as portable music players or mobile phones,

minimizing cost is usually the primary design consideration. Engineers

typically select hardware that is just “good enough” to implement the

necessary functions.

For low volume or prototype embedded systems, general purpose computers

may be adapted by limiting the programs or by replacing the operating

system with a real-time operating system.

Characteristics of Embedded Systems

Embedded computing systems generally exhibit rich functionality—complex

functionality is usually the reason for introducing CPUs into the design.

Page 5: 17. Pc Controlled Wireless Robot by Using Radio Frequency

However, they also exhibit many non-functional requirements that make the

task especially challenging:

• real-time deadlines that will cause system failure if not met;

• multi-rate operation;

• in many cases, low power consumption;

• low manufacturing cost, which often means limited code size.

Workstation programmers often concentrate on functionality. They may

consider the performance characteristics of a few computational kernels of

their software, but rarely analyze the total application. They almost never

consider power consumption and manufacturing cost. The need to juggle all

these requirements makes embedded system programming very challenging

and is the reason why embedded system designers need to understand

computer architecture.

Overview of an Embedded System Architecture

Every Embedded system consists of a custom-built hardware built around a

central processing unit. This hardware also contains memory chips onto

which the software is loaded.

Application Software

Operating System

H/W

Page 6: 17. Pc Controlled Wireless Robot by Using Radio Frequency

The operating system runs above the hardware and the application software

runs above the operating system. The same architecture is applicable to any

computer including desktop computer. However these are significant

differences. It is not compulsory to have an operating system in every

embedded system. For small applications such as remote control units, air

conditioners, toys etc.

Applications of Embedded Systems

Some of the most common embedded systems used in everyday life are

Small embedded controllers: 8-bit CPUs dominate, simple or no operating system

(e.g., thermostats)Control systems: Often use DSP chip for control computations

(e.g., automotive engine control)Distributed embedded control: Mixture of large and small nodes on a real-time Embedded networks (e.g., cars, elevators, factory automation)System on chip: ASIC design tailored to application area

(e.g., consumer electronics, set-top boxes)Network equipment: Emphasis on data movement/packet flow

(e.g., network switches; telephone switches)Critical systems: Safety and mission critical computing

(e.g., pacemakers, automatic trains)Signal processing: Often use DSP chips for vision, audio, or other signal Processing (e.g., face recognition)Robotics: Uses various types of embedded computing (especially Vision and control) (e.g., autonomous vehicles)Computer peripherals: Disk drives, keyboards, laser printers, etc.Wireless systems: Wireless network-connected “sensor networks” and

Page 7: 17. Pc Controlled Wireless Robot by Using Radio Frequency

“Motes” to gather and report informationEmbedded PCs: Palmtop and small form factor PCs embedded into EquipmentCommand and control: Often huge military systems and “systems of systems” (e.g., a fleet of warships with interconnected Computers)

Home Appliances, intercom, telephones, security systems, garage door

openers, answering machines, fax machines, home computers, TVs, cable

TV tuner, VCR, camcorder, remote controls, video games, cellular phones,

musical instruments, sewing machines, lighting control, paging, camera,

pinball machines, toys, exercise equipment

Office Telephones, computers, security systems, fax machines, microwave,

copier, laser printer, color printer, paging

Auto Trip computer, engine control, air bag, ABS, instrumentation, security

system, transmission control, entertainment, climate control, cellular phone,

keyless entry

TYPES OF EMBEDDED SYSTEMSBased on functionality and performance embedded systems categorized as 4 types

1. Stand alone embedded systems

2. Real time embedded systems

3. Networked information appliances

4. Mobile devices

1. Stand alone embedded systems:-

As the name implies, stand alone systems work in stand alone mode. They

Page 8: 17. Pc Controlled Wireless Robot by Using Radio Frequency

take i/p, process them and produce the desire o/p. The i/p can be an

electrical signal from transducer or temperature signal or commands from

human being. The o/p can be electrical signal to drive another system an led

or lcd display

ex digital camera, microwave oven, CD player, Air conditioner etc

2. Real time embedded systems:-

In this type of an embedded system a specific work has to be complete in a particular period of time.

Hard Real time systems:- embedded real time used in missiles

Soft Real time systems:- DVD players

3. Networked information appliances:- Embedded systems that are provided with n/w interfaces and accessed by

n/w's such as local area n/w or internet are called Network Information

Appliances

Ex A web camera is connected to the internet. Camera can send pictures in

real time to any computers connected to the internet

4. Mobile devices:- Actually it is a combination of both VLSI and Embedded System

Mobile devices such as Mobile phone, Personal digital assistants, smart

phones etc are special category of embedded systems

2.2 INTRODUCTION TO MICROCONTROLLER

Page 9: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Based on the Processor side Embedded Systems is mainly divided into 3 types

1. Micro Processor : - are for general purpose eg: our personal computer

2. Micro Controller:- are for specific applications, because of cheaper cost we will go for these

3. DSP ( Digital Signal Processor ):- are for high and sensitive application purpose

MICROCONTROLLER VERSUS MICROPROCESSOR

A system designer using a general-purpose microprocessor such as the

Pentium or the 68040 must add RAM, ROM, I/O ports, and timers

externally to make them functional. Although the addition of external RAM,

ROM, and I/O ports makes these systems bulkier and much more expensive,

they have the advantage of versatility such that the designer can decide on

the amount of RAM, ROM and I/O ports needed to fit the task at hand.

A Microcontroller has a CPU (a microprocessor) in addition to a fixed

amount of RAM, ROM, I/O ports, and a timer all on a single chip. In other

words, the processor, the RAM, ROM, I/O ports and the timer are all

embedded together on one chip; therefore, the designer cannot add any

external memory, I/O ports, or timer to it. The fixed amount of on-chip

ROM, RAM, and number of I/O ports in Microcontrollers makes them ideal

for many applications in which cost and space are critical.

Page 10: 17. Pc Controlled Wireless Robot by Using Radio Frequency
Page 11: 17. Pc Controlled Wireless Robot by Using Radio Frequency

CPU platform:

Embedded processors can be broken into two distinct categories:

microprocessors (μP) and microcontrollers (μC). Microcontrollers have

built-in peripherals on the chip, reducing size of the system.

There are many different CPU architectures used in embedded designs such

as ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR,

Renesas H8, SH, V850, FR-V, M32R, Z80, Z8, etc. This in contrast to the

desktop computer market, which is currently limited to just a few competing

architectures.

PC/104 and PC/104+ are a typical base for small, low-volume embedded

and ruggedized system design. These often use DOS, Linux, NetBSD, or an

embedded real-time operating system such as QNX or VxWorks.

Page 12: 17. Pc Controlled Wireless Robot by Using Radio Frequency

A common configuration for very-high-volume embedded systems is the

system on a chip (SoC), an application-specific integrated circuit (ASIC), for

which the CPU core was purchased and added as part of the chip design. A

related scheme is to use a field-programmable gate array (FPGA), and

program it with all the logic, including the CPU.

Embedded systems are based on the concept of the microcontroller, a single

integrated circuit that contains all the technology required to run an

application. Microcontrollers make integrated systems possible by

combining several features together into what is effectively a complete

computer on a chip, including:

* Central Processing Unit

* Input/Output interfaces (such as serial ports)

* Peripherals (such as timers)

* ROM, EEPROM or Flash memory for program storage

* RAM for data storage

* Clock generator

By integrating all of these features into a single chip it is possible to greatly

reduce the number of chips and wiring necessary to control an electronic

device, dramatically reducing its complexity, size and cost.

* Size & Weight: Microcontrollers are designed to deliver maximum

performance for minimum size and weight. A centralized on-board computer

system would greatly outweigh a collection of microcontrollers.

* Efficiency: Microcontrollers are designed to perform repeated functions

for long periods of time without failing or requiring service.

Page 13: 17. Pc Controlled Wireless Robot by Using Radio Frequency

MICRO CONTROLLER: is a chip through which we can connect many

other devices and also those are controlled by the program the program

which burn into that chip

INTRODUCTION TO 8051

Intel Corporation introduced an 8 bit micro controller called the 8051 in

1981. While the time of introduction, Intel was given some specific features

and particular name as MCS-51

Features:-

ROM ---- 4 K bytes of Memory

RAM ----- 128 bytes

Timers------2

4 ports --- 32 I/O ports ( each 8 bit wide )

Interrupts-----6

serial port-----1

all on a single chip

Many semiconductor manufacturers started either manufacturing the 8051

devices as such (Intel was liberal in giving away license to whoever asked)

or developing a new kind of microcontrollers based on 8051 core

architecture. Manufacturers modified the basic 8051 architecture and added

many new peripheral functions to make them attractive to the designers.

After that so many industries are come into picture to introduce 8051 again

wit some extra features. This has led to many versions of the 8051 with

different speeds and amounts of on-chip ROM marketed by more

Page 14: 17. Pc Controlled Wireless Robot by Using Radio Frequency

manufactures those are

Dallas ------ DS4700

Zilog---------Z

Motrolla

Freescale

Atmel ------- AT89C51/52, AT89S51/52

Phillips ----- P89C51RD2Fn

Before these industries came into picture 8051 chips are made with CMOs

technology. ATmel was introduced with ISP (In System Programming)

In System Programming (ISP):-

In-System Programming (ISP) is the ability of some programmable logic

devices, microcontrollers, and other programmable electronic chips to be

programmed while installed in a complete system, rather than requiring the

chip to be programmed prior to installing it into the system. (or) In-system

programming is a valuable feature that allows system firmware to be

upgraded without disassembling the embedded system to physically replace

memory. Most Maxim 8051-based microcontrollers can be reprogrammed

from a PC or laptop via an inexpensive RS-232 serial interface and a few

logic gates

The primary advantage of this feature is that it allows manufacturers of

electronic devices to integrate programming and testing into a single

production phase, rather than requiring a separate programming stage prior

to assembling the system. This may allow manufacturers to program the

Page 15: 17. Pc Controlled Wireless Robot by Using Radio Frequency

chips in their own system's production line instead of buying

preprogrammed chips from a manufacturer or distributor, making it feasible

to apply code or design changes in the middle of a production run.

2.3 AT89S52 MICROCONTROLLER

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

microcontroller with 8K bytes of in-system programmable Flash memory.

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

technology and is compatible with the industry-standard 80C51

instruction set and pin out. The on-chip Flash allows the program memory to

be reprogrammed in-system or by a conventional nonvolatile memory

programmer. By combining a versatile 8-bit CPU with in-system

programmable Flash on a monolithic chip, the Atmel AT89S52 is a powerful

microcontroller which provides a highly-flexible and cost-effective solution

to many embedded control applications.

8051 PIN DIAGRAM

Page 16: 17. Pc Controlled Wireless Robot by Using Radio Frequency

AT89S52 Architecture consists of these specific features:

8 bit CPU with registers A (Accumulator) and B

16 bit Program Counter(PC) and Data Pointer (DPTR)

8 bit Program Status Word (PSW)

8 bit Stack Pointer (SP)

Internal ROM of 8k

Internal RAM of 128 bytes

Four Register banks each containing eight registers

Sixteen bytes, which may be addressed at the bit level

Eighty bytes of general purpose data memory

32 I/O pins arranged as four 8-bit ports: P0,P1,P2,P3

Two 16-bit Timers/Counters: T0 and T1

Full duplex serial data Receiver/Transmitter : SBUF

Control Registers: TCON, TMOD, SCON, SMOD, PCON, IP and IE.

Two external and three internal interrupt sources.

Oscillator and Clock circuits.

Pin Description

Pin ( 32 – 39 ) Port 0: Port 0 is an 8-bit open drain bidirectional port. As

an open drain output port, it can sink eight LS TTL loads. Port 0 pins that

have 1s written to them float, and in that state will function as high

Page 17: 17. Pc Controlled Wireless Robot by Using Radio Frequency

impedance inputs. Port 0 is also the multiplexed low-order address and data

bus during accesses to external memory. In this application it uses strong

internal pull ups when emitting 1s. Port 0 emits code bytes during program

verification. In this application, external pull ups are required.

Pin ( 1- 8 ) Port 1: Port 1 is an 8-bit bidirectional I/O port with internal pull

ups. Port 1 pins that have 1s written to them are pulled high by the internal

pull ups, and in that state can be used as inputs. As inputs, port 1 pins that

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

pull ups.

Alternate Functions of Port 1 used for In system Programmable

P.5 MOSI --------- Instruction Input

P.6 MISO ---------- Data Output

P.7 SCK ----------- Clk in

Pin ( 21 – 28 ) Port 2: Port 2 is an 8-bit bidirectional I/O port with internal

pull ups. Port 2 emits the high-order address byte during accesses to external

memory that use 16-bit addresses. In this application, it uses the strong

internal pull ups when emitting 1s.

Pin (10 – 17) Port 3: Port 3 is an 8-bit bidirectional I/O port with internal

pull ups. It also serves the functions of various special features of the 80C51

Family as follows:

Port Pin Alternate Function

P3.0- RxD (serial input port)

P3.1 -TxD (serial output port)

Page 18: 17. Pc Controlled Wireless Robot by Using Radio Frequency

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)

Pin 40 VCC: -Supply voltage

Pin 20 VSS: -Circuit ground potential

Pin 29 PSEN: Program Store Enable is the read strobe to external Program

Memory. When the device is executing out of external Program Memory,

PSEN is activated twice each machine cycle (except that two PSEN

activations are skipped during accesses to external Data Memory). PSEN is

not activated when the device is executing out of internal Program Memory.

Pin 30 ALE/PROG: Address Latch Enable output pulse for latching the

low byte of the address during accesses to external memory. ALE is emitted

at a constant rate of 1/6 of the oscillator frequency, for external timing or

clocking purposes, even when there are no accesses to external memory.

(However, one ALE pulse is skipped during each access to external Data

Memory.) This pin is also the program pulse input (PROG) during EPROM

programming.

Pin 31 EA/VPP: When EA is held high the CPU executes out of internal

Program Memory. Holding EA low forces the CPU to execute out of

external memory regardless of the Program Counter value. In the 80C31, EA

Page 19: 17. Pc Controlled Wireless Robot by Using Radio Frequency

must be externally wired low. In the EPROM devices, this pin also receives

the programming supply voltage (VPP) during EPROM programming.

Pin 18 XTAL1: Input to the inverting oscillator amplifier.

Pin 19 XTAL2: Output from the inverting oscillator amplifier.

REGISTERS

8051 is a collection of 8 and 16 bit registers and 8 bit memory locations.

These registers and memory locations can be made to operate using the

software instructions. The program instructions control the registers and

digital data paths that are contained inside the 8051, as well as memory

locations that are located outside the 8051.

Register are used to store information temporarily, while the information

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

be fetched. The vast majority of 8051 register are 8-bit registers.

Generally there are two types of registers. They are General purpose

Registers (GPR’s) and Special Function Registers (SFR’s)

TIMER/COUNTERS

The Atmel 80C51 Microcontrollers implement two general purpose, 16-bit

timers/ counters. They can be used either as timers to generate a time delay

or as a counter to count events happening outside the microcontroller. The

microcontroller has two 16-bit wide timers. They are identified as Timer 0

and Timer 1, and can be independently configured to operate in a variety of

modes as a timer or as an event counter. When operating as a timer, the

Page 20: 17. Pc Controlled Wireless Robot by Using Radio Frequency

timer/counter runs for a programmed length of time, then issues an interrupt

request. When operating as a counter, the timer/counter counts negative

transitions on an external pin. After a preset number of counts, the counter

issues an interrupt request. Register pairs (TH0, TL0), (TH1, TL1), and

(TH2, TL2) are the 16-bit counting registers for Timer/Counters 0, 1, and 2,

respectively.

Timer 0 Register

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

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

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

any other register, such as A,B,R0,R1,R2,etc.

Timer 1 Register

Timer 1 is also 16-bits, and its 16-bit register is split into two bytes, referred

to as TL1 ( Timer 1 low byte ) and TH1 ( Timer 1 high byte ). These

registers are accessible in the same way as the registers of timer 0.

TMOD Register (timer mode)

TMOD: Timer/Counter Mode Control Register.

Not Bit Addressable.

Timer 1 Timer 0

GATE When TRx (in TCON) is set and GATE=1, Timer/CounterX will run

only while INTx pin is high (hardware control). When GATE=0,

Timer/Counter will run only while TRx=1 (software

control).

Page 21: 17. Pc Controlled Wireless Robot by Using Radio Frequency

C/T Timer or Counter selector. Cleared for Timer operation (input from

internal system clock). Set for Counter operation (input from TX

input pin).

M1 Mode selector bit.

M0 Mode selector bit.

M1 M0 Mode Operating Mode

0 0 0 13-bit Timer (8048 compatible) (TH1)

0 1 1 16-bit Timer/Counter

1 0 2 8-bit Auto-Reload Timer/Counter (TL1). Reloaded from TH1 at overflow.

1 1 3 timer 1 halted. Retains count.

1 1 3 (Timer 1) Timer/Counter 1 stopped.

TCON: Timer/Counter Control Register

Bit Addressable.

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

overflows. Cleared by hardware as processor vectors to the interrupt

service routine.

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

ON/OFF.

The lower 4 bitsare set aside forcontrolling theinterrupt bits

The upper four bits are used tostore the TF andTR bits of bothtimer 0 and 1

Page 22: 17. Pc Controlled Wireless Robot by Using Radio Frequency

TF0 Timer0 overflow flag. Set by hardware when the Timer/Counter 0

overflows. Cleared by hardware as processor vectors to the service

routine.

TR0 Timer 0 run control bit. Set/cleared by software to turn Timer/Counter 0

ON/OFF.

IE1 External Interrupt 1 edge flag. Set by hardware when External terrupt

edge is detected. Cleared by hardware when interrupt is processed.

IT1 Interrupt 1 type control bit. Set/cleared by software to specify falling edge/low

level triggered External Interrupt.

IE0 External Interrupt 0 edge flag. Set by hardware when External Interrupt

edge is detected. Cleared by hardware when interrupt is processed.

IT0 Interrupt 0-type control bit. Set/cleared by software to specify falling

edge/low level triggered External Interrupt.

2.5 SERIAL COMMUNICATION

The 8051 serial port is full duplex. In other words, it can transmit and

receive data at the same time. Unlike any other register in the 8051, SBUF is in

fact two distinct registers - the write-only register and the read-only register.

Transmitted data is sent out from the write-only register while received data is

stored in the read-only register. There are two separate data lines, one for

transmission (TXD) and one for reception (RXD). Therefore, the serial port can

be transmitting data down the TXD line while it is at the same time receiving

data on the RXD line.   The TXD line is pin 11 of the microcontroller (P3.1)

while the RXD line is on pin 10 (P3.0)

Serial data communication uses two methods, asynchronous and synchronous.

The synchronous method transfers a block of data (characters) at a time, while

Page 23: 17. Pc Controlled Wireless Robot by Using Radio Frequency

the asynchronous method transfers a single byte at a time. It is possible to write

software to use either of these methods, but the programs can be tedious and

long. For this reason, there are special IC chips made by many manufacturers

for serial data communications. These chips can be commonly referred to as

UART (Universal Asynchronous Receiver-transmitter) and USART ( Universal

Synchronous Asynchronous Receiver-Transmitter). The 8051 chip has a built-in

UART.

Asynchronous Serial Communication and Data Framing

Start Bits and Stop Bits  

In the asynchronous method is character is placed between start and stop bits,

this is called data framing. In asynchronous communication, at least two extra

bits are transmitted with the data word; a start bit and a stop bit. Therefore, if

the transmitter is using an 8-bit system, the actual number of bits transmitted

per word is ten.   In most protocols the start bit is a logic 0 while the stop bit is

logic 1. Therefore, when no data is being sent the data line is continuously

HIGH.   The receiver waits for a 1 to 0 transition. In other words, it awaits a

transition from the stop bit (no data) to the start bit (logic 0). Once this

transition occurs the receiver knows a data byte will follow.   Since it knows the

data rate (because it is defined in the protocol) it uses the same clock as

frequency as that used by the transmitter and reads the correct number of bits

and stores them in a register. For example, if the protocol determines the word

size as eight bits, once the receiver sees a start bit it reads the next eight bits and

places them in a buffer. Once the data word has been read the receiver checks to

see if the next bit is a stop bit,signifying the end of the data. If the next bit is not

a logic 1 then something went wrong with the transmission and the receiver

dumps the data.   If the stop bit was received the receiver waits for the next data

word, ie; it waits for a 1 to 0 transition.

Page 24: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Baud Rates in the 8051

XTAL = 11.0592 MHz:

The frequency of system clock = 11.0592 MHz / 12 = 921.6 kHz

The frequency sent to timer 1 = 921.6 kHz/ 32 = 28,800 Hz

(a) 28,800 / 3 = 9600 where -3 = FD (hex) is loaded into TH1

(b) 28,800 / 12 = 2400 where -12 = F4 (hex) is loaded into TH1

(c) 28,800 / 24 = 1200 where -24 = E8 (hex) is loaded into TH1

SBUF

Goes out first

XTAL oscillator

÷ 12÷ 32

By UART

Machine cycle frequency

28800 Hz

To timer 1 To set the Baud rate

921.6 kHz

11.0592 MHz

Timer 1

Page 25: 17. Pc Controlled Wireless Robot by Using Radio Frequency

SBUF is an 8-bit register used solely for serial communication in the 8051.

For a byte of data to be transferred via the TxD line, it must be placed in the

SBUF register. Similarly, SBUF holds the byte of data when it is received

by the 8051’s RxD line. SBUF can be accessed like any other register in the

8051.

The moment a byte is written into SBUF, it is framed with the start and stop

bits and transferred serially via the TxD pin. Similarly, when the bits are

received serially via RxD, the 8051 deframes it by eliminating the stop and

start bits, making a byte out of the data received, and then placing it in the

SBUF.

DATA TRANSMISSION: -

Transmission of serial data bits begins anytime data is written to sbuf.

" TI " (SCON) set to 1 when data has been transmitted and signifies that "

SBUF " is empty and that another data byte can be sent.

DATA RECEPTION: -

Reception of serial data will begin if the receive enable bit (REN) in

SCON is set to ' 1 ' for all modes. For mode ' 0 ' only RI must be cleared to

0. Receiver interrupt flag ' RI ' (in SCON) is set after data has been received

in all modes. Setting of ' REN ' bit is a direct program control that limits the

reception of unexpected data.

SCON ( Serial Control ) Register

SM0 SM1 SM2 REN TB8 RB8 TI RI

Page 26: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Mode 0: Serial data enters and exits through RxD. TxD outputs the shift clock. 8 bits are transmitted/received (LSB first). The baud rate is fixed at 1/12 the oscillator frequency.

Mode 1: 10 bits are transmitted (through TxD) or received (through RxD): a

start bit (0), 8 data bits (LSB first), and a stop bit (1). On receive, the stop bit

goes into RB8 in Special Function Register SCON. The baud rate is

variable.

Mode 2: 11 bits are transmitted (through TxD) or received (through RxD):

start bit (0), 8 data bits (LSB first), a programmable 9th data bit, and a stop

bit (1). On Transmit, the 9th data bit (TB8 in SCON) can be assigned the

value of 0 or 1. Or, for example, the parity bit (P, in the PSW) could be

moved into TB8. On receive, the 9th data bit goes into RB8 in Special

Function Register SCON, while the stop bit is ignored. The baud rate is

programmable to either 1/32 or 1/64 the oscillator frequency.

Mode 3: 11 bits are transmitted (through TxD) or received (through RxD): a

start bit (0), 8 data bits (LSB first), a programmable 9th data bit, and a stop

bit (1). In fact, Mode 3 is the same as Mode 2 in all respects except baud

rate. The baud rate in Mode 3 is variable. In all four modes, transmission is

Page 27: 17. Pc Controlled Wireless Robot by Using Radio Frequency

initiated by any instruction that uses SBUF as a destination register.

Reception is initiated in Mode 0 by the condition RI = 0 and REN = 1.

Reception is initiated in the other modes by the incoming start bit if REN =

1.

SM2 Enables the multiprocessor communication feature in Modes 2 and 3.

In Mode 2 or 3, if SM2 is set to 1, then Rl will not be activated if the

received 9th data bit (RB8) is 0. In Mode 1, if SM2=1 then RI will not be

activated if a valid stop bit was not received. In Mode 0, SM2 should be 0.

REN Enables serial reception. Set by software to enable reception. Clear by

software to disable reception.

TB8 The 9th data bit that will be transmitted in Modes 2 and 3. Set or clear

by software as desired.

RB8 In Modes 2 and 3, is the 9th data bit that was received. In Mode 1, it

SM2=0, RB8 is the stop bit that was received. In Mode 0, RB8 is not used.

TI (Transmit Interrupt)

This is an extremely important flag bit in the SCON register. When the 8051

finishes the transfer of the 8-bit character it raises the TI flag to indicate that

it is ready to transfer another byte. The TI bit is raised at the beginning of the

stop bit.

Page 28: 17. Pc Controlled Wireless Robot by Using Radio Frequency

RI ( Receive Interrupt)

This is an extremely important flag bit in the SCON register. When the 8051

receives data serially via RxD, it gets rid of the start and stop bits and places

the byte in the SBUF register. Then it raises the RI flag bit to indicate that a

byte has been received and chould be picked up before it is lost.

INTERRUPTS

An interrupt is a special feature which allows the 8051 to provide the

illusion of "multi-tasking," although in reality the 8051 is only doing one

thing at a time. The word "interrupt" can often be substituted with the word

"event."

An interrupt is triggered whenever a corresponding event occurs. When the

event occurs, the 8051 temporarily puts "on hold" the normal execution of

the program and executes a special section of code referred to as an interrupt

handler. The interrupt handler performs whatever special functions are

required to handle the event and then returns control to the 8051 at which

point program execution continues as if it had never been interrupted.

Interrupt Service Routine

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

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

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

Page 29: 17. Pc Controlled Wireless Robot by Using Radio Frequency

memory that holds the address of its ISR. The group of memory locations set

aside to hold the addresses of the ISRs is called interrupt vector table.

Six Interrupts in 8051

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

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

3. Two interrupts are set aside for hardware external interrupts : one for INT0 and one for INT1

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

Enabling Interrupt (IE) Register

All interrupt are disabled after reset

We can enable and disable them bye IE

EA -- ET2 ES ET1 EX1 ET0 EX0

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

If EA=1, each interrupt source is individually enabled or disabled by setting or clearing its enable bit.

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

ET2 IE.5 Enables or disables Timer2 overflow or capture interrupt

(8052 only)

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

ET1 IE.3 Enables or disables Timer 1 overflow interrupt.

Page 30: 17. Pc Controlled Wireless Robot by Using Radio Frequency

EX1 IE.2 Enables or disables external interrupt 1.

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

EX0 IE.0 Enables or disables external interrupt 0.

Interrupt Priority (IP) Register

0= lower priority, 1= higher priority, reset IP=00H

Lower priority ISR can be interrupted by a high priority interrupt.

A high priority ISR can not be interrupted.

Low-priority interrupt wait until 8051 has finished servicing the high-priority interrupt.

-- -- PT2 PS PT1 PX1 PT0 PX0

-- IP.7 Reserved

-- IP.6 Reserved

PT2 IP.5 Timer2 interrupt priority bit (8052 only)

PS IP.4 serial port interrupt priority bit.

PT1 IP.3 Timer 1 interrupt priority bit.

PX1 IP.2 external interrupt 1 priority bit.

PT0 IP.1 Timer 0 interrupt priority bit.

PX0 IP.0 external interrupt 0 priority bit.

Page 31: 17. Pc Controlled Wireless Robot by Using Radio Frequency

BASIC REQUIRMENT

The following are the basic five requirements of microcontroller

1. Power Supply

2. Crystal Oscillator

3. Reset

4. SIP Resistor

5. Resistor for EA Pin

1. Regulated Power Supply

In mains-supplied electronic systems the AC input voltage must be

converted into a DC voltage with the right value and degree of stabilization.

The common DC voltages that are required to power up the devices are

generally in the range of 3 VDC to 30 VDC. Typically the fixed types of DC

voltages are 5V, 9V, 12V, 15V and 18V DC.

POWER SUPPLY MODULES:

STEP DOWN TRANSFORMER

BRIDGE RECTIFIER WITH FILTER

VOLTAGE REGULATORS

Page 32: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Transformer

Transformers convert AC electricity from one voltage to another with little

loss of power. Transformers work only with AC and this is one of the

reasons why mains electricity is AC. Step-up transformers increase voltage,

step-down transformers reduce voltage.

A step down power transformer is used to step down the AC voltage from

the line voltage

of 110 VAC or 220 VAC i.e, it converts higher voltage at the input side to a lower voltage at the output.

Page 33: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Rectifier

There are several ways of connecting diodes to make a rectifier to convert

AC to DC. The bridge rectifier is the most important and it produces full-

wave varying DC

Bridge rectifier Output: full-wave varying DC

Alternate pairs of diodes conduct, changing over (using all the AC wave)

the connections so the alternating directions of

AC are converted to the one direction of DC.

Filter

Filtering is performed by a large value electrolytic capacitor connected

across the DC supply to act as a reservoir, supplying current to the output

when the varying DC voltage from the rectifier is falling. The diagram

shows the unfiltered varying DC (dotted line) and the filtered DC (solid

line). The

Page 34: 17. Pc Controlled Wireless Robot by Using Radio Frequency

capacitor charges quickly near the peak of the varying DC, and then

discharges as it supplies current to the output.

Typically 1000 μf capacitor is used

Regulator

This is a simple DC regulated supply project using 7805 voltage regulator to

obtain a variable DC voltage range from 5V to 15V

Pin out of the 7805 regulator IC.

1. Unregulated voltage in

Page 35: 17. Pc Controlled Wireless Robot by Using Radio Frequency

2. Ground

3. Regulated voltage out

If you need other voltages than +5V, you can modify the circuit by replacing

the 7805 chips with another regulator with different output voltage from

regulator 78xx chip family. The last numbers in the the chip code tells the

output voltage. Remember that the input voltage must be at least 3V greater

than regulator output voltage ot otherwise the regulator does not work well.

Crystal Oscillator

The 8051 uses the crystal for precisely that: to synchronize it’s operation.

Effectively, the 8051 operates using what are called "machine cycles." A

single machine cycle is the minimum amount of time in which a single 8051

instruction can be executed. Although many instructions take multiple

cycles.  8051 has an on-chip oscillator. It needs an external crystal that

decides the operating frequency of the 8051. The crystal is connected to pins

18 and 19 with stabilizing capacitors. 12 MHz (11.059MHz) crystal is often

used and the capacitance ranges from 20pF to 40pF.

A cycle is, in reality, 12 pulses of the crystal. That is to say, if an instruction

takes one machine cycle to execute, it will take 12 pulses of the crystal to

execute. Since we know the we can calculate how many instruction cycles

the 8051 can execute per second:

11,059,000 / 12 = 921,583

Page 36: 17. Pc Controlled Wireless Robot by Using Radio Frequency

11.0592 MHz crystals are often used because it can be divided to give you

exact clock rates for most of the common baud rates for the UART,

especially for the higher speeds (9600, 19200).

Reset RESET is an active High input  When RESET is set to High, 8051 goes back

to the power on state.The 8051 is reset by holding the RST high for at least

two machine cycles and then returning it low. Initially charging of capacitor

makes RST High, When capacitor charges fully it blocks DC.

SIP Resistor

Page 37: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Sip Resistor is a single in pack Resistor (i.e.,) 8 resistors connected in series.

Basically SIP resistor is a 9 pin connector first pin is for power supply to the

entire 8 resistors in SIP.

Generally SIP Resistor is used to close the open drain connections of Port 0.

CHAPTER 4

BLOCK DIAGRAM

ENCODER

MAX 232

RF TX

PC

MICROCONTROLLER

AT89S52

RPS

Crystal

Page 38: 17. Pc Controlled Wireless Robot by Using Radio Frequency

BLOCK DIAGRAM EXPLANATION:

A robot can talk, walk, run and do anything as per logic embedded in it even though the

robot can do the above things. It seems a useless thing if it is uncontrollable. Here

controlling a robot is main task has to consider while designing any robot.

DECODER

L293D

RF RX

MICROCONTROLLER

AT89S52

RPS

Crystal

ROBOTPLATFORM

Page 39: 17. Pc Controlled Wireless Robot by Using Radio Frequency

In this project a robot is controlled by using our personal computer. Rf transmitter

will be attached to the pc and the rf receiver will be connected with the receiver means

robot.

in this project there are two embedded systems based microcontroller boards.

Among which one is transmitter connected to the pc through max 232 and the receiver

board has a robot platform. When ever we want control the robot the commands are given

from the pc keyboard and these commands are encoded and transmitted through rf tx and

the code is received by rf rx and decoded in the decoder. Depending upon the command

received the control compare with the predefined commands programmed. Depending

upon the command received the robot will be controlled.

The receiver consists of dc motors interfaced to microcontroller through h-bridge

driver. The role of the h-bridge is to provide the commutation action. Two bits are

required for controlling the motor. Braking also may be programmed in to the micro

controller.

Page 40: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Chapter 5

HARDWARE IMPLEMENTATION

RF Trnsmitter RF 1 433/315 MHz (SP)Radio frequency (RF) transmitters are widely used in radio frequency communications systems. With the increasing availability of efficient, low cost electronic modules, mobile communication systems are becoming more and more widespread. Wireless communications systems, including cellular phones, paging devices, personal communication services (PCS) systems, and wireless data networks, have become ubiquitous in society. Generally, a radio transmitter and receiver is used for performing a radio transmission and receiving operation, whereby a high frequency signal outputted from a modulator is transmitted to an antenna of the radio transmitter and is transmitted therefrom to a remote radio transmitter and receiver, or the thusly transmitted signal is received through another antenna. The transmitting baseband signal is subjected to a predetermined signal process, input to a modulator, which modulates a carrier wave signal. The modulated carrier wave signal is converted into a radio frequency by a transmitting radio-frequency circuit and amplified to a predetermined transmitting power. In general, the function of a radio frequency (RF) transmitter is to modulate, upconvert, and amplify signals for transmission into free space. An RF transmitter generally includes a modulator that modulates an input signal and a radio frequency power amplifier that is coupled to the modulator to amplify the modulated input signal. The radio frequency power amplifier is coupled to an antenna that transmits the amplified modulated input signal.SpecificationsVoltage : 3 to 12 voltsCurrent : 10 to 15 mAWorking Mode : AMSpeed : 4 KbpsFrequency : 315/433 MHzExtrenal Antenna : 315 MHzPin Out

1. Data

Page 41: 17. Pc Controlled Wireless Robot by Using Radio Frequency

2. Vdd

3. Vss

4. Antena

Encoder HT 640

General Description

Encoders are a series of CMOS LSIs for remote control system applications. They are capable of encoding 18 bits of information which consists of N address bits and 18_N data bits. Encoders offer flexible combinations of programmable address/data to meet various application needs. The programmable address/ data is transmitted together with the header bits via an RF or an infrared transmission medium upon receipt of a trigger signal.

Pin Assignment

Features_ Operating voltage: 2.4V~12V_ Low power and high noise immunity CMOS technology_ Low standby current_ Three words transmission_ Built-in oscillator needs only 5% resistor

Page 42: 17. Pc Controlled Wireless Robot by Using Radio Frequency

_ Easy interface with an RF or infrared transmission media_ Minimal external componentsApplications_ Burglar alarm system_ Smoke and fire alarm system_ Garage door controllers_ Car door controllers_ Car alarm system_ Security system_ Cordless telephones

_ Other remote control systems

RF Receiver Module

RF 1 433/315 MHz(SP)

Specification

Voltage : 5v

Frequcncy : 315/433 MHz

External Antena : 315 MHz

Speed : 4KB/S

Current : 0.5-0.8 mA

PIN OUT

1. Vdd 2. Data Out

3. Vss

Page 43: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Decoders HT 648

General Description

The decoders are a series of CMOS LSIs for remote control system applications.

They are paired with the series of encoders. For proper operation a pair of

encoder/decoder pair with the same number of address and data format should be

selected (refer to the encoder/

decoder cross reference tables). The series of decoders receives serial address and

data from that series of encoders that are transmitted by a carrier using an RF or an

IR transmission medium. It then compares the serial input data twice continuously

with its local address. If no errors or unmatched codes are encountered, the input

data codes are decoded and then transferred to the output pins. The VT pin also

goes high to indicate a valid transmission. The decoders are capable of decoding

18 bits of information that consists of N bits of address and 18–N bits of data. To

meet various applications they are arranged to provide a number of data pins

whose range is from 0 to 8 and an address pin whose range is from 8 to 18.

Pin Assignment

Page 44: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Features

· Operating voltage: 2.4V~12V· Low power and high noise immunity CMOStechnology· Low standby current· Capable of decoding 18 bits of information· Pairs with HOLTEK’s 318 series of encoders· 8~18 address pins· 0~8 data pins· Trinary address setting· Two times of receiving check· Built-in oscillator needs only a 5% resistor· Valid transmission indictor· Easily interface with an RF or an infraredtransmission medium

· Minimal external components

Applications

· Burglar alarm system· Smoke and fire alarm system· Garage door controllers· Car door controllers· Car alarm system· Security system· Cordless telephones

· Other remote control systems

H-Bridge driver L293D

Page 45: 17. Pc Controlled Wireless Robot by Using Radio Frequency

As the MCUs PORT are not powerful enough to drive DC motors

directly so we need some kind of drivers. A very easy and safe is to use

popular L293D chips. It is a 16 PIN chip. The pin configuration is as follows.

L293D Dual DC Motor ControllerThis chip is designed to control 2 DC motors. There are 2 INPUT and 2 OUTPUT PINs for each motors. The connection is as follows.

Page 46: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Motor Controller Using L293d chipThe behavior of motor for various input conditions are as follows

A B

Stop Low LowClockwise Low High

Anti Clockwise High Low

Stop High High

So you saw you just need to set appropriate levels at two PINs of the

microcontroller

to control the motor. Since this chip controls two DC motors there are two more

output pins (output3 and output4) and two more input pins(input3 and input4).

Page 47: 17. Pc Controlled Wireless Robot by Using Radio Frequency

The INPUT3 and INPUT4 controls second motor in the same way as listed

above for

input A and B. There are also two ENABLE pins they must be high(+5v) for

operation, if they are pulled low(GND) motors will stop.The following program

starts

the motor runs it one direction for some time and then reverses the direction.

Speed Control

The speed of DC motor can also be controlled with MCU. PWM or pulse

width

Modulation technique is used to digitally control speed of DC motors.

Working Theory of H-Bridge

The name "H-Bridge" is derived from the actual shape of the switching

circuit which control the motoion of the motor. It is also known as "Full

Bridge". Basically there are four switching elements in the H-Bridge as

shown in the figure below.

Page 48: 17. Pc Controlled Wireless Robot by Using Radio Frequency

As you can see in the figure above there are four switching elements named

as "High side left", "High side right", "Low side right", "Low side left".

When these switches are turned on in pairs motor changes its direction

accordingly. Like, if we switch on High side left and Low side right then

motor rotate in forward direction, as current flows from Power supply

through the motor coil goes to ground via switch low side right. This is

shown in the figure below.

Page 49: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Similarly, when you switch on low side left and high side right, the current

flows in opposite direction and motor rotates in backward direction. This is

the basic working of H-Bridge. We can also make a small truth table

according to the switching of H-Bridge explained above.

As already said, H-bridge can be made with the help of transistors as well as

MOSFETs; the only thing is the power handling capacity of the circuit. If

motors are needed to run with high current then lot of dissipation is there. So

head sinks are needed to cool the circuit.

Page 50: 17. Pc Controlled Wireless Robot by Using Radio Frequency

DC Motors

The basic principle of magnetism that like poles repels and opposite

poles attract is the important principle in any working motor. It includes he

property of electromagnets with alternating fields. A simple DC motor

contains a permanent magnet and group of coils which when activated gets

magnetized. The north and south poles of these electromagnets are repelled.

A DC motor is connected to the microcontroller through a motor

driver circuit called L293 driver. Motor will rotate while getting the

instruction from the microcontroller.

To drive a dc motor using a logical IC or a microcontroller interfacing

is necessary since they can’t sufficiently provide enough current for the

motor. Therefore, it can either be turned on using a relay along with its

interfacing circuit. An interface similar to the relay’s interface can be used to

drive a unidirectional motor. This basically consists of a current amplifier.

When a high voltage, dc motor needs to be interfaced, a single transistor

can’t be used i.e. the base is connected to 5V logic. In such a situation a

Darlington pair may be used.

To drive a bidirectional dc motor, it needs an interface which can provide

with the reversal of terminals. In such a case, Darlington pairs/current

amplifiers can be used in H-Bridge configuration.

H-Bridge driver L293D and motor interface with microcontroller

Page 51: 17. Pc Controlled Wireless Robot by Using Radio Frequency

The L293D driver (Pins 2, 7, 10, 15) is connected to P0.0, P0.5, P0.6, P0.7 (Pins 10, 15, 7, 8) respectively. The pins (3, 6) are connected to left motor and pins (11, 14) are connected to right motor.

RS232

The most popular serial communication standard for asynchronous

communications is RS-232 (Recommended Standard – 232. This specifies

the rule of how different connected devices communicate. The connected

devices can either be terminals or communication equipments commonly

referred as DTE & DCE.

According to RS232 interface, it requires only 3 lines i.e. Rx, Tx &

Ground when compared to the bunch of connectors required for parallel

communication. Even though parallel communication is easier to establish,

serial communication is preferred based on the costs for the communication

lines.

Page 52: 17. Pc Controlled Wireless Robot by Using Radio Frequency

  The EIA (Electronics Industry Association) RS232C Standard

specifies & suggests a maximum baud rate of 20,000bps, and RS232D is an

advanced version of the same, which allows 1.5 Mbps. The connectors

specified are D-TYPE 25 pin connector and D-TYPE 9 pin connector.

 

D-Type-

9 pin no.

D-Type-25 pin

no.

Pin outs Function

3 2 RD Receive Data (Serial data input)

2 3 TD Transmit Data (Serial data output)

7 4 RTS Request to send (acknowledge to modem that UART is ready

to exchange data

8 5 CTS Clear to send (i.e.; modem is ready to exchange data)

6 6 DSR Data ready state (UART establishes a link)

5 7 SG Signal ground

1 8 DCD Data Carrier detect (This line is active when modem detects a

carrier

Page 53: 17. Pc Controlled Wireless Robot by Using Radio Frequency

4 20 DTR Data Terminal Ready.

9 22 RI Ring Indicator (Becomes active when modem detects ringing

signal from PSTN

FIGURE 4.1 DB-9 PIN CONNECTOR

According to RS232 specifications, the logic ‘1’ and logic ‘0’ are

called as ‘mark & ‘space’. The signal voltage levels are specified as ‘mark’

should be in the range of -3 to -15 volts and ‘space’ should be in the range of

3 to 15 volts. The modern low power consuming CMOS devices use

different logic levels than the RS232 line specification. The logic levels of

CMOS devices are in the range of 3.3v-5.5v for ‘1’ and -0.3v to 0.8v for ‘0’.

Therefore when communicating with such CMOS/TTL devices, the logic

levels need to be converted

RS232 INTERFACED TO MAX 232

Page 54: 17. Pc Controlled Wireless Robot by Using Radio Frequency

J 2

12345

6789

P 3 . 0

5V

C 4

0 . 1u f

C 7

0 . 1u f

TXD

C 6

0 . 1u f

P 3 . 1

T1O U T

C 11u f

T1O U T

U 3

MAX3232 1516

1 38

1011

1345

26

129

147

GND

VCCR 1 IN

R 2 IN

T2 INT1 IN

C 1+C 1 -C 2+C 2 -

V +V -

R 1O U TR 2O U T

T1O U TT2O U T

C 5

0 . 1u f

R XD

Fig 4.2 RS232 INTERFACED TO MAX232

Rs232 is 9 pin db connector, only three pins of this are used ie 2, 3, 5 the

transmit pin of rs232 is connected to rx pin of microcontroller

MAX232 INTERFACED TO MICROCONTROLLER

.

Page 55: 17. Pc Controlled Wireless Robot by Using Radio Frequency

MAX232 is connected to the microcontroller as shown in the figure above

17, 18 pins are connected to the TX and RX pin i.e. transmit and receive pin

of microcontroller

Power Supply interface with microcontroller

The power supply consists of a 9-0-9 step down transformer. A bridge rectifier is used to rectify and convert AC to DC. A 1000uF capacitor is used to filter the ripples and the output is connected to 7805 voltage regulator. This comprises the power supply for the entire circuit. Vcc is connected to Pin 40 the power supply of microcontroller.

Page 56: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Chapter 4

Software implementation

4.1 RIDE

Please note that in this page RIDE will reference to RIDE6 software

which supports 8051, XA and other derivates. For ARM, ST7 and STM8

family the software is RIDE7.

RIDE is a fully featured Integrated Development Environment (IDE)

that provides seamless integration and easy access to all the development

tools. From editing to compiling, linking, debugging and back to the start,

with a Simulator, ICE, Rom Monitor or other debugging tools, RIDE

conveniently manages all aspects of the Embedded Systems development

with a single user interface.

Fig: RIDE

Multi-file Editor

Page 57: 17. Pc Controlled Wireless Robot by Using Radio Frequency

RIDE is based on a fast multi-document editor designed to meet the

specific needs of programming. The various methods, menus, commands,

and shortcuts are all fully compliant with the Microsoft® specifications for

Windows 2000, XP and NT. Classic commands, such as string search and

block action are integrated. Advanced features such as Matching Delimiter

(parenthesis, brackets), Grep (multi-file search) and Indenter are integrated

as well. The customizable color-highlighting feature is very useful to

indicate specific syntactic elements as they appear in the source file:

keywords, comments, identifiers, operators, and so on. The color-

highlighting feature is automatically keyed to the intrinsic file type (which

means, it works differently for C and assembler).This permits the user to

identify quickly and easily those parts of the code responsible for syntax

errors.

http://www.raisonance.com/products/info/RIDE.php - top

Project Manager:

The project manager creates links between the various files that

includes a project and the tools necessary to create that project. A project is

dedicated to a particular target: 8051, XA, or other microcontrollers. The

linker manages object and library files, and output format conversion as

necessary.

Page 58: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Fig Project Manager

Tree-structured projects ease the management of the most complex

applications (bank switching, flash, multi-processor, multi-module...). The

‘Project Make’ command directs the integrated "make" utility to build or

rebuild the target programs for the current project. To avoid wasting time,

each source file will be translated by its associated tool only if any of its

dependencies are found to be out of date. Dependency analyses, even

directly or indirectly included files, are automatic.

Options can be defined as global (for all the files) or as local (for a specific

node or file). Individual attributes can be set for any file in the project.

Similarities between the different tools make migration from one processor

family to another immediate and easy, permitting multi-processor projects.

http://www.raisonance.com/products/info/RIDE.php-top.

The Message Window and the On-line Help:

The message window displays all warning, error, and progress

messages generated during the processing of files associated with each

project.

Page 59: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Clicking on an error string in the message window automatically positions

the cursor at the point of that error in the source code window.

The Online help system is context-sensitive and provides information

on nearly all aspects of RIDE. A specific help file is supplied with each tool

driven by the IDE ('C' Compiler, Assembler, Linker, and RTOS). Online

menu hints appear on the status line whenever you select a menu command.

Fig Message

http://www.raisonance.com/products/info/RIDE.php-top.

The Script Language:

Most RIDE commands can be run from a script file. Scripts are

written in a C-like language, and are interpreted at execution time. With the

script language, most repetitive tasks can be done automatically thus

speeding up operations and reducing the probability of errors. Scripts are

very useful for Hardware Testing (board, emulator) and to initialize the

system to a known status, but can also be conveniently used for other tasks

such as creating very complex breakpoints or redirecting some output to a

file to run a 'batch' debug session.

Page 60: 17. Pc Controlled Wireless Robot by Using Radio Frequency

http://www.raisonance.com/products/info/RIDE.php-top.

Context Saving:

When a project is closed, the whole associated context is saved (open

file list, window size and position etc.). Settings associated with the

debugger are also saves such as breakpoints, watches etc...

http://www.raisonance.com/products/info/RIDE.php-top

Integrated High-level Debug:

RIDE provides a fully integrated source-level debugging environment.

All information necessary is derived from the translators used to accomplish

each step of the process. This includes mundane aspects such as "path

names", and source code specific information such as details of complex

data types.

With the simple click of a mouse button, the user can select among

several powerful capabilities: simulate, monitor, or emulate. The fast smooth

integration given by RIDE promotes a feeling of familiarity and ease of use,

while providing a level of comfort and efficiency that reduces the most

difficult and complex applications to tasks that are easily managed. This

seamless progression of the "code-translate-link-debug-test" cycle is the

result of perfect communication between the programming tools and the

debugger. This is the heart of RIDE.

Page 61: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Fig : Debugger

Integral Simulation:

RIDE includes simulation engines for most 8051, and XA derivatives.

The simulator/debugger is cleanly integrated into the presentation Windows.

A wide range of 'views' can be selected to provide flexible direct

examination of all memory spaces as well the all internal peripherals. The

simulation engines perform detailed and faithful simulations (including

IDLE or Power down modes), of all peripherals (including interrupt and

watchdog events) present on the selected component.

Advanced Features

RIDE provides a rich variety of 'views' into an application. These

views or windows are associated with control commands like complex

breakpoints or high level trace recording.

Page 62: 17. Pc Controlled Wireless Robot by Using Radio Frequency

http://www.raisonance.com/products/info/RIDE.php - top

4.2 ISP 3.0

Introduction

This ISP Programmer can be used either for in-

system programming or as a stand-alone spi programmer for Atmel  

ISP   programmable   devices.  The   programming   interface   is  

compatibe

to   STK200   ISP programmer hardware so the users of STK200 can also

use the software which can program both the 8051 and AVR series devices.

Hardware

The power to the interface is provided by the target system. The

74HCT541 IC isolates and buffers the parallel port signals. It is necessary to

use the HCT type IC in order to make sure the programmer should also work

with 3V type parallel port.

The printer port buffer interface is same as shown in figure 1.For the

u-controllera40pinZIFsocketcanbe used. This  programmer  circuit  can be

use to program the 89S series  devices and the AVR series device switches

are  pin  compatible  to  8051, like  90S8515.  For other AVR series devices

Page 63: 17. Pc Controlled Wireless Robot by Using Radio Frequency

the user can make an adapter board for 20, 28 and 40 pin devices. The pin

numbers shown in brackets correspond to PC parallel port connector.

Software

The ISP-30a.zip file contains the main program and the i/o port driver.

Place all files in the same folder. The main screen view of the program is

shown in figure 3.

Also   make   sure   do   not   program    the    RSTDISBL    fuse   in  

ATmega8,   ATtiny26  and  ATtiny2313 otherwise  further  spi 

programming  is  disable  and  you  will  need  a  parallel  programmer  to 

enable  the

spi  programming.  For the fuses setting consult the datasheet of the

respective device.

For the auto hardware detection it is necessary to short pin 2 and 12 of

DB25connector, otherwise the software uses the default parallel port i.e.

LPT1.

Following are the main features of this software,

Read and write the Intel Hex file.

Read signature, lock and fuse bits.

Clear and Fill memory buffer.

Verify with memory buffer.

Reload current Hex file.

Display buffer checksum.

Page 64: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Program selected lock bits & fuses.

Auto detection of hardware.

Note: The  memory  buffer  contains  both  the  code  data  and  the   eeprom 

data  for the  devices which have eeprom  memory. The  eeprom  memory 

address  in  buffer is  started  after he code memory, so it is necessary the

hex file should contains  the eeprom start address after the end of code

memory last address i.e. for 90S2313 the start address for eeprom memory

is 0x800.

The software   does   not    provide    the     erase    command    

because    th s   function   is   performed automatically during device

programming.  If you are required to erase the controller, first use the clear

buffer command then program the controller, this will erase the controller

and also set the AVR device fuses to default setting.

Page 65: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Fig  Main screen of the program ISP-Pgm Ver 3.0a

4.3 EMBEDDED ‘C’

Ex: Hitec – c, Keil – c

HI-TECH Software makes industrial-strength software development

tools and C compilers that help software developers write compact, efficient

embedded processor code.

For over two decades HI-TECH Software has delivered the

industry's most reliable embedded software development tools and compilers

for writing efficient and compact code to run on the most popular embedded

processors. Used by tens of thousands of customers including General

Motors, Whirlpool, Qualcomm, John Deere and many others, HI-TECH's

reliable development tools and C compilers, combined with world-class

support have helped serious embedded software programmers to create

hundreds of breakthrough new solutions.

Whichever embedded processor family you are targeting with your

software, whether it is the ARM, PICC or 8051 series, HI-TECH tools and C

compilers can help you write better code and bring it to market faster.

HI-TECH PICC is a high-performance C compiler for the Microchip

PIC micro 10/12/14/16/17 series of microcontrollers. HI-TECH PICC is an

industrial-strength ANSI C compiler - not a subset implementation like some

other PIC compilers. The PICC compiler implements full ISO/ANSI C, with

the exception of recursion. All data types are supported including 24 and 32

bit IEEE standard floating point. HI-TECH PICC makes full use of specific

PIC features and using an intelligent optimizer, can generate high-quality

code easily rivaling hand-written assembler. Automatic handling of page and

Page 66: 17. Pc Controlled Wireless Robot by Using Radio Frequency

bank selection frees the programmer from the trivial details of assembler

code.

Embedded C Compiler

ANSI C - full featured and portable.

Reliable - mature, field-proven technology.

Multiple C optimization levels.

An optimizing assembler.

Full linker, with overlaying of local variables to minimize RAM

usage.

Comprehensive C library with all source code provided.

Includes support for 24-bit and 32-bit IEEE floating point and 32-bit

long data types.

Mixed C and assembler programming.

Unlimited number of source files.

Listings showing generated assembler.

Compatible - integrates into the MPLAB IDE, MPLAB ICD and most

3rd-party development tools.

Runs on multiple platforms: Windows, Linux, UNIX, Mac OS X, and

Solaris.

Embedded Development Environment.

PICC can be run entirely from the. This environment allows you to

manage all of your PIC projects. You can compile, assemble and link your

embedded application with a single step.

Page 67: 17. Pc Controlled Wireless Robot by Using Radio Frequency

Optionally, the compiler may be run directly from the command line,

allowing you to compile, assemble and link using one command. This

enables the compiler to be integrated into third party development

environments, such as Microchip's MPLAB IDE.