You are on page 1of 61

CONTENTS: Pg.

No

CHAPTER 1: ABSTRACT
CHAPTER 2: BLOCK DIAGRAM
CHAPTER 3: INTRODUCTION TO EMBEDDED SYSTEMS
CHAPTER 4: MICROCONTROLLER VS MICROPROCESSOR
CHAPTER 5: INTRODUCTION TO PIC MICROCONTROLLER
CHAPTER 6: PIC 18F258
A) PIN DIAGRAM
B) PIN DESCRIPTION
C) ARCHITECTURE
D) FEATURES
E) MEMORY ORGANIZATION
CHAPTER 7: RF COMMNICATION
A) RF TRANSMITTER
B) RF RECEIVER
C) ENCODER
D) DECODER
CHAPTER 8: KEYPAD
CHAPTER 9: ENCRYPTION AND DECRYPTION
CHAPTER 10: LCD
CHAPTER 11: POWER SUPLY
CHAPTER 12: CONCLUSION
CHAPTER 13: SOFTWARE
A) OVERVIEW OF COMPILER AND KEIL IDE
CHAPTER 14: ADVANTAGES
CHAPTER 15: BIBLIOGRAPHY
CHAPTER 1: ABSTRACT

Data Security is primary concern for every communication system. There are many ways
to provide security data that is being communicated. However, what if the security is assured
irrespective of the hackers are from the noise. This Project describes a design of effective
security for data communication by designing standard key for encryption and decryption.

The source information is generated by a keypad and this will be encrypted and is sent to
destination through RF communication. The receiving system will check the data and decrypt
according to a specific key and displays on the LCD.

The RF modules used here are STT-433 MHz Transmitter, STR-433 MHz Receiver,
HT640 RF Encoder and HT648 RF Decoder. RF Transmitter is connected to the RF Encoder.
This encoder converts the 8-bit data into a single bit and sends it to the transmitter which will be
transmitting. The data which is in the air is an analog value. At the receiving end, the receiver
receives this analog value on a single data line and passes this data to the decoder. The decoder
does the opposite functioning of the encoder i.e., it converts the single bit data into eight bit data
and gives it to the microcontroller which does the further processing.

This project uses regulated 5V, 500mA power supply. 7805 three terminal voltage
regulator is used for voltage regulation. Bridge type full wave rectifier is used to rectify the ac
output of secondary of 230/12V step down transformer.
CHAPTER 2: BLOCK DIAGRAM

TRANSMITTER:

Power Supply

Micro RF RF Transmitter
Controller Encoder
Keypad
(4*3)

RECEIVER:

Power Supply

LCD DISPLAY

Micro
RF Controller
RF
Receiver
Decode
r
CHAPTER 3: INTRODUCTION TO EMBEDDED SYSTEMS

An embedded system can be defined as a computing device that does a specific focused

job. Appliances such as the air-conditioner, VCD player, DVD player, printer, fax machine,

mobile phone etc. are examples of embedded systems. Each of these appliances will have a

processor and special hardware to meet the specific requirement of the application along with

the embedded software that is executed by the processor for meeting that specific requirement.

The embedded software is also called “firm ware”. The desktop/laptop computer is a general

purpose computer. You can use it for a variety of applications such as playing games, word

processing, accounting, software development and so on. In contrast, the software in the

embedded systems is always fixed listed below:

Embedded systems do a very specific task; they cannot be programmed to do different

things. Embedded systems have very limited resources, particularly the memory. Generally,

they do not have secondary storage devices such as the CDROM or the floppy disk. Embedded

systems have to work against some deadlines. A specific job has to be completed within a

specific time. In some embedded systems, called real-time systems, the deadlines are stringent.

Missing a deadline may cause a catastrophe-loss of life or damage to property. Embedded

systems are constrained for power. As many embedded systems operate through a battery, the

power consumption has to be very low.

Some embedded systems have to operate in extreme environmental conditions such as

very high temperatures and humidity.


Examples of embedded systems are:

• Calculators
• Laser Printer
• Security Systems
• Musical Instruments
• Medical Equipments
• Automatic Teller Machines (ATMs)
• Cellular telephones and telephone switches
• Inertial guidance systems for aircraft and missiles
• Computer peripherals such as routers and printers
• engine controllers and antilock brake controllers for automobiles
CHAPTER 4: MICROCONTROLLER VS MICROPROCESSOR

Essentially these two devices are similar, but with a little bit of difference. A CPU

which is the heart of these devices needs a host of external devices to make it communicate with

real-world. A typical system would need a system to read the inputs from keyboard, and write

outputs to a terminal, store intermediate processing data into some memory, and to keep

permanent information into some safe place. These devices which are independent circuits, work

in harmony with the CPU, to make one system. In a typical Personal Computer these devices are

attached to the CPU, using hard-wired connections.

Microprocessors and microcontrollers are widely used in embedded systems products.


Microcontroller is a programmable device. A microcontroller has a CPU in addition to a fixed
amount of RAM, ROM, I/O ports and a timer embedded all on a single chip. 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.
The Intel 8051 is Harvard architecture, single chip microcontroller (µC) which was

developed by Intel in 1980 for use in embedded systems. It was popular in the 1980s and early

1990s, but today it has largely been superseded by a vast range of enhanced devices with 8051-

compatible processor cores that are manufactured by more than 20 independent manufacturers

including Atmel, Infineon Technologies and Maxim Integrated Products.

