久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11029|回復(fù): 14
打印 上一主題 下一主題
收起左側(cè)

基于reb3571 + STC12C5A60S2 + LCD12864 + 18650的便攜GPS定位系統(tǒng)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70481 發(fā)表于 2014-12-17 16:35 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前段時(shí)間受朋友影響,決定買個(gè)GPS模塊學(xué)習(xí)一下這東西怎么用,寫這帖子是為了和大家共同學(xué)習(xí)這模塊,為了控制這模塊搭建了一套簡(jiǎn)單的測(cè)試電路,希望能給也想了解這模塊的朋友來個(gè)參考,廢話不多說,有圖有真相;在使用12864的時(shí)候發(fā)現(xiàn)點(diǎn)問題,請(qǐng)教高人,12864檢測(cè)忙的時(shí)候就是不好使,總忙為啥呢?無奈換套路用延時(shí),我每次給12864送指令都需要延時(shí);還有個(gè)問題就是我在12864顯示的時(shí)候 最早用STC89C58正常,但是換STC12C5A60S2的時(shí)候,屏幕會(huì)閃的很厲害(相應(yīng)延時(shí)已由12T的調(diào)整為1T的),調(diào)整延時(shí)后還是閃,最后在main里添加延時(shí)后好多了,但是程序一變化相應(yīng)的延時(shí)也得變,有啥辦法能讓屏幕不閃呢,是因?yàn)?T的單片機(jī)太快了,12864跟不上節(jié)奏嗎? 請(qǐng)高人指點(diǎn) 謝謝
應(yīng)大家要求 做下說明:
本系統(tǒng)初衷是本人為了 了解GPS模塊而做的測(cè)試,GPS模塊用的是上文提到的REB3571,其實(shí)我覺得市面上賣的GPS模塊基本都遵循NMEA0183協(xié)議,所以在整體設(shè)計(jì)的時(shí)候只要為單片機(jī)留出串口就行了,一般的GPS模塊都會(huì)引出TTL電平的TXD和RXD引腳,我用的GPS模塊采用5V供電,跟51供電相同所以不用電壓轉(zhuǎn)換;單片機(jī)其實(shí)最早我用的是AT89S52,但是因?yàn)槌绦蚓幾g后大概20K左右,所以放棄了52選用STC的89C58,買芯片的時(shí)候發(fā)現(xiàn)STC89C58和STC12C5A60S2一個(gè)價(jià),所以就一樣買了一片(在電子市場(chǎng)買的,賣家比較黑一片要我12塊錢),源程序在58上進(jìn)行的測(cè)試,后來移植到1T的STC12C5A60S2上,因?yàn)镾TC12C5A60S2有倆串口,以后可以擴(kuò)展,所以果斷棄掉58轉(zhuǎn)投STC12C5A60S2;液晶方面用的是12864(控制器芯片 ST7920 ),我也是剛知道LCD還有控制器芯片;最初的測(cè)試是用的USB供電,但是做完之后只能在電腦旁測(cè)試也沒速度;就想了個(gè)招用4節(jié)5號(hào)電池的電池盒(一般的1元錢4節(jié)的電池,4節(jié)加一起都能達(dá)到6.8V,為了供電穩(wěn)定可以考慮串1n4007,或是上7805穩(wěn)壓,我覺得1117的5V芯片挺好使,其間也試過LM317),最后還是采用了18650(這就是筆記本的電芯,一般都2000mh以上),加個(gè)一個(gè)升壓模塊(模塊上有可調(diào)的電位器,自己調(diào)整電壓感覺需要比5V高點(diǎn),因?yàn)闇y(cè)試的時(shí)候沒接負(fù)載呢,也不知道這么想對(duì)不?哈哈希望高人指點(diǎn)謝謝);我整理一下 回頭上傳電路圖。

各位論壇的好朋友實(shí)在抱歉,由于一些原因好長(zhǎng)、好長(zhǎng)時(shí)間都沒碰單片機(jī)了,差點(diǎn)就放棄這個(gè)專業(yè)了,
附上解碼的程序 大家共同學(xué)習(xí)研究,有需要電路圖的朋友請(qǐng)留言,我得好好找找都不知道放哪里了。

