新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機與GPS串口通信

        51單片機與GPS串口通信

        作者: 時間:2016-11-26 來源:網絡 收藏
        最近在考研調劑沒有學校要, 找工作又找不到, 快崩潰了。

        剛想找點樂子,忘掉煩惱。開了一下自己的工具箱,發現以前買了一塊二手的車載GPS,因為一直沒有資料就放在那沒有用。

        本文引用地址:http://www.104case.com/article/201611/321738.htm

        仔細看了一下GPS發現芯片的LOGO和型號還是看得出來的,這是一塊用了索尼CXD2931R作為接收GPS信號的芯片,本來想到網上看看有沒有現成的作品,可是很遺憾沒能找到(可能已經別淘汰了),沒辦法只能到ALLDATASHEET上下了這份芯片的手冊, 看了下手冊,發現sony的這款GPS芯片很高檔呀:集成32位處理器、DSP、RAM和ROM的容量也很大(怪不得GPS價格這么貴)。

        原來GPS使用串口來給主機發送信息的,這塊GPS的通信速率是4800bit/s,了解這么多就差不多了,現在只要找找到串口和電源線在哪就行了,對著手冊找的確就是方便。

        接好線,用一下comdebug軟件看看GPS會不會發信息,結果很好,看到了所謂的NMEA碼,但是沒有定位到, 可能是在室內的緣故,很是高興呀。

        本來想用AVR,可是芯片都被同學借走了,而pic的仿真器找不到了,(悲劇的時候什么都悲劇) 只能用51了,51很久沒有用了,又只能求助書本了,這樣下來半天的時間就沒了;搞電子的確很不容易,雖然原理說起來很簡單。 下載分享一下成果:

        #include
        #include 12864.h>

        sbit light = P1^0;

        #define light_on()light=1
        #define light_off()light=0


        void init_serial(void);
        void disp();

        unsigned char ch;
        unsigned char str[65]={"$GPRMC,"};
        unsigned char read_flag= 0;

        bit rev_flag = 0;
        bit cur_rev = 0;

        void main()
        {
        unsigned int i=0;
        //unsigned char ff=0;
        light_off();
        str[64] =

        主站蜘蛛池模板: 北辰区| 贵德县| 宁化县| 承德市| 兴化市| 河津市| 衡山县| 宣威市| 米泉市| 潞城市| 乐清市| 杭州市| 通辽市| 灵丘县| 洮南市| 宝山区| 晋州市| 安新县| 怀安县| 柞水县| 防城港市| 沅江市| 界首市| 白水县| 高密市| 甘肃省| 凤城市| 永顺县| 三门峡市| 通化市| 巴青县| 凌海市| 上饶市| 南宁市| 呈贡县| 禄丰县| 砚山县| 肇庆市| 醴陵市| 胶州市| 五原县|