This makes the system more flexible ,that means you can add more memory, change

capacity of hard drives, add or remove CD-ROMs, sound cards etc. A microcontroller on the

other hand is made up of most of these devices built exactly within the same package. Your

microcontroller will therefore contain, the CPU, RAM, ROM, Timers, I/O etc. all packed within

one integrated circuit. This facilitates the development process, as well as reduce the

requirements of external components, however this also means you cannot change, the number

and type of integrated devices. The applications where a microcontroller will be used, vary. They

are usually quite simple, and do not require as much processing power as a PC does, so the

microcontrollers with varying amounts of RAM, ROM, I/O lines and timers etc have been made

available. Essentially all are almost same, and they only vary in the number of resources

available on them. So for a particular application you chose a microcontroller, not the one which

has maximum resources, but the one which has just enough to do the job. Thus a microcontroller

is a complete, small scale computer with all the necessary devices on-board. All you

need is the external hardware, which you want to drive, like sensors and motors etc.
INTERNAL ARCHITECTURE

All upgraded microcontrollers use one of two basic design models called Harvard and von-

Neumann architecture. What is it about? Briefly, it is about two different ways of data exchange

between CPU and memory.

VON-NEUMANN ARCHITECTURE

Microcontrollers using this architecture have only one memory block and one 8-bit data bus. As

all data are exchanged by using these 8 lines, this bus is overloaded and communication itself is

very slow and inefficient. The CPU can either read an instruction or read/write data from/to the

memory. Both cannot occur at the same time since the instructions and data use the same bus

system.

For example, if some program line says that RAM memory register called “SUM” should be

incremented by one (instruction: incf SUM), the microcontroller will do the following:

1. Read the part of the program instruction specifying WHAT should be done (in this very case it

is the “incf” instruction for increment).

2. Read further the same instruction specifying upon WHICH data it should be performed (in this

very case it is the “SUM” register).


3. After being incremented, the contents of this register should be written to the register from

which it was read (“SUM” register address). The same data bus is used for all these intermediate

operations.

HARVARD ARCHITECTURE
Microcontrollers using this architecture have two different data buses. One is 8-bit wide

and connects CPU to RAM memory. Another one consists of several lines (12, 14 or 16) and

connects CPU to ROM memory. Accordingly, the CPU can read an instruction and perform a

data memory access at the same time. Since all RAM memory registers are 8- bit wide, all data

within the microcontroller are exchanged in the same such format. Additionally, during program

writing, only 8-bit data are considered. In other words, all you can ever change from within the

program and all you can affect will be 8- bit wide. A program written for some of these

microcontrollers will be stored in the microcontroller

internal ROM memory upon having being compiled into machine language. However, these

memory locations do not have 8, but 12, 14 or 16 bits. The rest of bits- 4, 6 or 8- represents the

instruction itself specifying to CPU what to do with an 8-bit data.


The advantages of such design are the following:

All data in a program are one byte (8 bit) wide. As data bus used for program reading has several

lines (12, 14 or 16), both instruction and data can be read simultaneously by using these spare

bits (it is familiar at once WHAT and upon WHICH). Because of that, all instructions are

executed in only one instruction cycle. The only exception is jump instructions which are

executed in two cycles.

Owing to the fact that a program (ROM memory) and temporary data (RAM memory) are

separate, the CPU can execute two instructions simultaneously. Simply, while RAM memory

read or write is in progress (end of one instruction), the next program instruction is being read

via another bus. When using microcontrollers with von-Neumann architecture one never knows

how much memory is to be occupied by some program. In average, each program instruction

occupies two memory locations (one contains information on WHAT should be done, whereas

another contains information upon WHICH data it should be done). However, it is not a rule, but

the most common case. In microcontrollers with Harvard architecture, program bus is wider than

one byte, which allows each program word to consist of instruction and data. In other words: one

program word- one instruction.

INSTRUCTION SET

All instructions that can be understood by the microcontroller are known as instruction

set. When you write a program in assembly language, you actually “tell a story” by specifying

instructions in order they should be executed. The main restriction in this process is a number of

available instructions. The manufacturers stick to one of the two following strategies:
RISC (Reduced Instruction Set Computer)

In this case, the idea is that the microcontroller recognizes and executes only basic

operations (addition, subtraction, copying etc.). All other more complicated operations are

performed by combining these (for example, multiplication is performed by performing

successive addition). The constrains are obvious (as if you try, by using only a few words, to

explain to someone how to reach the airport in some other city). However, there are also some

great advantages. First of all, this language is easy to learn. Besides, the microcontroller is very

fast so that it is not possible to see all the arithmetic “acrobatics” it performs. The user can only

see the final result of all those operations. At last, it is not so difficult to explain where the airport

is if you use the right words. For example: left, right, kilometer etc.

CISC (Complex Instruction Set Computer)

You already catch it- CISC is the opposite of RISC! Microcontrollers designed to

recognize more than 200 different instructions can do really much and are very fast. However,

one should know how to take all that such a rich language offers, which is not easy at all.
CHAPTER 5: PIC INTRODUCTION
PIC stands for Peripheral Interface Controller given by Microchip Technology to
identify its single-chip microcontrollers. These devices have been very successful in 8-bit
microcontrollers. The main reason is that Microchip Technology has continuously upgraded the
device architecture and added needed peripherals to the microcontroller to suit customers'
requirements. The development tools such as assembler and simulator are freely available on the
internet at www.microchip.com .