int GPS_RMC_Parse(char *line,GPS_INFO *GPS)
{
        uchar ch, status, tmp;
        float lati_cent_tmp, lati_second_tmp;
        float long_cent_tmp, long_second_tmp;
        float speed_tmp;
        char *buf = line;
        ch = buf[5];
        status = buf[GetComma(2, buf)];

        if (ch == 'C')  //如果第五個(gè)字符是C,($GPRMC)      
        {
                if (status == 'A')  //如果數(shù)據(jù)有效,則分析      
                {
                        GPS -> NS       = buf[GetComma(4, buf)];
                        GPS -> EW       = buf[GetComma(6, buf)];

                        GPS->latitude   = Get_Double_Number(&buf[GetComma(3, buf)]);
                        GPS->longitude  = Get_Double_Number(&buf[GetComma( 5, buf)]);

                       GPS->latitude_Degree  = (int)GPS->latitude / 100;       //分離緯度     
                        lati_cent_tmp         = (GPS->latitude - GPS->latitude_Degree * 100);
                        GPS->latitude_Cent    = (int)lati_cent_tmp;
                        lati_second_tmp       = (lati_cent_tmp - GPS->latitude_Cent) * 60;
                        GPS->latitude_Second  = (int)lati_second_tmp;

                        GPS->longitude_Degree = (int)GPS->longitude / 100;        //分離經(jīng)度   
                        long_cent_tmp         = (GPS->longitude - GPS->longitude_Degree * 100);
                        GPS->longitude_Cent   = (int)long_cent_tmp;   
                        long_second_tmp       = (long_cent_tmp - GPS->longitude_Cent) * 60;
                        GPS->longitude_Second = (int)long_second_tmp;

                        speed_tmp      = Get_Float_Number(&buf[GetComma(7, buf)]);    //速度(單位:海里/時(shí))   
                        GPS->speed     = speed_tmp * 1.85;                           //1海里=1.85公里   
                        GPS->direction = Get_Float_Number(&buf[GetComma(8, buf)]); //角度                           

                        GPS->D.hour    = (buf[7] - '0') * 10 + (buf[8] - '0');                //時(shí)間   
                        GPS->D.minute  = (buf[9] - '0') * 10 + (buf[10] - '0');
                        GPS->D.second  = (buf[11] - '0') * 10 + (buf[12] - '0');
                        tmp = GetComma(9, buf);
                        GPS->D.day     = (buf[tmp + 0] - '0') * 10 + (buf[tmp + 1] - '0'); //日期   
                        GPS->D.month   = (buf[tmp + 2] - '0') * 10 + (buf[tmp + 3] - '0');
                        GPS->D.year    = (buf[tmp + 4] - '0') * 10 + (buf[tmp + 5] - '0')+2000;

                        UTC2BTC(&GPS->D);

                        return 1;
                }               
        }

        return 0;
}


int GPS_GGA_Parse(char *line,GPS_INFO *GPS)
{
        uchar ch, status;
        char *buf = line;
        ch = buf[4];
        status = buf[GetComma(2, buf)];

        if (ch == 'G')  //$GPGGA
        {
                if (status != ',')
                {
                        GPS->height_sea = Get_Float_Number(&buf[GetComma(9, buf)]);
//                        GPS->height_ground = Get_Float_Number(&buf[GetComma(11, buf)]);
                        GPS->height_ground = Get_Float_Number(&buf[GetComma(10, buf)]);  //要的是大地水平高度,應(yīng)該解析第10個(gè)逗號(hào)之后的數(shù)據(jù)

                        return 1;
                }
        }

        return 0;
}







液晶部分 焊?jìng)(gè)電位器 調(diào)對(duì)比度



電源部分 為了到戶外測(cè)試方便 加個(gè)18650和升壓模塊



初始化狀態(tài)



測(cè)試的結(jié)果






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:70653 發(fā)表于 2014-12-17 21:41 | 只看該作者
最近也在搞這個(gè),學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:70653 發(fā)表于 2014-12-17 21:45 | 只看該作者
樓主,原理圖和程序請(qǐng)共享一下,謝謝。5279751@qq.com
回復(fù)

使用道具 舉報(bào)

