Beruflich Dokumente
Kultur Dokumente
A Dissertation Submitted to
P.E.S COLLEGE OF ENGINEERING, MANDYA
(An Autonomous Institution under Visvesvaraya Technological University, Belgaum)
BACHELOR OF ENGINEERING
IN ELECTRONICS AND COMMUNICATION ENGINEERING
Submitted by
V. LALROTLUANGA [USN 4PS05EC055]
LALTANPUIA [USN 4PS07EC024]
L.T.L. FELA KHIANGTE [USN 4PS08EC027]
LALSAWMLIANI [USN 4PS08EC028]
2011-2012
P.E.S COLLEGE OF ENGINEERING
MANDYA-571401
(An Autonomous Institution Affiliated to VTU,
Belgaum)
DEPARTMENT OF ELECTRONICS AND
COMMUNICATION ENGINEERING
CERTIFICATE
This is to certify that
V. LALROTLUANGA 4PS05EC055
LALTANPUIA 4PS07EC024
L.T.L. FELA KHIANGTE 4PS08EC027
LALSAWMLIANI FANCHUN 4PS08EC028
have satisfactorily completed the dissertation work entitled Mobile Sniffer cum Jammer
with alerting system in partial fulfillment for the award of degree of Bachelor of
Engineering in Electronics and Communication Engineering of P.E.S. College of
Engineering, Mandya, Visvesvaraya Technological University, Belgaum during the year
2011-2012.It is certified that all corrections/suggestions indicated in internal assessment have
been incorporated in the report deposited in the Library. The Project has been approved as it
satisfies the academic requirements in respect of project work prescribed for the degree in
Bachelor of Engineering.
It gives immense satisfaction and great pride to present our project report on Mobile
Sniffer cum Jammer with alerting system. At this point of time, we would like to
express our heartfelt gratitude to the person who helped make this a success.
First and foremost, we would like to thank God our Father, for the strength and guide
He bestowed upon us.
We also would like to thank our parents and friends for their support and motivation.
V. Lalrotluanga
Laltanpuia
L.T.L. Fela Khiangte
Lalsawmliani Fanchun
I
SYNOPSIS
Mobile jammer is used to prevent mobile phones from receiving or transmitting signals
with the base stations. Mobile jammers effectively disable mobile phones within the
defined regulated zones without causing any interference to other communication means.
Mobile jammers can be used in practically any location, but are used in places where a
phone call would be particularly disruptive like Temples, Libraries, Hospitals, Cinema
halls, schools and colleges etc.
As with other radio jamming, mobile jammers block mobile phone use by sending out
radio waves along the same frequencies that mobile phones use. This causes enough
interference with the communication between mobile phones and communicating towers
to render the phones unusable. Upon activating mobile jammers, all mobile phones will
indicate "NO NETWORK". Incoming calls are blocked as if the mobile phone were off.
When the mobile jammers are turned off, all mobile phones will automatically re-
establish communications and provide full service.
Mobile Jammers were originally developed for law enforcement and the military to
interrupt communications by criminals and terrorists to foil the use of certain remotely
detonated explosives. The civilian applications were apparent with growing public
resentment over usage of mobile phones in public areas on the rise & reckless invasion of
privacy. Over time many companies originally contracted to design mobile jammers for
government switched over to sell these devices to private entities.
In this project, we are controlling this mobile jammer by means of a microcontroller. The
activation and deactivation time schedules can be programmed with microcontroller. This
project uses regulated 5V, 500mA power supply. Unregulated 12V DC is used for relay.
7805 three terminal voltage regulator is used for voltage regulation. Bridge type full wave
rectifier is used to rectify the ac output of secondary of 230/12V step down transformer.
II
Contents page no.
Chapter 1 Introduction 1
1.1 Introduction 1
1.2 Introduction to Project 1
1.3 Organization of the report 2
III
Chapter 5 Relay and Switch 30
Chapter 8 Results 64
Bibliography 65
Appendix 66
IV
Mobile Sniffer cum Jammer with alerting system
Chapter 1
INTRODUCTION
1.1 Introduction
Cell phones are everywhere these days. According to the Cellular Telecommunications
and Internet Association, almost 195 million people in the United States had cell-phone
service in October 2005. And cell phones are even more ubiquitous in Europe.
It's great to be able to call anyone at any time. Unfortunately, restaurants, movie theaters,
concerts, shopping malls and churches all suffer from the spread of cell phones because
not all cell-phone users know when to stop talking. Who hasn't seethed through one side
of a conversation about an incredibly personal situation as the talker shares intimate
details with his friend as well as everyone else in the area.
While most of the people just grumble and move on, some people are actually going to
extremes to retaliate. Cell phones are basically handheld two-way radios. And like any
radio, the signal can be disrupted, or jammed.
In this project the mobile signal which is existing in the covered area of the antenna, is
caught by the mobile sniffer and the mobile jammer than jams the signal after the mobile
sniffer sends high signal to the GSM modem and then to the jammer. The process will be
explain in details in the following chapters.
The rapid proliferation of cell phones at the beginning of the 21st century to near
ubiquitous status eventually raised problems, such as their potential use to invade privacy
or contribute to academic cheating. While older analog cell phones often suffered from
poor reception and could even be disconnected by simple interference such as high
frequency noise, increasingly sophisticated digital phones have led to more elaborate
counters. Cell phone jamming devices are an alternative to more expensive measures
against cell phones, such as Faraday cages. They were originally developed for law
enforcement and the military to interrupt communications by criminals and terrorists.
Some were also designed to foil the use of certain remotely detonated explosives. The
civilian applications were apparent, so over time many companies originally contracted to
design jammers for government use switched over to sell these devices to private entities.
Since then, there has been a slow but steady increase in their purchase and use, especially
in major metropolitan areas.
The whole working process will be explained in brief in this part of the report. First
consider the block diagram of the whole process as given below.
Chapter 2 describes about the Sniffer or the mobile detector is crucial part of the whole
system, without which the project is useless. The Sniffer detects the mobile signal
appearing inside its range, and sends a signal to the Microcontroller on detecting it,
through port p1.0 of the microcontroller. The Sniffer consists of,
i. An antenna to detect the signal, which is connected with two 22F ceramic
capacitors which makes it act like an inductor.
ii. When signal is detected than a small current is send through the 0.22F capacitor
which is used for charging and discharging process. Than this capacitor on
discharging sends the small signal current to the CA3130 operational amplifier,
where the low signal is converted a high current signal.
iii. The output from the CA3130 op-amp is than again pass through the BC 547
transistor which is interconnected with resistance to make the signal much
stronger, than after making a much higher current signal than it pass the signal to
the microcontroller.
Chapter 3 provides the description for the GSM Modem. Upon receiving the signal from
the mobile sniffer the microcontroller automatically sends signal to the GSM modem
which is connected through port P3.0 and port P3.1 which are the RxD and TxD ports
respectively. The GSM than sends sms message to the master cell phone which is
registered in the flash memory of the microcontroller alerting that the sniffer has detected
a cell phone signal inside its range. The GSM modem is itself a cell phone and consist of
all the part that is contained in an ordinary cell phone.
Chapter 4 describes the Microcontroller and the LCD. The Microcontroller is the heart
of the whole system. The microcontroller used here is AT89S52. All the parts and
components of the circuit are interconnected with the microcontroller. It is in the
microcontroller where the coding is stored. A programmer writes a program to run the
system in Keil Software using some assembly language or some other language, in this
project C-programming is used due to its universality and versatility. After the program is
done it is converted to a hexadecimal file by Flash Magic software, which is then burned
to the Microcontroller. The microcontroller is also connected to a tank circuit, which
generates 12 MHz frequency which is needed by the microcontroller.
The LCD is connected from the power supply through the reset button and a capacitor to
control the functions of the LCD. The LCD displays the state of the circuit, in which state
it is, whether it is performing a task etc. For example while the starting it displays
Connecting System.
Chapter 5 is about the Relay. After the GSM modem alerts the master cell phone, the
microcontroller than turns on the Relay which is connected to port P2.0 of the
microcontroller. A relay is an electrically operated switch which allows switching from
one circuit to another circuit leaving the first circuit. As mentioned earlier the Relay
operates on 12v current because the coil of the relay passes relatively large current. Than
at this project the relay switch the process from the above mentioned processes to the
Jammer circuit. In other words the Relay is used to turn on the Jammer. The Relay
consist of,
i. From the microcontroller port two or three resistors are connected which is
interconnected to the LED lamp, to display the flow of the current.
ii. Than it is connected to two BC 547 transistors which are connected in Darlington
connections to get high collector gain.
iii. The 12v current is then made to pass through the coil of the relay through its pin 1
and the other side of the coil i.e. pin 2 is grounded. Across these two pins a diode
is connected.
iv. At pin 3 lies the jockey of the relay and pin 5 is normally closed. When current is
passed through the relay the normally closed pin 5 is open and the normally open
pin 4 is than closed, thus switching the process to the Jammer.
Chapter 6 explains the Jammer in details. The Jammer is another crucial part of the
project at the end part of the process of the project. The Jammer as its name suggest jams
the signal of the detected signal and other signals appearing in its range. The circuit of
such devices are predefined and manufactured by some designated companies and makes
it impossible for common man to explain or work with the circuit definitions.
Chapter 7 is of the Result and Conclusions. The Result gives the working results of the
whole project and the Conclusions briefs the what the system working and applications.
After these chapters, the Reference, Appendix and Datasheets follows the reports.
Chapter 2
MOBILE SNIFFER
allotted a particular frequency for its use. The mobile phone transmits short signals at
regular intervals to register its availability to the nearest base station. The network data
base stores the information transmitted by the mobile phone. If the mobile phone moves
from one cell to another, it will keep the connection with the base station having strongest
transmission. Mobile phone always tries to make connection with the available base
station. That is why, the back light of the phone turns on intermittently while traveling.
This will cause severe battery drain. So in long journeys, battery will flat with in a few
hours.
AM Radio uses frequencies between 180 kHz and 1.6 MHz .FM radio uses 88 to 180
MHz .TV uses 470 to 854 MHz .Waves at higher frequencies but within the RF region is
called Micro waves.
phones. The transmission frequency of mobile phones ranges from 0.9 to 3 GHz with a
wavelength of 3.3 to 10 cm. So a circuit detecting gigahertz signals is required for a
mobile bug. Here the circuit uses a 0.22F disk capacitor (C3) to capture the RF signals
from the mobile phone. The lead length of the capacitor is fixed as 18 mm with a spacing
of 8 mm between the leads to get the desired frequency. The disk capacitor along with the
leads acts as a small gigahertz loop antenna to collect the RF signals from the mobile
phone. Op-amp IC CA3130 (IC1) is used in the circuit as a current-to-voltage converter
with capacitor C3 connected between its inverting and non-inverting inputs. It is a CMOS
version using gate-protected p-channel MOSFET transistors in the input to provide very
high input impedance, very low input current and very high speed of performance. The
output CMOS transistor is capable of swinging the output voltage to within 10 mV of
either supply voltage terminal. Capacitor C3 in conjunction with the lead inductance acts
as a transmission line that intercepts the signals from the mobile phone. This capacitor
creates a field, stores energy and transfers the stored energy in the form of minute current
to the inputs of IC1. This will upset the balanced input of IC1 and convert the current into
the corresponding output voltage. Capacitor C4 along with high-value resistor R1 keeps
the non-inverting input stable for easy swing of the output to high state. Resistor R2
provides the discharge path for capacitor C4. Feedback resistor R3 makes the inverting
input high when the output becomes high. Capacitor C5 (47pF) is connected across
strobe (pin 8) and null inputs (pin 1) of IC1 for phase compensation and gain control
to optimise the frequency response. When the mobile phone signal is detected by C3, the
output of IC1 becomes high and low alternately according to the frequency of the signal
as indicated by LED1. This triggers monostable timer IC2 through capacitor C7.
Capacitor C6 maintains the base bias of transistor T1 for fast switching action. The low-
value timing components R6 and C9 produce very short time delay to avoid audio
nuisance. Assemble the circuit on a general purpose PCB as compact as possible and
enclose in a small box like junk mobile case. As mentioned earlier, capacitor C3 should
have a lead length of 18 mm with lead spacing of 8 mm. carefully solder the capacitor in
standing position with equal spacing of the leads. The response can be optimised by
trimming the lead length of C3 for the desired frequency. You may use a short telescopic
type antenna. Use the miniature 12V battery of a remote control and a small buzzer to
make the gadget pocket-size. The unit will give the warning indication if someone uses
mobile phone within a radius of 1.5 metres.
2.4 Conclusions
In this chapter we have discussed about how the mobile detector detects the mobile signal
which exists around its range. The working of the Mobile Sniffer has been explained in
details along with the detector circuit diagrams and necessary information. In the next
chapter we will be discussing about the GSM Modem, how it works and send message to
the master cell phone after the mobile sniffer detects mobile signals.
Chapter 3
GSM MODEM
A GSM modem can be a dedicated modem device with a serial, USB or Bluetooth
connection, or it can be a mobile phone that provides GSM modem capabilities.
A GSM modem exposes an interface that allows applications such as Now SMS to send
and receive messages over the modem interface. The mobile operator charges for this
message sending and receiving as if it was performed directly on a mobile phone. To
perform these tasks, a GSM modem must support an extended AT command set for
sending/receiving SMS messages, as defined in the ETSI GSM 07.05 and and 3GPP TS
27.005 specifications. A GSM modem can be a dedicated modem device with a serial,
USB or Bluetooth connection, such as the Falcom Samba 75 used in this document.
(Other manufacturers of dedicated GSM modem devices include Wavecom, Multitech
and iTegno.) To begin, insert a GSM SIM card into the modem and connect it to an
available USB port on your computer. A GSM modem could also be a standard GSM
mobile phone with the appropriate cable and software driver to connect to a serial port or
USB port on your computer. Any phone that supports the extended AT command set
for sending/receiving SMS messages, as defined in ETSI GSM 07.05 and/or 3GPP TS
27.005, can be supported by the Now SMS & MMS Gateway. Note that not all mobile
phones support this modem interface.
Due to some compatibility issues that can exist with mobile phones, using a dedicated
GSM modem is usually preferable to a GSM mobile phone. This is more of an issue with
MMS messaging, where if you wish to be able to receive inbound MMS messages with
the gateway, the modem interface on most GSM phones will only allow you to send
MMS messages. This is because the mobile phone automatically processes received
MMS message notifications without forwarding them via the modem interface.
It should also be noted that not all phones support the modem interface for sending and
receiving SMS messages. In particular, most smart phones, including Blackberries,
iPhone, and Windows Mobile devices, do not support this GSM modem interface for
sending and receiving SMS messages at all at all. Additionally, Nokia phones that use the
S60 (Series 60) interface, which is Symbian based, only support sending SMS messages
via the modem interface, and do not support receiving SMS via the modem interface.
This document describes the hardware interface of the SIMCOM SIM300 module that
connects to the specific application and the air interface. As SIM300 can be integrated
with a wide range of applications, all functional components of SIM300 are described in
great detail.
This document can help you quickly understand SIM300 interface specifications,
electrical and mechanical details. With the help of this document and other SIM300
application notes, user guide, you can use SIM300 module to design and set-up mobile
applications quickly.
i. The keypad and SPI LCD interface will give you the flexibility to develop
customized applications.
ii. Two serial ports can help you easily develop your applications.
iii. Two audio channels include two microphones inputs and two speaker outputs.
This can be easily configured by AT command.
SIM300 provide RF antenna interface with two alternatives: antenna connector and
antenna pad. The antenna connector is MURATA MM9329-2700. And customers
antenna can be soldered to the antenna pad.
The SIM300 is designed with power saving technique, the current consumption to as low
as 2.5mA in SLEEP mode.
The SIM300 is integrated with the TCP/IP protocolExtended TCP/IP AT commands
are developed for customers to use the TCP/IP protocol easily, which is very useful for
those data transfer applications.
3.3 Conclusions
We have progressed to the working of the GSM Modem and roughly completed the
working and functions of it. How it works as a modem and that it is actually a mobile
phone itself and has all the components posses by the mobile phone. In the coming up
chapter we will be discussing how this chapter and the former chapter are interfaced with
the microcontroller, thus the next chapter deals with the Microcontroller and the LCD.
Chapter 4
4.1.1 Description:
The Philips microcontrollers described in this data sheet are high-performance static
80C51 designs. They are manufactured in an advanced CMOS process and contain a non-
volatile Flash program memory. They support both 12-clock and 6-clock operation. The
P89C51X2 and P89C52X2/54X2/58X2 contain 128 byte RAM and 256 byte RAM
respectively, 32 I/O lines, three 16-bit counter/timers, a six-source, four-priority level
nested interrupt structure, a serial I/O port for either multi-processor communications, I/O
expansion or full duplex UART, and on-chip oscillator and clock circuits. In addition, the
devices are static designs which offer a wide range of operating frequencies down to
zero. Two software selectable modes of power reduction idle mode and power-down
mode are available. The idle mode freezes the CPU while allowing the RAM, timers,
serial port, and interrupt system to continue functioning. The power-down mode saves the
RAM contents but freezes the oscillator, causing all other chip functions to be in
operative. Since the design is static, the clock can be stopped without loss of user data.
Then the execution can be resumed from the point the clock was stopped.
The P89C51 is an 80C51 microcontroller with 64 kB Flash and 1024 bytes of data RAM.
A key feature of the P89C51 is its X2 mode option. The design engineer can choose to
run the application with the conventional 80C51 clock rate (12 clocks per machine cycle)
or select the X2 mode (6 clocks per machine cycle) to achieve twice the throughput at the
same clock frequency. Another way to benefit from this feature is to keep the same
performance by reducing the clock frequency by half, thus dramatically reducing the
EMI.
The Flash program memory supports both parallel programming and in serial In-
System Programming (ISP). Parallel programming mode offers gang-programming at
high speed, reducing programming costs and time to market. ISP allows a device to be
reprogrammed in the end product under software control. The capability to field/update
the application
FEATURES
Boolean processor
The pin diagram shown in fig 4.3 it consists of the following pins.
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.
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.
EA/VPP: When EA is held high the CPU executes out of internal Program Memory
(unless the Program Counter exceeds 0FFFH in the 80C51). Holding EA low forces the
CPU to execute out of external memory regardless of the Program Counter value. In the
80C31, EA must be externally wired low. In the EPROM devices, this pin also receives
the programming supply voltage (VPP) during EPROM programming.
The 8051s I/O port structure is extremely versatile and flexible. The device has 32 I/O
pins configured as four eight bit parallel ports (P0, P1, P2 and P3). Each pin can be used
as an input or as an output under the software control. These I/O pins can be accessed
directly by memory instructions during program execution to get required flexibility.
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 impedance inputs. Port 0 is also the multiplexed low-order
address and data bus during accesses to external memory.
Port 1: Port 1 is an 8-bit bidirectional I/O port with internal pullups. Port 1 pins that have
1s written to them are pulled high by the internal pullups, 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 pullups.
Port 2: Port 2 is an 8-bit bidirectional I/O port with internal pullups. Port 2 emits the
high-order address byte during accesses to external memory that use 16-bit addresses.
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:
All four ports in the 80C51 are bidirectional. Each consists of a latch (Special Function
Registers P0 through P3), an output driver, and an input buffer. All the Port 3 pins are
multifunctional. They are not only port pins, but also serve the functions of various
special features as listed below:
MEMORY ORGANISATION
The alternate functions can only be activated if the corresponding bit latch in the port
SFR contains a 1. Otherwise the port pin remains at 0.All 80C51 devices have separate
address spaces for program and data memory, as shown in Figures 1 and 2. The logical
separation of program and data memory allows the data memory to be accessed by 8-bit
addresses, which can be quickly stored and manipulated by an 8-bit CPU. Nevertheless,
16-bit data memory addresses can also be generated through the DPTR register.
Program memory (ROM, EPROM) can only be read, not written to. There can be up to
64k bytes of program memory. In the 80C51, the lowest 4k bytes of program are on-chip.
In the ROM less versions, all program memory is external. The read strobe for external
program memory is the PSEN (program store enable). Data Memory (RAM) occupies a
separate address space from Program Memory. In the 80C51, the lowest 128 bytes of data
memory are on-chip. Up to 64k bytes of external RAM can be addressed in the external
Data Memory space. In the ROMless version, the lowest 128 bytes are on-chip. The CPU
generates read and write signals, RD and WR, as needed during external Data Memory
accesses.
External Program Memory and external Data Memory may be combined if desired by
applying the RD and PSEN signals to the inputs of an AND gate and using the output of
the gate as the read strobe to the external Program/Data memory.
A number of P89C51 registers can be considered "basic." Very little can be done without
them and a detailed explanation of each one is warranted to make sure the reader
understands these registers before getting into more complicated areas of development.
The Accumulator if you've worked with any other assembly language you will be
familiar with the concept of an accumulator register.
The Accumulator, as its name suggests, is used as a general register to accumulate the
results of a large number of instructions. It can hold an 8-bit (1-byte) value and is the
most versatile register the 8051 has due to the sheer number of instructions that make use
of the accumulator. More than half of the 8051's 255 instructions manipulate or use the
Accumulator in some way. For example, if you want to add the number 10 and 20, the
resulting 30 will be stored in the Accumulator. Once you have a value in the Accumulator
you may continue processing the value or you may store it in another register or in
memory.
The "R" Registers are sets of eight registers that are named R0, R1, through R7. These
registers are used as auxiliary registers in many operations. To continue with the above
example, perhaps you are adding 10 and 20. The original number 10 may be stored in the
Accumulator whereas the value 20 may be stored in, say, register R4.
The "B" register is very similar to the Accumulator in the sense that it may hold an 8-bit
(1-byte) value. The "B" register is only used implicitly by two 8052 instructions: MUL
AB and DIV AB. Thus, if you want to quickly and easily multiply or divide A by another
number, you may store the other number in "B" and make use of these two instructions.
The Program Counter is special in that there is no way to directly modify its value. That
is to say, you can't do something like PC=2430h. On the other hand, if you execute LJMP
2430h you've effectively accomplished the same thing.
The Data Pointer (DPTR) is the 8052s only user-accessible 16-bit (2-byte) register. The
Accumulator, "R" registers, and "B" register are all 1-byte values. The PC just described
is a 16-bit value but isn't directly user-accessible as a working register.
DPTR, as the name suggests, is used to point to data. It is used by a number of commands
that allow the 8051 to access external memory. When the 8051 accesses external memory
it accesses the memory at the address indicated by DPTR.
While DPTR is most often used to point to data in external memory or code memory,
many developers take advantage of the fact that it's the only true 16-bit register available.
It is often used to store 2-byte values that have nothing to do with memory locations.
The Stack Pointer, like all registers except DPTR and PC, may hold an 8-bit (1-byte)
value. The Stack Pointer is used to indicate where the next value to be removed from the
stack should be taken from.
This order of operation is important. When the 8051 is initialized SP will be initialized to
07h. If you immediately push a value onto the stack, the value will be stored in Internal
RAM address 08h. This makes sense taking into account what was mentioned two
paragraphs above: First the 8051 will increment the value of SP (from 07h to 08h) and
then will store the pushed value at that memory address (08h).
The CPU is the brain of the microcontrollers reading users programs and executing the
expected task as per instructions stored there in. Its primary elements are an 8 bit
Arithmetic Logic Unit (ALU ) , Accumulator (Acc ) , few more 8 bit registers , B
register, Stack Pointer (SP ) , Program Status Word (PSW) and 16 bit registers, Program
Counter (PC) and Data Pointer Register (DPTR).
The ALU (Acc) performs arithmetic and logic functions on 8 bit input variables.
Arithmetic operations include basic addition, subtraction, and multiplication and division.
Logical operations are AND, OR, Exclusive OR as well as rotate, clear, complement and
etc. Apart from all the above, ALU is responsible in conditional branching decisions, and
provides a temporary place in data transfer operations within the device.
B-register is mainly used in multiply and divides operations. During execution, B register
either keeps one of the two inputs or then retains a portion of the result. For other
instructions, it can be used as another general purpose register.
Program Status Word (PSW) keeps the current status of the ALU in different bits. Stack
Pointer (SP) is an 8 bit register. This pointer keeps track of memory space where the
important register information is stored when the program flow gets into executing a
subroutine. The stack portion may be placed in anywhere in the on-chip RAM. But
normally SP is initialized to 07H after a device reset and grows up from the location 08H.
The Stack Pointer is automatically incremented or decremented for all PUSH or POP
instructions and for all subroutine calls and returns.
Program Counter (PC) is the 16 bit register giving address of next instruction to be
executed during program execution and it always points to the Program Memory space.
Data Pointer (DPTR) is another 16 bit addressing register that can be used to fetch any 8
bit data from the data memory space. When it is not being used for this purpose, it can be
used as two eight bit registers.
4.1.6 Timers/Counters
P89C51 has two 16 bit Timers/Counters capable of working in different modes. Each
consists of a High byte and a Low byte which can be accessed under software. There
These timers can be used to measure time intervals, determine pulse widths or initiate
events with one microsecond resolution up to a maximum of 65 millisecond
(corresponding to 65, 536 counts). Use software to get longer delays. Working as
counter, they can accumulate occurrences of external events (from DC to 500 KHz) with
16 bit precision.
Each 8051 microcontroller contains a high speed full duplex (means you can
simultaneously use the same port for both transmitting and receiving purposes) serial port
which is software configurable in 4 basic modes: 8 bit UART; 9 bit UART; Inter
processor Communications link or as shift register I/O expander.
For the standard serial communication facility, AT89S52 can be programmed for UART
operations and can be connected with regular personal computers, teletype writers,
modem at data rates between 122 bauds and 31 kilo bauds. Getting this facility is made
very simple using simple routines with option to elect even or odd parity. You can also
establish a kind of Inter processor communication facility among many microcomputers
in a distributed environment with automatic recognition of address/data. Apart from all
above, you can also get super fast I/O lines using low cost simple TTL or CMOS shift
registers.
The LCD is more energy efficient and offers safer disposal than a CRT. Its low electrical
power consumption enables it to be used in battery-powered electronic equipment. It is
an electronically modulated optical device made up of any number of segments filled
with liquid crystals and arrayed in front of a light source (backlight) or reflector to
produce images in color or monochrome. The most flexible ones use an array of
small pixels. The earliest discovery leading to the development of LCD technology, the
discovery of liquid crystals, dates from 1888. By 2008, worldwide sales of televisions
with LCD screens had surpassed the sale of CRT units.
As we mentioned above, the EN line is used to tell the LCD that you are ready for it to
execute an instruction that you've prepared on the data bus and on the other control lines.
Note that the EN line must be raised/lowered before/after each instruction sent to the
LCD regardless of whether that instruction is read or write, text or instruction. In short,
you must always manipulate EN when communicating with the LCD. EN is the LCD's
way of knowing that you are talking to it. If you don't raise/lower EN, the LCD doesn't
know you're talking to it on the other lines.
Thus, before we interact in any way with the LCD we will always bring the EN line low
and once we've finished setting up our instruction with the other control lines and data
bus lines, we'll always bring this line high:
The line must be left high for the amount of time required by the LCD as specified in its
datasheet. This is normally on the order of about 250 nanoseconds, but check the
datasheet. In the case of a typical 8051 running at 12 MHz, an instruction requires 1.08
microseconds to execute so the EN line can be brought low the very next instruction.
However, faster microcontrollers (such as the DS89C420 which executes an instruction
in 90 nanoseconds given an 11.0592 MHz crystal) will require a number of NOPs to
create a delay while EN is held high. The number of NOPs that must be inserted depends
on the microcontroller you are using and the crystal you have selected. .
While it is possible to write code that waits for a specific amount of time to allow the
LCD to execute instructions, this method of "waiting" is not very flexible. If the crystal
frequency is changed, the software will need to be modified. Additionally, if the LCD
itself is changed for another LCD which, although 44780 compatible, requires more time
to perform its operations, the program will not work until it is properly modified.
A more robust method of programming is to use the "Get LCD Status" command to
determine whether the LCD is still busy executing the last instruction received.
The "Get LCD Status" command will return to us two tidbits of information; the
information that is useful to us right now is found in DB7. In summary, when we issue
the "Get LCD Status" command the LCD will immediately raise DB7 if it's still busy
executing a command or lower DB7 to indicate that the LCD is no longer occupied. Thus
our program can query the LCD until DB7 goes low, indicating the LCD is no longer
busy. At that point we are free to continue and send the next command.
Since we will use this code every time we send an instruction to the LCD, it is useful to
make it a subroutine. Let's write the code:
Thus, our standard practice will be to send an instruction to the LCD and then call our
WAIT_LCD routine to wait until the instruction is completely executed by the LCD. This
will assure that our program gives the LCD the time it needs to execute instructions and
also makes our program compatible with any LCD, regardless of how fast or slow it is.
Before you may really use the LCD, you must initialize and configure it. This is
accomplished by sending a number of initialization instructions to the LCD.
The first instruction we send must tell the LCD whether we'll be communicating with it
with an 8-bit or 4-bit data bus. We also select a 5x8 dot character font. These two options
are selected by sending the command 38h to the LCD as a command. As you will recall
from the last section, we mentioned that the RS line must be low if we are sending a
command to the LCD. Thus, to send this 38h command to the LCD we must execute the
following 8051 instructions:
We've now sent the first byte of the initialization sequence. The second byte of the
initialization sequence is the instruction 0Eh. Thus we must repeat the initialization code
from above, but now with the instruction.
The last byte we need to send is used to configure additional operational parameters of
the LCD. We must send the value 06h.Having executed this code the LCD will be fully
initialized and ready for us to send display data to it.
When the LCD is first initialized, the screen should automatically be cleared by the
44780 controller. However, it's always a good idea to do things yourself so that you can
be completely sure that the display is the way you want it. Thus, it's not a bad idea to
clear the screen as the very first operation after the LCD has been initialized.
An LCD command exists to accomplish this function. Not surprisingly, it is the command
01h. Since clearing the screen is a function we very likely will wish to call more than
once, it's a good idea to make it a subroutine:
The WRITE_TEXT routine that we just wrote will send the character in the accumulator
to the LCD which will, in turn, display it. Thus to display text on the LCD all we need to
do is load the accumulator with the byte to display and make a call to this routine.
The above "Hello World" program is simplistic in the sense that it prints its text in the
upper left-hand corner of the screen. However, what if we wanted to display the word
"Hello" in the upper left-hand corner but wanted to display the word "World" on the
second line at the tenth character? This sounds simple--and actually, it is simple.
However, it requires a little more understanding of the design of the LCD.
The 44780 contains a certain amount of memory which is assigned to the display. All the
text we write to the 44780 is stored in this memory, and the 44780 subsequently reads
this memory to display the text on the LCD itself. This memory can be represented with
the following "memory map":
Thus, the first character in the upper left-hand corner is at address 00h. The following
character position (character #2 on the first line) is address 01h, etc. This continues until
we reach the 16th character of the first line which is at address 0Fh.
However, the first character of line 2, as shown in the memory map, is at address 40h.
This means if we write a character to the last position of the first line and then write a
second character, the second character will not appear on the second line. That is because
the second character will effectively be written to address 10h--but the second line begins
at address 40h.
The LCD display Module is built in a LSI controller, the controller has two 8-bit
registers, an instruction register (IR) and a data register (DR).
The IR stores instruction codes, such as display clear and cursor shift, and address
information for display data RAM (DDRAM) and character generator (CGRAM). The IR
can only be written from the MPU. The DR temporarily stores data to be written or read
from DDRAM or CGRAM. When address information is written into the IR, then data is
stored into the DR from DDRAM or CGRAM. By the register selector (RS) signal, these
two registers can be selected.
Busy Flag (BF) : When the busy flag is 1, the controller LSI is in the internal operation
mode and the next instruction will not be accepted. When RS=0 and R/W=1, the busy
flag is output to DB7. The next instruction must be written after ensuring that the busy
flag is 0.
The address counter (AC) assigns addresses to both DDRAM and CGRAM
This DDRAM is used to store the display data represented in 8-bit character codes.
4.3 Conclusions
The interfacing of the Microcontroller and the functions of the LCD have been well
covered in this chapter along with all the block diagrams, pin details and definitions and
tables. The port connections for all the components have also been mentioned and
explained. In the next chapter we will continue to explain the Relay and Switches how
they function in turning on the circuit or some other components of the circuits.
Chapter 5
RELAYS AND SWITCH
In this article, we will look at how relays work and a few of their applications.
Relays are amazingly simple devices. There are four parts in every relay:
i. Electromagnet
iii. Spring
In this fig 5.1, you can see that a relay consists of two separate and completely
independent circuits. The first is at the bottom and drives the electromagnet. In this
circuit, a switch is controlling power to the electromagnet. When the switch is on, the
electromagnet is on, and it attracts the armature (blue). The armature is acting as a switch
in the second circuit. When the electromagnet is energized, the armature completes the
second circuit and the light is on. When the electromagnet is not energized, the spring
pulls the armature away and the circuit is not complete. In that case, the light is dark.
When you purchase relays, you generally have control over several variables:
ii. The maximum voltage and current that can run through the armature and the
armature contacts
iv. The number of contacts for the armature (generally one or two -- the relay shown
here has two, one of which is unused)
v. Whether the contact (if only one contact is provided) is normally open (NO)
or normally closed (NC)
In general, the point of a relay is to use a small amount of power in the electromagnet --
coming, say, from a small dashboard switch or a low-power electronic circuit -- to move
an armature that is able to switch a much larger amount of power. For example, you
might want the electromagnet to energize using 5 volts and 50 milliamps (250 milli
watts), while the armature can support 120V AC at 2 amps (240 watts).
Relays are quite common in home appliances where there is an electronic control turning
on something like a motor or a light. They are also common in cars, where the 12V
supply voltage means that just about everything needs a large amount of current. In later
model cars, manufacturers have started combining relay panels into the fuse box to make
maintenance easier. For example, the six gray boxes in this photo of a Ford Windstar fuse
box are all relays: In places where a large amount of power needs to be switched, relays
are often cascaded. In this case, a small relay switches the power needed to drive a much
larger relay, and that second relay switches the power to drive the load. Relays can also
be used to implement Boolean logic. See How Boolean Logic Works for more
information.
5.2 Switch
Each set of contacts can be in one of two states: either 'closed' meaning the contacts are
touching and electricity can flow between them, or 'open', meaning the contacts are
separated and non-conducting. In this at the time of switch pressed (supply applied) the
voltage across resister 8.2Kohms is VCC as capacitor is short circuit. And this switch is
connected to LEDs by using microcontroller program. When we release the switch the
capacitor get charges to VCC.
5.3 Conclusions
The functions and working of the Relay and switches have been well brief out in this
chapter along with the constructions, applications and other information. It can now be
easily known that these relay and switches are both for turning on or switching devices
just that the relay is operated electrically and the switch manually which are well
mentioned. The next chapter deals with the Jammer which is turned on by the Relay and
which is one main part of the project.
Chapter 6
Jamming devices overpower the cell phone by transmitting a signal on the same
frequency and at a high enough power that the two signals collide and cancel each other
out. Cell phones are designed to add power if they experience low-level interference, so
the Jammer must recognize and match the power increase from the phone.
Cell phones are full-duplex devices, which means they use two separate frequencies, one
for talking and one for listening simultaneously. Some jammers block only one of the
frequencies used by cell phones, which has the effect of blocking both. The phone is
tricked into thinking there is no service because it can receive only one of the
frequencies.
Less complex devices block only one group of frequencies, while sophisticated jammers
can block several types of networks at once to head off dual-mode or tri-mode phones
that automatically switch among different network types to find an open signal. Some of
the high-end devices block all frequencies at once, and others can be tuned to specific
frequencies.
To jam a cell phone, all you need is a device that broadcasts on the correct frequencies.
Although different cellular systems process signals differently, all cell-phone networks
use radio signals that can be interrupted. GSM, used in digital cellular and PCS-based
systems, operates in the 900-MHz and 1800-MHz bands in Europe and Asia and in the
1900-MHz (sometimes referred to as 1.9-GHz) band in the United States. Jammers can
broadcast on any frequency and are effective against AMPS, CDMA, TDMA, GSM,
PCS, DCS, iDEN and Nextel systems. Old-fashioned analog cell phones and today's
digital devices are equally susceptible to jamming.
The actual range of the Jammer depends on its power and the local environment, which
may include hills or walls of a building that block the jamming signal. Low-powered
jammers block calls in a range of about 30 feet (9 m). Higher-powered units create a cell-
free zone as large as a football field. Units used by law enforcement can shut down
service up to 1 mile (1.6 km) from the device.
Cell phones are everywhere these days. According to the Cellular Telecommunications
and Internet Association, almost 195 million people in the United States had cell-phone
service in October 2005. And cell phones are even more ubiquitous in Europe.
It's great to be able to call anyone at anytime. Unfortunately, restaurants, movie theaters,
concerts, shopping malls and churches all suffer from the spread of cell phones because
not all cell-phone users know when to stop talking. Who hasn't seethed through one side
of a conversation about an incredibly personal situation as the talker shares intimate
details with his friend as well as everyone else in the area?
While most of us just grumble and move on, some people are actually going to extremes
to retaliate. Cell phones are basically handheld two-way radios. And like any radio, the
signal can be disrupted, or jammed.
In this article, you'll see how cell-phone jammers work and learn about the legality of
their use.
attack. The jammer denies service of the radio spectrum to the cell-phone users within
range of the jamming device.
Cell phones are full-duplex devices, which means they use two separate frequencies, one
for talking and one for listening simultaneously. Some jammers block only one of the
frequencies used by cell phones, which has the effect of blocking both. The phone is
tricked into thinking there is no service because it can receive only one of the
frequencies.
Less complex devices block only one group of frequencies, while sophisticated jammers
can block several types of networks at once to head off dual-mode or tri-mode phones
that automatically switch among different network types to find an open signal. Some of
the high-end devices block all frequencies at once, and others can be tuned to specific
frequencies.
To jam a cell phone, all you need is a device that broadcasts on the correct frequencies.
Although different cellular systems process signals differently, all cell-phone networks
use radio signals that can be interrupted. GSM, used in digital cellular and PCS-based
systems, operates in the 900-MHz and 1800-MHz bands in Europe and Asia and in the
1900-MHz (sometimes referred to as 1.9-GHz) band in the United States. Jammers can
broadcast on any frequency and are effective against AMPS, CDMA, TDMA, GSM,
PCS, DCS, iDEN and Nextel systems. Old-fashioned analog cell phones and today's
digital devices are equally susceptible to jamming.
The actual range of the jammer depends on its power and the local environment, which
may include hills or walls of a building that block the jamming signal. Low-powered
jammers block calls in a range of about 30 feet (9 m). Higher-powered units create a cell-
free zone as large as a football field. Units used by law enforcement can shut down
service up to 1 mile (1.6 km) from the device.
6.5.1 Antenna
Every jamming device has an antenna to send the signal. Some are contained within an
electrical cabinet. On stronger devices, antennas are external to provide longer range and
may be tuned for individual frequencies.
6.5.2 Circuitry
The main electronic components of a jammer are:
i. Voltage-controlled oscillator - Generates the radio signal that will interfere with
the cell phone signal
ii. Tuning circuit - Controls the frequency at which the jammer broadcasts its signal
by sending a particular voltage to the oscillator
iii. Noise generator - Produces random electronic output in a specified frequency
range to jam the cell-phone network signal (part of the tuning circuit)
iv. RF amplification (gain stage) - Boosts the power of the radio frequency output to
high enough levels to jam a signal
Check your phone - If the battery on your phone is okay, and you'd like to continue your
conversation, try walking away from the area. You may be able to get out of the jammer's
range with just a few steps.
During a hostage situation, police can control when and where a captor can make a phone
call. Police can block phone calls during a drug raid so suspects can't communicate
outside the area. Cell-phone jammers can be used in areas where radio transmissions are
dangerous, (areas with a potentially explosive atmosphere), such as chemical storage
facilities or grain elevators. The TRJ-89 jammer from Antenna System & Supplies Inc.
carries its own electrical generator and can block cellular communications in a 5-mile (8-
km) radius.
6.8 Conclusions
As seen and read in this chapter it can be known that the jammer is one crucial part of the
circuit. The equipment used, jamming basics, structure, application and designs are well
specified and studied. Though the range of the jammer used in this project is small as it is
just a pocket jammer as mentioned, it must be known that there are large scale jammer
which can jam long range of kilometers, take for example TRJ89 can jam 8 kms. In the
next chapter we will be discussing how the program for the project is written in Keil and
how it is burned into the microcontroller using the Flash Magic software.
Chapter 7
The Keil Software 8051 development tools listed below are the programs you use to
compile your C code, assemble your assembler source files, link your program together,
create HEX files, and debug your target program. Vision2 for Windows Integrated
Development Environment: combines Project Management, Source Code Editing, and
Program Debugging in one powerful environment.
i. C51 ANSI Optimizing C Cross Compiler: creates relocatable object modules from
your C source code,
ii. A51 Macro Assembler: creates relocatable object modules from your
8051 assembler source code,
iii. BL51 Linker/Locator: combines relocatable object modules created by the
compiler and assembler into the final absolute object module,
iv. LIB51 Library Manager: combines object modules into a library, which may be
used by the linker,
v. OH51 Object-HEX Converter: creates Intel HEX files from absolute object
modules.
7.2 Programs
void LCDInitialize(void)
{
LCDEnablePin = OUTPUTPIN;
LCDRegisterSelectPin = OUTPUTPIN;
LCDDataPort &= 0x0f;
LCDReset();
LCDWriteCommand(0x28);
LCDWriteCommand(0x0C);
LCDWriteCommand(0x06);
LCDWriteCommand(0x01);
}
static void LCDReset(void)
{
LCDWriteCommand(0x33);
LCDWriteCommand(0x33);
LCDWriteCommand(0x32);
}
void LCDDisplayInitializing(void)
{
LCDubyte i;
LCDWriteString("INITIALIZING....");
LCDRow2();
Delay(100);
}
}
static void LCDWriteByte(LCDubyte LCDData)
{
LCDDataPort = (LCDDataPort & 0x0F)|(LCDData & 0xF0);
LCDEnable();
LCDDataPort = (LCDDataPort & 0x0F)|(LCDData << 4);
LCDEnable();
Delay(2);
}
void LCDDisplayByte(LCDubyte LCDAdress, LCDubyte Value)
{
LCDWriteCommand(LCDAdress);
if(( Value / 100 ) == 0)
LCDWriteData(0x20); //put space
else
LCDWriteData((Value / 100) | 0x30);
#define LCD_H
//INCLUDES
#include <at89x51.h>
#include "delay.h"
//DEFINE CONSTANT
#define LOW 0
#define HIGH1
#define OUTPUTPIN 0
//DEFINES PORT/PINS
#define LCDEnablePin P2_3
#define LCDRegisterSelectPin P2_2
#define LCDDataPort P2
//DEFINE MACROS
#define LCDClear() LCDWriteCommand(0x01) /* Clear display LCD */
#define LCDRow1() LCDWriteCommand(0x80) /* Begin at Line 1 */
#define LCDRow2() LCDWriteCommand(0xC0) /* Begin at Line 2 */
//DEFINE PROTOTYPES
static void LCDEnable(void);
void LCDWriteCommand(LCDubyte command);
void LCDWriteData(LCDubyte ascii);
void LCDWriteString(LCDubyte *lcd_string);
static void LCDWriteByte(LCDubyte LCDData);
void LCDInitialize(void);
void LCDDisplayInitializing(void);
void LCDDisplayByte(LCDubyte LCDAdress, LCDubyte Value);
static void LCDReset(void);
#endif
7.2.2 Main code
C-program :
//INCLUDE MAIN HEADER FILE
#include"main.h"
//GLOABL VARIABLES
unsigned char PhoneNumber1[5] = {'9','9','8','6','2'};
unsigned char PhoneNumber2[7] = {'5','7','3','5','3','"',0x0D};
bit GSMCommunication = 0;
MainSystemInitialize();
MainDisplayTitle();
for(;;)
{
if(PHONE == DETECTED)
{
Delay(200);
if(PHONE == DETECTED){
Delay(100);
if(PHONE == DETECTED)
{
LCDClear();
LCDWriteString("PHONE DETECTED!");
Delay(1000);
LCDClear();
LCDWriteString("ACTIVATING ");
LCDWriteCommand(0xc8);
LCDWriteString("JAMMER");
RelayOn();
Delay(1000);
SendEmergencySMS();
LCDClear();
LCDWriteString("JAMMER ACTIVATED");
for(;;);
Delay(10000);
RelayOff();
LCDWriteString("JAMMER DEACTIVATED");
MainDisplayTitle();
Delay(500);
}
}
}
}
if(ReceiveResponse())
{
GSMCommunication = OK;
LCDRow2();
LCDWriteString("SUCCESSFULL.....");
bit ReceiveResponse()
{
bit Flag = 0;
unsigned char Count;
do
{
Count = ReceiveByteSerially();
}
while(Count != 'K');
Delay(500); //
return Flag = 1;
}
bit SendSMSCode(void)
{
bit Flag = 0;
unsigned char Count;
Do
{
Count = ReceiveByteSerially();
}
while(Count != 'K');
Delay(500); //
return Flag = 1;
}
bit SendSMSNumber(void)
{
bit Flag = 0;
unsigned char Count;
SendByteSerially(PhoneNumber1[Count]);
for(Count = 0; Count < 7; Count++)
SendByteSerially(PhoneNumber2[Count]);
do
{
Count = ReceiveByteSerially();
}
while(Count != 0x3e);
return Flag = 1;
}
void ReceiveACknowledgment(void)
{
unsigned char TemporaryVariable;
do
{
TemporaryVariable = ReceiveByteSerially();
}
while(TemporaryVariable != 'K' && TemporaryVariable != 'E');
if(TemporaryVariable == 'E')
if(! ReceiveResponse())
MainErrorInModem();
if(SendSMSCode())
{
if(SendSMSNumber())
{
SendStatusMessage();
ReceiveACknowledgment();
}
else
MainErrorInModem();
if(SendSMSNumber2())
{
SendStatusMessage();
SendByteSerially(0x1A);
ReceiveACknowledgment();
}
else
MainErrorInModem();
}
else
MainErrorInModem();
}
static void SendStatusMessage()
{
SendStringSerially("MOBILE PHONE DETECTED, JAMMER WILL BE IN
OPERATION ");
SendStringSerially(" Automated SMS By: MOBILE DETECTOR");
SendByteSerially(0x1A);
}
bit SendSMSNumber2(void)
{
bit Flag = 0;
unsigned char Count;
return Flag = 1;
}
//DEFINE PORTS/PINS
//DEFINE CONSTANT
#define OK 1
#define FAILED 0
#define INPUT_PORT 0xff
#define OUTPUT_PORT 0x00
#define OUTPUT_PIN 0
#define PRESSED 0
#define ON 0
#define OFF 1
#define ENABLE 1
#define DISABLE 0
#define DETECTED 1
//DEFINE MACROS
#define RelayOn() RELAY = 0
#define RelayOff() RELAY = 1
//FUNCTION PROTOTYPES
void main(void);
static void MainDisplayTitle(void);
static void Blink(unsigned char Duration);
bit SendSMSCode(void);
bit SendSMSNumber(void);
bit SendSMSNumber2(void);
bit ReceiveResponse(void);
static void Settings(void);
static void DecodeMessage(void);
void ReceiveACknowledgment(void);
bit SendMessageSettingsCode(void);
static void MainCheckEEPROM(void);
static void MainSendLatitude(void);
static void MainErrorInModem(void);
static void MainSendLongitude(void);
static void MainCheckGSMModem(void);
#ifndef SERIALCOMMUNICATION_H
#define SERILACOMMUNCATION_H
/* ------------------------------------
89C51 serial communication
------------------------------------
Demonstration of serial communication - ECHO program
-----------------------------------------------------
Designed for 89c51 running at 11.0592Mhz
communication between PC and microcontroller.
RS232 serial specification
9600 baud rate
8-bit
1- start bit
1-stop bit
parity none
Hardware Connection
-------------------
compile with Keil Compiler.
operation: receives data from PC (or any serial device) and transmitt
same data back to PC- A ECHO program
//INCLUDES
#include<at89x51.h> //Includes definition of 89c51
//DEFINE CONSTANT
#define Baud_rate 0xFD // BAUD RATE 9600
//DEFINE PROTOTYPES
void SerialCommunicationInitialize(void);
void SendByteSerially(unsigned char ascii);
unsigned char ReceiveByteSerially(void);
void SendStringSerially(unsigned char *StringData);
#endif
Fig. 7.1
Fig. 7.2
Fig. 7.3
3. Select File, Save from the program menu
Fig. 7.4
The first time you save the program a dialog box will popup and allow you to name your
file and file type.
Save program with filename: xxxxx.asm
The File type is mentioned at last (.asm) means assembly language
Fig. 7.5
Fig. 7.6
6. Select your assembly file.
Click on the Add button then close the Add dialog box.
Fig. 7.7
Flash Magic is a PC tool for programming flash based microcontrollers from NXP using
a serial protocol while in the target hardware.
Screenshots
Main window
Fig. 7.8
Fig. 7.9
Fig 7.10
Display flash memory
Fig. 7.11
Device signature
Fig. 7.12
Fig. 7.13
Blank check
Fig. 7.14
Advanced options hardware
Fig. 7.15
Executing a script
Fig. 7.16
7.5 Features
and Raisonance 8051 compilers that show how to build support for this feature
into applications.
xxi. Able to play any Wave file when finished programming.
xxii. Built in automated version checker - helps ensure you always have the latest
version.
xxiii. Powerful, flexible Just In Time Code feature. Write your own JIT Modules to
generate last minute code for programming. Uses include:
xxiv. Serial number generation
xxv. Copy protection and copy authorization
xxvi. Storing program date and time - manufacture date
xxvii. Storing program operator and location
xxviii. Lookup table generation
xxix. Language tables or language selection
xxx. Centralized record keeping
xxxi. Obtaining latest firmware from the Corporate Web site or project intranet
xxxii. Sponsored by NXP Semiconductors
xxxiii. Features automatically updating Internet links including links to related technical
documents, software updates, utilities and code examples, using EmbeddedHints
technology
xxxiv. Displays information about the selected Hex File, including the creation and
modification dates, flash memory used, percentage of the current device used
xxxv. Flash Magic works on any versions of Windows, except Windows 95. 10Mb of
disk space is required
7.6 Applications:
1. In the Military Camps and Defense Establishments
2. Cinema Theatres and Libraries for noise free & Peaceful Environment
3. All other places where the external communication forbidden.
4. They are also widely used in hospitals.
Chapter 8
RESULTS
INITIALISING.
CONNECTING..GSM
MOBILE PHONE
DETECTOR
2. When the Sniffer detects mobile signal, the LCD than displays the message as :
PHONE DETECTED
ACTIVATING JAMMER
SENDING SMS.
SENT>>>
JAMMER ACTIVATED
3. During this process the Relay turns on the Jammer, while the GSM is sending the
message to the master cell phone. As the message is sent, the jammer is activated
and blocks all the signal within its range. Thus completing the whole process.
BIBLIOGRAPHY
i. M.A Mazidi and J.G Mazidi, 8051 Microcontroller and Embedded Systems, 2nd
Edition ISBN 0-13-119402-X]
ii. John Axelson, The Microcontroller Idea Book, October 1994
[ISBN 09650819-0-7]
iii. Roy Choudary, Linear Integrated Circuits, published by New Age International
in the year 2003 [ISBN 8-12-241470-2]
iv. http://electronics.howstuffworks.com/cell-phone-jammer.htm
How Cell Phone Jammers Work
v. http://en.wikipedia.org/wiki/Mobile_phone_jammer
Mobile phone jammer
vi. http://wordpress.com
Mobile Sniffer
vii. http://www.extremecircuits.net
Mobile bug detector
viii. http://www.nowsms.com
What is a GSM Modem?
ix. http://www.linksprite.com
Four-band GSM/GPRS Module SIM300
x. http://www.digchip.com
Details, datasheet, quote on part number: P89C51X2BN
xi. http://www.8051projects.info
AT89S52 microcontroller Pin Diagram and Pin Functions
xii. http://www.8052.com
Introduction to LCD Programming
xiii. http://electronics.howstuffworks.com
How Relays Work
xiv. http://www.ustudy.in
Switches
xv. http://www.scribd.com
Overview-Of-Keil-Cross-C-Compiler
APPENDIX
A. DATA SHEET OF DIODE
HD44780U (LCD-II)
(Dot Matrix Liquid Crystal Display Controller/Driver)
Description
The HD44780U dot-matrix liquid crystal display controller and driver LSI displays alphanumerics,
Japanese kana characters, and symbols. It can be configured to drive a dot-matrix liquid crystal display
under the control of a 4- or 8-bit microprocessor. Since all the functions such as display RAM, character
generator, and liquid crystal driver, required for driving a dot-matrix liquid crystal display are internally
provided on one chip, a minimal system can be interfaced with this controller/driver.
A single HD44780U can display up to one 8-character line or two 8-character lines.
The HD44780U has pin function compatibility with the HD44780S which allows the user to easily replace
an LCD-II with an HD44780U. The HD44780U character generator ROM is extended to generate 208 5 8
dot character fonts and 32 5 10 dot character fonts for a total of 240 different character fonts.
The low power supply (2.7V to 5.5V) of the HD44780U is suitable for any portable battery-driven product
requiring low power dissipation.
Features
HD44780U
Display clear, cursor home, display on/off, cursor on/off, display character blink, cursor shift,
display shift
Pin function compatibility with HD44780S
Automatic reset circuit that initializes the controller/driver after power on
Internal oscillator with external resistors
Low power consumption
Ordering Information
Type No. Package CGROM
HD44780UA00FS FP-80B Japanese standard font
HCD44780UA00 Chip
HD44780UA00TF TFP-80F
HD44780UA02FS FP-80B European standard font
HCD44780UA02 Chip
HD44780UA02TF TFP-80F
HD44780UBxxFS FP-80B Custom font
HCD44780UBxx Chip
HD44780UBxxTF TFP-80F
Note: xx: ROM code No.
OSC1 OSC2
CL1
CL2
M
Reset
circuit
Timing
ACL CPG generator
Instruction 7
register (IR) D
8
Display COM1 to
MPU Instruction
data RAM 16-bit Common COM16
RS inter- decoder
(DDRAM) shift signal
R/W face 80 8 bits register driver
E
Address 7 SEG1 to
counter 40-bit 40-bit Segment SEG40
8
7 shift latch signal
DB4 to register circuit driver
DB7 7
Input/ 8 Data 8
DB0 to output register
40
DB3 buffer (DR)
8 8 LCD drive
voltage
Busy selector
flag
Character Character
Cursor
generator generator
and
RAM ROM
blink
(CGRAM) (CGROM)
controller
64 bytes 9,920 bits
GND
5 5
Parallel/serial converter
and
attribute circuit
V
CC
V1 V2 V3 V4 V5
BC546/547/548/549/550
1 TO-92
1. Collector 2. Base 3. Emitter
NPN Epitaxial Silicon Transistor
Absolute Maximum Ratings Ta=25 C unless otherwise noted
Symbol Parameter Value Units
V
CBO Collector-Base Voltage : BC546 80 V
: BC547/550 50 V
: BC548/549 30 V
V
CEO Collector-Emitter Voltage : BC546 65 V
: BC547/550 45 V
: BC548/549 30 V
V
EBO Emitter-Base Voltage : BC546/547 6 V
: BC548/549/550 5 V
IC Collector Current (DC) 100 mA
PC Collector Power Dissipation 500 mW
TJ Junction Temperature 150 C
T
STG Storage Temperature -65 ~ 150 C