The architectures of various PIC microcontrollers can be divided as follows.

Low - end PIC Architectures:

Microchip PIC microcontrollers are available in various types. When PIC microcontroller MCU
was first available from General Instruments in early 1980's, the microcontroller consisted of a
simple processor executing 12-bit wide instructions with basic I/O functions. These devices are
known as low-end architectures. They have limited program memory and are meant for
applications requiring simple interface functions and small program & data memories. Some of
the low-end device numbers are

12C5XX
16C5X
16C505

Mid range PIC Architectures:

Mid range PIC architectures are built by upgrading low-end architectures with more number of
peripherals, more number of registers and more data/program memory. Some of the mid-range
devices are

16C6X
16C7X
16F87X
Program memory type is indicated by an alphabet.
C = EPROM
F = Flash
RC = Mask ROM

Popularity of the PIC microcontrollers is due to the following factors.

1. Speed: Harvard Architecture, RISC architecture, 1 instruction cycle = 4 clock cycles.


2. Instruction set simplicity: The instruction set consists of just 35 instructions (as opposed
to 111 instructions for 8051).
3. Power-on-reset and brown-out reset. Brown-out-reset means when the power supply goes
below a specified voltage (say 4V), it causes PIC to reset; hence malfunction is avoided.
A watch dog timer (user programmable) resets the processor if the software/program ever
malfunctions and deviates from its normal operation.
4. PIC microcontroller has four optional clock sources.

• Low power crystal


• Mid range crystal
• High range crystal
• RC oscillator (low cost).

5. Programmable timers and on-chip ADC.


6. Up to 12 independent interrupt sources.
7. Powerful output pin control (25 mA (max.) current sourcing capability per pin.)
8. EPROM/OTP/ROM/Flash memory option.
9. I/O ports
10. TO expansion capability.
CHAPTER 6: PIC18F258
A)PIN DIAGRAM:
A) PIN DESCRIPTION
B) ARCHITECTURE
C) FEATURES

PERIPHERAL FEATURES:

• High current sink/source 25 mA/25 mA. Three external interrupt pins. Timer0module:

8-bit/16-bit timer/counter with 8-bit programmable prescaler

• Timer1module: 16-bit timer/counter

• Timer2module: 8-bit timer/counter with 8-bit period register (time base for PWM)

• Timer3module: 16-bit timer/counter

• Secondary oscillator clock option – Timer1/Timer3

• Capture/Compare/PWM (CCP) modules;

CCP pins can be configured as:

• Capture input: 16-bit, max resolution 6.25 ns

• Compare: 16-bit, max resolution 100 ns (TCY)

• PWM output: PWM resolution is 1 to 10-bit

Max. PWM freq. @:8-bit resolution = 156 kHz 10-bit resolution = 39 kHz

• Enhanced CCP module which has all the features of the standard CCP module, but also

has the following features for advanced motor control:

• 1, 2 or 4 PWM outputs

• Selectable PWM polarity

• Programmable PWM dead time

• Master Synchronous Serial Port (MSSP) with two modes of operation:

• 3-wire SPI™ (Supports all 4 SPI modes)

• I2C™ Master and Slave mode

• Addressable USART module:


• Supports interrupt-on-address bit

Advanced Analog Features:

• 10-bit, 5-channel Analog-to-Digital Converter module (A/D) with:

• Conversion available during Sleep

• Up to 5channels available

• Analog Comparator module:

• Programmable input and output multiplexing

• Comparator Voltage Reference module

• Programmable Low-Voltage Detection (LVD) module:

• Supports interrupt-on-Low-Voltage Detection

• Programmable Brown-out Reset (BOR)

CAN bus Module Features:

• Complies with ISO CAN Conformance Test

• Message bit rates up to 1 Mbps

• Conforms to CAN 2.0B Active Spec with:

• 29-bit Identifier Fields

• 8-byte message length

• 3 Transmit Message Buffers with prioritization

• 2 Receive Message Buffers

• 6 full, 29-bit Acceptance Filters

• Prioritization of Acceptance Filters

• Multiple Receive Buffers for High Priority


SPECIAL MICROCONTROLLER FEATURES:

• Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)

• Watchdog Timer (WDT) with its own on-chip RC oscillator

• Programmable code protection

• Power-saving Sleep mode

• Selectable oscillator options, including:

- 4x Phase Lock Loop (PLL) of primary oscillator

- Secondary Oscillator (32 kHz) clock input

• In-Circuit Serial Programming TM (ICSPTM) via two pins

OSCILLATOR TYPES:

The PIC18F258 can be operated in one of eight oscillator modes, programmable by three

configuration bits (FOSC2, FOSC1 and FOSC0).

1. LP Low-Power Crystal

2. XT Crystal/Resonator

3. HS High-Speed Crystal/Resonator

4. HS4 High-Speed Crystal/Resonator with PLL enabled

5. RC External Resistor/Capacitor

6. RCIO External Resistor/Capacitor with I/O pin enabled

7. EC External Clock

8. ECIO External Clock with I/O pin enabled


RESET:

The PIC18F258 differentiates between various kinds of RESET:

a) Power-on Reset (POR)

b) MCLR Reset during normal operation

c) MCLR Reset during Sleep

d) Watchdog Timer (WDT) Reset during normal operation

e) Programmable Brown-out Reset (PBOR)

