|
本例運(yùn)行需要安裝VSPD,設(shè)置COM3,COM4對(duì)連
另外還需要安裝Virtual GPS,波特率設(shè)為9600
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (18.94 KB, 下載次數(shù): 97)
下載附件
2019-3-19 04:17 上傳
0.png (42.99 KB, 下載次數(shù): 70)
下載附件
2019-3-19 04:17 上傳
單片機(jī)源程序如下:
- //-----------------------------------------------------------------
- // 名稱: GPS導(dǎo)航系統(tǒng)仿真
- //-----------------------------------------------------------------
- // 說(shuō)明:本例運(yùn)行時(shí),由GPS實(shí)物模塊或虛擬GPS軟件Virtual GPS輸出的
- // GPS協(xié)議數(shù)據(jù)將被系統(tǒng)接收,并對(duì)其中的"$GPRMC"協(xié)議數(shù)據(jù)進(jìn)行解析,
- // 所獲取的當(dāng)前經(jīng)度、緯度、速度、時(shí)間信息將被刷新顯示LCD.
- //
- //-----------------------------------------------------------------
- #include <reg51.h>
- #include <intrins.h>
- #include <string.h>
- #include <stdlib.h>
- #include "LCD_160128.h"
- #include "PictureDots.h"
- volatile INT8U rec_OK = 0;
- volatile char time[] = "00:00:00";
- volatile char Longitude[] = "ddd°mm.mmmm' X"; //經(jīng)度
- volatile char Latitude[] = " dd°mm.mmmm' X"; //緯度
- volatile char Speed[12]; //地面速度
- code char p[] = "$GPRMC"; //協(xié)議頭部
- //-----------------------------------------------------------------
- // 主程序
- //-----------------------------------------------------------------
- void main()
- {
- }
- //-----------------------------------------------------------------
- // 串口接收中斷函數(shù),對(duì)所接收的GPS各協(xié)議數(shù)據(jù)中"$GPRMC"進(jìn)行解析,例如:
- // $GPRMC,194633.656,A,8702.999833,N,12149.593667,E,130.07,6,180308,...
- //-----------------------------------------------------------------
- void Serial_INT() interrupt 4
- {
- }
復(fù)制代碼
所有資料51hei提供下載:
GPS導(dǎo)航系統(tǒng)仿真.zip
(445.48 KB, 下載次數(shù): 223)
2019-3-18 22:52 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|