夜先锋av资源网站,国产精品极品美女在线观看免,欧美亚洲精品电影在线观看,日韩在线精品强乱一区二区三区

首頁(yè) 新聞 > 科技 > 正文

51單片機(jī)與GPS串口通信

最近在考研調(diào)劑沒(méi)有學(xué)校要, 找工作又找不到, 快崩潰了。

剛想找點(diǎn)樂(lè)子,忘掉煩惱。開(kāi)了一下自己的工具箱,發(fā)現(xiàn)以前買(mǎi)了一塊二手的車(chē)載GPS,因?yàn)橐恢睕](méi)有資料就放在那沒(méi)有用。

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

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

原來(lái)GPS使用串口來(lái)給主機(jī)發(fā)送信息的,這塊GPS的通信速率是4800bit/s,了解這么多就差不多了,現(xiàn)在只要找找到串口和電源線在哪就行了,對(duì)著手冊(cè)找的確就是方便。

接好線,用一下comdebug軟件看看GPS會(huì)不會(huì)發(fā)信息,結(jié)果很好,看到了所謂的NMEA碼,但是沒(méi)有定位到, 可能是在室內(nèi)的緣故,很是高興呀。

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

#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] = ;lcd_init();init_serial();while(1){if( cur_rev && read_flag&& (rev_flag == 0) )//$PRMC{switch( ch ){case $:break;case G:read_flag ++; break;case P:read_flag ++; break;case R:read_flag ++; break;case M:read_flag ++; break;case C:read_flag ++; break;case ,:read_flag ++; rev_flag = 1; break;default :read_flag = 0;break;}cur_rev = 0;}if( cur_rev && rev_flag == 1 ){light_off();if( read_flag < 64 ){str[ read_flag ] = ch;read_flag ++;}cur_rev = 0;}

if( read_flag == 64 ){

ES = 0;disp();light_on();read_flag = 0;rev_flag = 0;ES = 1;}i ++;if( i <= 50000 ) light_off();else if( i >50000 && i <= 60000 )light_on();else i = 0;}}

void init_serial()//方式1 定時(shí)器1,波特率4800

{//初始化定時(shí)器T1TMOD = 0x20;TL1 = 0xFA;TH1 = 0xFA;//波特率為:4800ET1 = 0;//T1用作波特率發(fā)生器,禁止T1中斷TR1 = 1;//啟動(dòng)定時(shí)器T1SCON = 0x70;//方式1,SM2位為1PCON = 0;//波特率無(wú)倍增EA = 1;ES = 1;}

void serial () interrupt4{if (RI){RI = 0;ch = SBUF;//lcd_move_right(ch);cur_rev = 1;if( ch == $ && read_flag == 0 ) read_flag ++;//起始位}}

void disp(){unsigned char i=0;//unsigned char j;goto_ddram(1,1);while( str[i] != ){lcd_move_right(str[i]);i++;if( i == 16 )goto_ddram(2,1);if( i == 32 )goto_ddram(3,1);if( i == 48 )goto_ddram(4,1);}}

關(guān)鍵詞: 51單片機(jī)GPS串口通

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.ossf.org.cn All rights reserved
聯(lián)系我們:33 92 950@qq.com
豫ICP備2020035879號(hào)-12