f) RESET Instruction

g) Stack Full Reset

h) Stack Underflow Reset

RCON Register

The Reset Control (RCON) register contains flag bits that allow differentiation between the

sources of a device Reset. These flags include the TO, PD, POR, BOR and RI bits.

This register is readable and writable.


MCLR (Master Clear):
On every PIC microcontroller you will find a pin labeled as MCLR. This pin has two

basic functions. It is used to reset the microcontroller, like soft-boot. As well as to put the

microcontroller into programming mode. The MCLR pin when connected to ground, will reset

the microcontroller, and keep it in reset state, till the ground connection is released. After that the

microcontroller will have all its RAM reset, and program execution will begin, just like the

system has been just powered on. A 10K pull up resistor is usually connected with the pin, to

keep it high when reset switch is released.


The same pin will also work as

program mode pin. When a new

software is to be downloaded into the

microchip, about 12V are applied to the

MCLR pin, by your programming

device. This can be done right in our

circuit, or by taking the IC out of circuit

and putting it into the IC socket on your

programmer. We shall talk more about

this in section on programming. The 10K resistor is then useful to avoid 12V reaching VCC and

therefore to other devices.


MEMORY ORGANIZATION

There are three memory blocks in Enhanced MCU devices. These memory blocks are:

• Enhanced Flash Program Memory

• Data Memory

• EEPROM Data Memory

Program Memory Organization


The PIC18F258 devices have a 21-bit program

counter that is capable of addressing a 2-Mbyte program

memory space. The Reset vector address is at 0000h and

the interrupt vector addresses are at 0008h and 0018h.

Figure 4-2 shows the diagram for the program memory

map and stack for the PIC18F258.

.Data Memory Organization

The data memory is implemented as static RAM.

Each register in the data memory has a 12-bit address,

allowing up to 4096 bytes of data memory. Figure 4-6

shows the data memory organization for the PIC18F258 devices. The data memory map is

divided into as many as 16 banks that contain 256 bytes each. The lower 4 bits of the Bank

Select Register (BSR<3:0>) select which bank will be accessed. The upper 4 bits for the BSR are

not implemented. The data memory contains Special Function Registers (SFRs) and General

Purpose Registers (GPRs). The SFRs are used for control and status of the controller and

peripheral functions, while GPRs are used for data storage and scratchpad operations in the

user’s application. The SFRs start at the last location of Bank 15 (FFFh) and grow downwards.
GPRs start at the first location of Bank 0 and grow upwards. Any read of an unimplemented

location will read as ‘0’s. The entire data memory may be accessed directly or indirectly. Direct

addressing may require the use of the BSR register. Indirect addressing requires the use of the

File Select Register (FSR). Each FSR holds 12-bit address value that can be used to access any

location in the data memory map without banking. The instruction set and architecture allow

operations across all banks. This may be accomplished by indirect addressing or by the use of the

MOVFF instruction. The MOVFF instruction is a two-word/two-cycle instruction, that moves a

value from one register to another. To ensure that commonly used registers (SFRs and select

GPRs) can be accessed in a single cycle, regardless of the current BSR values, an Access Bank is

implemented. A segment of Bank 0 and a segment of Bank 15 comprise the Access RAM.

GENERAL PURPOSE REGISTER FILE


The register file can be accessed either directly or indirectly. Indirect addressing operates

through the File Select Registers (FSR). The operation of indirect addressing is shown in Section
“Indirect Addressing, INDF and FSR Registers”. Enhanced MCU devices may have banked
memory in the GPR area. GPRs are not initialized by a Power-on Reset and are unchanged on all
other Resets. Data RAM is available for use as GPR registers by all instructions. Bank 15 (F00h
to FFFh) contains SFRs. All other banks of data memory contain GPR registers, starting with
Bank 0.

SPECIAL FUNCTION REGISTERS

The Special Function Registers (SFRs) are registers used by the CPU and peripheral

modules for controlling the desired operation of the device. These registers are implemented as

static RAM. A list of these registers is given in Table 4-1. The SFRs can be classified into two

sets: those associated with the “core” function and those related to the peripheral functions.

Those registers related to the “core” are described in this section, while those related to the

operation of the peripheral features are described in the section of that peripheral feature. The
SFRs are typically distributed among the peripherals whose functions they control. The unused

SFR locations will be unimplemented and read as ‘0’s. See above figure for addresses for the

SFRs.

DATA EEPROM MEMORY

The data EEPROM is readable and writable during normal operation over the entire VDD

range. The data memory is not directly mapped in the register file space. Instead, it is indirectly

addressed through the Special Function Registers (SFR). There are four SFRs used to read and

write the program and data EEPROM memory. These registers

are: • EECON1

• EECON2

• EEDATA

• EEADR

The EEPROM data memory allows byte read and write. When interfacing to the data

memory block, EEDATA holds the 8-bit data for read/write and EEADR holds the

address of the EEPROM location being accessed. The PIC18F258 devices have 256 bytes of data

EEPROM with an address range from 00h to FFh. The EEPROM data memory is rated for high

erase/write cycles. A byte write automatically erases the location and writes the new data (erase-

before-write). The write time is controlled by an on-chip timer. The write time will vary with

voltage and temperature, as well as from chip-to-chip.

Status Register
The Status register, shown in Register 4-2, contains the arithmetic status of the ALU. The

