12-09-2014, 11:57 PM
What is GPS?
Just before gonna to interfacing GPS receiver with 8051 program it is better to know what is GPS?
GPS, stands for Global Positioning System (GPS), is a satellite established navigation scheme built with a network of 24 satellites + 3 backup satellite positioned into orbit by the U.S. Department of Defense.
At the beginning stage GPS were aimed for military operations only. Though in the 1980s, the U.S. government resolved to permit the GPS program to be used by common people like us.
Climate situations do not disturb the capability for GPS signals. GPS system works 24/7 everywhere in the Earth. There are no subscription fees or setup charges to use GPS.
Circuit Diagram for interfacing GSM Module to 89C51 Microcontroller
Figure below shows the schematics of how to interface GPS with microcontroller 8051 actually AT89C52.
Interfacing GPS Receiver 8051 Microcontroller Interfacing GPS Receiver with 8051 Microcontroller AT89C52
Components required for interfacing GSM receiver to 89C51
AT89C52
Crystal (11.059MHz)
Capacitor (33PF, 10µF)
Resistor (10KΩ, 1KΩ)
POT (10KΩ)
LCD (16×2)
GPS receiver
How To Interface GPS with 8051 Microcontroller (At89c52)
The core component is 89C51 microcontroller which drives the LCD module to display data obtained from GPS receiver.
GPS receiver frequently send information contain a number of data such as Global positioning system fixed data (GGA), Geographic position-latitude/longitude(GLL), GNSS DOP and active satellites(GSA), GNSS satellites in view(GSV), Recommended minimum specific GNSS data(RMC), Course over ground and ground speed(VTG), Date and Time (ZDA), Datum reference (DTM).
The GPS data start with “$GPXXX” where XXX is three letter identifier (GGA, GSA etc.).
I select GGA to extract the latitude and longitude, which can receive as $GPGGA, 153852.000, 1059.8656, N, 07558.2220, E, 1, 6, 1.19, 76.0, M,-92.4, M,,*45
Here first we have to detect ‘$’ sign, indicates starting od GPS data, followed by ‘GP’ which is common for all data.
Next aim is to catch up the 3 letter identifier (GGA). Once you have successfully got the identifier ‘GGA’ then display the received data on LCD.
To do this I made an infinite loop and that compare all the received data with ‘$’ if this condition satisfy then check next condition.
Next condition is to check G, P, G, G, A if it also satisfies then skips one data to remove a ‘,’ (comma) since the format is $$GPGGA, 153852.000 …………
Then wait for receiving next comma for that another infinite loop is used which will break only when comma is received.
If comma found then the next data is latitude and longitude so we should store these data, I used two buffers variables of size12, lat[12] and lng[12]
It stores the longitude and latitude, then display ‘lat’ variable as “LAT:” and ‘lng’ variable as “LNG:” on the LCD screen.
You may possibly include the remaining GPS data by simply modifying the program.
NB: - The board rate I selected to receive the GPS data I used is 4800.
Interfacing GPS Receiver with 8051 Program
Interfacing GPS receiver with 8051 code is written in KEIL compiler. You can download it by providing your name and email ID. We will send the complete program source codes right in to your inbo