




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE55 / NUMPAGES59基于GPS的精確電子日歷設(shè)計(jì)摘 要隨著時(shí)代的發(fā)展,生活節(jié)奏的加快,人們的時(shí)間觀念愈來(lái)愈強(qiáng),設(shè)計(jì)開(kāi)發(fā)數(shù)字時(shí)鐘具有良好的應(yīng)用前景。然而傳統(tǒng)的時(shí)間服務(wù)方式越來(lái)越難以滿足現(xiàn)代工業(yè)化生產(chǎn)實(shí)踐對(duì)時(shí)間的要求。在GPS的高速發(fā)展下,其授時(shí)功能已日益被人們所關(guān)注1。由于單片機(jī)價(jià)格的低成本、高性能,在自動(dòng)控制產(chǎn)品中得到了廣泛的應(yīng)用。本設(shè)計(jì)利用Atmel公司的AT89S52單片機(jī)對(duì)電子時(shí)鐘進(jìn)行開(kāi)發(fā),設(shè)計(jì)了實(shí)現(xiàn)所需功能的硬件電路,應(yīng)用C語(yǔ)言進(jìn)行軟件編程,并用實(shí)驗(yàn)板進(jìn)行演示、驗(yàn)證。本論文主要介紹構(gòu)成GPS高精度時(shí)鐘的各模塊芯片的功能與各管腳的連接與執(zhí)行情況,詳細(xì)闡述了GPS授時(shí)系
2、統(tǒng)中的授時(shí)模塊,包括GPS授時(shí)的同步利用方式和GPS接受端的數(shù)據(jù)輸出形式以與GPS模塊與單片機(jī)之間的連接通信,來(lái)達(dá)到讀取GPS信息并且在LCD1602上顯示時(shí)間的目的。本文給出了從GPS模塊讀取的數(shù)據(jù)中截取時(shí)間數(shù)據(jù)并和單片機(jī)之間進(jìn)行傳輸顯示的流程圖與主要程序??紤]到接受GPS信號(hào)的問(wèn)題上,本系統(tǒng)將加入一個(gè)DS1302時(shí)鐘芯片用來(lái)解決GPS信號(hào)中斷或者信號(hào)強(qiáng)度太低導(dǎo)致讀取不到數(shù)據(jù)的問(wèn)題。最后,本文描述了GPS高精度時(shí)鐘在設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中可能出現(xiàn)的問(wèn)題與其調(diào)試過(guò)程,并對(duì)該模塊實(shí)際應(yīng)用上的展望。關(guān)鍵字:高精度時(shí)鐘;GPS接收模塊;AT89C52;LCD1602;DS1302AbstractWith
3、the development of The Times,the accelerating rhythm of life ,peoples concept of time becomes more and more strong,therefore, design and development digital clock has a good application prospect.However, traditional way of time service is increasingly difficult to meet the requirements of modern ind
4、ustrial production practice of the time. In the rapid development of GPS, the GPS clock function is increasingly attention by people.Because of the price of low-cost, high-performance single chip microcomputer has been widely used in automatic control of the products.This design use the AT89S52 micr
5、ocontroller on the electronic clock of Atmel company development,implements the required function of the hardware circuit is designed,application C language for software programming and demonstration, validation with the test board. This paper introduces a GPS high precision clock module chip functi
6、on and the pin connection with the implementation,GPS timing GPS clock module in the system are expounded in detail,including GPS timing synchronization using method and GPS receiving the data output form and the connection between the GPS module and MCU communication,to read the purpose of the GPS
7、information and on the LCD1602 display time. The data read from the GPS module are given in this paper the interception time data and transmission between MCU and shows the flow chart and main program.Considering the received GPS signal problems,this system will join a DS1302 clock chip is used to s
8、olve GPS signal or the signal strength is too low, lead to cant read data.Finally, this article describes the GPS high precision clock possible problems in the process of design and implementation and debugging process, and the module on the practical application prospects. Keywords:High precision c
9、lock;GPS receiver module;AT89C52;LCD1602;DS1302目 錄TOC o 1-3 u 摘 要Abstract第一章 緒論11.1 選題意義和論文任務(wù)11.2 國(guó)外研究以與趨勢(shì)11.3 論文結(jié)構(gòu)2第二章 GPS高精度時(shí)鐘的硬件設(shè)計(jì)32.1 系統(tǒng)主要芯片選型32.1.1 微處理器AT89C5232.1.2 GPS接收模塊42.1.3時(shí)鐘芯片DS130252.1.4 顯示模塊LCD160262.2 硬件設(shè)計(jì)總體思路72.3 硬件電路設(shè)計(jì)82.3.1 GPS接受模塊和單片機(jī)的連接82.3.2 LCD1602和單片機(jī)的連接92.3.3 按鍵模塊和單片機(jī)的連接102.
10、3.4 時(shí)鐘芯片DS1302和單片機(jī)的連接10第三章 GPS高精度時(shí)鐘的軟件設(shè)計(jì)113.1 GPS授時(shí)系統(tǒng)的同步利用方式113.1.1 脈沖同步方式113.1.2 串行同步方式113.2 GPS授時(shí)模塊的形式與流程圖123.3 LCD1602的顯示操作143.3.1 讀狀態(tài)操作143.3.2 寫(xiě)命令操作143.3.3 LCD初始化143.4 GPS高精度時(shí)鐘主要程序、流程圖與注釋153.4.1 主程序流程圖153.4.2 初始化程序163.4.3 按鍵檢測(cè)程序173.4.4 DS1302的讀寫(xiě)程序183.4.5 LCD1602的讀寫(xiě)程序19第四章 調(diào)試過(guò)程 PAGEREF _Toc1097 2
11、04.1 GPS接收信息強(qiáng)度 PAGEREF _Toc31956 204.2 GPS和單片機(jī)的通信 PAGEREF _Toc24571 204.3 程序運(yùn)行 PAGEREF _Toc26717 204.4 DS1302的晶振頻率 PAGEREF _Toc12577 204.5 誤差分析 PAGEREF _Toc24571 20總結(jié) PAGEREF _Toc2758 21參考文獻(xiàn)22致23附錄24緒論1.1 選題意義和論文任務(wù)隨著科技的飛速進(jìn)步,我國(guó)電力系統(tǒng)自動(dòng)化技術(shù)快速發(fā)展,為了做到統(tǒng)部統(tǒng)一的管理和調(diào)度,整個(gè)系統(tǒng)對(duì)時(shí)間的統(tǒng)一性要求越來(lái)越高,同時(shí)對(duì)時(shí)間的同步精度要求也越來(lái)越高?;ヂ?lián)網(wǎng)領(lǐng)域在世界各
12、地分布著成千上萬(wàn)的服務(wù)器,計(jì)算機(jī)監(jiān)控系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、大型網(wǎng)絡(luò)服務(wù)器系統(tǒng)、移動(dòng)通信網(wǎng)絡(luò)系統(tǒng)都需要統(tǒng)一的高精度時(shí)間以便管理。GPS時(shí)鐘具有工作穩(wěn)定、時(shí)間精度高、安全可靠、無(wú)需人工校時(shí)維護(hù)等優(yōu)點(diǎn)廣泛應(yīng)用于廣播電視系統(tǒng)的時(shí)間授時(shí)、同步鎖定與車站、碼頭、機(jī)場(chǎng)、賓館與戶外廣場(chǎng)等場(chǎng)合的時(shí)間顯示。GPS性能特點(diǎn):可以全球全天候工作。GPS能為用戶提供連續(xù)、實(shí)時(shí)的位置、三維速度和精密時(shí)間。定位精度高。三維位置定位精度優(yōu)于25米,三維速度精度優(yōu)于住0.3米/秒,時(shí)間精度100納秒,采用載波測(cè)距定位精度可達(dá)厘米級(jí)。、抗干擾。GPS衛(wèi)星發(fā)射的P碼精測(cè)碼擴(kuò)頻信號(hào),比高靈敏度接收機(jī)所能接收的最低信號(hào)電平還低幾十個(gè)分貝
13、。用戶接收機(jī)為了解擴(kuò)頻接收信號(hào),必須產(chǎn)生與信號(hào)中擴(kuò)頻偽碼一樣的本機(jī)偽碼因具有較強(qiáng)的性,此外利用P碼良好的相關(guān)特性還可增強(qiáng)用戶接收機(jī)抗電子干擾的能力。在許許多多的精密研究中,絕不允許時(shí)間上的過(guò)多偏差,為了提高時(shí)鐘的精確度,需要引入GPS信號(hào),每個(gè)GPS衛(wèi)星上都有2-3個(gè)高精度的原子鐘,這幾塊原子鐘互為備份的同時(shí),也互相糾正。另外GPS信號(hào)中自帶了誤差糾正碼,接收端可以很容易的把延遲的這段傳輸延遲去掉。本次設(shè)計(jì)的任務(wù)是在查閱國(guó)資料的基礎(chǔ)上了解GPS的原理和功能,了解單片機(jī)的原理和軟件編程方法,設(shè)計(jì)單片機(jī)最小系統(tǒng)、鍵盤電路、顯示電路、鬧鐘電路。本系統(tǒng)采用AT89C52作為主控制器,為了防止GPS無(wú)信
14、號(hào)或者信號(hào)弱照成無(wú)數(shù)據(jù)輸出,附加了時(shí)鐘芯片DS1302充當(dāng)?shù)诙r(shí)鐘源,加入按鍵電路用來(lái)設(shè)定時(shí)間值以與鬧鐘值,顯示方面采用LCD1602顯示時(shí)間。1.2 國(guó)外研究以與趨勢(shì)傳統(tǒng)的時(shí)間服務(wù)方式越來(lái)越難以滿足現(xiàn)代工業(yè)化生產(chǎn)實(shí)踐對(duì)時(shí)間的要求。隨著GPS的發(fā)展,其授時(shí)功能已日益被人們所關(guān)注。利用GPS OEM接收模塊,進(jìn)行二次研制開(kāi)發(fā)實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘系統(tǒng),具有精度高、無(wú)積累誤差,不受地域、氣候等環(huán)境條件限制,操作方便等特點(diǎn)。GPS時(shí)鐘可廣泛應(yīng)用于電力系統(tǒng)、通訊、交通管理與國(guó)防等需要對(duì)時(shí)、計(jì)時(shí)、守時(shí)的相關(guān)領(lǐng)域2。目前,市場(chǎng)上基于GPS的同步時(shí)鐘系統(tǒng)種類非常多,但擴(kuò)展的容和接口各有不同,各個(gè)時(shí)鐘系統(tǒng)所用的中心處理
15、模塊也各有特色。總體上說(shuō)各種GPS同步時(shí)時(shí)鐘的差別主要在于其時(shí)間的精準(zhǔn)度、提供給用戶的接口與輸出信息。從處理器上大體可分為兩大類型,一種是FPGA型,一種是單片機(jī)型。前者是基于FPGA實(shí)現(xiàn)的,F(xiàn)PGA能夠用硬件實(shí)現(xiàn)各功能模塊并行執(zhí)行,其速度遠(yuǎn)遠(yuǎn)超過(guò)單片機(jī)。所以這種系統(tǒng)一般精確度要高,但是其成本也比較高。后一種主要是通過(guò)單片機(jī)對(duì)GPS信號(hào)進(jìn)行采集,再轉(zhuǎn)換成約定的格式輸出給用戶。由于單片機(jī)是由串行軟件指令控制的,所以其體系結(jié)構(gòu)將在很大程度上影響同步時(shí)種系統(tǒng)的精確度,使其誤差相對(duì)比較大。1.3 論文結(jié)構(gòu)第一章,詳細(xì)論述了GPS高精度時(shí)鐘的優(yōu)越性,同時(shí)探討了GPS的應(yīng)用前景,進(jìn)而提出了本論文的研究任務(wù)
16、。第二章,給出了GPS高精度時(shí)鐘設(shè)計(jì)的主要芯片選型,詳細(xì)論述了GPS模塊的NEMA0183協(xié)議,并以此協(xié)議進(jìn)行數(shù)據(jù)截取輸出。第三章,給出了GPS接受模塊進(jìn)行截取數(shù)據(jù)的原理、流程圖以與主要程序。第四章,給出了在GPS無(wú)信號(hào)或信號(hào)強(qiáng)度太弱時(shí)采用時(shí)鐘芯片DS1302進(jìn)行計(jì)時(shí)并用LCD1602顯示的主要程序。第五章,描述了本系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中出現(xiàn)的問(wèn)題與調(diào)試過(guò)程。第六章,對(duì)全文進(jìn)行系統(tǒng)的總結(jié),并對(duì)GPS時(shí)鐘的研究應(yīng)用進(jìn)行展望。GPS高精度時(shí)鐘的硬件設(shè)計(jì)2.1 系統(tǒng)主要芯片選型2.1.1 微處理器AT89C52AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是ATMEL公司生產(chǎn)的。AT89C52是一個(gè)低
17、電壓,高性能CMOS 8位單片機(jī),片含8k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合3。 AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Fl
18、ash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。下圖2.1為AT89C52的最小系統(tǒng)4。圖2.1 AT89C52的最小系統(tǒng)2.1.2 GPS接收模塊GPS模塊就是集成了RF射頻芯片、基帶芯片和核心CPU,并加上相關(guān)外圍電路而組成的一個(gè)集成電路。所謂的基帶芯片就是用來(lái)合成即將發(fā)射的HYPERLINK :/baike.baidu /view/1203104.htm基帶信號(hào),或?qū)邮盏降幕鶐盘?hào)進(jìn)行解碼。具體地說(shuō),就是:發(fā)射時(shí),把HYPERLINK :/baike.baidu /view/189722.htm音頻信號(hào)編譯成用來(lái)發(fā)射的基帶碼;接收時(shí),把收到的基帶碼解譯為
19、音頻信號(hào)。同時(shí),也負(fù)責(zé)地址信息(HYPERLINK :/baike.baidu /view/1455.htm手機(jī)號(hào)、地址)、文字信息(短訊文字、文字)、圖片信息的編譯。GPS接收端可輸出的語(yǔ)句數(shù)據(jù)格式有$GPGGA,$GPGSA,$GPGSV,$GPRMC,$GPVTG,$LCGLL,$LCVTG,$PGRME,$PGRMF,$PGRMT,$PGRMV,$GPGLL。不同的語(yǔ)句中傳送的信息不同,由于“$GPGGA”語(yǔ)句數(shù)據(jù)格式輸出的第一位數(shù)據(jù)就是所需要的時(shí)間數(shù)據(jù),利于單片機(jī)對(duì)時(shí)間信息的接收處理,因此本接收機(jī)授時(shí)系統(tǒng)采用“$GPGGA”“$GPRMC”格式輸出時(shí)間數(shù)據(jù)7。$GPGGA(Globa
20、l Positioning System Fix Data(GGA)語(yǔ)句格式如下:$GPGGA, UTC時(shí)間,hhmmss(時(shí)分秒)格式 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸) 緯度半球N(北半球)或S(南半球) 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸) 經(jīng)度半球E(東經(jīng))或W(西經(jīng)) GPS狀態(tài):0=未定位,1=非HYPERLINK :/baike.baidu /view/637990.htm差分定位,2=差分定位,6=正在估算 正在使用解算位置的衛(wèi)星數(shù)量(00-12)(前面的0也將被傳輸) HDOP水平精度因子(0.5-99.9) 海拔高度(-9999.
21、9-99999.9) 地球橢球面相對(duì)水準(zhǔn)面的高度 差分時(shí)間(從最近一次接收到差分信號(hào)開(kāi)始的秒數(shù),如果不是HYPERLINK :/baike.baidu /view/637990.htm差分定位將為空) 差分站ID號(hào)0000-1023$GPRMC(Recommended Minimum Specific GPS/TRANSIT Data(RMC)語(yǔ)句格式如下:$GPRMC, UTC時(shí)間,hhmmss(時(shí)分秒)格式 定位狀態(tài),A=有效定位,V=無(wú)效定位 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸) 緯度半球N(北半球)或S(南半球) 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被
22、傳輸) 經(jīng)度半球E(東經(jīng))或W(西經(jīng)) 地面速率(000.0-999.9節(jié),前面的0也將被傳輸) 地面航向(000.0-359.9度,以真北為參考基準(zhǔn),前面的0也將被傳輸) UTC日期,ddmmyy(日月年)格式 磁偏角(000.0-180.0度,前面的0也將被傳輸) 磁偏角方向,E(東)或W(西) 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效)2.1.3時(shí)鐘芯片DS1302DS1302 是HYPERLINK :/baike.baidu /view/2398.htm美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年
23、、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V-5.5V。采用三線接口與CPU進(jìn)行HYPERLINK :/baike.baidu /view/141317.htm同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的HYPERLINK :/baike.baidu /view/188811.htm時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAMHYPERLINK :/baike.baidu /view/6159.htm寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電
24、的能力,下圖2.2為DS1302的引腳圖。圖2.2 DS1302的引腳圖DS1302的引腳中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/HYPERLINK :/baike.baidu /view/3717187.htm片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的HYPERLINK :/baike.baidu /view/5
25、593592.htm數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入HYPERLINK :/baike.baidu /view/1533062.htm移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的方法。當(dāng)RST為高電平時(shí),所有的HYPERLINK :/baike.baidu /view/5593592.htm數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次HYPERLINK :/baike.baidu /view/5593592.htm數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc2.0V之前,RST必
26、須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時(shí)鐘輸入端。DS1302 的控制字如下圖2.3所示,控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入DS1302中,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。圖2.3 DS1302的控制字節(jié)2.1.4 顯示模塊LCD1602LCD顯示器分為字段顯示和字符顯示兩種,可采用LCD1602作為顯示器件輸出信息,可以顯示2行16個(gè)漢
27、字。液晶顯示模塊具有體積小、功耗低、顯示容豐富、不需要外加驅(qū)動(dòng)電路等優(yōu)點(diǎn),是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的顯示器件,下圖2.4為L(zhǎng)CD1602的引腳圖。圖2.4 LCD1602的引腳圖LCD1602其引腳功能如下:RS:數(shù)據(jù)和指令選擇控制端,RS=0命令狀態(tài);RS=1數(shù)據(jù);R/W:讀寫(xiě)控制線,R/W=0寫(xiě)操作;R/W=1讀操作;A:背光控制正電源;K:背光控制地;E:數(shù)據(jù)讀寫(xiě)操作控制位,E線向LCD模塊發(fā)送一個(gè)脈沖,LCD模塊和單片機(jī)間將進(jìn)行一次數(shù)據(jù)交換;DB0-DB7:數(shù)據(jù)線,可用8位連接,也可只用高4位連接,節(jié)約單片機(jī)源;VDD:電源端;VEE:亮度控制端(1-5V);VSS:接地端。2.2 硬
28、件設(shè)計(jì)總體思路在整個(gè)系統(tǒng)的硬件設(shè)計(jì)中,采用AT89C52作為主處理芯片。時(shí)間信號(hào)采用GPS接收模塊和AT89C52相結(jié)合,截取GPS接收端輸出的時(shí)間數(shù)據(jù)并用LCD1602顯示。在GPS接收端無(wú)數(shù)據(jù)輸出時(shí),即無(wú)GPS信號(hào)或信號(hào)強(qiáng)度太弱時(shí),采用DS1302時(shí)鐘芯片進(jìn)行計(jì)時(shí)。本系統(tǒng)在顯示時(shí)間的基礎(chǔ)上加入鬧鐘模塊,并且設(shè)置4個(gè)功能按鈕可以對(duì)當(dāng)前的時(shí)間進(jìn)行設(shè)置并且修改鬧鐘時(shí)間。系統(tǒng)采用LCD1602進(jìn)行輸出顯示,1602中數(shù)據(jù)總線DB0-7對(duì)應(yīng)單片機(jī)中的P1口,3條控制線分別接另外3個(gè)單片機(jī)端口,其他對(duì)應(yīng)接上電源和地。在鍵盤模塊中添加上拉電阻,上拉電阻可以保證在沒(méi)有按鍵輸入時(shí),進(jìn)入單片機(jī)四個(gè)I/O口的按
29、鍵狀態(tài)均為高電平,防止干擾產(chǎn)生;當(dāng)有按鍵按下時(shí),相應(yīng)的端口線狀態(tài)轉(zhuǎn)為低電平,總體框架如下圖2.5所示。圖2.5 高精度GPS時(shí)鐘系統(tǒng)的框架簡(jiǎn)圖2.3 硬件電路設(shè)計(jì)系統(tǒng)的整體硬件電路圖如下圖2.5所示:圖2.5 系統(tǒng)的整體硬件電路圖2.3.1 GPS接受模塊和單片機(jī)的連接單片機(jī)上的3.0和3.1管腳除了作為普通的IO口外,還有另外的用途。P3.0(RXD)、P3.1(TXD)是Receive Data ,Transmit Data的意思,即RXD為接收數(shù)據(jù)的引腳,TXD為發(fā)送數(shù)據(jù)的引腳。將GPS接收模塊的2條信號(hào)線分別對(duì)應(yīng)接上RXD、TXD端口進(jìn)行數(shù)據(jù)的通訊,用來(lái)接收時(shí)間信號(hào)并對(duì)時(shí)間信號(hào)進(jìn)行截取
30、輸出,如下圖2.6所示連接。VCCGPS接收模塊AT89C52 P3.0 P3.1 GROUND圖2.6 GPS接收端和AT89C52的連接2.3.2 LCD1602和單片機(jī)的連接LCD1602VSS VDD VEE D0-D7 RS R/W E1602中數(shù)據(jù)總線DB0-7對(duì)應(yīng)單片機(jī)中的P1口,3條控制線分別接另外3個(gè)單片機(jī)端口,其他對(duì)應(yīng)接上電源和地(下圖2.7)。AT89C52 P2.1 P2.2P1口P2.3 GROUNDGROUNDVCC圖2.7 LCD1602和單片機(jī)AT89C52的連接LCD1602中VDD為電源正極,VSS為電源接地端,VEE為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比
31、度最弱,接地時(shí)對(duì)比度最高。LCD1602有四種基本的操作時(shí)序:讀狀態(tài)、寫(xiě)指令、讀數(shù)據(jù)和寫(xiě)數(shù)據(jù)。讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:D0-D7 = 狀態(tài)字寫(xiě)指令:輸入:RS=L,RW=L,D0-D7 = 指令碼,E=高脈沖 輸出:無(wú)讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:D0-D7 = 數(shù)據(jù)寫(xiě)數(shù)據(jù):輸入:RS =H,RW=L,D0-D7 = 數(shù)據(jù),E=高脈沖 輸出:無(wú)2.3.3 按鍵模塊和單片機(jī)的連接鍵盤模塊設(shè)置了四個(gè)按鍵:KEY1、KEY2、KEY3、KEY4。其中KEY1為設(shè)置時(shí)間值,KEY2為設(shè)定值上升鍵,用KEY3為設(shè)定值減小鍵,KEY4是設(shè)定鬧鐘值。電路連接如下圖2
32、-8所示,4個(gè)上拉電阻可以保證在沒(méi)有按鍵輸入時(shí),進(jìn)入單片機(jī)四個(gè)I/O口的按鍵狀態(tài)均為高電平,防止干擾產(chǎn)生;當(dāng)有按鍵按下時(shí),相應(yīng)的端口線狀態(tài)轉(zhuǎn)為低電平。圖2.8 按鍵模塊和單片機(jī)的連接2.3.4 時(shí)鐘芯片DS1302和單片機(jī)的連接DS1302與CPU的連接需要三條線,即SCLK、I/O、RST,分別連接單片機(jī)的3個(gè)端口3.5、3.6、3.7(下圖2.9),用來(lái)對(duì)DS1302的命令字的讀寫(xiě)和數(shù)據(jù)的讀寫(xiě)。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/HYPERLINK :/baike.baidu /view/3717187.htm片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的HYP
33、ERLINK :/baike.baidu /view/5593592.htm數(shù)據(jù)傳送。圖2.9 DS1302和52單片機(jī)的連接GPS高精度時(shí)鐘的軟件分析設(shè)計(jì)3.1 GPS授時(shí)系統(tǒng)的同步利用方式3.1.1 脈沖同步方式脈沖同步方式,即同步時(shí)鐘每隔一定的時(shí)間間隔輸出一個(gè)精確的同步脈沖。監(jiān)控裝置在接收到同步脈沖后進(jìn)行對(duì)時(shí),消除裝置部時(shí)鐘的走時(shí)誤差。同步脈沖的周期、頻率、電平、脈寬、脈沖的正負(fù)、上升和下降時(shí)間、同步的時(shí)刻等均可能有所變化。根據(jù)脈沖輸出接口的不同,同步脈沖分為有源TTL電平輸出、無(wú)源空接點(diǎn)輸出、固態(tài)繼電器輸出等。有源TTL電平輸出,即每隔一定的時(shí)間間隔產(chǎn)生一個(gè)TTL電平脈沖,或正脈沖或負(fù)
34、脈沖,脈沖的寬度和占空比可以不同。這種輸出,用戶可以直接引出同步信號(hào),不必外加電源。無(wú)源空接點(diǎn)輸出,即將同步脈沖作為一開(kāi)關(guān)量輸出,一般是使用一個(gè)光電三極管,從集電極輸出。可根據(jù)應(yīng)用要求,在同步時(shí)鐘到來(lái)時(shí),三極管由導(dǎo)通變截止,或由截止變導(dǎo)通。1PPS(秒脈沖,即:pulse per second 脈沖/秒)輸出,是一個(gè)電平信號(hào),一般以方波形式輸出,高電平(也有較少數(shù)為低電平的)表示有秒脈沖輸出,其持續(xù)時(shí)間很短,一般在毫秒量級(jí)上,其電平信號(hào)為+5V,持續(xù)時(shí)間為毫秒級(jí),低電平(也有較少數(shù)為高電平的)表示沒(méi)有信號(hào)輸出。高電平上升沿為1PPS輸出的精確時(shí)刻。在GPS OEM板取得有效導(dǎo)航解析的時(shí)候,秒脈
35、沖上升沿的時(shí)刻與GPS時(shí)刻相差在50ns以,與串行口輸出的UTC標(biāo)準(zhǔn)時(shí)間相差在 1us 以。OEM板先為用戶提供秒脈沖,再提供與該秒脈沖相對(duì)應(yīng)的UTC標(biāo)準(zhǔn)時(shí)間。有時(shí)在沒(méi)有收到衛(wèi)星信號(hào)或?qū)Ш浇鉄o(wú)效的情況下(即沒(méi)有收到UTC的校正數(shù)據(jù)),OEM板通過(guò)開(kāi)發(fā)工具板也能向外發(fā)送秒脈沖,但此時(shí)秒脈沖為GPS OEM部未改正鐘差、鐘漂的原始時(shí)鐘的時(shí)間,其上升沿的時(shí)刻不準(zhǔn)確、不穩(wěn)定,誤差較大,無(wú)實(shí)用價(jià)值。僅在取得正確導(dǎo)航解時(shí)才可以用UTC時(shí)間對(duì)GPS OEM部時(shí)間進(jìn)行校正,輸出精確時(shí)間。3.1.2 串行同步方式串行同步方式是時(shí)鐘以串行數(shù)據(jù)流的方式輸出時(shí)間信息,各種自動(dòng)裝置接收每秒一次的串行時(shí)間信息獲得時(shí)間同步
36、。串行通信的標(biāo)準(zhǔn)和格式多種多樣,按信息碼的格式不同,分別有ASCII碼、IRIG-B碼等。按串行通信接口標(biāo)準(zhǔn)的不同,ASCII碼有RS232C、RS422/485等方式,IRIG-B碼有TTL直流電平碼輸出、1kHZ 正弦波調(diào)制碼輸出、MANCHESTER調(diào)制碼輸出等方式。(1)RS232/422/485串行接口輸出同步時(shí)鐘通過(guò)RS232/422/485串行口在整秒、整分或整時(shí),輸出一次時(shí)間信息。時(shí)間信息格式一般是由幀頭、時(shí)、分、秒、日、月、年與結(jié)束符組成。自動(dòng)裝置在接收到對(duì)時(shí)信號(hào)后,通過(guò)軟件校正部時(shí)鐘。使用串行口方式對(duì)時(shí),比脈沖對(duì)時(shí)方式復(fù)雜。受接收過(guò)程息處理時(shí)間的影響,對(duì)時(shí)精度差。如果要提高
37、對(duì)時(shí)精度,還需要再給出對(duì)時(shí)脈沖信號(hào)。(2)IRIG-B碼串行輸出IRIG-B是美國(guó)最先采用的一種國(guó)際時(shí)間碼標(biāo)準(zhǔn)。目前電力系統(tǒng)中的許多進(jìn)口裝置均使用IRIG-B時(shí)間碼獲取時(shí)間信息,因此IRIG-B碼制串行輸出也應(yīng)作為GPS同步時(shí)鐘輸出的一種可選形式。 IRIG-B信號(hào)有TTL直流電平碼和1kHZ正弦波調(diào)制碼兩種形式。每一碼脈沖的寬度是10ms,通過(guò)改變直流電平占空比或變化1kHZ調(diào)制信號(hào)的幅值來(lái)表示邏輯“1”與“0”與標(biāo)識(shí)符(幀起始符,相鄰秒、分、小時(shí)、日期、數(shù)據(jù)的分隔符)。起始位的上升沿即為同步時(shí)刻。IRIG-B TTL直流電平碼的分辨率為10ms,不加調(diào)制解調(diào),使用方便,但只適于近距離傳輸。
38、1kHZ正弦波調(diào)制碼的分辨率為1ms,適合遠(yuǎn)距離傳輸,這種正弦波調(diào)制碼一般通過(guò)音頻傳輸線路來(lái)傳輸數(shù)據(jù)。所以本文認(rèn)為,在裝置硬件資源豐富的前提下可以考慮兩種方案同時(shí)結(jié)合使用,即是將脈沖校時(shí)和串口校時(shí)結(jié)合起來(lái)的綜合校時(shí)方案。3.2 GPS授時(shí)模塊的形式與流程圖OEM板輸出的數(shù)據(jù)是以數(shù)據(jù)流的形式輸出,采集的起始時(shí)刻未必是一幀數(shù)據(jù)的開(kāi)始時(shí)刻,所以在數(shù)據(jù)采集時(shí),必須先判斷字頭塊,在接收到字頭塊后,開(kāi)始采集數(shù)據(jù)。OEM板每隔1s自動(dòng)輸出觀測(cè)數(shù)據(jù)幀和位置數(shù)據(jù)幀一次,但輸出的格式小時(shí)部分加8是多種多樣的,因此必須先給OEM板發(fā)送指令來(lái)控制其輸出數(shù)據(jù)格式。接收數(shù)據(jù)需要設(shè)定單片機(jī)的波特率,使其與GPS OEM板的
39、傳輸波特率一致。給OEM板發(fā)送一條指令,使其發(fā)送的0183數(shù)據(jù)格式為“$GPGGA”,該指令預(yù)先存在數(shù)據(jù)存儲(chǔ)器里,用循環(huán)方式順次從程序存儲(chǔ)器里取出數(shù)據(jù)就可循環(huán)發(fā)送。然后0EM板將輸出相應(yīng)格式的數(shù)據(jù),單片機(jī)對(duì)接收的信息進(jìn)行判初始化斷,如果是“$GPGGA”,則接收下面的6個(gè)ASCII碼并存儲(chǔ)在單片機(jī)的RAM里;如果不是“$GPGGA”,則繼續(xù)判斷,直到是“$GPGGA”。也可采用循環(huán)方式接收時(shí)間信息。由于接收到的時(shí)間是世界標(biāo)準(zhǔn)時(shí)(UTC),因此在此時(shí)間上加上8h才是準(zhǔn)確的時(shí),在超出24h時(shí)應(yīng)作減24h處理,然后進(jìn)行顯示處理。顯示采用動(dòng)態(tài)顯示原理,每個(gè)時(shí)間狀態(tài)顯示停留一段時(shí)間,顯示完后程序跳轉(zhuǎn)到主
40、函數(shù)以便接受下一秒的數(shù)據(jù)并將其顯示。下圖3.1為授時(shí)程序流程圖。是否24發(fā)送字節(jié)N指向儲(chǔ)存單元發(fā)送完否左邊開(kāi)始取數(shù)據(jù)送出一位顯示接受字符延時(shí)N指向下一個(gè)單元循環(huán)判斷是否為$GPGGA字符讀完6位YY位控信號(hào)右移一位循環(huán)6次接收數(shù)據(jù)并存取N圖3.1 授時(shí)程序流程圖3.3LCD1602的顯示操作LCD有四種基本操作,具體如表3.1所示。表3.1LCD與單片機(jī)之間的四種基本操作狀態(tài)RSR/W操作狀態(tài)100寫(xiě)命令操作(初始化,光標(biāo)定位等)狀態(tài)201讀狀態(tài)操作(讀忙標(biāo)志位)狀態(tài)310寫(xiě)數(shù)據(jù)操作(要顯示容)狀態(tài)411讀數(shù)據(jù)操作(可以把顯示存儲(chǔ)區(qū)中的數(shù)據(jù)反讀出來(lái))3.3.1 讀狀態(tài)操作執(zhí)行讀狀態(tài)字操作,如表
41、3.1所示須滿足RS=0、R/W=1。根據(jù)管腳功能,當(dāng)為有效電平時(shí),狀態(tài)命令字可從LCD模塊傳輸?shù)綌?shù)據(jù)總線。同時(shí)可以保持一段時(shí)間,從而實(shí)現(xiàn)讀狀態(tài)字的功能。如下圖3.2所示為讀入狀態(tài)字流程圖。RS清0等待RW置1等待E置1等待讀入狀態(tài)字等待E清0 等待RW清0 等待結(jié)束圖3.2讀入狀態(tài)字流程圖3.3.2 寫(xiě)命令操作由表3.1可知當(dāng)RS=0,R/W=0時(shí),才可以通過(guò)單片機(jī)或用戶指令把數(shù)據(jù)即命令,寫(xiě)到LCD模塊,此時(shí)就對(duì)LCD進(jìn)行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志,最后寫(xiě)命令字。3.3.3LCD初始化從通電開(kāi)始通過(guò)延時(shí),先經(jīng)過(guò)判忙后再進(jìn)行功能設(shè)置,過(guò)一段時(shí)間后可以設(shè)制顯示狀態(tài)(如設(shè)置行
42、、位或陣列)再經(jīng)過(guò)延時(shí)后清屏后再可以設(shè)置輸入方式,具體如圖3.3所示。上電延時(shí)20ms功能設(shè)置延時(shí)37us顯示狀態(tài)設(shè)置清屏延時(shí)1.52ms輸入方式設(shè)置返回圖3.3LCD初始化流程圖3.4 GPS高精度時(shí)鐘主要程序、流程圖與注釋3.4.1 主程序流程圖本系統(tǒng)主程序流程圖如下圖3.4所示。有GPS信號(hào)?開(kāi)始NY初始化設(shè)置鬧鐘時(shí)間截取GPS時(shí)間數(shù)據(jù)從DS1302讀數(shù)據(jù)N是否到鬧鈴時(shí)間?單片機(jī)處理Y鬧鈴操作LCD1602顯示3.4 主程序流程圖在開(kāi)始的初始化中,需要對(duì)各芯片進(jìn)行初始化,初始化完成后要判斷GPS接收端有沒(méi)有數(shù)據(jù)輸出(有沒(méi)有GPS信號(hào)),即單片機(jī)有沒(méi)有數(shù)據(jù)讀入。如果沒(méi)有GPS信息,為了防止
43、時(shí)間停滯,采用DS1302計(jì)時(shí)。因?yàn)镚PS接收端的數(shù)據(jù)傳輸是類似于網(wǎng)絡(luò)中帶有的數(shù)據(jù)包傳輸,所以要對(duì)其數(shù)據(jù)進(jìn)行判斷,在確定下數(shù)據(jù)頭之后,還需要有一個(gè)逗號(hào)計(jì)數(shù)器。這個(gè)逗號(hào)計(jì)數(shù)器的作用就是在已獲得的(確定頭部)數(shù)據(jù)中截取所需的一部分。3.4.2 初始化程序void Initial_LCD1602(void)/LCD1602初始化RW=0;LCDEN=0;write_(0 x38);/寫(xiě)指令顯示模式設(shè)置write_(0 x0c);/顯示光標(biāo)開(kāi)與光標(biāo)設(shè)置write_(0 x06);/顯示光標(biāo)移動(dòng)設(shè)置write_(0 x01);/顯示清屏void init()/總初始化Initial_LCD1602();
44、altp=0;/給各標(biāo)志位附初值BLA=0;blaflag=0;yearh=20;TMOD=0 x20;/設(shè)置定時(shí)器模式PCON = 0 x00;/電源控制寄存器設(shè)置SCON = 0 x50;/串行口控制寄存器TH1 = 0 xFd;/波特率9600設(shè)定TL1 = 0 xFd;TR1 = 1;/啟動(dòng)定時(shí)器EA=1;/開(kāi)中斷IE=0 x90;/中斷允許控制寄存器3.4.3 按鍵檢測(cè)流程按鍵檢測(cè)流程圖如下圖3.5所示。初始化按鍵NN按鍵4按下?按鍵1按下?YY切換到鬧鐘界面光標(biāo)左移一位NN按鍵3按下?按鍵2按下?YY對(duì)應(yīng)的數(shù)值減1對(duì)應(yīng)的數(shù)值加1圖3.5 按鍵檢測(cè)流程圖其中按鍵1為校準(zhǔn)當(dāng)前時(shí)間的功能
45、切換按鍵,按鍵2為對(duì)應(yīng)的數(shù)值加1的功能按鍵,按鍵3為對(duì)應(yīng)的數(shù)值減1按鍵,按鍵4為設(shè)置鬧鐘時(shí)間的功能切換按鍵,通過(guò)這4個(gè)按鍵可以對(duì)時(shí)間進(jìn)行校準(zhǔn)并且設(shè)定鬧鐘時(shí)間。3.4.4DS1302的讀寫(xiě)程序/向DS1302寫(xiě)一個(gè)字節(jié)void write_a_byte_to_ds1302(uchar datt) uchar i; for(i=0;i=1;/位移操作 /向DS1302讀取一個(gè)字節(jié) uchar get_a_byte_from_ds1302() uchar i,b,t; for(i=0;i=1; t=DIO; b|=t7;/位或操作 SCLK=1; SCLK=0; return b/16*10+b%1
46、6;/返回一個(gè)十進(jìn)制數(shù)/從DS1302 指定位置讀數(shù)據(jù) uchar read_data(uchar addr) uchar dat; CE=0; SCLK=0; CE=1;/CE為1允許讀寫(xiě)操作 write_a_byte_to_ds1302(addr);/向DS1302寫(xiě)地址操作 dat=get_a_byte_from_ds1302();/從DS1302讀數(shù)據(jù) SCLK=1; CE=0; return dat;/返回?cái)?shù)據(jù)/向DS1302某地址寫(xiě)入數(shù)據(jù) void write_ds1302(uchar adder,uchar dat) SCLK=0; CE=1;/CE為1允許讀寫(xiě)操作 write_
47、a_byte_to_ds1302(adder);/向DS1302寫(xiě)地址操作 write_a_byte_to_ds1302(dat);/向DS1302寫(xiě)數(shù)據(jù) SCLK=0; CE=0;3.4.5LCD1602的讀寫(xiě)程序void write_(uchar ) /LCD1602寫(xiě)地址設(shè)置P1=;/通過(guò)單片機(jī)P1口和1602連接RS=0;/RS為0時(shí)是地址操作LCDEN=0;delay(10);LCDEN=1;delay(10);LCDEN=0;void write_date(uchar date) /LCD1602寫(xiě)數(shù)據(jù)設(shè)置P1=date;/通過(guò)單片機(jī)P1口和1602連接RS=1;/RS為0時(shí)是數(shù)據(jù)
48、操作LCDEN=0;delay(10);LCDEN=1;delay(10);LCDEN=0;void write(uchar add,uchar date)/數(shù)據(jù)寫(xiě)入并顯示操作uchar shi,ge;shi=date/10;/取出data數(shù)據(jù)的十位數(shù)ge=date%10;/取出data數(shù)據(jù)的個(gè)位數(shù)/write_(0 x80+add);/寫(xiě)地址操作,0 x80為第一行write_(0 x80+0 x40+add);/寫(xiě)地址操作,0 xC0為第二行write_date(0 x30+shi);/寫(xiě)數(shù)據(jù)操作write_date(0 x30+ge);調(diào)試過(guò)程4.1 GPS接收信息強(qiáng)度由于GPS接收端對(duì)
49、GPS信號(hào)的強(qiáng)度要求比較高,所以測(cè)試的時(shí)候要在比較空曠的場(chǎng)地上進(jìn)行。4.2 GPS和單片機(jī)的通信本系統(tǒng)采用了單片機(jī)的P3.0(RXD)、P3.1(TXD)端口,要注意這兩個(gè)端口是否正常接收發(fā)送數(shù)據(jù)。GPS模塊和單片機(jī)的波特率,中斷等設(shè)定要一樣才能進(jìn)行數(shù)據(jù)之間的通信。4.3 程序運(yùn)行判斷單片機(jī)程序是否正常運(yùn)行最直觀的方法是使用示波器。編程使得某引腳(如P1.0循)環(huán)取反,可通過(guò)示波器觀察到此引腳一定頻率的方波信號(hào)。同樣,向串口循環(huán)發(fā)送任一數(shù)據(jù),亦可通過(guò)示波器觀察到此信號(hào)。4.4 DS1302的晶振頻率DS1302應(yīng)該外接32.768kHz晶振,測(cè)試的時(shí)候采用其他頻率的晶振會(huì)照成比較大的誤差。4.
50、5 誤差分析在無(wú)GPS時(shí),采用DS1302計(jì)時(shí)時(shí),誤差為每分鐘1S,采用GPS信號(hào)計(jì)時(shí)時(shí)誤差小于1S,GPS時(shí)鐘比普通的電子時(shí)鐘精度高出很多,同時(shí)也說(shuō)明了GPS時(shí)鐘的重要性。總結(jié)一個(gè)時(shí)鐘最重要的也是最基本的功能應(yīng)該是準(zhǔn)確度,如果一個(gè)時(shí)鐘不準(zhǔn),誤差大,那么外表再漂亮也僅僅是一個(gè)裝飾物,不具有太大的使用價(jià)值。時(shí)鐘準(zhǔn)不準(zhǔn)靠的是我們常說(shuō)的晶振,大多數(shù)是石英晶體諧振器,標(biāo)準(zhǔn)應(yīng)該是32.768KHz(除高精度原子鐘外)。晶振其實(shí)在電子時(shí)鐘系統(tǒng)里面就是一個(gè)時(shí)鐘源,它有兩個(gè)重要指標(biāo),一個(gè)是穩(wěn)定度,一個(gè)是準(zhǔn)確度,準(zhǔn)確度指的是與標(biāo)稱值的偏差,穩(wěn)定度值得是隨著外部因素的變化而產(chǎn)生的變化量。為了使時(shí)鐘具有較高的準(zhǔn)確度
51、,需要讓晶振工作在接近準(zhǔn)確值的溫度圍或者用外圍電路去根據(jù)環(huán)境溫度去補(bǔ)償溫度偏差給晶振帶來(lái)的誤差,即溫度補(bǔ)償。隨著科技的進(jìn)步,目前還有一種手段,就是通過(guò)GPS或其他衛(wèi)星導(dǎo)航系統(tǒng)的信號(hào)馴服晶振,從而實(shí)現(xiàn)高精度的頻率和時(shí)間信號(hào)輸出,是目前達(dá)到高授時(shí)精度和高穩(wěn)定度的最有效方式,既GPS時(shí)鐘。在科技飛速發(fā)展的今天,人們對(duì)各類產(chǎn)品的性能要求也是日益提高,對(duì)時(shí)間的精確度也不例外。有時(shí)候時(shí)間上僅僅是一點(diǎn)點(diǎn)的差別,也會(huì)造成巨大的損失。在了解國(guó)外現(xiàn)狀后,從線路、體積和價(jià)格方面考慮,選取AT89C52單片機(jī)為控制核心,通過(guò)外圍元件實(shí)時(shí)時(shí)鐘芯片DS1307構(gòu)成了一個(gè)具有實(shí)時(shí)時(shí)間與日歷顯示、按鍵調(diào)時(shí)、鬧鈴定時(shí)功能的數(shù)字
52、時(shí)鐘,采用液晶LCD1602作為顯示器,并且在精確度方面上加入了GPS授時(shí)模塊。擁有GPS對(duì)時(shí)功能,使時(shí)鐘誤差在一秒以,得知精確的時(shí)間。參考文獻(xiàn)1寧.單片機(jī)與控制技術(shù)M第一版航空航天大學(xué),2005年2樓然苗,光飛 .51系列單片機(jī)設(shè)計(jì)實(shí)例.航空航天大學(xué),2004年3閹石數(shù)字電子技術(shù)基礎(chǔ)高等教育,2005年4嘉奎.電子線路高等教育,2004年5賴麟文.8051單片機(jī)嵌入式系統(tǒng)應(yīng)用.科學(xué),2005年6高峰.單片機(jī)微型計(jì)算機(jī)原理與接口技術(shù)科學(xué),2005年7為,董德存.基于GPS技術(shù)的分布式授時(shí)同步時(shí)鐘.微型電腦應(yīng)用,2005年8Tammy Noergaard,馬洪兵,古源濤譯.嵌入式系統(tǒng)硬件與軟件架
53、構(gòu).人民郵電,2008年9Weiss M,Zhang V,Nelson L.Delay variations in some GPS timing receivers.Proceedings of the 1997 IEEE International Frequency Control Symposium, 199710周強(qiáng),叢海波,吳希杰.利用GPS實(shí)現(xiàn)高精度時(shí)鐘.信息技術(shù)與信息化,2006年11夏雙林.GPS標(biāo)準(zhǔn)時(shí)間同步時(shí)鐘的設(shè)計(jì)與實(shí)現(xiàn)碩士學(xué)位論文.華中科技大學(xué),2008年12Ganssle,Jack G. The Challenges of Real Time Programming.
54、 Embedded SystemsProgramming, July 199813文馬艷,楠,田靜華.GPS高精度水電站授時(shí)系統(tǒng).水利水電專科學(xué)校學(xué)報(bào),2008年14瑞和.串行技術(shù)大全(第1版). 清華大學(xué),2003年15麗伊.GPS衛(wèi)星時(shí)鐘同步系統(tǒng)在綜自變電站中的應(yīng)用.科技信息,2008年16殷科生.基于高精度GPS時(shí)鐘的新型故障錄波裝置.制造業(yè)自動(dòng)化, 2009年17熊志昂,紅瑞,賴順香.GPS技術(shù)與工程應(yīng)用M國(guó)防工業(yè),2005年18Ganssle, Jack G. The Art of Designing Embedded Systems. Newnes,1999致 在我進(jìn)行此畢業(yè)論文撰
55、寫(xiě)的過(guò)程中,我的導(dǎo)師秀榮老師我極大的幫助。在這里,我要感在這些在我畢業(yè)設(shè)計(jì)過(guò)程中指導(dǎo)和幫助過(guò)我的人。首先,我要感我的指導(dǎo)老師老師的悉心指導(dǎo)和嚴(yán)格要求。本論文的選題和撰寫(xiě)都是在老師的指導(dǎo)下完成的。老師為我創(chuàng)造了良好的學(xué)習(xí)和鍛煉的環(huán)境,使我各方面的能力都有了長(zhǎng)足的進(jìn)步;老師對(duì)于我設(shè)計(jì)的指導(dǎo),思維上的啟迪,都將成為今后工作、學(xué)習(xí)的寶貴精神財(cái)富。在我走向社會(huì),走向工作崗位的過(guò)程中,老師給予我的教誨、幫助和殷切期望,促使我更加積極追求新的人生目標(biāo)。感父母一直默默地給予我關(guān)心和支持,父母的悉心關(guān)懷,永遠(yuǎn)是鼓勵(lì)我積極向上的不竭動(dòng)力。最后,還要感和我一樣即將畢業(yè)的同班同學(xué);感大學(xué)四年的同寢室室友;感那些沒(méi)有提
56、與,但也同樣給予我?guī)椭睦蠋?、同學(xué)和朋友!戴程遠(yuǎn)2013年4月27日附錄GPS時(shí)鐘程序#include#include/#include #define uchar unsigned char #define uint unsigned int/*DS1302*/寄存器宏定義#define WRITE_SECOND 0 x80 #define WRITE_MINUTE 0 x82 #define WRITE_HOUR 0 x84 #define WRITE_MDAY 0 x86#define WRITE_MONTH 0 x88 #define WRITE_WDAY 0 x8A#define W
57、RITE_YEAR 0 x8C#define WRITE_ALMINUTE 0 xC0#define WRITE_ALHOUR 0 xC2#define WRITE_ALARM 0 xC4#define READ_SECOND 0 x81 #define READ_MINUTE 0 x83 #define READ_HOUR 0 x85#define READ_MDAY 0 x87#define READ_MONTH 0 x89 #define READ_WDAY 0 x8B#define READ_YEAR 0 x8D #define READ_ALMINUTE 0 xC1 #define
58、READ_ALHOUR 0 xC3#define READ_ALARM 0 xC5#define WRITE_PROTECT 0 x8Esbit SCLK=P36;sbit DIO=P37;sbit CE=P35;sbit BEEP=P20;sbit DQ=P17;sbit BLA=P24;sbit RS=P21;sbit RW=P22;sbit LCDEN=P23;sbit s1=P00;sbit s2=P01;sbit s3=P02;sbit s4=P03;bit blaflag;uint count0,count1;/*DS1302*/bit amt,altp;uint ytemp,ye
59、ar;uchar num1,num4,s1num,s2num,s3num,s4num,wday,mday,month,flag,alflag;uchar timecount;char miao,shi,fen,yearl,yearh;char alshi,alfen,alarm;/GPS數(shù)據(jù)存儲(chǔ)數(shù)組unsigned char JD10=.; /經(jīng)度unsigned char JD_a=-; /經(jīng)度方向unsigned char WD9=.; /緯度unsigned char WD_a=-; /緯度方向unsigned char date_y2=-; /年unsigned char date_m
60、2=-; /月unsigned char date_d2=-; /日unsigned char time_s2=-; /時(shí)unsigned char time_f2=-; /分unsigned char time_m2=-; /秒unsigned char speed7=; /速度 x.xxxx.xxxxx.xx 節(jié)海里/小時(shí),相當(dāng)于1.852KM/Hunsigned char high8=; /高度 xx.xxxx.x-xxxx.xunsigned char angle5; /方位角unsigned char use_sat3=-; /使用的衛(wèi)星數(shù)unsigned char total_sa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)休閑食品數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 用藥教育馬俐麗課件
- 二零二五年度兒童教育店面品牌授權(quán)轉(zhuǎn)讓合同
- 2025年中國(guó)藤編水果籃市場(chǎng)調(diào)查研究報(bào)告
- 二零二五年度咖啡廳店長(zhǎng)入股及品牌推廣合同
- 二零二五年度企業(yè)員工借調(diào)與未來(lái)產(chǎn)業(yè)發(fā)展合同
- 二零二五年度精裝修房東房屋租賃合同
- 二零二五年度私了次性賠償協(xié)議書(shū):交通事故住宿費(fèi)私了賠償協(xié)議
- 二零二五年度知識(shí)產(chǎn)權(quán)保護(hù)與運(yùn)營(yíng)一體化委托合同
- 2025年度電商直播平臺(tái)主播綠色直播行為規(guī)范合同
- 小學(xué)科學(xué)課件《水》
- 全新版大學(xué)高階英語(yǔ):綜合教程 第3冊(cè) Unit 6 China Rejuvenated課件
- 2024年下半年江蘇省鹽城市射陽(yáng)縣人民政府項(xiàng)目辦公室招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 醫(yī)療行業(yè)信息安全等級(jí)保護(hù)
- 新公務(wù)員法培訓(xùn)講稿
- 用人部門面試官培訓(xùn)
- 荊州市國(guó)土空間總體規(guī)劃(2021-2035年)
- 2024年政府辦事-戶口管理考試近5年真題集錦(頻考類試題)帶答案
- 2024年內(nèi)蒙古中考語(yǔ)文試卷五套合卷附答案
- 園林綠化養(yǎng)護(hù)標(biāo)準(zhǔn)及經(jīng)費(fèi)測(cè)算
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:粘彈性模型:粘彈性模型的數(shù)值模擬技術(shù)
評(píng)論
0/150
提交評(píng)論