Status register can be the destination for any instruction, as with any other register. If the

Status register is the destination for an instruction that affects the Z, DC, C, OV or N bits, then

the write to these five bits is disabled. These bits are set or cleared according to the device logic.

Therefore, the result of an instruction with the Status register as destination may be different than

intended.
CHAPTER 7: RF COMMUNICATION

A) RF TRANSMITTER UNIT

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.
A terminal apparatus used in the radio communications system receives a radio frequency
signal transmitted from a base station, by an antenna, inputs the signal to a receiving radio-
frequency unit via an antenna duplexer, high frequency amplifies the signal, removes
unnecessary waves outside the receiving band from the signal, converts the signal to an
intermediate frequency signal, demodulates the intermediate frequency signal by a demodulator,
and converts the signal into a baseband signal.
Generally, a radio transmitter is used for performing a radio transmission operation,
whereby a high frequency signal outputted from a modulator is transmitted to an antenna of the
radio transmitter and is transmitted there from to a remote radio transmitter thereby a signal is
transmitted.
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, and transmitted to the base station from the antenna via the
duplexer. Communication systems are known to support wireless and wire lined communications
between wireless and/or wire lined communication devices.
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. Power amplifiers are required in
radio telecommunication systems to amplify signals before transmitting, because a radio signal
attenuates on the radio path.
TRANSMITTER MODULE (STT-433):

The STT-433 is an ASK transmitter module .The result is excellent performance in a


simple-to-use .The STT-433 is designed specifically for remote-control , wireless mouse and car
alarm system operating at 315/433.92 MHz in the USA under FCC Part 15 regulation. These are
pre-built 433MHz wireless transmitter / receiver modules. They feature ASK encoding, and
perform very well. They are ideal for devices using short data bursts such as remote controls,
trigger pulses etc.

SPECIFICATIONS:

• Output power: 3dBm.


• Supply voltage: 3V.
• Supply current: 10mA max.
• Data rate: 300bps to 10kbps.
• PCB measures: 18.5(H) x 14.5(W) mm (excluding pins).
• Transmitter Module: ZW-3100
• Receiver Module: ZW-3102
• Ideal for 315/433.92MHz remote keyless-entry transmitter
• By SAW resonator
• ASK modulation
• 315/433.92MHz
B) RF RECEIVER UNIT

Receivers for communication systems generally are designed such that they are tuned to
receive one of a multiplicity of signals having widely varying bandwidths and which may fall
within a particular frequency range.
The RF receiver receives an RF signal, converts the RF signal to an IF signal, and then
converts the IF signal to a base band signal, which it then provides to the base band
processor. As is also known, RF transceivers typically include sensitive components
susceptible to noise and interference with one another and with external sources.
The RF receiver is coupled to the antenna and includes a low noise amplifier, one or more
intermediate frequency stages, a filtering stage, and a data recovery stage. The low noise
amplifier receives an inbound RF signal via the antenna and amplifies it.
The one or more intermediate frequency stages mix the amplified RF signal with one or more
local oscillations to convert the amplified RF signal into a base band signal or an
intermediate frequency (IF) signal.

RECEIVER MODULE (STR-433)

The receiver module used in our project is ASK Super Heterodyne Receiver Module,
belongs to the category STR-433. The STR-433-ASK is an Ask Super Heterodyne Receiver
Module with PLL Synthesizer and Crystal Oscillator. The circuit shape is PLL.
STR-433
PIN DIAGRAM

SPECIFICATIONS:
• Frequency Range : 315/434 MHz
• Operation Voltage: 5V
• IF Frequency: 500k
• Typical sensitivity: -105dBm
• Supply Current: 2.3Ma

FEATURES:
• Low power consumption.
• Easy for application.
• On-chip VCO with integrated PLL using crystal oscillator reference.
• Integrated IF and data filters.
• Operation temperature range : -40 °c to +80 °c
C) ENCODER

An encoder can be a device used to change a signal (such as a bit stream) or data into a code.
The code serves any of a number of purposes such as compressing information for
transmission or storage, encrypting or adding redundancies to the input code, or translating
from one code to another.
This is usually done by means of a programmed algorithm, especially if any part is digital,
while most analog encoding is done with analog circuitry.

ENCODER HT640:
The HT640 encoder is a CMOS IC built especially for remote control system applications. It
is capable of encoding 8 bits of address (A0-A9) and 4 bits of data (AD1-AD7) information.
Each address input can be set to one of the two logic states, 0 or 1.
Grounding the pins is taken as a 0 while a high can be given by giving +5V or leaving the
pins open (no connection). Upon reception of transmit enable (TE-active high), the
programmed address/data are transmitted together with the header bits via an RF medium.
D) DECODER

A decoder is a device which does the reverse of an encoder, undoing the encoding so that
the original information can be retrieved. The same method used to encode is usually just
reversed in order to decode.
In digital electronics this would mean that a decoder is a multiple-input, multiple-output
logic circuit that converts coded inputs into coded outputs.
Enable inputs must be on for the decoder to function, otherwise its outputs assume a
single "disabled" output code word. Decoding is necessary in applications such as data
multiplexing, 7 segment display and memory address decoding.

