GPS模塊在打鈴控制器中的應(yīng)用
DS1302是一款涓流充電時(shí)鐘芯片,包括實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)RAM。經(jīng)過(guò)簡(jiǎn)單的同步串行數(shù)據(jù)接口和單片機(jī)通信,提供秒、分、時(shí)、日、周、月和年信息,對(duì)于閏年的天數(shù)和月天數(shù)可自動(dòng)進(jìn)行調(diào)整。掉電時(shí)可采用備用電池在功率小于1 mW的情況下工作。DS1302的VCC1和VCC2作為芯片的電源供電引腳,VCC2接系統(tǒng)的3.3 V電源,VCC1接備用充電電池,在正常工作時(shí)通過(guò)設(shè)置DS1302的控制字在正常工作時(shí)可以對(duì)備用電池進(jìn)行充電。時(shí)間基準(zhǔn)電路如圖4所示。本文引用地址:http://butianyuan.cn/article/161816.htm
設(shè)置單片機(jī)的交叉開(kāi)關(guān)XBR1的值為0x40將XBARE位置1使能交叉開(kāi)關(guān),并設(shè)置交叉開(kāi)關(guān)XBR0的值為0x01將單片機(jī)串口引腳TX0和RX0配置為P0.4與P0.5管腳。P0.4和P0.5分別連接到E531模塊串口0的RX0和TX0進(jìn)行通信。單片機(jī)P1.1,P1.2作為E531復(fù)位和硬件喚醒控制。DS13 02采用32.768kHz晶振作為獨(dú)立定時(shí)基準(zhǔn)。它的SCLK、I/O和/RST引腳分別連接到單片機(jī)P0.6、P0.7和P1.0管腳與之實(shí)現(xiàn)同步串行通信。
2.3 系統(tǒng)鍵盤(pán)顯示部分結(jié)構(gòu)設(shè)計(jì)
在滿足需求的同時(shí)為盡量保證打鈴控制器的結(jié)構(gòu)簡(jiǎn)潔,打鈴控制器設(shè)計(jì)了4個(gè)按鍵和一個(gè)液晶顯示屏以實(shí)現(xiàn)人機(jī)接口。其中KEY1為數(shù)字按鍵,每按下一次當(dāng)前光標(biāo)的數(shù)字值加一,在數(shù)字‘0’和‘9’之間循環(huán)設(shè)置。KEY2鍵為光標(biāo)移動(dòng)鍵,選擇控制器顯示界面中的不同菜單進(jìn)行設(shè)置或?yàn)g覽。KEY3鍵為確認(rèn)鍵當(dāng)光標(biāo)移動(dòng)到一個(gè)菜單時(shí)或數(shù)字修改完成后按下確認(rèn)鍵可保存該次設(shè)置和選擇。KEY4鍵為‘返回/取消’功能鍵。液晶顯示屏采用LCM128645采用串行方式的數(shù)據(jù)接口與單片機(jī)僅需3根線連接即可。
2.4 系統(tǒng)原理圖設(shè)計(jì)
按照系統(tǒng)原理框圖形成如圖5所示的原理圖。
當(dāng)系統(tǒng)時(shí)間和設(shè)置的打鈴時(shí)間相等時(shí)單片機(jī)P1.3輸出高電平,通過(guò)9013的放大驅(qū)動(dòng)使繼電器K1線圈動(dòng)作,其常開(kāi)接點(diǎn)NO和COM斷吸合(同時(shí)其常閉接點(diǎn)NC和COM端斷開(kāi))控制外部電鈴電源從而響鈴。
3 軟件設(shè)計(jì)
系統(tǒng)軟件主要包括有時(shí)鐘同步、打鈴控制和顯示鍵盤(pán)程序等幾部分。時(shí)鐘同步程序是單片機(jī)通過(guò)串口讀取E531模塊的實(shí)時(shí)信息,在信息有效地狀態(tài)下提取當(dāng)前的格林威治時(shí)間轉(zhuǎn)換為北京時(shí)間后對(duì)DS1302時(shí)間進(jìn)行校正。單片機(jī)和E531的通信采用NMEA0183協(xié)議中的RMC協(xié)議進(jìn)行通信,波特率設(shè)置為9 600。因此單片機(jī)上電后對(duì)E531進(jìn)行通信格式配置,協(xié)議格式為:“$PUNV,CONFIG,00,CM,00,1000,BPS,MASK*3 4”。該指令中$PUNV和CONFIG為指令碼,固定不變。CM=0000表示采用NMEA0183協(xié)議,CM=0101則表示采用UBP協(xié)議。BPS為串口的波特率取值為9 600。GPS輸出的信息數(shù)據(jù)和對(duì)應(yīng)的代碼如下所示:
GGA—01,GL—02,GSA—04,GSV—08,RMC—10,VTG—20,ZDA—40,DTM—80。MASK是要求GPS模塊輸出信息的代碼和,比如要求GPS模塊輸出GGA和RMC信息則MASK值為01+10=11,本設(shè)計(jì)中主要為了讀取標(biāo)準(zhǔn)時(shí)間和日期需要配置GPS輸出RMC信息所以MASK取值為10。因此配置指令為:“$PUNV,CONFIG,00,0000,00,1000,9600,10*34”。
評(píng)論