Problems with Microcontroller Projects? You may face many Problems, but do not worry we are ready to solve your Problems. All you need to do is just leave your Comments. We will assure you that you will find a solution to your project along with future tips. On Request we will Mail you the Codes for Registered Members of this site only, at free service...Follow Me.

Interfacing GPS with Atmega8


This article help you to interface GPS receiver with the AVR microcontroller. The GPS data's are displayed over an 16x2 LCD display. The program is written in Bascom Basic.

Program

'Project: M8 + GPS Module Decoder Test
'Results: M8 successful operation of a small board, display latitude and longitude and time
'Compiler version: bascom-avr 1.11.7.8
'avrprojects.info
'-------- Compiler directives statement ---------------------------
$ regfile = "M8def.dat"
$ crystal = 3686400
$ baud = 4800 'by the GPS module output baud rate
'------------- LCD connection, key definitions ------------------------------- ---------
Config Lcdpin = Pin, Db4 = Portd.4, Db5 = Portd.5, Db6 = Portd.6, Db7 = Portd.7, E = Portd.3, Rs = Portd.2
Config Lcd = 16 * 2
Config Pinc.3 = Input 'defined PortB.1 as input control terminal P
Portc.3 = 1'Portc .1 pull-up resistor and effective for the "1"
'------------ Variables and constants are defined in --------------------------------- ------
Dim Ews As String * 16, Nss As String * 11, Km As String * 5 'definition of longitude, latitude, speed,
Dim Hh As String * 2, Mm As String * 2, Ss As String * 2 'definition of hours, minutes, seconds
Dim Ns As String * 1, Ew As String * 1, Dw As String * 1 'definition of latitude north and south signs, things longitude signs, whether the location
Dim Przecinek As Byte, P As Byte
Dim Run As Byte, Gprmc As Byte, Cntr As Byte, Tudr As Byte, Ok As Bit
Run = 1: Reset Ok
P = 1
'-------------- Defined and open the serial port interrupt subroutine interrupt --------------------------- --------------
On Urxc Uart_rx
Enable Urxc
Enable Interrupts
Initial'--------------- program interface ------------------------------ --------------
Cls
Cursor Off
Locate 1, 4
Lcd "GPS Viewer"
Lowerline
Lcd "avrprojects.info"
Wait 1
'----------------- The main program display interface -----------------
Do
While Ok = 0: Wend
Reset Ok
If Pinc.3 = 0 Then 'Pinb.1 grounding also open up
'Switch to display the page
Do
Loop Until Pinc.3 = 1
Incr P
If P> 2 Then
P = 1
End If
End If
Select Case P
'- P1
Case 1
Cls
Cursor Off
Locate 1, 1
Lcd Ns: Lcd "": Lcd Nss' first line to display latitude
Locate 1, 16
Lcd Dw 'location mark
Ews = Ews + "" + Km
Locate 2, 1 'second line shows the longitude
Lcd Ew: Lcd Ews' and speed of
'- P2
Case 2
Cls
Cursor Off
Locate 1, 1
Lcd "UTC": Lcd Hh: Lcd ":": Lcd Mm: Lcd ":": Lcd Ss' first line of the display UTC time
'Locate 2, 1
'Lcd "20": Lcd Ye: Lcd "-": Lcd Mo: Lcd "-": Lcd Da' second line shows the date, but there are problems
'Lcd Da
End Select
Loop
End
'---------------------- Serial port interrupt reception subroutine ---------------------- ------
Uart_rx:
If Run <> 0 Then
Run = Udr Xor 36
If Run = 0 Then
Cntr = 0
Nss = ""
Ews = ""
Km = ""
Ns = ""
Ew = ""
Dw = ""
'2
Hh = ""
Mm = ""
Ss = ""
End If
Else
Select Case Cntr
Case 0 To 4
Tudr = Lookup (cntr, Rmc) 'to determine whether the received characters include "GPRMC"
Run = Udr Xor Tudr
Case 6 To 7
Hh = Hh + Chr (udr) 'UTC Time: "time"
Case 8 To 9
Mm = Mm + Chr (udr) 'UTC Time: "Separation"
Case 10 To 11
Ss = Ss + Chr (udr) 'UTC Time: "seconds"
Case 13
Dw = Dw + Chr (udr) 'whether the location mark
Case 15 To 22
Nss = Nss + Chr (udr) 'latitude
Case 24
Ns = Ns + Chr (udr) 'North latitude flag
Case 26 To 34
Ews = Ews + Chr (udr) 'longitude
Case 36
Ew = Ew + Chr (udr) 'stuff longitude flag
Case 38 To 42
Km = Km + Chr (udr) 'speed, unit section, a = 1852M / H, is not converted into kilometers
Case 50
Set Ok: Run = 1
Case Else
Tudr = Udr
End Select
Incr Cntr
End If
Return
'GPS statement, the head of ASCII code
Gga:
Data 71, 80, 71, 71, 65 'GPGGA
Vtg:
Data 71, 80, 86, 84, 71 'GPVTG
Rmc:
Data 71, 80, 82, 77, 67 'GPRMC 

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Recent Comments

Popular Projects

Give Support

Give Support
Encourage Me through Comments

Microcontroller Projects

Total Pageviews