• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 將GPS與8051單片機(jī)相連接

    將GPS與8051單片機(jī)相連接

    作者: 時(shí)間:2023-03-27 來源:電子產(chǎn)品世界 收藏

    模塊是一個(gè)使用全球定位系統(tǒng)來確定車輛或人的位置的設(shè)備。接收機(jī)用于在地球上的任何時(shí)候和任何地方為用戶提供可靠的導(dǎo)航、定位和計(jì)時(shí)服務(wù)。 這個(gè)全球定位系統(tǒng)使用24至32顆衛(wèi)星向接收器提供數(shù)據(jù)。全球定位系統(tǒng)對全球?qū)Ш椒浅V匾鼘ν恋販y量、道路標(biāo)記、地圖制作、跟蹤和監(jiān)視商業(yè)和科學(xué)用途非常有用。但是,在了解這個(gè)電路之前,先了解一下如何將LCD與連接起來。

    本文引用地址:http://www.czjhyjcfj.com/article/202303/444911.htm

    電路原理:

    模塊通過讀取衛(wèi)星發(fā)射的信號來計(jì)算位置。每顆衛(wèi)星不斷地傳送信息,其中包含發(fā)送的時(shí)間。GPS接收器根據(jù)每個(gè)信息的到達(dá)時(shí)間測量與每個(gè)衛(wèi)星的距離。這些信息被用來計(jì)算GPS接收器的位置。收到的原始數(shù)據(jù)被轉(zhuǎn)換為緯度、經(jīng)度、緯度、速度和時(shí)間,供用戶使用。

    電路圖:

    Interfacing GPS to 8051 Microcontroller Circuit Diagram

    將GPS連接到微控制器的電路圖

    電路元件:

    AT89C51控制器

    編程板

    編程電纜

    12V直流電池或適配器

    max232集成電路

    16*2 LCD

    GPS模塊

    電位器10k

    12兆赫晶體

    電解電容 - 1uF (4), 10u

    陶瓷電容 - 33pF (2)

    電阻器 - 10k

    電路設(shè)計(jì):

    在上述電路中,LCD(液晶顯示器)數(shù)據(jù)引腳連接到控制器的PORT2,控制引腳RS、RW和EN分別連接到P1.0、P1.1和P1.2。位置的緯度和經(jīng)度值顯示在LCD上。這里的RV1用于調(diào)整LCD的對比度。GPS模塊的接收引腳連接到max232 IC的第13個(gè)引腳,GND引腳連接到地面。控制器的RXD引腳被連接到max232的第12個(gè)引腳。這里max232集成電路用于電平轉(zhuǎn)換。

    GPS接收機(jī)按照NMEA標(biāo)準(zhǔn)使用RS232協(xié)議連續(xù)傳輸數(shù)據(jù)。在這種NMEA格式中,位置的LATITUDE和LONGITUDE值在GPRMC句子中可用。在這個(gè)項(xiàng)目中,LATITUDE和LONGITUDE值從NMEA格式中提取并顯示在LCD上。

    我們必須使用UART協(xié)議串行接收GPS模塊的數(shù)據(jù),然后從接收到的信息中提取緯度和經(jīng)度值并顯示在LCD上。

    從NMEA格式中提取緯度和經(jīng)度值:

    從GPS模塊收到的前6個(gè)字符將與字符串$GPRMC進(jìn)行比較,如果匹配,將進(jìn)行進(jìn)一步的處理,否則將重復(fù)同樣的過程。如果字符串是匹配的,那么等待你將得到兩個(gè)逗號,下一個(gè)字符表示GPS是否被激活。如果這個(gè)字符是A,那么GPS被激活,否則GPS沒有被激活。現(xiàn)在再次等待,直到你得到逗號(,)。接下來的9個(gè)字符表示緯度(LATITUDE)。等到你再得到兩個(gè)逗號(,),接下來的10個(gè)字符就表示長緯度。

    如果你想在沒有任何編碼的情況下檢查位置的經(jīng)緯度值,那么請使用Trimble studio軟件。當(dāng)你連接GPS模塊時(shí),這個(gè)軟件直接提供經(jīng)度、緯度、高度、速度、時(shí)間和日期。甚至它還提供你在谷歌地圖上的位置。

    下面的函數(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]);


    }


    }


    }}}}}}


    }

    如何操作?

    首先將程序刻錄到

    現(xiàn)在按照電路圖的要求進(jìn)行連接

     使用適配器給GPS模塊供電

    將GPS模塊連接到電腦上,并打開超級終端來檢查接收到的信息。

    檢查GPS是否被激活。

    現(xiàn)在將GPS連接到電路上,你可以觀察到LCD顯示經(jīng)度和緯度值。

    關(guān)閉電路和GPS模塊的電源。

    電路的應(yīng)用:

    該系統(tǒng)可用于海洋導(dǎo)航、汽車導(dǎo)航和車隊(duì)管理

    用于跟蹤設(shè)備和測繪設(shè)備

    用于個(gè)人定位

    本項(xiàng)目用于嵌入式系統(tǒng)的應(yīng)用,以找出位置。



    關(guān)鍵詞: GPS 8051 單片機(jī)

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 桑日县| 上饶县| 宣武区| 玉树县| 曲松县| 林芝县| 荔浦县| 金寨县| 扶余县| 井陉县| 嘉兴市| 宁城县| 西贡区| 漳平市| 集安市| 石楼县| 三原县| 大安市| 东丽区| 泗阳县| 介休市| 鹤峰县| 西安市| 江山市| 博爱县| 墨江| 澜沧| 两当县| 海南省| 左权县| 宝坻区| 郁南县| 双辽市| 江油市| 西宁市| 宁晋县| 黄冈市| 綦江县| 石景山区| 依安县| 乌海市|