HT648:
The HT648 is a decoder IC made especially to pair with the HT640 encoder .it is a
CMOS IC made for remote control system application. The decoder is capable of decoding 8 bits
of address (A0-A9) and 4 bits of data (AD1-AD8) information. For proper operation, a pair of
encoder/decoder with the same number of addresses and data format should be chosen.
The decoders receive serial
addresses and data from a
programmed encoders that are
transmitted by a carrier using an
RF or an IR transmission medium.
They compare the serial input data
three times continuously with their
local addresses. If no error or
unmatched codes are found, 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 information that consists of N bits of address and
12_N bits of data. Of this series, the HT648 is arranged to provide 8 address bits and 4 data bits,
and HT648 is used to decode 12 bits of address information.
CHAPTER 8: KEYPAD

Keypads are a part of HMI or Human Machine Interface and play really important role in a small
embedded system where human interaction or human input is needed. Martix keypads are well
known for their simple architecture and ease of interfacing with any microcontroller. In this part
of tutorial we will learn how to interface a 4x4 matrix keypad with AVR and 8051
microcontroller. Also we will see how to program then in Assembly and C.

Constructions of a keypad are really simple. As per the outline shown in the figure below we
have four rows and four columns. In between each overlapping row and column line there is a
key.

So keeping this outline we can construct a keypad using simple SPST Switches as shown below:

Now our keypad is ready, all we have to do is connect the rows and columns to a port of
microcontroller and program the controller to read the input.
There are many methods depending on how you connect your keypad with your controller, but
the basic logic is same. We make the columns as i/p and we drive the rows making them o/p, this
whole procedure of reading the keyboard is called scanning.

In order to detect which key is pressed from the matrix, we make row lines low one by one and
read the columns. Let’s say we first make Row1 low, then read the columns. If any of the key in
row1 is pressed will make the corresponding column as low i.e. if second key is pressed in
Row1, then column2 will give low. So we come to know that key 2 of Row1 is pressed. This is
how scanning is done.

So to scan the keypad completely, we need to make rows low one by one and read the columns.
If any of the button is pressed in a row, it will take the corresponding column to a low state
which tells us that a key is pressed in that row. If button 1 of a row is pressed then Column 1 will
become low, if button 2 then column2 and so on.
CHAPTER 9: ENCRYPTION/DECRYPTION
Encryption is the conversion of data into a form, called a cipher text that cannot be easily
understood by unauthorized people. Decryption is the process of converting encrypted data back
into its original form, so it can be understood.
The use of encryption/decryption is as old as the art of communication. In wartime, a cipher,
often incorrectly called a code, can be employed to keep the enemy from obtaining the contents
of transmissions. (Technically, a code is a means of representing a signal without the intent of
keeping it secret; examples are Morse code and ASCII.) Simple ciphers include the substitution
of letters for numbers, the rotation of letters in the alphabet, and the "scrambling" of voice
signals by inverting the sideband frequencies. More complex ciphers work according to
sophisticated computer algorithms that rearrange the data bits in digital signals.
In order to easily recover the contents of an encrypted signal, the correct decryption key is
required. The key is an algorithm that undoes the work of the encryption algorithm.
Alternatively, a computer can be used in an attempt to break the cipher. The more complex the
encryption algorithm, the more difficult it becomes to eavesdrop on the communications without
access to the key.
Encryption/decryption is especially important in wireless communications. This is because
wireless circuits are easier to tap than their hard-wired counterparts. Nevertheless,
encryption/decryption is a good idea when carrying out any kind of sensitive transaction, such as
a credit-card purchase online, or the discussion of a company secret between different
departments in the organization. The stronger the cipher -- that is, the harder it is for
unauthorized people to break it -- the better, in general. However, as the strength of
encryption/decryption increases, so does the cost.
Encryption/Decryption Example:
• The first character (“I” or hex 49) is encrypted using the key and “XOR”

• Hex 49 = binary 01001001

• Key = binary 01010101

• XOR = binary 00011100

• So the encrypted character is 00011100


• To decrypt, you reverse the process

• XOR = binary 00011100

• Key = binary 01010101

• Character = binary 01001001


CHAPTER 10: LCD

This is special section of web-site. In this section we will learn how we can display a
character or a message on LCD display. You can choose any standard LCD available in market. I
have experimented with 20×2 LCD. It means LCD has 2 lines of 20 characters each. Many other
LCDs like 16×2, 24×2, 32×2, 20×4 etc. are available. Functionally all these LCDs are same. To
develop a protocol to interface this LCD with 89C51 first we have to understand how they
functions.

These displays contains two internal byte-wide registers, one for command and second
for characters to be displayed. There are three control signals called R/W, DI/RS and En. The
table given below will tell you what is the use of these three signals.

Control Signals It's function


= 0 Writes character in display
R/W
= 1 Reads from display
= 0 Selects command register
RS/DI
= 1 Selects Data register to display character
= 0 Disables the display
En
= 1 Enables the display

LCD COMMAND CODES:

Code Command to LCD Instruction


1 Clear Display Screen
2 Return Home
4 Decrement cursor
6 Increment cursor
5 Shift display right
7 Shift display left
8 Display off, cursor off
A Display off, cursor on
C Display on, cursor off
E Display on, cursor blinking
F Display on, cursor blinking
10 Shift cursor position to left
14 Shift cursor position to right
18 Shift the entire display to left
1C Shift the entire display to right
80 Force cursor to beginning of first line
C0 Force cursor to beginning of second line
38 2 lines and 5x7 matrix

The figure shows connections of LCD with 89S52

