基于GPS時(shí)鐘的打鈴儀設計
1.2 其他硬件電路
微處理器采用Microchip公司的PIC16F873。該芯片采用14位類(lèi)RISC指令系統,片內資源豐富,內含A/D轉換器、EEPROM等,使打鈴儀省去外接A/D轉換電路和EEPROM芯片,簡(jiǎn)化了系統電路。該芯片還支持在線(xiàn)編程,易于進(jìn)行軟件調試、升級。圖3打鈴儀電路中的電源電路部分含有60 mAh充電電池構成的備份電源。單片機由R1和R2的分壓電壓可判斷主電源是否掉電。當主電源有電時(shí),5 V直流電壓經(jīng)D1后為GPS接收模塊和單片機供電,經(jīng)R3限流后為電池BAT1提供涓流充電;當主電源掉電時(shí),電池BAT1經(jīng)D2后為單片機和GPS接收模塊供電,以保證系統主電源掉電時(shí)系統依然能正常走時(shí),但系統停止其他功能。R4和熱敏電阻Rt1的分壓電壓隨環(huán)境溫度的變化而變化,單片機對該分壓電壓進(jìn)行A/D轉換,再查表可測出環(huán)境溫度。蜂鳴器BAK1和發(fā)光二極管LED1為按鍵按下有效及響鈴輸出的聲光提示。單片機控制繼電器J1決定外接電鈴是否響鈴。接按鍵的5個(gè)I/O引腳的內部上拉電阻打開(kāi)。液晶顯示模塊YDS12864與單片機采用串行口相連,以中文方式顯示當前年、月、日、時(shí)、分、秒、星期、溫度等信息及系統設置時(shí)的提示信息。

2 打鈴儀軟件設計
2.1 GPS協(xié)議
幾乎所有GPS接收模塊的串行輸出數據格式都遵循美國國家海洋電子協(xié)會(huì )NMEA(National Marine Elec-tronics Association)所指定的標準規格。這一標準制訂所有航海電子儀器間的通信標準,其中包含傳輸資料的格式以及傳輸資料的通信協(xié)議。NMEA協(xié)議有0180、0182和0183三種,0183可以認為是前兩種的超集,現正廣泛使用。NMEA-0183協(xié)議的數據格式為1個(gè)起始位、8個(gè)數據位、1個(gè)停止位、無(wú)奇偶校驗位,波特率為300、600、1 200、2 400、4 800、9 600、19 200;其輸出數據為ASCII碼,語(yǔ)句包括GPGGA、GPGLL、GPGSA、GPRMC、GPGSV、GPVTG等,各語(yǔ)句內含內容各不一樣。含有年月日時(shí)分秒數據的GPRMC語(yǔ)句輸出格式為:$G-PRMC,1>,2>,3>,4),5>,6>,7>,8>,9>,10>,11>。以“LF”表示該幀數據結束。例如:$GPRMC,102521.231,A,3143.2679,N,13432.2134,E,0.9,309.62,101299,,*10。具體意義如表3所列。

2.2 GPS數據讀取
GS-312每秒更新輸出數據1次,可用串口中斷方式讀取。NMEA-0183協(xié)議每一語(yǔ)句內含的各個(gè)內容均以逗號隔開(kāi),可以通過(guò)判斷逗號的個(gè)數,識別時(shí)間數據和日期數據,其流程如圖4所示。
評論