基于GPS時鐘的打鈴儀設(shè)計
1.2 其他硬件電路
微處理器采用Microchip公司的PIC16F873。該芯片采用14位類RISC指令系統(tǒng),片內(nèi)資源豐富,內(nèi)含A/D轉(zhuǎn)換器、EEPROM等,使打鈴儀省去外接A/D轉(zhuǎn)換電路和EEPROM芯片,簡化了系統(tǒng)電路。該芯片還支持在線編程,易于進(jìn)行軟件調(diào)試、升級。圖3打鈴儀電路中的電源電路部分含有60 mAh充電電池構(gòu)成的備份電源。單片機(jī)由R1和R2的分壓電壓可判斷主電源是否掉電。當(dāng)主電源有電時,5 V直流電壓經(jīng)D1后為GPS接收模塊和單片機(jī)供電,經(jīng)R3限流后為電池BAT1提供涓流充電;當(dāng)主電源掉電時,電池BAT1經(jīng)D2后為單片機(jī)和GPS接收模塊供電,以保證系統(tǒng)主電源掉電時系統(tǒng)依然能正常走時,但系統(tǒng)停止其他功能。R4和熱敏電阻Rt1的分壓電壓隨環(huán)境溫度的變化而變化,單片機(jī)對該分壓電壓進(jìn)行A/D轉(zhuǎn)換,再查表可測出環(huán)境溫度。蜂鳴器BAK1和發(fā)光二極管LED1為按鍵按下有效及響鈴輸出的聲光提示。單片機(jī)控制繼電器J1決定外接電鈴是否響鈴。接按鍵的5個I/O引腳的內(nèi)部上拉電阻打開。液晶顯示模塊YDS12864與單片機(jī)采用串行口相連,以中文方式顯示當(dāng)前年、月、日、時、分、秒、星期、溫度等信息及系統(tǒng)設(shè)置時的提示信息。
2 打鈴儀軟件設(shè)計
2.1 GPS協(xié)議
幾乎所有GPS接收模塊的串行輸出數(shù)據(jù)格式都遵循美國國家海洋電子協(xié)會NMEA(National Marine Elec-tronics Association)所指定的標(biāo)準(zhǔn)規(guī)格。這一標(biāo)準(zhǔn)制訂所有航海電子儀器間的通信標(biāo)準(zhǔn),其中包含傳輸資料的格式以及傳輸資料的通信協(xié)議。NMEA協(xié)議有0180、0182和0183三種,0183可以認(rèn)為是前兩種的超集,現(xiàn)正廣泛使用。NMEA-0183協(xié)議的數(shù)據(jù)格式為1個起始位、8個數(shù)據(jù)位、1個停止位、無奇偶校驗(yàn)位,波特率為300、600、1 200、2 400、4 800、9 600、19 200;其輸出數(shù)據(jù)為ASCII碼,語句包括GPGGA、GPGLL、GPGSA、GPRMC、GPGSV、GPVTG等,各語句內(nèi)含內(nèi)容各不一樣。含有年月日時分秒數(shù)據(jù)的GPRMC語句輸出格式為:$G-PRMC,1>,2>,3>,4),5>,6>,7>,8>,9>,10>,11>。以“LF”表示該幀數(shù)據(jù)結(jié)束。例如:$GPRMC,102521.231,A,3143.2679,N,13432.2134,E,0.9,309.62,101299,,*10。具體意義如表3所列。
2.2 GPS數(shù)據(jù)讀取
GS-312每秒更新輸出數(shù)據(jù)1次,可用串口中斷方式讀取。NMEA-0183協(xié)議每一語句內(nèi)含的各個內(nèi)容均以逗號隔開,可以通過判斷逗號的個數(shù),識別時間數(shù)據(jù)和日期數(shù)據(jù),其流程如圖4所示。
評論