All the data lines of LCD are connected with port P1. En pin is connected with P0.0, DI (RS) is
connected with P0.1 and R/W pin is connected with P0.2.
CHAPTER 11: POWER SUPPLY

The ac voltage, typically 220V, is connected to a transformer, which steps down that ac
voltage down to the level of the desired dc output. A diode rectifier then provides a full-wave
rectified voltage that is initially filtered by a simple capacitor filter to produce a dc voltage. This
resulting dc voltage usually has some ripple or ac voltage variation.

A regulator circuit removes the ripples and also retains the same dc value even if the
input dc voltage varies, or the load connected to the output dc voltage changes. This voltage
regulation is usually obtained using one of the popular voltage regulator IC units.

Fig. 3.7 Block Diagram of Power Supply

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


power supplies use a step-down transformer to reduce the dangerously high mains voltage (230V
in India) to a safer low voltage.

The input coil is called the primary and the output coil is called the secondary. There is
no electrical connection between the two coils; instead they are linked by an alternating magnetic
field created in the soft-iron core of the transformer. Transformers waste very little power so the
power out is (almost) equal to the power in. Note that as voltage is stepped down current is
stepped up.

The transformer will step down the power supply voltage (0-230V) to (0-6V) level. Then
the secondary of the potential transformer will be connected to the bridge rectifier, which is
constructed with the help of PN junction diodes. The advantages of using bridge rectifier are it
will give peak voltage output as DC.

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. A full-wave rectifier
can also be made from just two diodes if a centre-tap transformer is used, but this method is
rarely used now that diodes are cheaper. A single diode can be used as a rectifier but it only uses
the positive (+) parts of the AC wave to produce half-wave varying DC.

BRIDGE RECTIFIER

When four diodes are connected as shown in figure, the circuit is called as bridge
rectifier. The input to the circuit is applied to the diagonally opposite corners of the network, and
the output is taken from the remaining two corners. Let us assume that the transformer is
working properly and there is a positive potential, at point A and a negative potential at point B.
the positive potential at point A will forward bias D3 and reverse bias D4.

The negative potential at point B will forward bias D1 and reverse D2. At this time D3
and D1 are forward biased and will allow current flow to pass through them; D4 and D2 are
reverse biased and will block current flow.

One advantage of a bridge rectifier over a conventional full-wave rectifier is that with a
given transformer the bridge rectifier produces a voltage output that is nearly twice that of the
conventional full-wave circuit.

With both circuits using the same transformer, the bridge rectifier circuit produces a
higher output voltage than the conventional full-wave rectifier circuit.

fig. Bridge Rectifier Fig.


Output waveform of Bridge Rectifier

SMOOTHING:
Smoothing 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 unsmoothed varying DC (dotted line) and the
smoothed DC (solid line). The capacitor charges quickly near the peak of the varying DC, and
then discharges as it supplies current to the output.

Note that smoothing significantly increases the average DC voltage to almost the peak
value (1.4 × RMS value). For example 6V RMS AC is rectified to full wave DC of about 4.6V
RMS (1.4V is lost in the bridge rectifier), with smoothing this increases to almost the peak value
giving 1.4 × 4.6 = 6.4V smooth DC.

Fig.

Smoothing Capacitor and its Output Waveform

Smoothing is not perfect due to the capacitor voltage falls a little as it discharges, giving
a small ripple voltage. For many circuits a ripple which is 10% of the supply voltage is
satisfactory. A larger capacitor will give fewer ripples. The capacitor value must be doubled
when smoothing half-wave DC.

VOLTAGE REGULATORS:

Voltage regulators comprise a class of widely used ICs. Regulator IC units contain the
circuitry for reference source, comparator amplifier, control device, and overload protection all
in a single IC. IC units provide regulation of either a fixed positive voltage, a fixed negative
voltage, or an adjustably set voltage. The regulators can be selected for operation with load
currents from hundreds of milli amperes to tens of amperes, corresponding to power ratings from
milli watts to tens of watts.
A fixed three-terminal voltage regulator has an unregulated dc input voltage, Vi, applied
to one input terminal, a regulated dc output voltage, Vo, from a second terminal, with the third
terminal connected to ground.
The series 78 regulators provide fixed positive regulated voltages from 5 to 24 volts.
Similarly, the series 79 regulators provide fixed negative regulated voltages from 5 to 24 volts.

IC VOLTAGE REGULATORS:
Voltage regulator ICs are available with fixed (typically 5, 12 and 15V) or variable
output voltages. They are also rated by the maximum current they can pass. Negative voltage
regulators are available, mainly for use in dual supplies. Most regulators include some automatic
protection from excessive current ('overload protection') and overheating ('thermal protection').

Many of the fixed voltage regulator ICs has 3 leads and look like power transistors, such as the
7805 +5V 1Amp regulator. They include a hole for attaching a heat sink if necessary.

Fig. IC Voltage Regulator

CIRCUIT DIAGRAM:

Fig. 3.15 Circuit diagram of Power Supply


CHAPTER 12: CONCLUSION

This project was at the same time challenging and exciting. We have both used chat
applications in the past whether to keep in touch with friends across the country or to collaborate
with co workers in different offices. These tools are invaluable whether all that is needed is a one
sentence note or an hour long conversation. The great thing about chat applications is that they
are usually free like AOL’s Instant Messenger or Yahoo Messenger and can therefore cut down
on the cost of communicating via RF COOMUNICATION.

