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