地板
ID:70104 發(fā)表于 2014-12-19 15:57 | 只看該作者
你搞什么飛機(jī)~~原理和程序呢
回復(fù)

使用道具 舉報(bào)

5#
ID:71046 發(fā)表于 2014-12-24 22:13 | 只看該作者
樓主,原理圖和程序請(qǐng)共享一下,謝謝598804594@qq.com
回復(fù)

使用道具 舉報(bào)

6#
ID:74471 發(fā)表于 2015-4-8 07:43 | 只看該作者
樓主,程序和原理圖能分享嗎?謝謝  1419214137@qq.com
回復(fù)

使用道具 舉報(bào)

7#
ID:87835 發(fā)表于 2015-8-7 14:23 | 只看該作者

樓主,原理圖和程序請(qǐng)共享一下,謝謝754433618@qq.com
回復(fù)

使用道具 舉報(bào)

8#
ID:72559 發(fā)表于 2016-5-12 16:50 | 只看該作者
樓主我來晚了,不知道還能不能將原理圖和程序請(qǐng)共享一下,605102025@qq.com
還有就是我也做得GPS定位,之前用的STC89C52現(xiàn)在也是改用了STC12C5A60S2,液晶顯示出現(xiàn)了亂碼的情況,我也不清楚怎么辦才好,延時(shí)也改了,不知道還需要改哪些,希望樓主可以指導(dǎo)一下
回復(fù)

使用道具 舉報(bào)

9#
ID:122417 發(fā)表于 2016-5-21 18:49 | 只看該作者
最近想學(xué)一下GPS,跪求樓主的程序和原理圖。謝謝樓主 1318537276@qq.com
回復(fù)

使用道具 舉報(bào)

10#
ID:99590 發(fā)表于 2016-11-9 21:12 | 只看該作者
最近正在弄GPS,跪求樓主的程序和原理圖。謝謝樓主 420301282@qq.com
回復(fù)

使用道具 舉報(bào)

11#
ID:169296 發(fā)表于 2017-4-9 12:13 | 只看該作者
樓主,可以分享一下程序和原理圖嗎?非常感謝! 1587254004@qq.com
回復(fù)

使用道具 舉報(bào)

12#
ID:213928 發(fā)表于 2017-7-2 17:55 | 只看該作者
可以分享一下程序和原理圖嗎?非常感謝! 1065304416@qq.com
回復(fù)

使用道具 舉報(bào)

13#
ID:430659 發(fā)表于 2018-12-16 17:23 | 只看該作者
可以分享一下程序和原理圖嗎?萬分感謝! 308378000@qq.com
回復(fù)

使用道具 舉報(bào)

14#
ID:523982 發(fā)表于 2019-4-29 20:02 | 只看該作者
可以分享一下程序和原理圖嗎?萬分感謝!
回復(fù)

使用道具 舉報(bào)

15#
ID:914953 發(fā)表于 2021-5-2 18:35 | 只看該作者
可以分享一下程序和原理圖嗎?萬分感謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人性视频免费网站 | 国产在线一区二区 | 久久免费精彩视频 | 色婷婷综合久久久中文字幕 | 国产精品日韩欧美一区二区三区 | 日韩av.com| 一区二区三区国产视频 | 中文字幕视频在线观看 | 春色av| 日韩欧美国产一区二区 | 久久久亚洲成人 | 97超级碰碰 | 一级片免费视频 | 成人在线国产 | www成人免费视频 | 黄在线免费观看 | 日韩在线免费视频 | 国产成人久久精品一区二区三区 | 日韩靠逼| 亚洲欧美另类在线 | 韩国成人在线视频 | 亚洲一区二区在线视频 | 日本不卡一区 | 精品1区2区 | 黄色成人亚洲 | 国产大毛片 | 亚洲国产一区在线 | 国产精品自产av一区二区三区 | 在线观看久草 | 一级看片免费视频 | 国产sm主人调教女m视频 | 九九av| www.色午夜.com | 午夜精品久久久久久久久久久久 | 日本三级电影在线观看视频 | 天天天久久久 | 亚洲中字在线 | 欧美在线a | 成人动漫视频网站 | 激情五月综合 | av在线天堂 |