When we began this project, neither of us had much knowledge of what it would take to
complete it and throughout the development process we learned a lot about what it takes to
develop a RF protocol and how to integrate that into an application that could use it efficiently.
it was very worthwhile to see it all come together and work with the message protocol that we
developed.
CHAPTER 13: INTRODUCTION TO MICRO VISION KEIL (IDE)

A) OVERVIEW OF KEIL SOFTWARE

Keil is a cross compiler. So first we have to understand the concept of compilers and cross
compilers. After then we shall learn how to work with keil.

Concept of compiler: -

Compilers are programs used to convert a High Level Language to object code. Desktop
compilers produce an output object code for the underlying microprocessor, but not for other
microprocessors. I.E the programs written in one of the HLL like ‘C’ will compile the code
to run on the system for a particular processor like x86 (underlying microprocessor in the
computer). For example compilers for Dos platform is different from the Compilers for Unix
platform

So if one wants to define a compiler then compiler is a program that translates source code
into object code. The compiler derives its name from the way it works, looking at the entire
piece of source code and collecting and reorganizing the instruction. See there is a bit little
difference between compiler and an interpreter. Interpreter just interprets whole program at a
time while compiler analyzes and execute each line of source code in succession, without
looking at the entire program.

The advantage of interpreters is that they can execute a program immediately. Secondly
programs produced by compilers run much faster than the same programs executed by an
interpreter. However compilers require some time before an executable program emerges.
Now as compilers translate source code into object code, which is unique for each type of
computer, many compilers are available for the same language.

Concept of cross compiler: -

A cross compiler is similar to the compilers but we write a program for the target processor
(like 8051 and its derivatives) on the host processors (like computer of x86)
It means being in one environment you are writing a code for another environment is called
cross development. And the compiler used for cross development is called cross compiler

Cross compilers are beneficial whenever the host machine has more resources (memory,
disk, I/O etc) than the target. Keil C Compiler is one such compiler that supports a huge
number of host and target combinations. It supports as a target to 8 bit microcontrollers like
Atmel and Motorola etc.
Why do we need cross compiler?

There are several advantages of using cross compiler. Some of them are described as follows
• By using this compilers not only can development of complex embedded systems
be completed in a fraction of the time, but reliability is improved, and maintenance is
easy.
• Knowledge of the processor instruction set is not required.
• A rudimentary knowledge of the 8051’s memory architecture is desirable but not
necessary.
• Register allocation and addressing mode details are managed by the compiler.
• The ability to combine variable selection with specific operations improves
program readability.
• Keywords and operational functions that more nearly resemble the human thought
process can be used.
• Program development and debugging times are dramatically reduced when
compared to assembly language programming.
• The library files that are supplied provide many standard routines (such as
formatted output, data conversions, and floating-point arithmetic) that may be
incorporated into your application.
• Existing routine can be reused in new programs by utilizing the modular
programming techniques available with C.
• The C language is very portable and very popular. C compilers are available for
almost all target systems. Existing software investments can be quickly and easily
converted from or adapted to other processors or environments.

Keil C cross compiler: -

Keil is a German based Software development company. It provides several development tools
like
• IDE (Integrated Development environment)
• Project Manager
• Simulator
• Debugger
• C Cross Compiler, Cross Assembler, Locator/Linker
Keil Software provides you with software development tools for the 8051 family of
microcontrollers. With these tools, you can generate embedded applications for the multitude of
8051 derivatives. Keil provides following tools for 8051 development
1. C51 Optimizing C Cross Compiler,
2. A51 Macro Assembler,
3. 8051 Utilities (linker, object file converter, library manager),
4. Source-Level Debugger/Simulator,
5. µVision for Windows Integrated Development Environment.
The keil 8051 tool kit includes three main tools, assembler, compiler and linker.
An assembler is used to assemble your 8051 assembly program
A compiler is used to compile your C source code into an object file
A linker is used to create an absolute object module suitable for your in-circuit emulator.
8051 project development cycle: - these are the steps to develop 8051 project using keil
1. Create source files in C or assembly.
2. Compile or assemble source files.
3. Correct errors in source files.
4. Link object files from compiler and assembler.
5. Test linked application.
now let us start how to work with keil.

STEPS FOR EXECUTING THE KEIL PROGRAMS:

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


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:\

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
9. Select AT89S52 as shown below

10. Then Click on “OK”


11. The Following fig will appear
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.

15. Click on the file option from menu bar and select “new”
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”
19. Now right click on Source group 1 and click on “Add files to Group Source”

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
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”
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
CHAPTER 14: ADVANTAGES

The students, who have used CHAT as part of their online learning process, feel it is
effective
 Students on online courses feel their participation would be enhanced by the use of
live, inter-active learning amongst themselves, other students and the tutor?
 Live chat unique features help operators respond faster and more accurately.
 CHAT system will pull down your cost by cutting down the monthly toll fee and
telephone cost.
 With instant online support one agent can handle multiple chats and thus assist
several online visitors simultaneously which reduces customer hold times
CHAPTER 15: BIBLIOGRAPHY

www.discovercircuits.com/R/rftrans.htm

www.8052.com/tutlcd

www.hobbyprojects.com/microcontroller_tutorials.html

http://www.mstracey.btinternet.co.uk/pictutorial/picmain.htm

http://www.kpsec.freeuk.com/powersup.htm

http://www.glolab.com/encdec/gl/app.html

You might also like