將GPS與8051單片機相連接
GPS模塊是一個(gè)使用全球定位系統來(lái)確定車(chē)輛或人的位置的設備。GPS接收機用于在地球上的任何時(shí)候和任何地方為用戶(hù)提供可靠的導航、定位和計時(shí)服務(wù)。 這個(gè)全球定位系統使用24至32顆衛星向接收器提供數據。全球定位系統對全球導航非常重要,它對土地測量、道路標記、地圖制作、跟蹤和監視商業(yè)和科學(xué)用途非常有用。但是,在了解這個(gè)電路之前,先了解一下如何將LCD與8051單片機連接起來(lái)。
電路原理:
GPS模塊通過(guò)讀取衛星發(fā)射的信號來(lái)計算位置。每顆衛星不斷地傳送信息,其中包含發(fā)送的時(shí)間。GPS接收器根據每個(gè)信息的到達時(shí)間測量與每個(gè)衛星的距離。這些信息被用來(lái)計算GPS接收器的位置。收到的原始數據被轉換為緯度、經(jīng)度、緯度、速度和時(shí)間,供用戶(hù)使用。
電路圖:
將GPS連接到8051微控制器的電路圖
電路元件:
AT89C51控制器
編程板
編程電纜
12V直流電池或適配器
max232集成電路
16*2 LCD
GPS模塊
電位器10k
12兆赫晶體
電解電容 - 1uF (4), 10u
陶瓷電容 - 33pF (2)
電阻器 - 10k
電路設計:
在上述電路中,LCD(液晶顯示器)數據引腳連接到控制器的PORT2,控制引腳RS、RW和EN分別連接到P1.0、P1.1和P1.2。位置的緯度和經(jīng)度值顯示在LCD上。這里的RV1用于調整LCD的對比度。GPS模塊的接收引腳連接到max232 IC的第13個(gè)引腳,GND引腳連接到地面??刂破鞯腞XD引腳被連接到max232的第12個(gè)引腳。這里max232集成電路用于電平轉換。
GPS接收機按照NMEA標準使用RS232協(xié)議連續傳輸數據。在這種NMEA格式中,位置的LATITUDE和LONGITUDE值在GPRMC句子中可用。在這個(gè)項目中,LATITUDE和LONGITUDE值從NMEA格式中提取并顯示在LCD上。
我們必須使用UART協(xié)議串行接收GPS模塊的數據,然后從接收到的信息中提取緯度和經(jīng)度值并顯示在LCD上。
從NMEA格式中提取緯度和經(jīng)度值:
從GPS模塊收到的前6個(gè)字符將與字符串$GPRMC進(jìn)行比較,如果匹配,將進(jìn)行進(jìn)一步的處理,否則將重復同樣的過(guò)程。如果字符串是匹配的,那么等待你將得到兩個(gè)逗號,下一個(gè)字符表示GPS是否被激活。如果這個(gè)字符是A,那么GPS被激活,否則GPS沒(méi)有被激活?,F在再次等待,直到你得到逗號(,)。接下來(lái)的9個(gè)字符表示緯度(LATITUDE)。等到你再得到兩個(gè)逗號(,),接下來(lái)的10個(gè)字符就表示長(cháng)緯度。
如果你想在沒(méi)有任何編碼的情況下檢查位置的經(jīng)緯度值,那么請使用Trimble studio軟件。當你連接GPS模塊時(shí),這個(gè)軟件直接提供經(jīng)度、緯度、高度、速度、時(shí)間和日期。甚至它還提供你在谷歌地圖上的位置。
下面的函數用于從NMEA格式中提取LATITUDE和LONGITUDE值。
void gps ()
{
unsigned int LAT[9], LON[10];
unsigned char Temp, i;
if (rx_data() == ‘$’)
{
if( rx_data() == ‘G’)
{
if (rx_data() == ‘P’)
{
if (rx_data() == ‘R’)
{
if (rx_data() == ‘M’)
{
if (rx_data() == ‘C’)
{
while (rx_data() != ‘,’);
while (rx_data() != ‘,’);
/*checking for “A” condition*/
Temp = rx_data();
if (Temp == ‘A’||Temp == ‘V’)
{
while (rx_data() != ‘,’);
/*latitude values*/
LCDCmd (0x80);
for (i=0; i<9; i++)
{
LAT[i] = rx_data();
LCDData (LAT[i]);
}
while (rx_data() != ‘,’);
while (rx_data() != ‘,’);
/*longitude values*/
LCDCmd (0xc0);
for (i=0; i<10; i++)
{
LON[i] = rx_data();
LCDData (LON[i]);
}
}
}}}}}}
}
如何操作?
現在按照電路圖的要求進(jìn)行連接
使用適配器給GPS模塊供電
將GPS模塊連接到電腦上,并打開(kāi)超級終端來(lái)檢查接收到的信息。
檢查GPS是否被激活。
現在將GPS連接到電路上,你可以觀(guān)察到LCD顯示經(jīng)度和緯度值。
關(guān)閉電路和GPS模塊的電源。
電路的應用:
該系統可用于海洋導航、汽車(chē)導航和車(chē)隊管理
用于跟蹤設備和測繪設備
用于個(gè)人定位
本項目用于嵌入式系統的應用,以找出位置。
評論